2017-08-02 84 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'] 

可以改变上述列表中使用数据的名称?我的原始数据集有100列,我不想为每列进行手动操作。

我正在尝试以下使用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 

利用新的列名的顺序照顾。

相关问题