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 の列の一意の値を見つける方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です