Pandas dataframe で単一の行を選択する方法
次の構文を使用して、pandas DataFrame 内の単一の行を選択できます。
df = df. drop_duplicates ()
また、次の構文を使用して、pandas DataFrame の特定の列の単一行を選択できます。
df = df. drop_duplicates (subset=[' col1 ', ' col2 ', ...])
次の例は、実際に次の pandas DataFrame でこの構文を使用する方法を示しています。
import pandas as pd #createDataFrame df = pd. DataFrame ({' a ':[4,4,3,8], ' b ': [2, 2, 6, 8], ' c ': [2, 2, 9, 9]}) #view DataFrame df a b c 0 4 2 2 1 4 2 2 2 3 6 9 3 8 8 9
例 1: すべての列で一意の行を選択する
次のコードは、pandas DataFrame のすべての列で一意の行を選択する方法を示しています。
#drop duplicates from DataFrame df = df. drop_duplicates () #view DataFrame df a b c 0 4 2 2 2 3 6 9 3 8 8 9
1 行目と 2 行目は重複していたので、パンダは 2 行目を削除しました。
デフォルトでは、 drop_duplicates()関数は最初の重複を保持します。ただし、代わりに最後の重複を保持するように指定することもできます。
#drop duplicates from DataFrame, keep last duplicate df = df. drop_duplicates (keep=' last ') #view DataFrame df a b c 1 4 2 2 2 3 6 9 3 8 8 9
例 2: 特定の列の一意の行を選択する
次のコードは、DataFrame の単一の “c” 列内の単一の行を選択する方法を示しています。
#drop duplicates from column 'c' in DataFrame df = df. drop_duplicates (subset=[' c ']) #view DataFrame df a b c 0 4 2 2 2 3 6 9
DataFrame から 2 行が削除されました。
追加リソース
Pandas DataFrame でインデックスによって行を選択する方法
Pandas DataFrame で行番号を取得する方法
Pandas の列の一意の値を見つける方法