gpt4 book ai didi

python - 计算数据框中某些数字集的平均值(Pandas,Python3)

转载 作者:行者123 更新时间:2023-12-01 04:26:17 25 4
gpt4 key购买 nike

我有一个这样的数据框:

    Group    Importance
1 100%
1 100%
1 50%
2 75%
2 50%

我想标准化重要性,因此对于每个组,组合重要性等于 100%(例如,每个单独的单元格除以特定组中其余数字的总和)

例如:

  Group    Importance      Weight
1 100% 100%/Sum(100%+100%+50%) = 40%
1 100% 100%/Sum(100%+100%+50%) = 40%
1 50% 50%/Sum(100%+100%+50%) = 20%

因此,我试图得到这样的输出:

  Group    Importance      Weight
1 100% 40%
1 100% 40%
1 50% 20%
2 100% 60%
2 50% 40%

我最初的想法是尝试利用 groupby 中 for 循环的强大功能,但这是非常错误的,类似于:

for z in df.groupby(['Group']):
df.apply(lambda row: (row[1]/df['Importance'])

最佳答案

假设数据框中的值是数字(例如 0.50 与“50%”):

df['Weight'] = df.groupby('Group')['Importance'].transform(lambda x: x / sum(x))

>>> df
Group Importance Weight
0 1 1.00 0.4
1 1 1.00 0.4
2 1 0.50 0.2
3 2 0.75 0.6
4 2 0.50 0.4

关于python - 计算数据框中某些数字集的平均值(Pandas,Python3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33088679/

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