gpt4 book ai didi

python - 按一列分组并在 Pandas 中找到另一列的总和和最大值

转载 作者:太空狗 更新时间:2023-10-30 00:22:10 26 4
gpt4 key购买 nike

我有一个这样的数据框:

Name  id  col1  col2  col3  cl4 
PL 252 0 747 3 53
PL2 252 1 24 2 35
PL3 252 4 75 24 13
AD 889 53 24 0 95
AD2 889 23 2 0 13
AD3 889 0 24 3 6
BG 024 12 89 53 66
BG1 024 43 16 13 0
BG2 024 5 32 101 4

现在我需要按 ID 分组,对于列 col1 和 col4 找到每个 id 的总和并将其放入靠近父列的新列中(例如:col3(sum))但是对于 col2 和 col3 找到最大值值(value)。期望的输出:

Name  id  col1 col1(sum) col2 col2(max) col3 col(max) col4 col4(sum)
PL 252 0 5 747 747 3 24 6 18
PL2 252 1 5 24 747 2 24 12 18
PL3 252 4 5 75 747 24 24 0 18
AD 889 53 76 24 24 95 95 23 33
AD2 889 23 76 2 24 13 95 5 33
AD3 889 0 76 24 24 6 95 5 33
BG 024 12 60 89 89 66 66 0 67
BG1 024 43 60 16 89 0 66 63 67
BG2 024 5 60 32 89 4 66 4 67

计算这个的最简单和最快的方法是什么?

最佳答案

执行此操作的最( Pandas )本地方法是使用 .agg()允许您指定要为每列应用的聚合函数的方法(就像您在 SQL 中所做的那样)。

文档中的示例:

df.groupby('A').agg({'B': ['min', 'max'], 'C': 'sum'})

关于python - 按一列分组并在 Pandas 中找到另一列的总和和最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44724480/

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