首页 > 解决方案 > 如何在 Pandas 中根据日期进行分组计数

问题描述

有一个如下的熊猫数据框。我需要计算特定日期的总计数OrginDestination组合,并将总计数写入一个名为 total 的新列count

输入数据

Date       ORG  DEST    LoadMeter 
6/6/2018    FR  EST       4
6/6/2018    FR  EST       5
6/6/2018    BE  CZ        7
6/6/2018    BE  CZ        8
6/6/2018    BE  CZ        2
7/6/2018    BE  CZ        6
7/6/2018    BE  CZ        2
7/6/2018    FR  EST       4
8/6/2018    FR  EST       6
8/6/2018    LUX EST       2
8/6/2018    LUX EST       4
8/6/2018    FR  EST       6

预期产出

Date    ORG     DEST    LoadMeter   Total Meter 
6/6/2018    FR  EST          4        9
6/6/2018    FR  EST          5        9
6/6/2018    BE  CZ           7       17
6/6/2018    BE  CZ           8       17
6/6/2018    BE  CZ           2       17
7/6/2018    BE  CZ           6        8
7/6/2018    BE  CZ           2        8
7/6/2018    FR  EST          4        4
8/6/2018    FR  EST          6       12
8/6/2018    LUX EST          2        6
8/6/2018    LUX EST          4        6
8/6/2018    FR  EST          6       12

如何才能做到这一点。

标签: pythonpython-3.xpandas

解决方案


使用transform sum

df.groupby(['Date','ORG','DEST']).LoadMeter.transform('sum')
Out[262]: 
0      9
1      9
2     17
3     17
4     17
5      8
6      8
7      4
8     12
9      6
10     6
11    12
Name: LoadMeter, dtype: int64

df['Total']=df.groupby(['Date','ORG','DEST']).LoadMeter.transform('sum')

推荐阅读