![](/img/trans.png)
[英]Identify consecutive same values in Pandas Dataframe, with a Groupby
[英]Groupby consecutive elements in pandas series with same key
我在DataFrame中有一個Series,它僅包含0或1。我想獲取每個“ cluster”的長度為0的列表。這是一個玩具模型:
a=pd.DataFrame({'x':[1,1,0,0,1,0]})
我期望的是[2,1]
為此,我可以執行以下操作:
a[a['x']==0].index
然后使用groupby查找在SO上已經了解的連續索引。 順便說一句,有沒有更有效的方法呢?
您可以使用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)
不知道pandas
groupby
是否編碼相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.