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

(重新)仅基于索引命名某些列名,pandas/python,python,pandas,Python,Pandas,我到处找,但不知道如何命名索引中的列。例如,如何只命名没有标题的数据框的前3列,使它们各自有一个名称(例如a、B、C)?数据框方法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(

我到处找,但不知道如何命名索引中的列。例如,如何只命名没有标题的数据框的前3列,使它们各自有一个名称(例如a、B、C)?

数据框方法
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

谢谢我正在使用.rename,但忘记使用实际数字而不是字符串,例如“1”:(。