2013-07-12 213 views
0

具體,說我有一個這樣的數據幀:蟒蛇大熊貓GROUPBY過濾

appid mac_id count 

1  a  1 

2  b  1 

2  c  1 

3  d  1 

3  e  1 

而且我也有一個:

mac_list = ['b', 'd', 'e'] 

我希望將這個數據幀的appid和各組如果它在mac_list中,則過濾器mac_id。最後,每個組的總和(計數)。

該數據幀的結果是:

appid count 

1   0 

2   1 

3   2 

我怎樣才能做到這一點有熊貓嗎?

回答

6
>>> df = pd.DataFrame({"appid": [1,2,2,3,3], "mac_id": ['a', 'b', 'c', 'd', 'e'], "count": [1,1,1,1,1]}) 
>>> summer = lambda x: x[x["mac_id"].isin(mac_list)].sum() 
>>> df.groupby("appid").apply(summer)["count"] 
    18 
appid 
1  0 
2  1 
3  2 
Name: count, dtype: object