如何对多级索引进行Pandas groupby?

时间:2018-10-11 17:10:31

标签: pandas-groupby multi-index

下面的数据框按日期和公司包含收入和支出。在“日期”和“公司”列上设置了多个索引。我们如何在Date-Company多级索引的Date部分分组?

import pandas as pd
import numpy as np

eData = [['2016-06-01', 'Amazon', np.nan, 40],
         ['2016-06-01', 'Amazon', np.nan, 30],
         ['2016-07-05', 'Samsung', np.nan, 1100],
         ['2016-07-05', 'Apple', np.nan, 500],
         ['2016-07-31', 'Samsung', np.nan, 600],
         ['2016-07-31', 'Job 1', 3000, np.nan],
         ['2016-07-31', 'Job 2', 800, np.nan],
         ]
dfr = pd.DataFrame(columns=['Date', 'Company', 'REV', 'EXP'],
                 data=eData, index=[x for x in range(1, len(eData) + 1)])
dfr.fillna('',inplace=True)
dfr.set_index(['Date', 'Company'],inplace=True)
dfr.sort_index(inplace=True)
dfr

这是Jupyter笔记本上的输出:

dfr DataFrame

现在,有两个按预期工作的分组方式:

dfr.groupby('Company').sum()

Result

dfr.groupby(['Date', 'Company']).sum()

Result 2

但是按日期分组并不能完全起作用,如下所示:

dfr.groupby('Date').sum()

Error

该问题如何解决?

0 个答案:

没有答案