我有一張帶有送貨目的地的桌子。我希望根據(jù)時間條件刪除目的地。這意味著,例如,ship1已經(jīng)從HK更改為SH,并從SH更改為HK,每次更改目的地時,都應(yīng)該記錄,無論HK是否是目的地。A Destination TimeShip1 HK 1Ship1 HK 2Ship1 BKK 3Ship2 SH 4Ship2 SH 5Ship2 QD 6Ship1 HK 7Ship2 QD 8Ship2 HK 9所以理想的結(jié)果是:A DestinationShip1 HKShip1 BKKShip2 SHShip2 QDShip1 HKShip2 HK
2 回答

斯蒂芬大帝
TA貢獻(xiàn)1827條經(jīng)驗 獲得超8個贊
你在尋找這樣的東西嗎?
df.loc[~df.groupby('A',sort=False)['Destination'].apply(lambda x: x.eq(x.shift())), ['A','Destination']]
輸出
A Destination
0 Ship1 HK
2 Ship1 BKK
3 Ship2 SH
5 Ship2 QD
6 Ship1 HK
8 Ship2 HK

慕尼黑的夜晚無繁華
TA貢獻(xiàn)1864條經(jīng)驗 獲得超6個贊
moy解決方案的變體:
B = df.groupby(['A'],sort=False).Destination.shift()
df.loc[~df.Destination.eq(B)]
A Destination Time
0 Ship1 HK 1
2 Ship1 BKK 3
3 Ship2 SH 4
5 Ship2 QD 6
6 Ship1 HK 7
8 Ship2 HK 9
添加回答
舉報
0/150
提交
取消