潘达斯数据框架的多列分组[英] Pandas dataframe group by multiple columns

本文是小编为大家收集整理的关于潘达斯数据框架的多列分组的处理方法,想解了潘达斯数据框架的多列分组的问题怎么解决?潘达斯数据框架的多列分组问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

给定一个包含两个日期时间列 A 和 B 以及一个数字列 C 的数据框,如何按 A 和 B 和 sum(C) 的 month 分组,即

In [1]: df
Out[1]: 

      A           B            C  
0  2013-01-01  2013-01-01  0.282863 
1  2013-01-02  2013-01-01  0.173215 
2  2013-02-03  2013-02-04  2.104569 
3  2013-02-09  2013-04-15  0.706771 
4  2013-03-05  2013-08-01  0.567020 
5  2013-03-06  2013-04-01  0.113648

推荐答案

通过使用groupby

df.groupby([df.A.dt.month,df.B.dt.month]).C.sum()

Out[954]: 
A  B
1  1    0.456078
2  2    2.104569
   4    0.706771
3  4    0.113648
   8    0.567020
Name: C, dtype: float64

注意:使用这个,请确保A和B是日期时间格式如果不是,请在groupby之前执行以下代码

df.A=pd.to_datetime(df.A)
df.B=pd.to_datetime(df.B) 

本文地址:https://www.itbaoku.cn/post/1727963.html