我想洗掉資料pandas幀中的重復值。
我的 DataFram 是這樣的:
# col_1 col_2 col_3 col_4
1 a a 1 1 # unwanted
2 a b 0.7 0.5
3 a c 0.5 0.3
4 b a 0.7 0.5 # Duplicated
5 b b 1 1 # unwanted
6 b c 0.8 0.6
7 c a 0.5 0.3 # Duplicated
8 c b 0.8 0.6 # Duplicated
9 c c 1 1 # unwanted
我們如何改進這個 DataFrame 并洗掉不需要的和重復的行?
你可能認為這個資料框就像一個平方矩陣,我們可以使用np.tril但現在不是這樣
因為我們需要計算col_3和col_4
uj5u.com熱心網友回復:
你的情況做np.sort那么drop_duplicates
df[['col_1','col_2']] = np.sort(df[['col_1','col_2']].values,axis=1)
out = df.drop_duplicates(['col_1','col_2']).query('col_1!=col_2')
out
Out[118]:
col_1 col_2 col_3 col_4
2 a b 0.7 0.5
3 a c 0.5 0.3
6 b c 0.8 0.6
uj5u.com熱心網友回復:
.drop_duplicates
df.drop_duplicates(subset =['col1', 'col2],
keep = False, inplace = True)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/312879.html
