嗨,我正在使用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中。此时我不关心其他列。
下一个问题是,现在如果我想使用Month列中的数据,我希望结果看起来像
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
请在这里找到包含大量示例的Pandas文档