Python 重命名 Pandas DataFrame 列

标签 python pandas dataframe rename

import pandas as pd
import numpy as np
datain = np.loadtxt(datafile)
df = pd.DataFrame(data = datain, columns = ["t","p","x","y","z"])
avg = df.groupby(["t"], sort=False)["p"].mean().rename(columns={1:"mean"})

这不起作用,它告诉我 TypeError: rename() 获得了意外的关键字参数“columns”。如果我这样做也行不通,

avg.rename(columns = {1:"mean"}, inplace=True)

我不明白为什么,所有文档都告诉我我的列调用是正确的。我只想将我的“mean”调用创建的空白列重命名为具有字符串索引。有人知道为什么或如何解决这个问题吗?我见过的所有例子都遵循这种格式。谢谢。

最佳答案

IIUC 你可以做到这一点

import pandas as pd
df = pd.DataFrame({"a":np.arange(10),
                   "b":np.random.choice(["A","B"],10)})

avg = df.groupby("b", sort=False)["a"].mean()\
        .reset_index(name="mean")

avg = df.groupby("b", sort=False)["a"].mean().reset_index()\
        .rename(columns={"a":"mean"})

avg = df.groupby("b", sort=False, as_index=False)["a"].mean()\
        .reset_index()\
        .rename(columns={"a":"mean"})

关于Python 重命名 Pandas DataFrame 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54912626/

相关文章:

python - 如何在 Linux shell 中更新二进制文件中间的一个字节?

python - 逐年匹配点并将其删除

python - 连续中断时如何重置序列

python - 条件下的 DataFrameGroupBy diff()

python - 将列名分配给 Pandas 系列

python - 通过多标签分类应用和绘制数据

python - 如何检查列是否包含 pandas 中的字符串

python - 使用 Matplotlib 和 Pandas 时重命名 X 轴标签

python - 如何在 Pandas 列的分组条形图上添加误差线

python - 尝试将特定列乘以 Pandas DataFrame (Python) 中多行的一部分