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