データクレンジングにおける実践的正規表現応用
メニューを表示するにはスワイプしてください
正規表現で解決できる一般的なデータクレンジング作業
実際のデータを扱う際には、不一致や不要な文字、予測できない書式などに頻繁に直面します。正規表現(regex)は、データクレンジング作業を自動化し、大規模なデータセットを管理しやすく、分析可能な状態にする強力なツールです。
正規表現で解決できる一般的なデータクレンジング作業には、次のようなものがあります:
- 余分な句読点や記号などの不要な文字の削除;
- 電話番号や日付などの書式の標準化;
- 非構造化テキストからメールアドレスや商品コードなどの構造化データの抽出。
正規表現を習得することで、乱雑なデータを迅速にクリーンで構造化された情報へと変換し、さらなる処理に適した状態にできます。
12345678910111213141516import 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+$'は、各フィールドの先頭と末尾の空白を削除し、実際の内容のみを残します; - 空フィールドの削除: 空のフィールドを除去し、クリーンな値のリストにします。
正規表現パターンは、データ内の不要な要素(複数のカンマや余分な空白など)を特定し、それらに一致するパターンを記述して置換や削除を行うことで構築されます。このアプローチにより、乱雑で一貫性のないデータを効率的に扱いやすい形式へと変換できます。
すべて明確でしたか?
フィードバックありがとうございます!
セクション 3. 章 2
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 3. 章 2