請協助。如何獲得熊貓 groupby 的 cumsum,但我的資料是布林值 0 和 1。我想將每組 0 或 1 視為唯一值,并在滿足新值時重置計數。
我目前有這個總結了所有 1 和 0
df['grp'] = df.groupby("dir")["dir"].cumsum())
我想要的輸出
df = pd.DataFrame({"dir":[1,1,1,1,0,0,0,1,1,1,1,0,0,0],
"grp": [1,2,3,4,1,2,3,1,2,3,4,1,2,3,]})
uj5u.com熱心網友回復:
采用:
In [1495]: df['grp'] = df.groupby((df['dir'] != df['dir'].shift(1)).cumsum()).cumcount() 1
In [1496]: df
Out[1496]:
dir grp
0 1 1
1 1 2
2 1 3
3 1 4
4 0 1
5 0 2
6 0 3
7 1 1
8 1 2
9 1 3
10 1 4
11 0 1
12 0 2
13 0 3
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/429596.html
標籤:Python 熊猫 熊猫-groupby
上一篇:誰自動從資料框中獲取列的名稱
