Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Petua praktikal dan langkah berjaga-jaga untuk membaca fail CSV dalam panda

Petua praktikal dan langkah berjaga-jaga untuk membaca fail CSV dalam panda

WBOY
WBOYasal
2024-01-13 11:20:071334semak imbas

Petua praktikal dan langkah berjaga-jaga untuk membaca fail CSV dalam panda

Petua praktikal dan langkah berjaga-jaga untuk membaca fail CSV dengan panda

Ikhtisar:
Dengan peningkatan kepentingan pemprosesan dan analisis data, panda telah menjadi salah satu perpustakaan Python yang paling biasa digunakan dalam bidang sains data. Pandas menyediakan analisis data yang kaya dan fungsi pemprosesan, dan CSV (nilai dipisahkan koma) ialah format storan data biasa. Artikel ini akan memperkenalkan petua praktikal untuk membaca fail CSV dengan panda dan beberapa perkara yang perlu diberi perhatian.

  1. Import perpustakaan dan data berkaitan
    Sebelum bermula, pastikan perpustakaan panda dipasang dengan betul. Pustaka boleh diimport menggunakan kod berikut:
import pandas as pd
  1. Membaca fail CSV
    Untuk membaca fail CSV, anda boleh menggunakan fungsi read_csv() panda. Secara lalai, fungsi ini mengambil koma sebagai pembatas. read_csv()函数。默认情况下,该函数将逗号作为分隔符。
data = pd.read_csv('data.csv')

上述代码将读取名为"data.csv"的文件,并将其保存到名为"data"的变量中。如果文件和代码不在同一目录下,需要提供完整的文件路径。

  1. 查看数据
    读取完CSV文件后,常见的操作是查看数据的前几行或者整个数据集。可以使用head()函数来查看前几行数据,默认值为前5行。
data.head()

另外,可使用tail()函数来查看最后几行数据。

  1. 分隔符和编码
    默认情况下,read_csv()函数使用逗号作为分隔符。但是在实际应用中,数据可能使用其他分隔符,比如制表符或分号。可以通过sep参数来指定分隔符。
data = pd.read_csv('data.csv', sep='    ')  # 使用制表符作为分隔符

有时候,CSV文件可能使用不同的编码方式保存,可能需要指定encoding参数来正确读取数据。

data = pd.read_csv('data.csv', encoding='utf-8')
  1. 处理缺失值
    在真实的数据中,经常会碰到缺失值。pandas默认将缺失值标记为NaN。在读取文件时,可以使用na_values参数来指定要将哪些值视为缺失值。
data = pd.read_csv('data.csv', na_values=['NA', 'NULL'])
  1. 选择特定的数据列
    在某些情况下,可能只对数据的一部分感兴趣。可以通过列名或索引号选择特定的数据列。
column1 = data['column_name']  # 使用列名选择
column2 = data.iloc[:, 0]  # 使用索引号选择
  1. 跳过行和选择要读取的行数
    在某些情况下,可能需要跳过一些行,或者只读取部分文件。可以使用skiprows参数来跳过指定数量的行。
data = pd.read_csv('data.csv', skiprows=10)  # 跳过前10行

还可以使用nrows参数来限制读取的行数。

data = pd.read_csv('data.csv', nrows=100)  # 只读取前100行
  1. 处理日期和时间
    在读取包含日期和时间的CSV文件时,pandas可以自动将其转换为日期时间格式。可以使用parse_dates参数将某一列或多列解析为日期时间类型。
data = pd.read_csv('data.csv', parse_dates=['date_column'])  # 将名为'date_column'的列解析为日期时间类型
  1. 跳过特定行数的文件标题
    有时候,CSV文件的第一行包含的是标题,而不是实际的数据。可以通过skiprows参数跳过标题行。
data = pd.read_csv('data.csv', skiprows=1)  # 跳过首行
  1. 手动处理标题
    如果CSV文件没有标题行,可以使用header
  2. header_list = ['column1', 'column2', 'column3']  # 标题列表
    data = pd.read_csv('data.csv', header=None, names=header_list)  # 添加标题
