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.
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
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:
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.
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).
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:
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!