如果我有以下 pandas 系列:import pandas as pd
s = pd.Series([0,1,1,0,1,0,0,1,1,0,1,1,1])我想要一個連續(xù)數(shù)量的計數(shù)列表,即在這種情況下所需的輸出是[2,1,2,3]我怎樣才能得到上面的輸出呢?
2 回答

阿波羅的戰(zhàn)車
TA貢獻1862條經(jīng)驗 獲得超6個贊
讓我們嘗試使用cumsum創(chuàng)建新密鑰
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]

慕哥6287543
TA貢獻1831條經(jīng)驗 獲得超10個贊
以下應該有效:
[len(i) for i in ''.join([str(i) for i in list(s)]).split('0') if '1' in i]
輸出:
[2, 1, 2, 3]
添加回答
舉報
0/150
提交
取消