検索
ホームページバックエンド開発Python チュートリアルビッグデータ処理に Python 正規表現を使用する方法

ビッグデータ処理に Python 正規表現を使用する方法

Jun 23, 2023 am 10:03 AM
python正規表現ビッグデータ処理

データ処理の過程で、大量のデータをフィルタリングしてクリーンアップする必要がある場合がありますが、このとき、Python の正規表現を使用すると、データ処理の効率が大幅に向上します。ここでは、Python 正規表現をビッグデータ処理に使用する方法を紹介します。

  1. データの準備

まず、500,000 個の中国語テキストを含むデータ セットなど、処理する必要があるデータを準備する必要があります。このデータセットはインターネットから入手することも、自分で作成することもできます。

  1. Import re module

Python 正規表現を使用する前に、Python の組み込み re モジュールをインポートする必要があります。このモジュールには、よく使用される正規表現関連の関数とメソッドが多数用意されています。

import re
  1. 正規表現構文の概要

正規表現は文字列を照合するために使用される式であり、その構文は比較的複雑ですが、一般的に使用される構文をマスターした後、データ処理の効率が大幅に向上します。

3.1. 式

正規表現の基本構文は、一連の文字とメタキャラクターで構成される式です。このうち、character は一致する文字列内の文字を表し、metacharacter は特定の種類の文字を表します。

3.2. メタキャラクター

メタキャラクターは、単一文字のメタキャラクターと結合された文字のメタキャラクターに分類されます。

単一文字のメタ文字には次のものが含まれます:

  • .: 任意の文字 (改行を除く) と一致します。
  • w: 任意の文字、数字、またはアンダースコアと一致します。
  • d: 任意の数値と一致します。
  • s: 任意の空白文字 (スペース、タブ、改行などを含む) と一致します。
  • W: 文字、数字、またはアンダースコア以外の文字と一致します。
  • D: 数値以外の文字と一致します。
  • S: 空白以外の任意の文字と一致します。

結合文字メタ文字には次のものがあります。

  • []: 角括弧内の任意の文字と一致します。
  • -: ハイフンを表し、任意の数値と一致する [0-9] などの範囲を表すために使用されます。
  • ^: 非を意味し、一致しない文字を示すために使用されます。たとえば、1 は、小文字以外のアルファベット文字と一致することを意味します。
  • |: またはを意味し、複数の正規表現と一致するために使用されます。たとえば、a|b は文字 a または文字 b と一致することを意味します。

3.3. 数量子

数量子は、一致する文字の数を示すために使用されます。一般的に使用される数量子は次のとおりです:

  • *: 任意の文字を示します, 0 以上に一致します。
  • : 1 つ以上に一致する任意の文字を示します。
  • ?: 0 または 1 に一致する任意の文字を示します。
  • {}: 任意の文字を示し、指定された数値と一致します。たとえば、{3,5} は 3 ~ 5 文字と一致することを意味します。
  1. データ処理に正規表現を使用する

上記の正規表現の構文を紹介した後、データ処理に正規表現を使用できるようになります。以下では、データ処理に正規表現を使用する方法を示す簡単な例を示します。

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 ファイルに保存することができました。

  1. 概要

この記事では、ビッグ データ処理に Python 正規表現を使用する方法を紹介しました。 Python の組み込み re モジュールには、一般的に使用される多くの正規表現関数とメソッドが用意されており、正規表現の構文をマスターすることで、ビッグ データ処理におけるデータのフィルタリング、クリーニング、その他の操作を迅速かつ効率的に実行できます。


  1. a-z

以上がビッグデータ処理に Python 正規表現を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Python:ゲーム、GUIなどPython:ゲーム、GUIなどApr 13, 2025 am 12:14 AM

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

Python vs. C:比較されたアプリケーションとユースケースPython vs. C:比較されたアプリケーションとユースケースApr 12, 2025 am 12:01 AM

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間のPython計画:現実的なアプローチ2時間のPython計画:現実的なアプローチApr 11, 2025 am 12:04 AM

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Python:主要なアプリケーションの調査Python:主要なアプリケーションの調査Apr 10, 2025 am 09:41 AM

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間でどのくらいのPythonを学ぶことができますか?2時間でどのくらいのPythonを学ぶことができますか?Apr 09, 2025 pm 04:33 PM

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?Apr 02, 2025 am 07:18 AM

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか?中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか?Apr 02, 2025 am 07:15 AM

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

Python 3.6にピクルスファイルをロードするときに「__Builtin__」モジュールが見つからない場合はどうすればよいですか?Python 3.6にピクルスファイルをロードするときに「__Builtin__」モジュールが見つからない場合はどうすればよいですか?Apr 02, 2025 am 07:12 AM

Python 3.6のピクルスファイルのロードレポートエラー:modulenotFounderror:nomodulenamed ...

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。