ホームページ >バックエンド開発 >Python チュートリアル >Pandas の `isin` 関数を使用して SQL の `IN` および `NOT IN` 演算子を模倣するにはどうすればよいですか?

Pandas の `isin` 関数を使用して SQL の `IN` および `NOT IN` 演算子を模倣するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-21 22:25:22172ブラウズ

How Can I Use Pandas' `isin` Function to Mimic SQL's `IN` and `NOT IN` Operators?

SQL の IN と NOT IN を使用して Pandas DataFrame をクエリする

Pandas DataFrame でのデータのフィルタリングは、データ処理における一般的なタスクです。 Pandas は、直感的な isin 関数など、これを実現するさまざまな方法を提供します。この記事では、SQL の IN 演算子と NOT IN 演算子を模倣して、isin を利用してデータをフィルタリングする方法を説明します。

問題の理解

SQL の IN 演算子と NOT IN 演算子を使用すると、以下のことが可能になります。値が指定されたリストに含まれるか除外されるかに基づいてデータをフィルタリングします。この機能は、特定のレコードを分離したり、不要なデータを削除したりする場合に不可欠です。

isin を使用してデータをフィルタリングする

Pandas は、Series オブジェクトを操作する isin 関数を提供します。 Series の各要素が指定されたリストまたは配列の値と一致するかどうかを示すブール マスクを返します。

IN フィルタリング

IN 操作を実行するには、単純に次の値を渡します。次のコマンドを使用して、isin 関数と照合する値のリストを作成します。構文:

something.isin(somewhere)

NOT IN フィルタリング

NOT IN 操作を実行するには、isin 関数の前に否定演算子 ~ を使用します:

~something.isin(somewhere)

働きました例

次の DataFrame df と、countries_to_keep を保持する国のリストについて考えます。

df = pd.DataFrame({'country': ['US', 'UK', 'Germany', 'China']})
countries_to_keep = ['UK', 'China']

country が country_to_keep に含まれる行を検索するには:

df[df.country.isin(countries_to_keep)]

出力:

    country
1        UK
3     China

検索するにはcountry_to_keep:

df[~df.country.isin(countries_to_keep)]

Output:

    country
0        US
2   Germany

isin を使用する利点

  • 簡潔さ: isin 関数は簡潔な方法を提供しますIN フィルタリングと NOT IN フィルタリングを実行し、複雑なコードの必要性を減らします。
  • 柔軟性: isin は、文字列、整数、オブジェクトを含むあらゆる種類のシリーズで使用できます。
  • 効率: isin は、最適化されたアルゴリズムを利用してフィルタリングを実行し、大規模な場合でも効率的に実行します。 datasets.

isin 関数を理解し活用することで、指定したリストまたは配列の値に基づいて Pandas DataFrame を効果的にフィルタリングでき、SQL の IN および NOT IN の力を利用してデータ処理タスクを強化できます。演算子。

以上がPandas の `isin` 関数を使用して SQL の `IN` および `NOT IN` 演算子を模倣するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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