我在 google collaboratory 上作業,我在熊貓資料框上有兩列,其中一些行具有相似的值
A B
Syd Syd
Aus Del
Mir Ard
Dol Dol
我希望 B 列中與 A 列具有重復值的值被洗掉,如下所示:
A B
Syd
Aus Del
Mir Ard
Dol
我嘗試drop_duplicates()像這樣使用從資料框中洗掉重復項,基于兩列 A、B,在另一列 C 中保留具有最大值的行,但它會洗掉整個列 B。任何建議更聰明的方法來解決這個問題?
先謝謝了!
uj5u.com熱心網友回復:
沒有必要使用drop_duplicates,您可以簡單地將列A與進行比較B,然后mask將B它們等于的值A
df['B'] = df['B'].mask(df['A'].eq(df['B']))
或者,您也可以使用布爾索引來loc屏蔽重復的值
df.loc[df['A'].eq(df['B']), 'B'] = np.nan
A B
0 Syd NaN
1 Aus Del
2 Mir Ard
3 Dol NaN
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/362555.html
下一篇:如何在熊貓中按行合并兩個資料幀
