嗨,我正在使用 pandas 处理一些数据。
我遇到了一个问题,但在这里我会尝试简化它。
假设我有一个如下所示的数据集:
# Incidents Place Month
0 3 A 1
1 5 B 1
2 2 C 2
3 2 B 2
4 6 C 3
5 3 A 1
所以我想按地点对事件数量进行求和,也就是说,我想要得到类似的结果
P #
A 3
B 7(5+2)
C 8(2+6)
存储在 pandas DataFrame 中。目前我不关心其他专栏。
下一个问题是,现在如果我也想使用月份列中的数据,我希望结果看起来像
P M #
A 1 6(3+3)
B 1 5
B 2 2
C 2 2
C 3 6
如何在 pandas 中实现这些结果?我尝试过 groupby 和其他一些功能,但我无法达到目的...
感谢任何帮助!
最佳答案
你可以这样做:
In [35]: df
Out[35]:
# Incidents Place Month
0 3 A 1
1 5 B 1
2 2 C 2
3 2 B 2
4 6 C 3
5 3 A 1
In [36]: df.groupby('Place')['# Incidents'].sum().reset_index()
Out[36]:
Place # Incidents
0 A 6
1 B 7
2 C 8
In [37]: df.groupby(['Place', 'Month'])['# Incidents'].sum().reset_index()
Out[37]:
Place Month # Incidents
0 A 1 6
1 B 1 5
2 B 2 2
3 C 2 2
4 C 3 6
请查找here包含大量示例的 Pandas 文档。
关于python - 如何在Python中的pandas中按其他列中的值求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40200904/