10

を使用して pandas データフレームの一部の列名を変更する方法はありますが、すべてではありlambdaませんか? たとえば、このデータ フレームに、、、、、という名前の列があるosxcentosubuntoますwindows。このデータ フレームでは、すべての列名をその列名xに .

df.rename(columns=lambda x: x+'x')

ただし、 以外のすべての列名を変更したい場合は、どうすればよいubuntoですか? だから私が取得したいのは、、、、という名前のosxxデータcentosxフレームubuntoですwindowsx。実際、私の真のデータ フレームにはもっと多くの列があるので、通常の辞書構文を使用して 1 つずつ書き出すのは好きではなく、lambda可能であれば関数に依存したいと考えています。

ありがとう。

4

1 に答える 1

17

三項演算子はあなたの目標を達成するかもしれません:

os_list = ['osxx', 'centos', 'windowsx']    
df.rename(columns=lambda x: x+'x' if x in os_list else x)
于 2013-05-27T09:39:31.623 に答える