我有一個熊貓資料框,其中重復了一些行,因此它們具有相同的索引
例子:
A
0. 34
1. 12
1. 12
2. 21
2. 21
2. 21
如何創建包含該索引重復次數的“B”列?
期望的輸出:
A. B.
0. 34. 1
1. 12 1
1. 12 2
2. 21. 1
2. 21. 2
2. 21. 3
uj5u.com熱心網友回復:
您可以創建一個 1s 的虛擬列和groupby索引并cumsum在虛擬列上使用:
df['B'] = df.assign(one=1).groupby(level=0)['one'].cumsum()
另一種選擇是使用groupby索引并使用cumcount(并加 1)來獲取運行計數:
df['B'] = df.groupby(level=0).cumcount() 1
輸出:
A B
0.0 34 1
1.0 12 1
1.0 12 2
2.0 21 1
2.0 21 2
2.0 21 3
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/426999.html
