ホームページ >バックエンド開発 >Python チュートリアル >Pandas の `isin` 関数を使用して SQL の `IN` および `NOT IN` 演算子を模倣するにはどうすればよいですか?
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 関数を理解し活用することで、指定したリストまたは配列の値に基づいて Pandas DataFrame を効果的にフィルタリングでき、SQL の IN および NOT IN の力を利用してデータ処理タスクを強化できます。演算子。
以上がPandas の `isin` 関数を使用して SQL の `IN` および `NOT IN` 演算子を模倣するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。