Pandas Groupby和两个变量的总和 -
问题描述:
我正在做一个groupby和两个变量的总和。第二个变量是年份,就我的例子而言,只有两年(2015年和2016年)。对于总和的第二行,现在显示第一个变量(一个ID#)。我如何强制它显示?Pandas Groupby和两个变量的总和 -
代码:
totals = df.groupby(by=['id', 'year'])['sales'].sum()
print(totals)
输出采样:
1234567 2015 596407.81
2016 7224148.34
我如何获得第二行有ID 1234567?
答
使用参数as_index=False
在groupby
:
totals = df.groupby(by=['id', 'year'], as_index=False)['sales'].sum()
print(totals)
或者reset_index
:
totals = df.groupby(by=['id', 'year'])['sales'].sum().reset_index()
print(totals)
之所以没有看到在首列的最后一个值是MultiIndex