我正在对两个变量进行分组和求和。第二个变量是年份,在我的示例中,只有两年(2015 年和 2016 年)。对于总和的第二行,现在显示第一个变量(一个 ID#)。我如何强制它显示?
代码:
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
关于python - Pandas Groupby 和带有两个变量的总和 -,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42442100/