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=Falsegroupby

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