ホームページ バックエンド開発 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 までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

hadidb:pythonの軽量で水平方向にスケーラブルなデータベース hadidb:pythonの軽量で水平方向にスケーラブルなデータベース Apr 08, 2025 pm 06:12 PM

hadidb:軽量で高レベルのスケーラブルなPythonデータベースHadIDB(HadIDB)は、Pythonで記述された軽量データベースで、スケーラビリティが高くなっています。 PIPインストールを使用してHADIDBをインストールする:PIPINSTALLHADIDBユーザー管理CREATEユーザー:CREATEUSER()メソッド新しいユーザーを作成します。 Authentication()メソッドは、ユーザーのIDを認証します。 fromhadidb.operationimportuseruser_obj = user( "admin"、 "admin")user_obj。

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

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

MongoDBデータベースパスワードを表示するNAVICATの方法 MongoDBデータベースパスワードを表示するNAVICATの方法 Apr 08, 2025 pm 09:39 PM

Hash値として保存されているため、Navicatを介してMongoDBパスワードを直接表示することは不可能です。紛失したパスワードを取得する方法:1。パスワードのリセット。 2。構成ファイルを確認します(ハッシュ値が含まれる場合があります)。 3.コードを確認します(パスワードをハードコードできます)。

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

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

高負荷アプリケーションのMySQLパフォーマンスを最適化する方法は? 高負荷アプリケーションのMySQLパフォーマンスを最適化する方法は? Apr 08, 2025 pm 06:03 PM

MySQLデータベースパフォーマンス最適化ガイドリソース集約型アプリケーションでは、MySQLデータベースが重要な役割を果たし、大規模なトランザクションの管理を担当しています。ただし、アプリケーションのスケールが拡大すると、データベースパフォーマンスのボトルネックが制約になることがよくあります。この記事では、一連の効果的なMySQLパフォーマンス最適化戦略を検討して、アプリケーションが高負荷の下で効率的で応答性の高いままであることを保証します。実際のケースを組み合わせて、インデックス作成、クエリ最適化、データベース設計、キャッシュなどの詳細な主要なテクノロジーを説明します。 1.データベースアーキテクチャの設計と最適化されたデータベースアーキテクチャは、MySQLパフォーマンスの最適化の基礎です。いくつかのコア原則は次のとおりです。適切なデータ型を選択し、ニーズを満たす最小のデータ型を選択すると、ストレージスペースを節約するだけでなく、データ処理速度を向上させることもできます。

Amazon AthenaでAWS接着クローラーの使用方法 Amazon AthenaでAWS接着クローラーの使用方法 Apr 09, 2025 pm 03:09 PM

データの専門家として、さまざまなソースから大量のデータを処理する必要があります。これは、データ管理と分析に課題をもたらす可能性があります。幸いなことに、AWS GlueとAmazon Athenaの2つのAWSサービスが役立ちます。

Redisでサーバーを開始する方法 Redisでサーバーを開始する方法 Apr 10, 2025 pm 08:12 PM

Redisサーバーを起動する手順には、以下が含まれます。オペレーティングシステムに従ってRedisをインストールします。 Redis-Server(Linux/Macos)またはRedis-Server.exe(Windows)を介してRedisサービスを開始します。 Redis-Cli ping(Linux/macos)またはRedis-Cli.exePing(Windows)コマンドを使用して、サービスステータスを確認します。 Redis-Cli、Python、node.jsなどのRedisクライアントを使用して、サーバーにアクセスします。

Redisキューの読み方 Redisキューの読み方 Apr 10, 2025 pm 10:12 PM

Redisのキューを読むには、キュー名を取得し、LPOPコマンドを使用して要素を読み、空のキューを処理する必要があります。特定の手順は次のとおりです。キュー名を取得します:「キュー:キュー」などの「キュー:」のプレフィックスで名前を付けます。 LPOPコマンドを使用します。キューのヘッドから要素を排出し、LPOP Queue:My-Queueなどの値を返します。空のキューの処理:キューが空の場合、LPOPはnilを返し、要素を読む前にキューが存在するかどうかを確認できます。

See all articles