2014-01-23 113 views
1

GROUPBY連續元素我有一個數據幀系列只包含0或1。我想每個「簇」的0。這裏的長度名單是一個玩具模型:在熊貓系列相同的密鑰

a=pd.DataFrame({'x':[1,1,0,0,1,0]}) 

我期望是[2,1]

爲了做到這一點,我可以執行以下操作:

a[a['x']==0].index 

,然後使用GROUPBY爲尋找連續指標作爲已經學會在SO 。順便問一下,有更有效的方法來做到這一點?

回答

1

您可以使用itertools.groupby得到這個結果。

from itertools import groupby 

data = [1, 1, 0, 0, 1, 0] 
grouper = (list(s) for _, s in groupby(data)) 
lengths = [len(s) for s in grouper if s[0] == 0] 
print(lengths) 

不知道groupbypandas編碼相同。