我有一個(gè)如下所示的系列:Time Step0? ?01? ?12? ?23? ?24? ?25? ?36? ?07? ?18? ?29? ?210? 211? 3我想使用 Pandas 對(duì)包含 step = 2 的每個(gè)時(shí)間塊執(zhí)行條件滾動(dòng)計(jì)數(shù),并將計(jì)數(shù)輸出到新列。我無法弄清楚如何將每個(gè)步驟的順序運(yùn)行計(jì)算為單個(gè)塊。輸出應(yīng)如下所示:Time Step Run_count0? ?0?1? ?12? ?2? ? ?RUN13? ?2? ? ?RUN14? ?2? ? ?RUN15? ?36? ?07? ?18? ?2? ? ?RUN29? ?2? ? ?RUN210? 2? ? ?RUN211? 3
1 回答
Helenr
TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊
咱們?cè)囋嚢桑?/p>
s = df.Step.where(df.Step.eq(2))
df['Run_count'] = s.dropna().groupby(s.isna().cumsum()).ngroup()+1
輸出:
Time Step Run_count
0 0 0 NaN
1 1 1 NaN
2 2 2 1.0
3 3 2 1.0
4 4 2 1.0
5 5 3 NaN
6 6 0 NaN
7 7 1 NaN
8 8 2 2.0
9 9 2 2.0
10 10 2 2.0
11 11 3 NaN
添加回答
舉報(bào)
0/150
提交
取消
