ホームページ >バックエンド開発 >Python チュートリアル >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 サイトの他の関連記事を参照してください。