gpt4 book ai didi

python - 在 groupby 或任何带参数的聚合函数中使用 np.average

转载 作者:行者123 更新时间:2023-11-28 22:42:29 24 4
gpt4 key购买 nike

我现在遇到了在 pandas 中计算组加权平均值的问题。

假设数据框有 3 列“Group”、“A”和“W”。如果我想找到 A 的组均值,我会这样做

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

或者如果我需要总体加权平均值我可以做

np.average(df.A,weight=df.W)

但是我可以计算每个组的加权平均值吗?

谢谢!

最佳答案

您可以将 groupby/apply 与自定义 (lambda) 函数一起使用:

import numpy as np
import pandas as pd

np.random.seed(2015)
N = 10000
df = pd.DataFrame(np.random.randint(10, size=(N,3)), columns=['Group', 'A', 'W'])
result = df.groupby(['Group']).apply(lambda x: np.average(x['A'], weights=x['W']))
print(result)

产量

Group
0 4.422978
1 4.557099
2 4.517336
3 4.535559
4 4.526898
5 4.697104
6 4.580512
7 4.598492
8 4.388965
9 4.424191
dtype: float64

关于python - 在 groupby 或任何带参数的聚合函数中使用 np.average,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31663165/

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