亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

GroupBy Pandas 計算連續的零

GroupBy Pandas 計算連續的零

一只斗牛犬 2021-07-09 14:07:25
我的輸入看起來像下面的df。我需要按列(A,B)分組并計算連續零的數量/計算每個組中連續零的長度并寫入新列“Zero_count”Input:A    B  DATE      hour  measure     A10  1  1/1/2014    0   0       A10  1  1/1/2014    1   0       A10  1  1/1/2014    2   0       A10  1  1/1/2014    3   0       A10  2  1/1/2014    4   0       A10  2  1/1/2014    5   1       A10  2  1/1/2014    6   2       A10  3  1/1/2014    7   0       A11  1  1/1/2014    8   0       A11  1  1/1/2014    9   0       A11  1  1/1/2014    10  2       A11  1  1/1/2014    11  0       A11  1  1/1/2014    12  0       A12  2  1/1/2014    13  1       A12  2  1/1/2014    14  3       A12  2  1/1/2014    15  0       A12  4  1/1/2014    16  5       A12  4  1/1/2014    17  0       A12  6  1/1/2014    18  0       我嘗試使用“groupby”技術來獲取組,但組內連續零計數是我正在尋找的東西。我曾嘗試使用 lambda 函數,但它計算了零的總數,而我對重復連續的零感興趣。我希望我的輸出看起來像這樣:OutputA    B  DATE      hour  measure Consec_zero_countA10  1  1/1/2014    0   0       4A10  1  1/1/2014    1   0       4A10  1  1/1/2014    2   0       4A10  1  1/1/2014    3   0       4A10  2  1/1/2014    4   0       1A10  2  1/1/2014    5   1       0A10  2  1/1/2014    6   2       0A10  3  1/1/2014    7   0       1A11  1  1/1/2014    8   0       2A11  1  1/1/2014    9   0       2A11  1  1/1/2014    10  2       0A11  1  1/1/2014    11  0       2A11  1  1/1/2014    12  0       2A12  2  1/1/2014    13  1       0A12  2  1/1/2014    14  3       0A12  2  1/1/2014    15  0       1A12  4  1/1/2014    16  5       0A12  4  1/1/2014    17  0       1A12  6  1/1/2014    18  0       1任何線索將不勝感激。提前致謝!
查看完整描述

2 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

創建助手Series通過比較連續值的唯一的組ne(!=)的shiftED值隨cumsum。然后groupby用transform和size。僅用于0with 的最后一個 fiter 值numpy.where:


g = df['measure'].ne(df['measure'].shift()).cumsum()

counts = df.groupby(['A','B', g])['measure'].transform('size')

df['Consec_zero_count'] = np.where(df['measure'].eq(0), counts, 0)

print (df)

      A  B      DATE  hour  measure  Consec_zero_count

0   A10  1  1/1/2014     0        0                  4

1   A10  1  1/1/2014     1        0                  4

2   A10  1  1/1/2014     2        0                  4

3   A10  1  1/1/2014     3        0                  4

4   A10  2  1/1/2014     4        0                  1

5   A10  2  1/1/2014     5        1                  0

6   A10  2  1/1/2014     6        2                  0

7   A10  3  1/1/2014     7        0                  1

8   A11  1  1/1/2014     8        0                  2

9   A11  1  1/1/2014     9        0                  2

10  A11  1  1/1/2014    10        2                  0

11  A11  1  1/1/2014    11        0                  2

12  A11  1  1/1/2014    12        0                  2

13  A12  2  1/1/2014    13        1                  0

14  A12  2  1/1/2014    14        3                  0

15  A12  2  1/1/2014    15        0                  1

16  A12  4  1/1/2014    16        5                  0

17  A12  4  1/1/2014    17        0                  1

18  A12  6  1/1/2014    18        0                  1


查看完整回答
反對 回復 2021-07-13
  • 2 回答
  • 0 關注
  • 235 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號