Python 所有日期的总和分组列
我有下面的Python 所有日期的总和分组列,python,pandas,dataframe,Python,Pandas,Dataframe,我有下面的df qty,其中包含日期和重复项目的数量 DF qty | date | qty | item | ccy | +------------+------+----------+-----+ | 2015-01-01 | 700 | CB04 box | USD | | 2015-01-01 | 500 | CB04 box | USD | | 2015-01-01 | 1500 | AB01 box | USD | | 2015-01-02 | 550 |
df qty
,其中包含日期和重复项目的数量
DF qty
| date | qty | item | ccy |
+------------+------+----------+-----+
| 2015-01-01 | 700 | CB04 box | USD |
| 2015-01-01 | 500 | CB04 box | USD |
| 2015-01-01 | 1500 | AB01 box | USD |
| 2015-01-02 | 550 | CB04 box | USD |
| 2015-01-02 | 750 | AB01 box | USD |
| 2015-01-02 | 500 | AB01 box | USD |
| 2015-01-03 | 100 | AB01 box | USD |
| 2015-01-03 | 200 | AB01 box | USD |
| 2015-01-03 | 300 | AB01 box | USD |
我需要一些建议,如何使此DF qty
如下所示:
DF qty
| date | qty | item | ccy |
+------------+------+----------+-----+
| 2015-01-01 | 1200 | CB04 box | USD |
| 2015-01-01 | 1500 | AB01 box | USD |
| 2015-01-02 | 550 | CB04 box | USD |
| 2015-01-02 | 1250 | AB01 box | USD |
| 2015-01-03 | 600 | AB01 box | USD |
我所做的是,为每个日期
创建一个子集df
,然后按数量
对它们进行分组
<代码>数量=数量[数量[日期]='2015-01-01']
然后
## Sum items lots
qty = qty.groupby('item').agg({'date': 'first',
'ccy':'first',
'qty' : 'sum'}).reset_index()
这个过程是非常重复的,我希望有一些东西可以对所有的
日期执行此操作,并对数量的项目进行汇总您可以同时对多个列进行分组。在这种情况下,看起来您希望在同一天以相同的货币找到给定项目的总金额。这意味着您要按['date'、'item'、'ccy']分组。
df.groupby(['date', 'item', 'ccy']).sum().reset_index()
产出:
date item ccy qty
0 2015-01-01 AB01_box USD 1500
1 2015-01-01 CB04_box USD 1200
2 2015-01-02 AB01_box USD 1250
3 2015-01-02 CB04_box USD 550
4 2015-01-03 AB01_box USD 600