Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ データクレンジングにおける実践的正規表現応用 | 高度な正規表現と応用
Python正規表現

データクレンジングにおける実践的正規表現応用

メニューを表示するにはスワイプしてください

正規表現で解決できる一般的なデータクレンジング作業

実際のデータを扱う際には、不一致や不要な文字、予測できない書式などに頻繁に直面します。正規表現regex)は、データクレンジング作業を自動化し、大規模なデータセットを管理しやすく、分析可能な状態にする強力なツールです。

正規表現で解決できる一般的なデータクレンジング作業には、次のようなものがあります:

  • 余分な句読点や記号などの不要な文字の削除;
  • 電話番号や日付などの書式の標準化;
  • 非構造化テキストからメールアドレスや商品コードなどの構造化データの抽出。

正規表現を習得することで、乱雑なデータを迅速にクリーンで構造化された情報へと変換し、さらなる処理に適した状態にできます。

12345678910111213141516
import re # Messy CSV line with extra commas and spaces line = " John , Doe , , 29 , New York ,, " # Step 1: Remove extra commas (replace multiple commas with a single comma) line = re.sub(r',\s*,+', ',', line) # Step 2: Remove leading/trailing whitespace from each field fields = [re.sub(r'^\s+|\s+$', '', field) for field in line.split(',')] # Step 3: Remove any empty fields clean_fields = [field for field in fields if field] print(clean_fields) # Output: ['John', 'Doe', '29', 'New York']

クレンジング処理の解説

この例では、余分なカンマや不規則な空白を含むCSV行から始めます。クレンジング処理は、いくつかのステップで正規表現を使用しています:

  • 余分なカンマの削除: パターン ',\s*,+' は、空白を挟んだ複数のカンマの並びを検出し、1つのカンマに置き換えて冗長性を減らします;
  • 空白のトリミング: パターン r'^\s+|\s+$' は、各フィールドの先頭と末尾の空白を削除し、実際の内容のみを残します;
  • 空フィールドの削除: 空のフィールドを除去し、クリーンな値のリストにします。

正規表現パターンは、データ内の不要な要素(複数のカンマや余分な空白など)を特定し、それらに一致するパターンを記述して置換や削除を行うことで構築されます。このアプローチにより、乱雑で一貫性のないデータを効率的に扱いやすい形式へと変換できます。

question mark

どの正規表現パターンが文字列からすべての非英数字文字を削除しますか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  2

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  2
some-alt