Pandas - 按一列分组并获取所有其他列的平均值

标签 pandas

我有一个包含列的数据框:

cols = ['A', 'B', 'C']

如果我按一列分组,比如“A”,就像这样:

df.groupby('A')['B'].mean()

有效。


但我需要对一列进行分组,然后获取所有其他列的平均值。我试过:

df[cols].groupby('A').mean()

但是我得到了错误:

KeyError: 'A'

我错过了什么?

最佳答案

请尝试:

df.groupby('A').agg('mean')

样本数据

   B  C  A
0  1  4  K
1  2  6  S
2  4  7  K
3  6  3  K
4  2  1  S
5  7  3  K
6  8  9  K
7  9  3  K


print(df.groupby('A').agg('mean'))




     B         C
A                    
K  5.833333  4.833333
S  2.000000  3.500000

关于 Pandas - 按一列分组并获取所有其他列的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66038978/

相关文章:

python - 使用 read_csv 时如何管理包含多个空格的列名

pandas - 打印可重现示例的 pandas 数据框(相当于 R 中的 dput)

python - 用于忠诚度计算的线路之间的时间增量

python - Pandas "if X not in DataFrame"总是抛出错误

python - 如果列名称与数据帧名称相同,则从多个数据帧中选择特定列

python - 将 pandas 数据框中的多行合并为一行?

python-3.x - Pandas 将 CSV 中的 SingleIndex 合并为 MultiIndex

python - 如何在不连接的情况下读取 Python 数据框中的数据?

python - 从 Pandas DataFrame 在 Netezza 上创建临时表

python - 使用 Python 中的其他数据库更新 2D 数据库 (CSV)?