首页 > 解决方案 > 需要按月和地区分组并在 Python Pandas 中返回总和

问题描述

嗨,我有一个如下所示的数据集

region      Month   price

AI        February  8827

AI        April     9000

AI        July      3453

ANZ       February  1714

ANZ       April     2991

ANZ       July      3453

我需要用月份检索特定区域的总和。

例如:

AI 21280(所有月份的总和)

ANZ 6444(仅四月和七月的总和)

需要在 python 中执行此操作,我尝试使用 groupby 但无法正确设置月份。

标签: pythonpython-3.xpandasnumpypandas-groupby

解决方案


您可以df.groupby尝试dict-comprehension

>>> {key: group['price'].sum() if key == 'AI' 
     else group[group['Month'] != 'February']['price'].sum() 
     for key, group in df.groupby('region')}

{'AI': 21280, 'ANZ': 6444}

推荐阅读