Pandas分组和求和(两个变量)

3

我正在对两个变量进行分组并求和。第二个变量是年份,对于我的例子,只有两个年份(2015年和2016年)。在求和的第二行中,第一个变量(一个ID号码)未被显示。如何强制显示它?

代码:

totals = df.groupby(by=['id', 'year'])['sales'].sum()
print(totals)

输出样例:

1234567             2015             596407.81
                    2016            7224148.34

如何使第二行的ID变为1234567?

1个回答

3

在使用groupby时,需将参数as_index=False

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(多级索引)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接