ホームページ  >  記事  >  バックエンド開発  >  Pandas で個別の列値に基づいて行を取得する方法

Pandas で個別の列値に基づいて行を取得する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-11-04 04:43:01881ブラウズ

How to Retrieve Rows Based on Distinct Column Values in Pandas?

個別の列値に基づいた行の取得

データ操作シナリオでは、特定の列内の一意の値に基づいて行を抽出することが不可欠になります。この記事では、データ操作と分析用の人気のある Python ライブラリである Pandas を使用してこれを実現する方法を説明します。

問題ステートメント

COL1 と COL1 という 2 つの列を持つデータフレームを考えます。コル2。タスクは、COL2 の値が一意である行を取得することです。たとえば、以下のデータフレームがあるとします:

COL1 COL2
a.com 22
b.com 45
c.com 34
e.com 45
f.com 56
g.com 22
h.com 45

望ましい出力は、COL2 の一意の値に基づいて行を取得することです:

COL1 COL2
a.com 22
b.com 45
c.com 34
f.com 56

解決策: Pandas を使用するdrop_duplicates() メソッド

Pandas ライブラリは、このタスクを実行するために、drop_duplicates() という便利なメソッドを提供します。引数に列名を指定することで、重複をチェックし、要件に基づいて特定の行を削除または保持できます。

たとえば、COL2 値に基づいてすべての重複行を削除するには、次のコードを使用します。

<code class="python">import pandas as pd

df = pd.DataFrame({'COL1': ['a.com', 'b.com', 'c.com', 'e.com', 'f.com', 'g.com', 'h.com'],
                   'COL2': [22, 45, 34, 45, 56, 22, 45]})

df = df.drop_duplicates('COL2')

# Displaying the result
print(df)</code>

これにより、COL2 に一意の値を持つデータフレームが出力されます:

COL1 COL2
a.com 22
b.com 45
c.com 34
f.com 56

さらに、どの重複行を保持するかを制御する keep パラメーターを指定できます。デフォルトでは、最初に出現したもの (「first」) が保持されますが、最後に出現したもの (「last」) を保持したり、すべての重複を削除したり (「False」) することもできます。

<code class="python"># Keep first occurrence
df = df.drop_duplicates('COL2', keep='first')

# Keep last occurrence
df = df.drop_duplicates('COL2', keep='last')

# Remove all duplicates
df = df.drop_duplicates('COL2', keep=False)</code>

以上がPandas で個別の列値に基づいて行を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。