Bincangkan kaedah pembersihan dan prapemprosesan data menggunakan panda
Pengenalan:
Dalam analisis data dan pembelajaran mesin, pembersihan dan prapemprosesan data adalah langkah yang sangat penting. Sebagai perpustakaan pemprosesan data yang berkuasa dalam Python, panda mempunyai fungsi yang kaya dan operasi yang fleksibel, yang boleh membantu kami membersihkan dan praproses data dengan cekap. Artikel ini akan meneroka beberapa kaedah panda yang biasa digunakan dan memberikan contoh kod yang sepadan.
1. Bacaan data
Pertama, kita perlu membaca fail data. panda menyediakan banyak fungsi untuk membaca fail data dalam pelbagai format, termasuk csv, Excel, pangkalan data SQL, dll. Mengambil membaca fail csv sebagai contoh, anda boleh menggunakan fungsi read_csv()
.
import pandas as pd # 读取csv文件 df = pd.read_csv('data.csv')
2. Pemerhatian Data
Sebelum melakukan pembersihan dan prapemprosesan data, kita perlu memerhati keadaan keseluruhan data. Panda menyediakan beberapa kaedah untuk melihat maklumat asas tentang data dengan cepat.
Lihat beberapa baris pertama data.
df.head()
Lihat statistik asas data anda.
df.describe()
Lihat nama lajur data.
df.columns
3. Mengendalikan nilai yang hilang adalah langkah penting dalam pembersihan data, dan panda menyediakan beberapa kaedah untuk menangani nilai yang hilang.
df.isnull()
# 删除包含缺失值的行 df.dropna(axis=0) # 删除包含缺失值的列 df.dropna(axis=1)
# 使用指定值填充缺失值 df.fillna(value) # 使用均值填充缺失值 df.fillna(df.mean())
Nilai pendua akan mengganggu analisis dan pemodelan data, jadi kita perlu menangani nilai pendua.
df.duplicated()
df.drop_duplicates()
Penukaran data ialah bahagian penting dalam prapemprosesan dan panda menyediakan banyak kaedah untuk penukaran data.
# 按某一列升序排序 df.sort_values(by='column_name') # 按多列升序排序 df.sort_values(by=['column1', 'column2'])
# 使用最小-最大缩放(Min-Max Scaling) df_scaled = (df - df.min()) / (df.max() - df.min())
# 使用等宽离散化(Equal Width Binning) df['bin'] = pd.cut(df['column'], bins=5)
Mengikut keperluan tugasan, kita perlu memilih ciri yang sesuai untuk analisis dan pemodelan. panda menyediakan beberapa kaedah untuk pemilihan ciri.
# 根据列名选择特征 df[['column1', 'column2']] # 根据列的位置选择特征 df.iloc[:, 2:4]
# 根据条件选择特征 df[df['column'] > 0]
Apabila kita perlu menggabungkan beberapa set data, kita boleh menggunakan kaedah yang disediakan oleh panda untuk bergabung.
df1.append(df2)
pd.concat([df1, df2], axis=1)
Akhir sekali, apabila kita selesai memproses data, kita boleh menyimpan data yang diproses ke dalam fail.
# 保存到csv文件 df.to_csv('processed_data.csv', index=False) # 保存到Excel文件 df.to_excel('processed_data.xlsx', index=False)
Artikel ini memperkenalkan beberapa kaedah biasa pembersihan dan prapemprosesan data menggunakan panda, termasuk pembacaan data, pemerhatian data, pemprosesan nilai yang hilang, pemprosesan nilai pendua, transformasi data, pemilihan ciri, penggabungan data dan penjimatan data. Melalui fungsi berkuasa dan operasi fleksibel panda, kami boleh melakukan pembersihan dan prapemprosesan data dengan cekap, meletakkan asas yang kukuh untuk analisis dan pemodelan data seterusnya. Dalam aplikasi praktikal, pelajar boleh memilih kaedah yang sesuai mengikut keperluan khusus dan menggunakannya bersama dengan kod sebenar.
Atas ialah kandungan terperinci Terokai teknik pembersihan dan prapemprosesan data menggunakan panda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!