Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Membahagikan Bingkai Data Panda Besar dengan Cekap kepada Bahagian Tidak Sama?
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!