====== 2023.08.11 Pandasで重複行削除 ======
import pandas as pd
# データフレームの生成
df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'bar'],
'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
'C': [1, 2, 3, 4, 3, 2, 1, 4]})
print("Original DataFrame:")
print(df)
# 重複行の削除
df_no_duplicates = df.drop_duplicates()
print("\nDataFrame after removing duplicates:")
print(df_no_duplicates)
この場合結果はこうなる
Original DataFrame:
A B C
0 foo one 1
1 bar one 2
2 foo two 3
3 bar three 4
4 foo two 3
5 bar two 2
6 foo one 1
7 bar three 4
DataFrame after removing duplicates:
A B C
0 foo one 1
1 bar one 2
2 foo two 3
3 bar three 4
5 bar two 2
===== 例えば"A"列のみを考慮して重複行を削除したい場合 =====
df_no_duplicates_A = df.drop_duplicates(subset=['A'])
print("\nDataFrame after removing duplicates in column 'A':")
print(df_no_duplicates_A)
この場合結果はこうなる
Original DataFrame:
A B C
0 foo one 1
1 bar one 2
2 foo two 3
3 bar three 4
4 foo two 3
5 bar two 2
6 foo one 1
7 bar three 4
DataFrame after removing duplicates in column 'A':
A B C
0 foo one 1
1 bar one 2
===== データフレームから直接重複削除 =====
もし元のデータフレームから直接重複を削除したい場合は、drop_duplicates()メソッドで inplace=True を指定します。
df.drop_duplicates(inplace=True)
{{tag>日記 Pandas Python}}