Python Pandas:分类变量的Group BY函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python Pandas:分类变量的Group BY函数相关的知识,希望对你有一定的参考价值。
我有一个看起来像这样的数据框:
DATE Cause Value
0 2019-04-01 Foreign Interference 0.52680
1 2019-04-01 Foreign Interference 0.91260
2 2019-04-02 Equipment 0.03129
3 2019-04-02 Equipment 0.74794
4 2019-04-02 Vegetation - Touching / Burning 0.12511
5 2019-04-02 Incorrect Installation 0.05635
6 2019-04-02 Incorrect Installation 0.03070
7 2019-04-03 Incorrect Installation 0.02296
现在,我想按日期对数据帧进行分组并汇总值。但是,如果要在同一日期发生,我希望“原因”列显示为原因的集合。所以我想要的输出将是这样的:
所需输出:
DATE Cause Value
0 2019-04-01 Foreign Interference 1.438
1 2019-04-02 Equipment, 0.9915
Vegetation - Touching / Burning,
Incorrect Installation
2 2019-04-03 Incorrect Installation 0.02296
我尝试使用groupby(['Date','Cause'])
,但未产生所需的输出。任何帮助将非常感激。
答案
让我们用agg
做unique
s=df.groupby('DATE',as_index=False).agg({'Cause': lambda x : ','.join(x.unique()), 'Value':'sum'})
以上是关于Python Pandas:分类变量的Group BY函数的主要内容,如果未能解决你的问题,请参考以下文章
pandas使用groupby函数基于指定分组变量对dataframe数据进行分组使用get_group函数获取指定分组变量的具体分类值下的所有样本(获取的是多个分组中的其中一个分组的内容)