带有最小值、最大值和总和的 Pandas 数据框 Groupby

Posted

技术标签:

【中文标题】带有最小值、最大值和总和的 Pandas 数据框 Groupby【英文标题】:Pandas dataframe Groupby with Min,Max and Sum 【发布时间】:2021-08-01 07:10:05 【问题描述】:

我在 AID 级别有以下数据框,我想 Group By 在 CID 上使用 min 优先级,max Ind 值,并计算金额字段的 sum

数据框

AID   CID   priority amount    Ind
100   C100     1       50       1
200   C100     2       100      0
300   C300     5       300      0
400   C300     3       200      0
500   C300     4       150      0

所需的数据帧

CID  Priority   amount   Ind
C100    1       150       1
C300    3       650       0

我试过了

df2=df.groupby(['CID']).min('Priority')

Error: method object is not subscriptable

【问题讨论】:

【参考方案1】:
print(
    df.groupby("CID", as_index=False).agg(
        "priority": "min", "Ind": "max", "amount": "sum"
    )
)

打印:

    CID  priority  Ind  amount
0  C100         1    1     150
1  C300         3    0     650

【讨论】:

以上是关于带有最小值、最大值和总和的 Pandas 数据框 Groupby的主要内容,如果未能解决你的问题,请参考以下文章

Pandas 跨行的最小值和最大值

Pandas 根据列中的最小值到最大值对行进行重新排序

pandas学习(常用数学统计方法总结读取或保存数据缺省值和异常值处理)

对 pandas 数据框中的连续值进行分组

Pandas 中日期列的最大值/最小值,列包含 nan 值

Pandas:向量化局部范围操作([i:i+2] 行的最大值和总和)