pandasで列を基準に重複を削除する方法は何ですか?
pandasは、列に基づいて重複を削除するためにdrop_duplicates()関数を使用します。この関数は、重複した値が削除された新しいDataFrameを返すことができます。
以下に具体的な使用例を示します。
df.drop_duplicates(subset=[列名], keep='first', inplace=True)
- subset パラメータは、重複をチェックしたい列名または列名のリストを指定するために使用されます。デフォルトでは、このパラメータはNoneとなっており、すべての列をチェックします。
- 重複値をどれを保持するか指定するためにkeepパラメータが使用されます。選択肢には、first、last、およびFalseがあります。デフォルトはfirstで、最初に重複した値を保持します。lastは最後に出現した重複値を保持し、Falseはすべての重複値を削除します。
- inplaceパラメータは、元のDataFrameを変更するかどうかを指定するために使用されます。デフォルトではFalseであり、重複した値を削除した新しいDataFrameを返します。Trueに設定すると、元のDataFrameを変更し、Noneを返します。
例示:
import pandas as pd
# 创建一个包含重复值的DataFrame
data = {'A': [1, 2, 2, 3, 4, 4],
'B': ['a', 'b', 'b', 'c', 'd', 'd']}
df = pd.DataFrame(data)
# 根据列'A'去重
df.drop_duplicates(subset=['A'], keep='first', inplace=True)
print(df)
結果を出力する:
A B
0 1 a
1 2 b
3 3 c
4 4 d
上記の例では、列’A’を基準に重複を削除すると、最初に現れた重複値が保持されます。