Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengisi Pandas DataFrame dengan Cekap Secara Iteratif?

Bagaimana untuk Mengisi Pandas DataFrame dengan Cekap Secara Iteratif?

Mary-Kate Olsen
Lepaskan: 2024-12-11 08:58:10
asal
882 orang telah melayarinya

How to Efficiently Fill a Pandas DataFrame Iteratively?

Membuat Pandas DataFrame kosong, dan kemudian mengisinya

Mengisi DataFrame secara berulang dengan nilai

Menggunakan dokumentasi DataFrame yang diberikan, anda mahu berulang kali isikan DataFrame dengan nilai dalam jenis pengiraan siri masa. Matlamatnya adalah untuk memulakan DataFrame dengan lajur A, B dan baris cap waktu, semua 0 atau semua NaN. Kemudian, anda ingin menambah nilai awal dan pergi ke data ini mengira baris baharu daripada baris sebelumnya, sebut baris[A][t] = baris[A][t-1] 1 atau lebih.

Walaupun kod semasa menggunakan iterator, fungsi sifar scipy dan datetime mungkin berfungsi, ia boleh dipertingkatkan.

Mengapa tidak mengembangkan DataFrame row-wise?

Membangun DataFrame row-wise biasanya tidak disyorkan atas sebab berikut:

  • Kos pengiraan: Melampirkan pada senarai dan mencipta DataFrame sekali gus adalah kurang intensif pengiraan daripada mencipta DataFrame kosong dan menambahkannya berulang kali sekali lagi.
  • Penggunaan memori: Senarai menggunakan lebih sedikit memori dan merupakan struktur data yang lebih ringan untuk digunakan berbanding DataFrames, menjadikannya lebih cekap untuk menambah dan mengalih keluar.
  • Inferens jenis data: Jika anda menambah pada DataFrame, anda mungkin mempunyai lajur objek, yang boleh menghalang persembahan panda. Senarai, sebaliknya, membenarkan dtypes disimpulkan secara automatik.
  • Pengurusan indeks: RangeIndex dicipta secara automatik untuk data anda apabila anda mencipta DataFrame daripada senarai, yang menjimatkan anda kerumitan menguruskan indeks sendiri.

Pendekatan yang disyorkan: Kumpul data dalam list

Daripada mengembangkan DataFrame mengikut baris, adalah lebih baik untuk mengumpul data dalam senarai dan kemudian memulakan DataFrame menggunakan pd.DataFrame(data). Pendekatan ini menawarkan kelebihan berikut:

  • Kecekapan: Ia lebih cekap dari segi pengiraan dan memerlukan kurang memori.
  • Fleksibiliti: Senarai boleh ditukarkan kepada format senarai-senarai dan senarai-dikt, yang diterima oleh pd.DataFrame.
  • Kemudahan: Ia mengendalikan pengurusan indeks dan inferens jenis data secara automatik.

Alternatif untuk dipertimbangkan

Semasa mengumpul data dalam senarai adalah pendekatan pilihan, terdapat dua alternatif yang lebih buruk untuk dielakkan:

  • Tambahkan atau cantumkan di dalam gelung: Ini tidak cekap dan mudah ralat kerana ia berulang kali mengagihkan semula memori dan boleh membawa kepada lajur objek.
  • Mencipta kosong DataFrame of NaNs: Pendekatan ini juga mencipta lajur objek dan memerlukan indeks manual pengurusan.

Kesimpulan

Untuk mengisi DataFrame dengan nilai dengan berkesan, sebaiknya kumpulkan data dalam senarai dan kemudian mulakan DataFrame menggunakan pd.DataFrame(data). Kaedah ini cekap, fleksibel dan mudah, menjadikannya pendekatan pilihan untuk bekerja dengan panda DataFrames.

Atas ialah kandungan terperinci Bagaimana untuk Mengisi Pandas DataFrame dengan Cekap Secara Iteratif?. 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