更改链式操作中的所有列名

All*_*len 4 python pandas

我有一个数据框:

df = pd.DataFrame(data=[[1,2]], columns=['a', 'b'])
Run Code Online (Sandbox Code Playgroud)

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

df.columns = ['d', 'e']
Run Code Online (Sandbox Code Playgroud)

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

df=(
    df.rename all column names
    .reset_index()
)
Run Code Online (Sandbox Code Playgroud)

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

谢谢。

All*_*len 6

感谢@unutbu 指出git hub 问题,事实证明这可以通过 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
Run Code Online (Sandbox Code Playgroud)