更改链接操作中的所有列名称

时间:2018-02-11 21:32:35

标签: python pandas

我有一个数据框:

df = pd.DataFrame(data=[[1,2]], columns=['a', 'b'])

我知道我可以执行以下操作来更改数据框中的所有列名称:

df.columns = ['d', 'e']

如何更改链式操作中的所有列名?例如,我想做类似的事情:

df=(
    df.rename all column names
    .reset_index()
)

我能找到的唯一方法是使用df.rename并使用旧的和新的列对构建一个字典但看起来非常难看。还有更优雅的解决方案吗?

感谢。

1 个答案:

答案 0 :(得分:2)

感谢@unutbu指向git hub issue,事实证明这可以通过set_axis从其中一条评论中完成:

df = pd.DataFrame(data=[[1,2]], columns=['a', 'b'])   
df
Out[21]: 
   a  b
0  1  2

df2 = (
    df.set_axis(['d','e'], axis=1, inplace=False)
    .reset_index()
)
df2
Out[18]: 
   index  d  e
0      0  1  2