Dari pemula hingga mahir: Kuasai kaedah pembersihan data panda
Pengenalan:
Dalam bidang sains data dan pembelajaran mesin, pembersihan data ialah langkah penting dalam analisis data. Dengan membersihkan data, kami dapat membetulkan ralat dalam set data, mengisi nilai yang hilang, mengendalikan outlier dan memastikan ketekalan dan ketepatan data. Pandas ialah salah satu alat analisis data yang paling biasa digunakan dalam Python Ia menyediakan satu siri fungsi dan kaedah yang berkuasa untuk menjadikan proses pembersihan data lebih ringkas dan cekap. Artikel ini secara beransur-ansur akan memperkenalkan kaedah pembersihan data dalam panda dan menyediakan contoh kod khusus untuk membantu pembaca menguasai cara menggunakan panda untuk pembersihan data dengan cepat.
read_csv()
panda untuk membaca fail CSV atau gunakan fungsi read_excel()
untuk membaca fail Excel. Berikut ialah contoh kod untuk membaca fail CSV: read_csv()
函数读取CSV文件,或者使用read_excel()
函数读取Excel文件。以下是读取CSV文件的代码示例:import pandas as pd # 读取CSV文件 df = pd.read_csv('data.csv')
df.head()
:查看数据集的前几行,默认为前5行。df.tail()
:查看数据集的后几行,默认为后5行。df.info()
:查看数据集的基本信息,包括每列的数据类型和非空值的数量。df.describe()
:生成数据集的统计摘要,包括每列的均值、标准差、最小值、最大值等。df.shape
:查看数据集的形状,即行数和列数。这些命令能帮助我们快速了解数据集的结构和内容,为后续的数据清洗做好准备。
dropna()
函数删除包含缺失值的行或列。fillna()
函数填充缺失值。可以使用常数填充,如fillna(0)
将缺失值填充为0;也可以使用均值或中位数填充,如fillna(df.mean())
将缺失值填充为每列的均值。以下是处理缺失值的代码示例:
# 删除包含缺失值的行 df.dropna(inplace=True) # 将缺失值填充为0 df.fillna(0, inplace=True)
drop_duplicates()
函数删除重复值。该函数会保留第一个出现的值,将后续重复的值删除。以下是处理重复值的代码示例:
# 删除重复值 df.drop_duplicates(inplace=True)
df = df[df['column'] < 100]
删除某一列中大于100的异常值。replace()
函数将异常值替换为合适的值。例如,可以使用df['column'].replace(100, df['column'].mean())
将某一列中的值100替换为该列的均值。以下是处理异常值的代码示例:
# 删除异常值 df = df[df['column'] < 100] # 将异常值替换为均值 df['column'].replace(100, df['column'].mean(), inplace=True)
astype()
函数将数据类型转换为正确的类型。例如,可以使用df['column'] = df['column'].astype(float)
将某一列的数据类型转换为浮点型。以下是数据类型转换的代码示例:
# 将某一列的数据类型转换为浮点型 df['column'] = df['column'].astype(float)
rename()
函数对列名进行重命名。以下是重命名数据列的代码示例:
# 对列名进行重命名 df.rename(columns={'old_name': 'new_name'}, inplace=True)
sort_values()
# 按照某一列的值对数据集进行升序排序 df.sort_values('column', ascending=True, inplace=True)
Sebelum memulakan pembersihan data, kami boleh menggunakan beberapa arahan asas untuk melihat maklumat gambaran keseluruhan set data. Berikut ialah beberapa arahan yang biasa digunakan:
df.head()
: Lihat beberapa baris pertama set data, lalai ialah 5 baris pertama. 🎜df.tail()
: Lihat beberapa baris terakhir set data, lalai ialah 5 baris terakhir. 🎜🎜df.info()
: Lihat maklumat asas set data, termasuk jenis data setiap lajur dan bilangan nilai bukan nol. 🎜🎜df.describe()
: Hasilkan ringkasan statistik set data, termasuk min, sisihan piawai, nilai minimum, nilai maksimum, dsb. bagi setiap lajur. 🎜🎜df.shape
: Lihat bentuk set data, iaitu bilangan baris dan lajur. 🎜dropna()
untuk memadamkan baris atau lajur yang mengandungi nilai yang tiada. 🎜🎜Isi nilai yang tiada: Gunakan fungsi fillna()
untuk mengisi nilai yang tiada. Anda boleh menggunakan pengisian berterusan, seperti fillna(0)
untuk mengisi nilai yang hilang dengan 0 anda juga boleh menggunakan pengisian min atau median, seperti fillna(df.mean())
Isikan nilai yang tiada dengan min setiap lajur. 🎜drop_duplicates()
untuk memadamkan nilai pendua. Fungsi ini akan mengekalkan kejadian pertama nilai dan memadamkan nilai pendua berikutnya. 🎜🎜🎜Berikut ialah contoh kod untuk mengendalikan nilai pendua: 🎜rrreeedf = df[df['column'] < 100]
untuk memadamkan outlier yang lebih besar daripada 100 dalam lajur. 🎜🎜Ganti outlier: Gunakan fungsi replace()
untuk menggantikan outlier dengan nilai yang sesuai. Sebagai contoh, anda boleh menggunakan df['column'].replace(100, df['column'].mean())
untuk menggantikan nilai 100 dalam lajur dengan min lajur tersebut. 🎜astype()
untuk menukar jenis data kepada jenis yang betul. Sebagai contoh, anda boleh menggunakan df['column'] = df['column'].astype(float)
untuk menukar jenis data lajur kepada jenis titik terapung. 🎜🎜🎜Berikut ialah contoh kod untuk penukaran jenis data: 🎜rrreeesort_values()
. 🎜🎜🎜Berikut ialah contoh kod untuk pengisihan data: 🎜rrreee🎜Kesimpulan: 🎜Artikel ini memperkenalkan beberapa kaedah pembersihan data biasa dalam panda dan menyediakan contoh kod khusus. Dengan menguasai kaedah ini, pembaca boleh mengendalikan nilai yang hilang, nilai pendua dan outlier dalam set data dengan lebih baik dan melakukan penukaran jenis data, penamaan semula lajur dan pengisihan data. Hanya melalui contoh kod ini, anda boleh menguasai kaedah pembersihan data panda dari kemasukan kepada kecekapan, dan menggunakannya dalam projek analisis data sebenar. Saya harap artikel ini dapat membantu pembaca lebih memahami dan menggunakan perpustakaan panda untuk pembersihan data. 🎜Atas ialah kandungan terperinci Menjadi pakar pembersihan data panda: dari kemasukan ke penguasaan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!