データ処理の過程で、大量のデータをフィルタリングしてクリーンアップする必要がある場合がありますが、このとき、Python の正規表現を使用すると、データ処理の効率が大幅に向上します。ここでは、Python 正規表現をビッグデータ処理に使用する方法を紹介します。
まず、500,000 個の中国語テキストを含むデータ セットなど、処理する必要があるデータを準備する必要があります。このデータセットはインターネットから入手することも、自分で作成することもできます。
Python 正規表現を使用する前に、Python の組み込み re モジュールをインポートする必要があります。このモジュールには、よく使用される正規表現関連の関数とメソッドが多数用意されています。
import re
正規表現は文字列を照合するために使用される式であり、その構文は比較的複雑ですが、一般的に使用される構文をマスターした後、データ処理の効率が大幅に向上します。
3.1. 式
正規表現の基本構文は、一連の文字とメタキャラクターで構成される式です。このうち、character は一致する文字列内の文字を表し、metacharacter は特定の種類の文字を表します。
3.2. メタキャラクター
メタキャラクターは、単一文字のメタキャラクターと結合された文字のメタキャラクターに分類されます。
単一文字のメタ文字には次のものが含まれます:
結合文字メタ文字には次のものがあります。
3.3. 数量子
数量子は、一致する文字の数を示すために使用されます。一般的に使用される数量子は次のとおりです:
上記の正規表現の構文を紹介した後、データ処理に正規表現を使用できるようになります。以下では、データ処理に正規表現を使用する方法を示す簡単な例を示します。
4.1. データの読み取り
最初にデータを読み取る必要があります。ここでは、Python の組み込み open 関数を使用して読み取るか、サードパーティのライブラリ pandas を使用するかを選択できます。読むこと。
# 使用pandas读取数据 import pandas as pd data = pd.read_csv('data.csv', encoding='utf-8')
4.2. データ クリーニングに正規表現を使用する
データ内の携帯電話番号をフィルタリングし、フィルタリングされたデータを新しいファイルに保存する必要があるとします。この例では、携帯電話番号が 11 桁であると仮定します。
上記の正規表現構文では、d は任意の数値と一致することを意味し、{11} は 11 個の数値と一致する必要があることを意味します。したがって、完全な正規表現は次のように記述できます:
regexp = r'd{11}'
次に、Python の re モジュールを使用してデータをフィルタリングし、クリーンアップします。まず、データをメモリに読み取り、次に正規表現を使用して照合と抽出を行います。
import re with open('data.csv', encoding='utf-8') as f: lines = f.readlines() # 使用正则表达式进行数据清洗 result = [] regexp = r'd{11}' for line in lines: match_obj = re.search(regexp, line) # 如果匹配成功,则把匹配的内容加入到result if match_obj: result.append(match_obj.group(0)) # 把结果写入到文件中 with open('result.txt', 'w', encoding='utf-8') as f: f.write(' '.join(result))
上記のコードにより、正規表現を使用してすべての携帯電話番号を照合し、result.txt ファイルに保存することができました。
この記事では、ビッグ データ処理に Python 正規表現を使用する方法を紹介しました。 Python の組み込み re モジュールには、一般的に使用される多くの正規表現関数とメソッドが用意されており、正規表現の構文をマスターすることで、ビッグ データ処理におけるデータのフィルタリング、クリーニング、その他の操作を迅速かつ効率的に実行できます。
以上がビッグデータ処理に Python 正規表現を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。