gpt4 book ai didi

python - 如何将函数应用于数据框 GROUPWISELY 的所有列? (在 python Pandas 中)

转载 作者:行者123 更新时间:2023-11-28 21:38:01 26 4
gpt4 key购买 nike

如何“分组”将函数应用于数据框的每一列?IE。按一列的值分组并计算例如表示每组+其他列。预期的输出是带有索引的数据框 - 不同组的名称和值 - 每个组+列的平均值

例如考虑:

df = pd.DataFrame(np.arange(16).reshape(4,4), columns=['A', 'B', 'C', 'D'])
df['group'] = ['a', 'a', 'b','b']


A B C D group
0 0 1 2 3 a
1 4 5 6 7 a
2 8 9 10 11 b
3 12 13 14 15 b

我想计算例如np.mean 每列,但“分组”,在该特定示例中,可以通过以下方式完成:

t = df.groupby('group').agg({'A': np.mean, 'B': np.mean, 'C': np.mean, 'D': np.mean })

A B C D
group
a 2 3 4 5
b 10 11 12 13

但是,它需要显式使用列名 'A': np.mean, 'B': np.mean, 'C': np.mean, 'D': np.mean这对我的任务来说是 Not Acceptable ,因为它们可以更改。

最佳答案

正如 MaxU 评论的那样,更简单的是 groupby + GroupBy.mean :

df1 = df.groupby('group').mean()
print (df1)
A B C D
group
a 2 3 4 5
b 10 11 12 13

如果需要来自索引的列:

df1 = df.groupby('group', as_index=False).mean()
print (df1)
group A B C D
0 a 2 3 4 5
1 b 10 11 12 13

关于python - 如何将函数应用于数据框 GROUPWISELY 的所有列? (在 python Pandas 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48744490/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com