gpt4 book ai didi

python - Pandas 交叉表中的加权结果

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

我想使用第三列来加权 pandas 交叉表中的结果。

例如,以下内容:

import pandas as pd
df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'bar'],
'B': [1, 1, 0, 0, 0],
'weight': [2, 3, 4, 5, 6]})
print(pd.crosstab(df.A, df.B))

结果:

B    0  1
A
bar 2 1
foo 1 1

我想要的结果是:

B     0  1
A
bar 11 3
foo 4 2

最佳答案

您可以使用 aggfunc 参数为交叉表提供自定义聚合函数:

pd.crosstab(df.A, df.B, df.weight, aggfunc = sum)
B 0 1
A
bar 11 3
foo 4 2

关于python - Pandas 交叉表中的加权结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30314217/

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