为了简单起见,我有一个多索引数据框,如下所示;
Values
01-01-2010 Belgium 1
Belgium 7
UK 3
UK 4
UK 2
France 1
France 3
02-01-2010 Belgium 4
UK 7
UK 10
UK 2
France 4
我需要尝试求和每天每个国家的价值。实际数据框架包含40个国家/地区大约10年的数据。
是否有使用resample()函数执行此操作的简单方法?我似乎无法使用多索引。我也许可以将这些国家转换回专栏?
任何帮助,不胜感激。
groupby
通过指定级别来创建索引
df2 = df.groupby(level=[0,1])['Values'].sum()
print(df2)
01-01-2010 Belgium 8
France 4
UK 9
02-01-2010 Belgium 4
France 4
UK 19
Name: Values, dtype: int64
实际上,如果允许索引首先成为列,则认为这将起作用;
sum_df = df.groupby(['Time','From Country']).agg({'Value': 'sum'})