ホームページ >バックエンド開発 >Python チュートリアル >Pandas で複数の部分文字列が含まれているかどうかを効率的に確認するにはどうすればよいですか?

Pandas で複数の部分文字列が含まれているかどうかを効率的に確認するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-05 01:29:14872ブラウズ

How Can I Efficiently Check for Multiple Substring Inclusions in Pandas?

Pandas を使用した文字列の部分文字列の包含のテスト

pandas では、文字列にリスト内に存在する部分文字列が含まれているかどうかを判断する必要があります。これに対処するには、df.isin() と df[col].str.contains() を組み合わせて使用​​できます。ただし、このアプローチは面倒だと考えられています。

改良されたソリューション

より洗練されたアプローチには、 |正規表現内の (パイプ) 文字を使用して、複数の部分文字列を同時に照合します。この手法では、'|'.join():

searchfor = ['og', 'at']
s[s.str.contains('|'.join(searchfor))]

を使用してリスト内の部分文字列を連結する必要があります。このアプローチでは、指定された部分文字列のいずれかに一致する文字列を効率的に識別し、洗練された結果が得られます:

0    cat
1    hat
2    dog
3    fog
dtype: object

特殊文字の処理

特殊文字を含む部分文字列を扱うときは注意が必要です正規表現で特定の意味を持つ $ や ^ など。リテラル一致を確実にするには、re.escape() を利用して次の文字をエスケープします:

import re
matches = ['$money', 'x^y']
safe_matches = [re.escape(m) for m in matches]

s[s.str.contains('|'.join(safe_matches))]

以上がPandas で複数の部分文字列が含まれているかどうかを効率的に確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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