ホームページ  >  記事  >  バックエンド開発  >  Pandas DataFrame で一意の値を持つ行を取得するにはどうすればよいですか?

Pandas DataFrame で一意の値を持つ行を取得するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-04 04:11:30511ブラウズ

How to Retrieve Rows with Unique Values in a Pandas DataFrame?

個別の列値による行の取得: 総合ガイド

多くのプログラミング シナリオでは、特定の列内の固有の値に基づいて行を抽出する必要があります。この記事では、広く使用されている Python の Pandas ライブラリを使用してこれを実現する方法について説明します。

クエリ:

次に示すように、COL1 と COL2 の 2 つの列を持つデータセットを考えます。以下:

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 メソッドは、1 つ以上の列に基づいて重複行を削除する簡単な方法を提供します。この特定のタスクにこれを利用する方法は次のとおりです。

<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]})

# Keep only the first occurrence of each unique value in COL2
df = df.drop_duplicates('COL2')

print(df)</code>

出力:

  COL1  COL2
0  a.com    22
1  b.com    45
2  c.com    34
4  f.com    56

追加オプション:

drop_duplicates メソッドは追加のオプションを提供します。重複の処理をカスタマイズするオプション:

  • keep='last': それぞれの一意の値の最後の出現を保持します。
  • keep=False : 重複する行をすべて完全に削除します。

これらのオプションを示す例は次のとおりです:

<code class="python"># Keep only the last occurrence of each unique value in COL2
df = df.drop_duplicates('COL2', keep='last')

# Remove all duplicate rows from the dataset
df = df.drop_duplicates('COL2', keep=False)</code>

以上がPandas DataFrame で一意の値を持つ行を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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