为了账号安全,请及时绑定邮箱和手机立即绑定

计算 pandas 系列中连续的个数

计算 pandas 系列中连续的个数

明月笑刀无情 2023-10-18 16:14:00
如果我有以下 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]我怎样才能得到上面的输出呢?
查看完整描述

2 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

让我们尝试使用cumsum创建新密钥


s[s==1].groupby(s.eq(0).cumsum()).sum()

1    2

2    1

4    2

5    3

dtype: int64


#s[s == 1].groupby(s.eq(0).cumsum()).sum().tolist()

#[2, 1, 2, 3]


查看完整回答
反对 回复 2023-10-18
?
慕哥6287543

TA贡献1831条经验 获得超10个赞

以下应该有效:

[len(i) for i in ''.join([str(i) for i in list(s)]).split('0') if '1' in i]

输出:

[2, 1, 2, 3]


查看完整回答
反对 回复 2023-10-18
  • 2 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信