【毎日Python】Pandasのデータフレームの重複する行を削除する方法|drop_duplicates

【毎日Python】Pandasのデータフレームの重複する行を削除する方法|drop

import pandas as pd
import numpy as np

df = pd.DataFrame([['A','a',110], ['C','c',130], ['C','c',130], ['D', 'a',140],['A','a',110]],
columns=['col01', 'col02', 'col03'],
index=['idx01', 'idx02', 'idx03','idx04','idx05'])
df

データフレームに重複する値がある行を削除する方法です。
使用するメソッドはpandasデータフレームのdrop_duplicatesメソッドです。
このような重複のあるデータフレームを用意します。

df.drop_duplicates()

引数に何も指定しない場合は、要素の値が全て重複する行を削除します。
実行してみましょう。
重複していたidx3とidx5が削除されました。

df.drop_duplicates(subset=['col02'])

カラムを指定して値の重複を削除するには、引数subsetにカラムを指定します。
実行します。
指定したカラムで重複していた行が削除されました。

df

なお、元のデータフレームは変更されません。

df.drop_duplicates(inplace=True)
df

元のデータフレームを変更したい場合は、引数inplaceにTrueを渡します。

関連メソッド

【毎日Python】Pandasのデータフレームの行や列を削除する方法|drop

【毎日Python】Pandasのデータフレームの欠損値の行を削除する方法|dropna