Rumah >pembangunan bahagian belakang >Tutorial Python >Gunakan panda untuk memproses data fail txt dengan mudah

Gunakan panda untuk memproses data fail txt dengan mudah

WBOY
WBOYasal
2024-01-19 08:50:151293semak imbas

Gunakan panda untuk memproses data fail txt dengan mudah

Gunakan panda untuk memproses data fail txt dengan mudah

Dalam analisis dan pemprosesan data, kita sering menghadapi situasi di mana data yang dibaca daripada fail txt perlu diproses. Sebagai contoh, format data mengelirukan dan perlu dibersihkan beberapa lajur tidak sah dan perlu dipadamkan beberapa lajur perlu ditukar jenis, dsb. Tugasan ini mungkin membawa banyak kerja dan masa, tetapi kami boleh menyelesaikan operasi ini dengan mudah melalui panda perpustakaan Python.

Artikel ini akan menggabungkan contoh kod untuk mengajar anda cara menggunakan panda untuk memproses data fail txt.

  1. Perkenalkan perpustakaan panda

Sebelum menggunakan perpustakaan panda, kita perlu memperkenalkannya terlebih dahulu. Dalam skrip Python, secara amnya dipersetujui untuk menamakan semula perpustakaan panda kepada pd untuk memudahkan panggilan seterusnya.

import pandas as pd
  1. Baca fail txt

Pertama, kita perlu membaca data dalam fail txt. Dalam panda, kami menggunakan fungsi pd.read_csv() untuk membaca dalam data. Walaupun nama fungsi mengandungi csv, fungsi ini juga sesuai untuk membaca fail txt.

data = pd.read_csv('data.txt', sep='    ', header=None)

Parameter fungsi dijelaskan seperti berikut:

  • 'data.txt': Menunjukkan laluan dan nama fail fail txt yang perlu kita baca.
  • sep: Menunjukkan pemisah data ' ' digunakan di sini untuk menunjukkan bahawa data dipisahkan oleh tab, dan ia juga boleh digantikan dengan simbol lain.
  • pengepala: Menunjukkan sama ada fail mengandungi nama lajur, jika tidak, ia ditetapkan kepada Tiada.

Selepas membaca data, kita boleh melihat kandungan dan bentuk data dengan mencetak data.

print(data)

Hasil keluaran:

   0    1    2
0  A  123  1.0
1  B  321  2.0
2  C  231  NaN
3  D  213  4.0
4  E  132  3.0

Dapat dilihat bahawa data yang dibaca telah disimpan dalam data dalam bentuk DataFrame.

  1. Membersihkan data

Data yang dibaca mungkin mempunyai banyak penyelewengan atau ralat format, yang memerlukan kami membersihkan data tersebut. Sebagai contoh, mungkin terdapat nilai yang hilang dalam beberapa baris atau lajur, dan kami perlu mengisi atau memadamnya jenis data beberapa lajur mungkin tidak memenuhi keperluan kami, dan kami perlu menukarnya kepada jenis angka atau rentetan, dsb .

a. Padamkan baris dengan nilai yang tiada

Kita boleh menggunakan fungsi dropna() untuk memadamkan baris dengan nilai yang tiada.

data_clean = data.dropna()

Fungsi ini akan memadamkan mana-mana baris yang mengandungi nilai yang hilang dalam data dan mengembalikan DataFrame dengan hanya data lengkap.

b. Isikan nilai yang hilang

Jika baris yang mengandungi nilai yang hilang tidak boleh dipadamkan, kita boleh memilih untuk mengisi nilai yang hilang ini. Hanya gunakan fungsi fillna().

data_fill = data.fillna(0)

Fungsi ini mengisi nilai yang hilang dengan 0. Jika anda ingin mengisinya dengan nilai lain, anda boleh memasukkan nilai yang sepadan dalam kurungan.

c. Tukar jenis data

Dalam analisis data, jenis data tertentu perlu ditukar kepada jenis berangka atau aksara untuk pengiraan atau pemprosesan seterusnya. Dalam panda, anda boleh menggunakan fungsi astype() untuk penukaran jenis.

data_conversion = data_clean.astype({'1': 'int', '2': 'str'})

Fungsi ini boleh menukar jenis lajur 1 dalam data_clean kepada jenis integer (int), dan jenis lajur 2 kepada jenis rentetan (str).

  1. Simpan data baharu

Akhir sekali, kami perlu menyimpan data yang telah dibersihkan dan diproses ke fail txt baharu. Dalam panda, kita boleh menggunakan fungsi to_csv() untuk mencapai ini.

data_clean.to_csv('data_clean.txt', index=False, header=False, sep='    ')

Parameter fungsi dijelaskan seperti berikut:

  • 'data_clean.txt': Menunjukkan laluan dan nama fail fail yang disimpan.
  • indeks: Menunjukkan sama ada untuk mengekalkan indeks baris Pilih Salah di sini bukan untuk mengekalkannya.
  • pengepala: Menunjukkan sama ada nama lajur disertakan dalam fail Pilih Palsu di sini untuk mengecualikannya.
  • sep: Menunjukkan pemisah ' ' digunakan di sini untuk menunjukkan penggunaan tab sebagai pemisah.

Contoh Kod

Di bawah ialah contoh kod lengkap yang boleh anda salin ke dalam skrip Python dan jalankan.

import pandas as pd

# 读入数据
data = pd.read_csv('data.txt', sep='    ', header=None)
print('原始数据:
', data)

# 删除含有缺失值的行
data_clean = data.dropna()
print('处理后数据(删除缺失值):
', data_clean)

# 填充缺失值
data_fill = data.fillna(0)
print('处理后数据(填充缺失值):
', data_fill)

# 转换数据类型
data_conversion = data_clean.astype({'1': 'int', '2': 'str'})
print('处理后数据(类型转换):
', data_conversion)

# 保存新数据
data_clean.to_csv('data_clean.txt', index=False, header=False, sep='    ')

Artikel ini memperkenalkan cara menggunakan panda untuk memproses data fail txt dengan mudah, termasuk membaca, membersihkan, menukar dan menyimpan data. Sebagai salah satu alat pemprosesan data yang penting dalam Python, panda boleh membantu kami menyelesaikan tugasan perlombongan dan analisis data dengan lebih cekap.

Atas ialah kandungan terperinci Gunakan panda untuk memproses data fail txt dengan mudah. 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