Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Menghuraikan Data dengan Pemisah Tidak Teratur dalam Pandas read_csv?

Bagaimanakah Saya Menghuraikan Data dengan Pemisah Tidak Teratur dalam Pandas read_csv?

Susan Sarandon
Susan Sarandonasal
2024-10-22 08:18:02934semak imbas

How Do I Parse Data with Irregular Separators in Pandas read_csv?

Mengatasi Pemisah Tidak Teratur dalam Pandas read_csv

Apabila membaca data daripada fail dengan pemisah tidak teratur, kaedah read_csv panda boleh menghadapi kesukaran. Tidak seperti kaedah split() Python, yang mengendalikan pelbagai ruang putih dengan lancar, read_csv mungkin bergelut untuk mentafsir data yang dipisahkan oleh ruang dan tab yang tidak konsisten.

Untuk menangani cabaran ini, panda menawarkan pilihan serba boleh untuk menentukan pemisah. Satu pendekatan melibatkan penggunaan ungkapan biasa (regex). Dengan menggunakan parameter pembatas dalam read_csv, anda boleh menentukan corak regex yang menangkap pemisah yang dikehendaki. Ini membolehkan anda mengambil kira gabungan ruang dan tab, memastikan penghuraian yang tepat.

Sebagai alternatif, anda boleh memanfaatkan parameter delim_whitespace, yang beroperasi sama dengan kaedah Python split(). Dengan menetapkan delim_whitespace kepada True, panda akan menganggap mana-mana ruang putih (termasuk ruang dan tab) sebagai pemisah. Ini menghapuskan keperluan untuk menentukan corak regex tertentu.

Pertimbangkan contoh berikut:

import pandas as pd

data = pd.read_csv("irregular_separators.csv", header=None, delimiter=r"\s+")

print(data)

# Output:
#   0  1  2  3  4
# 0  a  b  c  1  2
# 1  d  e  f  3  4

Dalam kes ini, irregular_separators.csv mengandungi lajur yang dipisahkan oleh tab, ruang dan juga gabungan kedua-duanya. Dengan menentukan corak regex, read_csv berjaya menghuraikan data dan mencipta DataFrame.

Sebagai alternatif, menggunakan delim_whitespace:

data = pd.read_csv("irregular_separators.csv", header=None, delim_whitespace=True)

print(data)

# Output (same as above):
#   0  1  2  3  4
# 0  a  b  c  1  2
# 1  d  e  f  3  4

Dengan memanfaatkan fleksibiliti pemisah dalam read_csv, anda boleh mengendalikan irregular dengan berkesan ruang kosong dalam fail data dan ekstrak maklumat yang bermakna untuk analisis.

Atas ialah kandungan terperinci Bagaimanakah Saya Menghuraikan Data dengan Pemisah Tidak Teratur dalam Pandas read_csv?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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