(重新)仅根据索引命名某些列名,pandas / python

时间:2015-10-23 03:39:36

标签: python pandas

我一直在寻找,但无法弄清楚如何在索引上命名列。例如,如何仅命名没有标题的数据帧的前3列,以便它们各自具有名称(例如A,B,C)?

1 个答案:

答案 0 :(得分:1)

DataFrame方法rename将要重命名的值字典作为输入。没有标题的数据框的列以整数命名,因此对于您的示例,您将使用字典{0:'A', 1:'B', 2:'C'}

In [1]: pd.DataFrame([[0,1,2,3]])
Out[1]:
   0  1  2  3
0  0  1  2  3

In [2]: pd.DataFrame([[0,1,2,3]]).rename(columns = {0:'A', 1:'B', 2:'C'})
Out[2]:
   A  B  C  3
0  0  1  2  3

如果您想要一个适用于任意标签和列名称列表的解决方案,您可以使用zip创建字典:

L = ['A','B','C']
df.rename(columns = dict(zip(df.columns[:len(L)], L)))
Out[3]:
   A  B  C  3
0  1  2  3  4