我在python中使用pandas,我有一个pandas Series对象,我不能为我的生活弄清楚。它基本上是这样的:
>>>print(series_object)
key1 key2 key3
First class 19438 Error1:0 117
16431 Error2:0 80
1 Error3:0 70
Second class 28039 Error4:0 65
Third class 2063 Error5:0 28
19439 Error6:0 25
Fourth class 25975 Error7:0 11
Fifth class 23111 Error8:0 7
1243 Error9:665 4
Error9:581 3
27525 Error10:0 3
1243 Error9:748 2
1247 Error11:65 2
1243 Error9:852 2
1247 Error11:66 2
Error11:70 1
Error11:95 1
Error11:181 1
Error11:102 1
Error11:160 1
我想要一种方法来对key2匹配的这个对象的值求和,以便它将series_object
更改为:
>>>print(series_object)
key1 key2 key3
First class 19438 Error1:0 117
16431 Error2:0 80
1 Error3:0 70
Second class 28039 Error4:0 65
Third class 2063 Error5:0 28
19439 Error6:0 25
Fourth class 25975 Error7:0 11
Fifth class 23111 Error8:0 7
1243 Error9:665 11
27525 Error10:0 3
1247 Error11:65 9
我尝试了很多不同的东西,在一个普通的数组中,这对我来说不是问题,但是熊猫系列对象是新的,令我困惑。有人可以提供一些帮助吗?
答案 0 :(得分:5)
您可以使用groupby。
http://pandas.pydata.org/pandas-docs/stable/groupby.html#groupby-with-multiindex
在你的情况下
series_object.groupby(level='key2').sum()
或者如果你想保留'key1'信息
series_object.groupby(level=['key1', 'key2']).sum()