ホームページ >バックエンド開発 >Python チュートリアル >Pandas DataFrame 列内の複数の部分文字列を効率的に確認するにはどうすればよいですか?
複数の部分文字列を使用した Pandas DataFrame での部分文字列の存在のテスト
pandas では、df.isin() と df[col].str を組み合わせます。 contains() を使用して文字列にリスト内の部分文字列が含まれているかどうかを確認するのは面倒な作業です。この記事では、正規表現と str.contains() メソッドを使用した代替ソリューションを提供します。
説明のために、['cat','hat','dog','fog',' を含む系列を考えてみましょう。ペット']。 「pet」を除く、「og」または「at」のいずれかを含むすべての要素を検索するには、次のコードを使用できます:
searchfor = ['og', 'at'] jointed_regex = '|'.join(searchfor) s[s.str.contains(jointed_regex)]
出力は次のようになります:
0 cat 1 hat 2 dog 3 fog dtype: object
部分文字列を「|」で結合することで、
特殊文字の処理
特殊文字を含む部分文字列を処理する場合、str.contains() メソッドは効果的に文字列要素内の任意の部分文字列と一致することに注意してください。 $ や ^ などの文字を含む場合は、re.escape() を使用してエスケープする必要があります。これにより、照合プロセス中に文字が文字通りに解釈されることが保証されます。
たとえば、searchfor に ['money', 'x^y']:
import re safe_searchfor = [re.escape(m) for m in searchfor] s[s.str.contains('|'.join(safe_searchfor))]
が含まれる場合、このコードは特殊文字を使用し、部分文字列の正確な一致を保証します。
以上がPandas DataFrame 列内の複数の部分文字列を効率的に確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。