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

标签 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 并用新旧列对构建一个字典,但这看起来非常难看。有没有更优雅的解决方案?

谢谢。

最佳答案

感谢@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

关于python - 更改链式操作中的所有列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48736697/

相关文章:

python - 以与 gunzip 一样快的速度获取 gzip 压缩文件大小(无搜索)

python - 主键列表上的 Cassandra 分页不起作用

python - PANDAS - 绘制特定行并更改列的顺序

python - 在Python中将数据框从水平 reshape 为垂直

python - 如何在单元格为空/空时通过 python 在 google 工作表中插入值

python - 将两列相乘时出现错误消息

python - 将数据框列中的列表拆分为单独的列

python - 如何在 pandas Dataframe 中查找 numpy 数组列的 boolean 值?

python - 有没有办法在 python 中给定包含节点和权重的 networkx 图创建自定义标准化 numpy 数组

python - 从右开始累计