gpt4 book ai didi

python - Pandas - 根据其他列的分组添加列

转载 作者:行者123 更新时间:2023-12-02 08:36:22 24 4
gpt4 key购买 nike

我想使用 pandas 和 python 添加三个附加列。我不确定如何根据具有相同 GroupID 值的行添加其他列。

  • min_avg:具有相同 GroupID 的行的最低 avg
  • ma​​x_avg:具有相同 GroupID 的行的最高 avg
  • group_avg:每行“min_avg”、ma​​x_avg”列的平均值

我不太确定从哪里开始。

我有这个:

    avg     groupId
0 25.5 1016
1 26.7 1048
2 25.8 1016
3 53.5 1048
4 29.3 1064
5 27.7 1016

我的目标是:

    avg         groupId     min_avg     max_avg     group_average
0 25.5 1016 25.5 27.7 26.6
1 26.7 1048 26.3 53.5 39.9
2 25.8 1016 25.5 27.7 26.6
3 53.5 1048 26.3 53.5 39.9
4 29.3 1064 29.3 29.3 29.3
5 27.7 1016 25.5 27.7 26.6

最佳答案

我们可以使用groupbymergedescribe

df=df.merge(df.groupby('groupId').avg.describe()[['mean','min','max']].reset_index(),how='left')
Out[25]:
avg groupId mean min max
0 25.5 1016 26.333333 25.5 27.7
1 26.7 1048 40.100000 26.7 53.5
2 25.8 1016 26.333333 25.5 27.7
3 53.5 1048 40.100000 26.7 53.5
4 29.3 1064 29.300000 29.3 29.3
5 27.7 1016 26.333333 25.5 27.7

关于python - Pandas - 根据其他列的分组添加列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60303587/

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