Rumah > pembangunan bahagian belakang > Tutorial Python > Menjadi pakar pembersihan data panda: dari kemasukan ke penguasaan

Menjadi pakar pembersihan data panda: dari kemasukan ke penguasaan

PHPz
Lepaskan: 2024-01-24 09:29:06
asal
909 orang telah melayarinya

Menjadi pakar pembersihan data panda: dari kemasukan ke penguasaan

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.

  1. Import perpustakaan panda dan set data
    Pertama, kita perlu mengimport perpustakaan panda dan membaca set data untuk dibersihkan. Anda boleh menggunakan fungsi 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')
Salin selepas log masuk
  1. 查看数据集概览
    在开始数据清洗之前,我们可以使用一些基本的命令来查看数据集的概览信息。以下是一些常用的命令:
  • df.head():查看数据集的前几行,默认为前5行。
  • df.tail():查看数据集的后几行,默认为后5行。
  • df.info():查看数据集的基本信息,包括每列的数据类型和非空值的数量。
  • df.describe():生成数据集的统计摘要,包括每列的均值、标准差、最小值、最大值等。
  • df.shape:查看数据集的形状,即行数和列数。

这些命令能帮助我们快速了解数据集的结构和内容,为后续的数据清洗做好准备。

  1. 处理缺失值
    在实际的数据集中,经常会遇到一些缺失值。处理缺失值的方法有很多种,以下是几种常见的方法:
  • 删除缺失值:使用dropna()函数删除包含缺失值的行或列。
  • 填充缺失值:使用fillna()函数填充缺失值。可以使用常数填充,如fillna(0)将缺失值填充为0;也可以使用均值或中位数填充,如fillna(df.mean())将缺失值填充为每列的均值。

以下是处理缺失值的代码示例:

# 删除包含缺失值的行
df.dropna(inplace=True)

# 将缺失值填充为0
df.fillna(0, inplace=True)
Salin selepas log masuk
  1. 处理重复值
    除了缺失值,数据集中还可能存在重复值。处理重复值是数据清洗的重要步骤之一,可以使用drop_duplicates()函数删除重复值。该函数会保留第一个出现的值,将后续重复的值删除。

以下是处理重复值的代码示例:

# 删除重复值
df.drop_duplicates(inplace=True)
Salin selepas log masuk
  1. 处理异常值
    在数据集中,有时候会存在一些异常值。处理异常值可以通过以下方法进行:
  • 删除异常值:使用布尔索引删除异常值。例如,可以使用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)
Salin selepas log masuk
  1. 数据类型转换
    有时候,数据集的某些列的数据类型不正确。可以使用astype()函数将数据类型转换为正确的类型。例如,可以使用df['column'] = df['column'].astype(float)将某一列的数据类型转换为浮点型。

以下是数据类型转换的代码示例:

# 将某一列的数据类型转换为浮点型
df['column'] = df['column'].astype(float)
Salin selepas log masuk
  1. 数据列的重命名
    当数据集中的列名不符合要求时,可以使用rename()函数对列名进行重命名。

以下是重命名数据列的代码示例:

# 对列名进行重命名
df.rename(columns={'old_name': 'new_name'}, inplace=True)
Salin selepas log masuk
  1. 数据排序
    有时候,我们需要按照某一列的值对数据集进行排序。可以使用sort_values()
  2. # 按照某一列的值对数据集进行升序排序
    df.sort_values('column', ascending=True, inplace=True)
    Salin selepas log masuk
      Lihat gambaran keseluruhan set data

      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. 🎜
      🎜Arahan ini boleh membantu kami memahami dengan cepat struktur dan kandungan set data dan bersedia untuk pembersihan data seterusnya. 🎜
        🎜Mengendalikan nilai yang hilang🎜Dalam set data sebenar, kita sering menghadapi beberapa nilai yang hilang. Terdapat banyak cara untuk menangani nilai yang hilang, berikut ialah beberapa kaedah biasa: 🎜🎜
        🎜Lepaskan nilai yang tiada: Gunakan fungsi 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. 🎜
      🎜Berikut ialah contoh kod untuk mengendalikan nilai yang hilang: 🎜rrreee
        🎜Mengendalikan nilai pendua🎜Selain nilai yang tiada, mungkin juga terdapat nilai pendua dalam set data . Mengendalikan nilai pendua ialah salah satu langkah penting dalam pembersihan data Anda boleh menggunakan fungsi 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: 🎜rrreee
          🎜Mengendalikan outlier🎜Dalam set data, kadangkala akan terdapat beberapa outlier. Mengendalikan outlier boleh dilakukan dengan: 🎜🎜
        🎜Alih keluar outlier: Gunakan pengindeksan Boolean untuk mengalih keluar outlier. Contohnya, anda boleh menggunakan df = df[df['column'] &lt 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. 🎜
      🎜Berikut ialah contoh kod untuk mengendalikan outlier: 🎜rrreee
        🎜Penukaran jenis data🎜Kadangkala, sesetengah lajur set data mempunyai jenis data yang salah. Anda boleh menggunakan fungsi 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: 🎜rrreee
          🎜Menamakan semula lajur data🎜Apabila nama lajur dalam set data tidak memenuhi keperluan, anda boleh menggunakan rename() The code> fungsi menamakan semula nama lajur. 🎜🎜🎜Berikut ialah contoh kod untuk menamakan semula lajur data: 🎜rrreee
            🎜Isih data🎜Kadangkala, kita perlu mengisih set data mengikut nilai lajur tertentu. Set data boleh diisih menggunakan fungsi sort_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!

    Label berkaitan:
    sumber:php.cn
    Kenyataan Laman Web ini
    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
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan