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
Lepaskan: 2024-11-08 18:08:02
asal
378 orang telah melayarinya

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan