Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Membahagikan Bingkai Data Panda Besar dengan Cekap kepada Bahagian Tidak Sama?

Bagaimana untuk Membahagikan Bingkai Data Panda Besar dengan Cekap kepada Bahagian Tidak Sama?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-26 22:24:29332semak imbas

How to Efficiently Split Large Pandas DataFrames into Non-Equal Sections?

Memisahkan Bingkai Data Panda Besar

Apabila bekerja dengan set data yang besar dalam Panda, selalunya perlu membahagikan bingkai data kepada bahagian yang lebih kecil untuk pemprosesan atau pengedaran. Walau bagaimanapun, penggunaan np.split secara langsung boleh mengakibatkan ralat jika tatasusunan tidak boleh dibahagikan sama rata.

Menggunakan np.array_split

Fungsi np.array_split menyediakan lebih banyak pendekatan fleksibel untuk memisahkan tatasusunan, termasuk bingkai data, kepada bahagian. Tidak seperti np.split, ia membenarkan bilangan bahagian menjadi integer yang tidak membahagi sama rata paksi.

Pertimbangkan contoh berikut dengan bingkai data yang mengandungi 423244 baris, yang kami ingin bahagikan kepada 4 kumpulan:

<code class="python">In [1]:
import pandas as pd

In [2]:
df = pd.DataFrame({
    'A': ['foo', 'bar', 'foo', 'bar'],
    'B': ['one', 'one', 'two', 'three'],
    'C': np.array([rand() for i in range(4)]),
    'D': np.array([rand() for i in range(4)])
})

In [3]:
print(df)</code>

Untuk membahagikan bingkai data kepada 4 kumpulan menggunakan np.array_split, kita boleh:

<code class="python">In [4]:
import numpy as np

In [5]:
sections = np.array_split(df, 4)</code>

Pembolehubah bahagian kini mengandungi senarai 4 bingkai data, setiap satu mengandungi lebih kurang 105811 baris.

Apabila berurusan dengan bingkai data yang besar, adalah penting untuk mempertimbangkan kos pengiraan dan keperluan memori bagi kaedah pemisahan yang berbeza. np.array_split menyediakan penyelesaian yang serba boleh dan cekap untuk membahagikan tatasusunan kepada bahagian yang tidak sama.

Atas ialah kandungan terperinci Bagaimana untuk Membahagikan Bingkai Data Panda Besar dengan Cekap kepada Bahagian Tidak Sama?. 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