2017-11-01 8 views
0

私は以下のパンダデータフレームdfを持っています。私は列名の名前を変更しようとしていますが、期待通りに機能しません。pandasデータフレームの列名の名前を変更しても期待通りに機能しません - python

コード:df.columns

mapping = {df.columns[0]:'Date', df.columns[1]: 'A', df.columns[2]:'B', df.columns[3]: 'C',df.columns[4]:'D', df.columns[5]: 'E',df.columns[6]:'F', df.columns[7]: 'G',df.columns[8]:'H', df.columns[9]: 'J'} 
df.rename(columns=mapping) 

出力:

MultiIndex(levels=[['A Index', 'B Index', 'C Index', 'D Index', 'E Index', 'F Index', 'G Index', 'H Index', 'I Index', 'J Index', 'K Index', 'L Index', 'M Index', 'N Index', 'O Index', 'date', 'index'], ['PX_LAST', '']], 
     labels=[[16, 15, 11, 9, 10, 6, 3, 4, 2, 5, 14, 1, 13, 12, 7, 0, 8], [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], 
     names=['ticker', 'field']) 

でもコードを実行した後、列名が同じまま。誰もこのデータフレームの列名の名前を変更するのを助けることができます。すでに列の順序を知っているので

答えて

1

理由だけでは使用しない:

df.columns = ['Date', 'a', 'b', 'c', 'd', 'e', 'f' 'g', 'h', 'i', 'j'] 

をごrenameを使用したいそうでない場合は、変数に代入する必要があります。

mapping = {df.columns[0]:'Date', df.columns[1]: 'A', df.columns[2]:'B', df.columns[3]: 'C',df.columns[4]:'D', df.columns[5]: 'E',df.columns[6]:'F', df.columns[7]: 'G',df.columns[8]:'H', df.columns[9]: 'J'} 
df = df.rename(columns=mapping) 
+0

感謝ロット! df.columns = ['日付'、 'a'、 'b'、 'c'、 'd'、 'e'、 'f' 'g'、 'h'、 'i'、 'j'] –

関連する問題