我有一個這樣的 df:
d = {'label':['A','B','G','O']
,'label2':['C','D','O','Z']}
df = pd.DataFrame(d)
print(df)
label label2
0 A C
1 B D
2 G O
3 O Z
我想要做的是擺脫標簽 = label2 的重復行(只保留第一個)所以我想從上面的 df 中得到這樣的東西:
label label2
0 A C
1 B D
2 G O
我在下面這樣做,但它不起作用
df[~df[['label', 'label2']].apply(frozenset, axis=1).duplicated()]
關于如何解決這個問題的任何想法?
uj5u.com熱心網友回復:
試試這個,使用.isinSeires的方法:
mask = ~df['label'].isin(df['label2'])
df_output = df[mask]
print(df_output)
輸出:
label label2
0 A C
1 B D
2 G O
uj5u.com熱心網友回復:
您可以使用drop洗掉兩列之間的重復標簽:
df.drop(df[df['label'].isin(df['label2'])].index, inplace=True)
print(df)
# Output:
label label2
0 A C
1 B D
2 G O
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/313009.html
