DataFrame df
に、重複したIDが存在する行と列が入力されています。
Index Id Type
0 a1 A
1 a2 A
2 b1 B
3 b3 B
4 a1 A
...
私が使うとき:
uniqueId = df["Id"].unique()
一意のIDのリストを取得します。
ただし、このフィルタリングをDataFrame全体に適用して、構造を維持しながら重複(「Id」に基づく)を削除する方法を教えてください。
必要なようです DataFrame.drop_duplicates
テスト重複の場所を指定するパラメータsubset
を使用:
#keep first duplicate value
df = df.drop_duplicates(subset=['Id'])
print (df)
Id Type
Index
0 a1 A
1 a2 A
2 b1 B
3 b3 B
#keep last duplicate value
df = df.drop_duplicates(subset=['Id'], keep='last')
print (df)
Id Type
Index
1 a2 A
2 b1 B
3 b3 B
4 a1 A
#remove all duplicate values
df = df.drop_duplicates(subset=['Id'], keep=False)
print (df)
Id Type
Index
1 a2 A
2 b1 B
3 b3 B