我有一個資料框,我想根據不同列的條件創建一個新列。創建以 2348 開頭的新列“ans”,并基于列“ix”遞增。在“ix”列中,如果值與下一個相同,則保持“ans”列相同,如果其不同的增量“ans”
謝謝您的回答
index ix
1 pa
2 pa
3 pa
4 pe
5 fc
6 pb
7 pb
8 df
應該導致:-
index ix ans
1 pa 2348
2 pa 2348
3 pa 2348
4 pe 2349
5 fc 2350
6 pb 2351
7 pb 2351
8 df 2352
uj5u.com熱心網友回復:
您可以檢查 ix 列與它的前一行使用的相等性shift(),并使用cumsum():
df['ans'] = (
df['ix'].ne(df['ix'].shift(1))
).cumsum().add(2348) - 1
印刷:
index ix ans
0 1 pa 2348
1 2 pa 2348
2 3 pa 2348
3 4 pe 2349
4 5 fc 2350
5 6 pb 2351
6 7 pb 2351
7 8 df 2352
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/331159.html
