如何在Python的pandas中按值对其他列中的值求和



嗨,我正在使用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文档

相关内容

  • 没有找到相关文章

最新更新