gpt4 book ai didi

python - 为 Pandas 数据透视表中的每个值列定义 aggfunc

转载 作者:IT老高 更新时间:2023-10-28 20:56:21 24 4
gpt4 key购买 nike

试图生成一个包含多个“值”列的数据透视表。我知道我可以使用 aggfunc 以我想要的方式聚合值,但是如果我不想对两列求和或求平均,而是想要一列的总和而另一列的平均值。那么使用 pandas 可以做到这一点吗?

df = pd.DataFrame({
'A' : ['one', 'one', 'two', 'three'] * 6,
'B' : ['A', 'B', 'C'] * 8,
'C' : ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'] * 4,
'D' : np.random.randn(24),
'E' : np.random.randn(24)
})

现在这将得到一个带有总和的数据透视表:

pd.pivot_table(df, values=['D','E'], rows=['B'], aggfunc=np.sum)

这意味着:

pd.pivot_table(df, values=['D','E'], rows=['B'], aggfunc=np.mean)

我怎样才能得到 D 的总和和 E 的平均值?

希望我的问题足够清楚。

最佳答案

您可以通过传入 dict 将特定函数应用于特定列。

pd.pivot_table(df, values=['D','E'], rows=['B'], aggfunc={'D':np.sum, 'E':np.mean})

关于python - 为 Pandas 数据透视表中的每个值列定义 aggfunc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20119414/

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