Kod di atas akan membaca fail bernama "data.csv" dan menyimpannya ke dalam pembolehubah bernama "data". Jika fail dan kod tidak berada dalam direktori yang sama, anda perlu menyediakan laluan fail yang lengkap.

    Lihat data

    Selepas membaca fail CSV, operasi biasa ialah melihat beberapa baris pertama data atau keseluruhan set data. Anda boleh menggunakan fungsi head() untuk melihat beberapa baris pertama data Nilai lalai ialah 5 baris pertama.

    🎜rrreee🎜Selain itu, anda boleh menggunakan fungsi tail() untuk melihat beberapa baris terakhir data. 🎜
      🎜Pembatas dan pengekodan🎜Secara lalai, fungsi read_csv() menggunakan koma sebagai pembatas. Tetapi dalam aplikasi sebenar, data mungkin menggunakan pembatas lain, seperti tab atau titik bertitik. Pemisah boleh ditentukan melalui parameter sep. 🎜🎜rrreee🎜Kadangkala, fail CSV mungkin disimpan menggunakan kaedah pengekodan yang berbeza dan anda mungkin perlu menentukan parameter pengekodan untuk membaca data dengan betul. 🎜rrreee
        🎜Mengendalikan nilai yang hilang🎜Dalam data sebenar, nilai yang hilang sering ditemui. panda menandakan nilai yang hilang sebagai NaN secara lalai. Apabila membaca fail, anda boleh menggunakan parameter na_values untuk menentukan nilai yang akan dianggap tiada. 🎜🎜rrreee
          🎜Pilih lajur data tertentu🎜Dalam sesetengah kes, hanya sebahagian daripada data yang mungkin menarik minat. Lajur data tertentu boleh dipilih mengikut nama lajur atau nombor indeks. 🎜🎜rrreee
            🎜Langkau baris dan pilih bilangan baris untuk dibaca🎜Dalam sesetengah kes, anda mungkin perlu melangkau beberapa baris atau membaca hanya sebahagian daripada fail. Anda boleh menggunakan parameter skiprows untuk melangkau bilangan baris yang ditentukan. 🎜🎜rrreee🎜Anda juga boleh menggunakan parameter nrows untuk mengehadkan bilangan baris yang dibaca. 🎜rrreee
              🎜Mengendalikan tarikh dan masa🎜Apabila membaca fail CSV yang mengandungi tarikh dan masa, panda boleh menukarnya secara automatik kepada format datetime. Anda boleh menggunakan parameter parse_dates untuk menghuraikan lajur atau berbilang lajur ke dalam jenis tarikh dan masa. 🎜🎜rrreee
                🎜Langkau pengepala fail untuk bilangan baris tertentu🎜 Kadangkala, baris pertama fail CSV mengandungi pengepala dan bukannya data sebenar. Baris pengepala boleh dilangkau melalui parameter skiprows. 🎜🎜rrreee
                  🎜Mengendalikan pengepala secara manual🎜Jika fail CSV tidak mempunyai baris pengepala, anda boleh menggunakan parameter header untuk menambahkan pengepala pada set data secara manual. 🎜🎜rrreee🎜Di atas ialah beberapa petua praktikal dan langkah berjaga-jaga apabila membaca fail CSV dengan panda. Semoga petua ini akan membantu anda memproses dan menganalisis data dengan lebih baik. Membaca fail CSV menggunakan panda memudahkan anda memuatkan data ke dalam ingatan dan memanfaatkan keupayaan pemprosesan data panda yang berkuasa untuk analisis dan visualisasi lanjut. 🎜🎜 (Nota: Kod contoh di atas adalah untuk rujukan sahaja, dan aplikasi khusus boleh dilaraskan mengikut situasi sebenar.) 🎜

Atas ialah kandungan terperinci Petua praktikal dan langkah berjaga-jaga untuk membaca fail CSV dalam panda. 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