Pandas DataFrames での部分文字列一致
文字列基準に基づいて DataFrame をフィルタリングすることは、データ分析における一般的なタスクです。文字列の完全一致は == 演算子を使用することで簡単に行えますが、文字列の部分一致には別のアプローチが必要です。
質問のコード スニペットで示されているように、正規表現を使用することが 1 つのオプションです。
re.search(pattern, cell_in_question)
ただし、大規模な DataFrame の場合、このアプローチは反復的な性質があるため非効率的になる可能性があります。
Pandas の Series.str メソッドを使用したベクトル化ソリューションが利用可能であり、パフォーマンス向上のために強く推奨されます:
df[df['A'].str.contains("hello")]
このメソッドは、組み込みの contains() 関数を使用して、一連の文字列に部分文字列が存在するかどうかを確認します。 DataFrame のフィルタリングに使用できるブール マスクを返します。
Pandas の以前のバージョン (0.8.1 より前) では、少し異なる構文が使用されていました。
df['A'].apply(lambda x: "hello" in x)
関係なくどのアプローチを選択しても、Pandas DataFrames の部分文字列一致は、データを効率的かつ効果的にフィルタリングするための強力なツールです。
以上がPandas DataFrames で部分文字列マッチングを効率的に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。