我正在嘗試根據(jù)某些條件填充該列。你能幫我怎么做嗎?例子:df: Name Age0 Tom 201 nick 212 nick 193 jack 184 shiv 215 shiv 226 jim 23我創(chuàng)建了多一列的數(shù)據(jù)框: df['New'] = df['Name'].shift() Name Age New0 Tom 20 NaN1 nick 21 Tom2 nick 19 nick3 jack 18 nick4 shiv 21 jack5 shiv 22 shiv6 jim 23 shiv預(yù)期輸出: Name Age New order0 Tom 20 NaN 11 nick 21 Tom 22 nick 19 nick 23 jack 18 nick 34 shiv 21 jack 45 shiv 22 shiv 46 jim 23 shiv 5條件:如果名稱與新列匹配,則檢查前一行的編號并填寫相同的編號,否則填寫下一個編號。它與 dense_rank() 非常相似,但我不想在這里使用 dense_rank 概念。那么這個欄目有什么辦法可以填嗎?
1 回答

幕布斯7119047
TA貢獻1794條經(jīng)驗 獲得超8個贊
使用.cumsum()布爾系列:
df['order'] = (df['Name'] != df['Name'].shift()).cumsum()
print(df)
印刷:
Name Age order
0 Tom 20 1
1 nick 21 2
2 nick 19 2
3 jack 18 3
4 shiv 21 4
5 shiv 22 4
6 jim 23 5
添加回答
舉報
0/150
提交
取消