2017-08-02 13 views
0

リスト内のデータを使用して列名を変更することは可能ですか?Pandas Dataframeの列名をリストから変更する

df = pd.DataFrame([[1, 1.0, 2.3,0.2,0.53], [2, 3.35, 2.0,0.2,0.65], [2,3.4, 
     2.0,0.25,0.55], [3,3.4,2.0,0.25,0.55], [1,3.4,2.0,0.25,0.55], 
     [3,3.4,2.0,0.25,0.55]], 
     columns=["ID", "A", "B","C","D"])\ 
     .set_index('ID') 

私は以下のように私の新しいラベルを持っている:

New_Labels=['NaU', 'MgU', 'AlU', 'SiU'] 

は、上記のリスト内のデータを使用して名前を変更することは可能ですか?私の元のデータセットには10​​0個のカラムがあり、各カラムごとに手動でデータセットを作成する必要はありませんでした。

私はdf.renameを使って次のことを試していましたが、エラーが続いていました。ありがとう!

+0

'df.columns [1:] = New_Labels'? –

答えて

1

renameを使用するのは正式なアプローチです。あなただけの新しいものにあなたの現在の列名をマッピングした辞書(さえ見当違いの列の場合に予想される結果を保証するもの)あなたは、あなたがしたい唯一の名前のエントリを提供することができます

new_names = {'A':'NaU', 'B':'MgU', 'C':'Alu', 'D':'SiU'} 
df.rename(index=str, columns=new_names) 

お知らせを提供する必要があります残りの部分は同じままです。

+0

あなたの助けてくれてありがとう! –

1
df = pd.DataFrame([[1, 1.0, 2.3,0.2,0.53], [2, 3.35, 2.0,0.2,0.65], [2,3.4, 
     2.0,0.25,0.55], [3,3.4,2.0,0.25,0.55], [1,3.4,2.0,0.25,0.55], 
     [3,3.4,2.0,0.25,0.55]], 
     columns=["ID", "A", "B","C","D"])\ 
     .set_index('ID') 
New_Labels=['NaU', 'MgU', 'AlU', 'SiU'] 
df.columns = New_Labels 

これは、このようなdfに見えるようになります:

 NaU MgU AlU SiU 
ID      
1 1.00 2.3 0.20 0.53 
2 3.35 2.0 0.20 0.65 
2 3.40 2.0 0.25 0.55 
3 3.40 2.0 0.25 0.55 
1 3.40 2.0 0.25 0.55 
3 3.40 2.0 0.25 0.55 
1

あなたは、この使用することができます。新しい列名のシーケンスの世話を

df.columns = New_Labels 
+0

それはうまくいった。ありがとう! –

1
df.columns = New_Labels 

を。

関連する問題