Pandasのdrop_duplicatesメソッドの概要

Pandasのdrop_duplicatesメソッドは、データフレームから重複した行を削除するための便利なツールです。このメソッドは新しいデータフレームを返し、元のデータフレームは変更されません。

基本的な使用法は次のとおりです:

df.drop_duplicates()

このコードは、すべての列が同じである行を削除します。つまり、すべての列の値が同じである行は1つだけ残し、他の同じ行は削除します。

drop_duplicatesメソッドは、特定の列に基づいて重複を削除することも可能です。そのためには、引数に列の名前をリストとして渡します:

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

このコードは、’column_name’列の値が同じである行を削除します。

また、drop_duplicatesメソッドは、最初の重複を保持するか最後の重複を保持するかを選択することも可能です。そのためには、keep引数を使用します:

df.drop_duplicates(keep='last')

このコードは、最初の重複ではなく最後の重複を保持します。

以上が、Pandasのdrop_duplicatesメソッドの基本的な使用法と機能になります。このメソッドを使うことで、データのクリーニングと前処理が容易になります。次のセクションでは、具体的な使用例を見ていきましょう。

具体的な使用例

以下に、Pandasのdrop_duplicatesメソッドの具体的な使用例を示します。

まず、サンプルのデータフレームを作成します:

import pandas as pd

data = {
    'Name': ['John', 'Anna', 'John', 'Anna', 'John'],
    'Age': [20, 20, 20, 25, 20],
    'Score': [85, 90, 85, 92, 85]
}

df = pd.DataFrame(data)

このデータフレームは次のようになります:

  Name  Age  Score
0  John   20     85
1  Anna   20     90
2  John   20     85
3  Anna   25     92
4  John   20     85

すべての列が同じである行を削除するには、次のコードを使用します:

df.drop_duplicates()

結果は次のようになります:

  Name  Age  Score
0  John   20     85
1  Anna   20     90
3  Anna   25     92

‘Name’列に基づいて重複を削除するには、次のコードを使用します:

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

結果は次のようになります:

  Name  Age  Score
0  John   20     85
1  Anna   20     90

最後の重複を保持するには、次のコードを使用します:

df.drop_duplicates(keep='last')

結果は次のようになります:

  Name  Age  Score
1  Anna   20     90
3  Anna   25     92
4  John   20     85

以上が、Pandasのdrop_duplicatesメソッドの具体的な使用例です。このメソッドを使うことで、データのクリーニングと前処理が容易になります。次のセクションでは、特定の列に基づいて重複を削除する方法について詳しく見ていきましょう。

特定の列に基づいて重複を削除する方法

Pandasのdrop_duplicatesメソッドは、特定の列に基づいて重複を削除する機能も提供しています。これは、特定の列の値が同じ行を削除するために使用されます。

以下に具体的な使用例を示します:

まず、サンプルのデータフレームを作成します:

import pandas as pd

data = {
    'Name': ['John', 'Anna', 'John', 'Anna', 'John'],
    'Age': [20, 20, 20, 25, 20],
    'Score': [85, 90, 85, 92, 85]
}

df = pd.DataFrame(data)

このデータフレームは次のようになります:

  Name  Age  Score
0  John   20     85
1  Anna   20     90
2  John   20     85
3  Anna   25     92
4  John   20     85

‘Name’列に基づいて重複を削除するには、次のコードを使用します:

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

結果は次のようになります:

  Name  Age  Score
0  John   20     85
1  Anna   20     90

この結果からわかるように、’Name’列の値が同じ行が削除され、各名前が1行だけ残っています。

以上が、Pandasのdrop_duplicatesメソッドを使用して特定の列に基づいて重複を削除する方法です。この機能は、特定の属性(この場合は名前)に基づいてデータをフィルタリングする際に非常に便利です。次のセクションでは、最初または最後の重複を保持する方法について詳しく見ていきましょう。

最初または最後の重複を保持する方法

Pandasのdrop_duplicatesメソッドは、最初または最後の重複を保持する機能も提供しています。これは、keep引数を使用して制御されます。

以下に具体的な使用例を示します:

まず、サンプルのデータフレームを作成します:

import pandas as pd

data = {
    'Name': ['John', 'Anna', 'John', 'Anna', 'John'],
    'Age': [20, 20, 20, 25, 20],
    'Score': [85, 90, 85, 92, 85]
}

df = pd.DataFrame(data)

このデータフレームは次のようになります:

  Name  Age  Score
0  John   20     85
1  Anna   20     90
2  John   20     85
3  Anna   25     92
4  John   20     85

最初の重複を保持するには、次のコードを使用します:

df.drop_duplicates(keep='first')

結果は次のようになります:

  Name  Age  Score
0  John   20     85
1  Anna   20     90
3  Anna   25     92

最後の重複を保持するには、次のコードを使用します:

df.drop_duplicates(keep='last')

結果は次のようになります:

  Name  Age  Score
1  Anna   20     90
3  Anna   25     92
4  John   20     85

以上が、Pandasのdrop_duplicatesメソッドを使用して最初または最後の重複を保持する方法です。この機能は、データのクリーニングと前処理において非常に便利です。この記事が、Pandasで重複列を削除する方法についての理解を深めるのに役立つことを願っています。それでは、Happy Data Cleaning!

投稿者 kitagawa

コメントを残す

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