Rumah > pembangunan bahagian belakang > Tutorial Python > Apakah Cara Terpantas untuk Mengalih Keluar Tanda Baca daripada Pandas DataFrame?

Apakah Cara Terpantas untuk Mengalih Keluar Tanda Baca daripada Pandas DataFrame?

Susan Sarandon
Lepaskan: 2024-11-19 06:45:03
asal
364 orang telah melayarinya

What is the Fastest Way to Remove Punctuation from a Pandas DataFrame?

Penyingkiran Tanda Baca Pantas dengan Panda

Penyingkiran tanda baca ialah tugas pembersihan teks biasa. Walaupun panda str.replace ialah kaedah yang digunakan secara meluas, ia mungkin tidak cukup berprestasi untuk set data yang besar.

Alternatif untuk str.replace:

  • regex.sub: Menggunakan modul semula untuk melaksanakan penggantian berasaskan regex. Pilihan ini menawarkan prestasi yang lebih baik berbanding str.replace.
  • str.translate: Menggunakan fungsi str.translate yang dilaksanakan C, menghasilkan kelajuan yang ketara penambahbaikan.

Tanda aras:

  • str.translate mempamerkan prestasi terbaik, diikuti oleh regex.sub dan kemudian str.replace.
  • Jurang dalam prestasi semakin melebar dengan set data yang semakin meningkat saiz.

Pertimbangan:

  • regex.sub dan str.translate tidak boleh mengendalikan nilai NaN dalam DataFrame.
  • str .terjemah memerlukan pengendalian khas apabila data mengandungi aksara yang mungkin dikecualikan oleh tanda baca lalai pengecualian.

Kod:

import pandas as pd
import re

# Regex.sub
df['text'] = [re.compile(r'[^\w\s]+').sub('', x) for x in df['text'].tolist()]

# str.translate
punct = '!"#$%&\'()*+,-./:;<=>?@[\]^_`{|}~'
transtab = str.maketrans(dict.fromkeys(punct, ''))
df['text'] = '|'.join(df['text'].tolist()).translate(transtab).split('|')
Salin selepas log masuk

Atas ialah kandungan terperinci Apakah Cara Terpantas untuk Mengalih Keluar Tanda Baca daripada Pandas DataFrame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan