Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengoptimumkan Panda `read_csv` dengan Pilihan `dtype` dan `low_memory`?

Bagaimana untuk Mengoptimumkan Panda `read_csv` dengan Pilihan `dtype` dan `low_memory`?

Susan Sarandon
Susan Sarandonasal
2024-11-08 18:08:02330semak imbas

How to Optimize Pandas `read_csv` with `dtype` and `low_memory` Options?

Panda read_csv: low_memory and dtype options

Apabila menggunakan pd.read_csv('somefile.csv'), anda mungkin menghadapi DtypeWarning menunjukkan bahawa lajur mempunyai jenis campuran. Menentukan pilihan dtype boleh menghalang ralat ini dan meningkatkan prestasi.

Memahami Pilihan low_memory

Pilihan low_memory yang ditamatkan sebenarnya tidak menjejaskan tingkah laku. Walau bagaimanapun, ia berkaitan dengan pilihan dtype kerana meneka dtype untuk setiap lajur boleh menjadi intensif memori.

Menjaga Terhadap Ketakpadanan Data

Jika baris terakhir masuk fail anda mengandungi data yang tidak dijangka, menyatakan dtypes boleh menyebabkan proses pemuatan gagal. Contohnya, jika lajur yang dinyatakan sebagai integer mengandungi nilai rentetan seperti "foobar", pemuatan akan terputus.

Menentukan dtypes

Untuk mengelakkan ralat sedemikian, secara eksplisit tentukan dtypes apabila membaca fail CSV. Menggunakan pilihan dtype memberikan jenis data yang betul kepada setiap lajur, membolehkan penghuraian yang cekap dan mengurangkan penggunaan memori.

Dtypes yang tersedia

Panda menyokong pelbagai jenis d, termasuk :

  • Jenis numpy: float, int, bool, timedelta64[ns], datetime64[ns]
  • Sambungan Pandas:

    • datetime64 [ns, ] (cap masa sedar zon waktu)
    • kategori (enum)
    • tempoh[] (tempoh masa)
    • Jarang (data dengan lubang)
    • Selang (pengindeksan)
    • integer boleh null (Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64)
    • boolean (nullable bool)

Gotchas

    Menetapkan dtype=objek menyenyapkan amaran tetapi tidak tingkatkan kecekapan ingatan.
  • Tetapan dtype=unicode tidak mempunyai kesan kerana numpy mewakili unicode sebagai objek.
  • Penukar boleh digunakan untuk mengendalikan data yang tidak dijangka, tetapi ia tidak cekap disebabkan oleh proses tunggal Pandas alam semula jadi.

Atas ialah kandungan terperinci Bagaimana untuk Mengoptimumkan Panda `read_csv` dengan Pilihan `dtype` dan `low_memory`?. 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