微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Groupby列并查找每个组的最小值和最大值

如何解决Groupby列并查找每个组的最小值和最大值

您可以使用assign+ abs,然后使用groupby+ agg

df = (df.assign(Data_Value=df['Data_Value'].abs())
       .groupby(['Day'])['Data_Value'].agg([('Min' , 'min'), ('Max', 'max')])
       .add_prefix('Day'))

df 
       DayMin  DayMax
Day                  
01-01       0     115
01-02       0      79

解决方法

我有以下数据集,

        Day    Element  Data_Value
6786    01-01   TMAX    112
9333    01-01   TMAX    101
9330    01-01   TMIN    60
11049   01-01   TMIN    0
6834    01-01   TMIN    25
11862   01-01   TMAX    113
1781    01-01   TMAX    115
11042   01-01   TMAX    105
1110    01-01   TMAX    111
651     01-01   TMIN    44
11350   01-01   TMIN    83
1798    01-02   TMAX    70
4975    01-02   TMAX    79
12774   01-02   TMIN    0
3977    01-02   TMIN    60
2485    01-02   TMAX    73
4888    01-02   TMIN    31
11836   01-02   TMIN    26
11368   01-02   TMAX    71
2483    01-02   TMIN    26

我想按天分组,然后找到TMIN的整体最小值和TMAX的最大值,然后将其放入数据帧,所以我得到了如下输出:

Day    DayMin    DayMax
01-01  0         115
01-02  0         79

我知道我需要做

df.groupby(by='Day')

但我对下一步感到困惑-应该创建列来存储TMAX和TMIN值吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。