猿问

计算 pandas 系列中连续的个数

如果我有以下 pandas 系列:

import pandas as pd
s = pd.Series([0,1,1,0,1,0,0,1,1,0,1,1,1])

我想要一个连续数量的计数列表,即在这种情况下所需的输出是

[2,1,2,3]

我怎样才能得到上面的输出呢?


明月笑刀无情
浏览 115回答 2
2回答

阿波罗的战车

让我们尝试使用cumsum创建新密钥s[s==1].groupby(s.eq(0).cumsum()).sum()1    22    14    25    3dtype: int64#s[s == 1].groupby(s.eq(0).cumsum()).sum().tolist()#[2, 1, 2, 3]

慕哥6287543

以下应该有效:[len(i) for i in ''.join([str(i) for i in list(s)]).split('0') if '1' in i]输出:[2, 1, 2, 3]
随时随地看视频慕课网APP

相关分类

Python
我要回答