pandasでの重複削除と重複抽出

※当サイトはアフィリエイト広告を利用しています

データ分析

pandasでの重複データの削除と抽出の方法について

print(DF)
#      ID  value
# 0  1001     10
# 1  1001     20
# 2  1001     15
# 3  1002      5
# 4  1002     30
# 5  1003     25

重複を削除する

‘ID’というカラムをもとに重複しているデータを削除する場合。デフォルトでは「keep=’first’」となる

#重複している行のうち、最初の行を残す場合
DF.drop_duplicates(subset='ID', keep='first')

#      ID  value
# 0  1001     10
# 3  1002      5
# 5  1003     25


#重複している行のうち、最後の行を残す場合
DF.drop_duplicates(subset='ID', keep='last')

#      ID  value
# 2  1001     15
# 4  1002     30
# 5  1003     25

最も値の大きい行を残す

DF.sort_values(by=['value']).drop_duplicates(subset='ID', keep='last')

#      ID  value
# 1  1001     20
# 4  1002     30
# 5  1003     25

「sort.values」のデフォルトは昇順のため、大きい順にしたい場合は引数ascendingをFalseにする、もしくは「keep=’last’」にする。

重複を抽出する

重複したレコードを抽出する方法

DF[DF['ID'].duplicated()]

#      ID  value
# 1  1001     20
# 2  1001     15
# 4  1002     30

「DF[‘ID’].duplicated()」で重複しているかどうかのTrue/Falseを返す式が出来上がり、それに基づきTrueの行のみ表示する。

この記事を読んだ人がよく見ています

タイトルとURLをコピーしました