Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memisahkan Bingkai Data Panda Besar kepada Berbilang Bahagian Apabila Bilangan Baris Tidak Terbahagi Sekata?

Bagaimana untuk Memisahkan Bingkai Data Panda Besar kepada Berbilang Bahagian Apabila Bilangan Baris Tidak Terbahagi Sekata?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-27 04:13:30715semak imbas

How to Split a Large Pandas Dataframe into Multiple Parts When the Number of Rows is Not Evenly Divisible?

Memisahkan Bingkai Data Panda Besar kepada Berbilang Bahagian

Apabila bekerja dengan set data yang besar, selalunya menjadi perlu untuk membahagikannya kepada bahagian yang lebih kecil dan boleh diurus. Ini boleh meningkatkan prestasi, meningkatkan penggunaan memori dan memudahkan pemprosesan selari. Dalam artikel ini, kami akan menangani isu yang dihadapi semasa cuba memisahkan bingkai data panda yang besar menggunakan np.split().

Memahami Isu

Kod yang disediakan coretan menggunakan np.split() untuk membahagikan kerangka data kepada empat subkumpulan. Walau bagaimanapun, ia mengakibatkan ValueError disebabkan pembahagian yang tidak sama rata. Ralat ini timbul apabila bilangan elemen dalam bingkai data tidak boleh dibahagikan sama rata dengan bilangan pecahan yang diingini.

Penyelesaian: Menggunakan np.array_split()

Untuk mengatasi cabaran ini, kami menggunakan np.array_split(), alternatif yang lebih serba boleh kepada np.split(). Seperti yang dinyatakan dalam dokumentasinya, array_split() membenarkan pembahagian tidak sama, menjadikannya sesuai untuk situasi seperti kita.

Pelaksanaan

Berikut ialah contoh kod Python menggunakan np. array_split() untuk membahagikan bingkai data kepada empat bahagian:

<code class="python">import pandas as pd
import numpy as np

# Create a sample dataframe
df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
                    'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
                    'C': np.random.randn(8),
                    'D': np.random.randn(8)})

# Split the dataframe into four groups using array_split
groups = np.array_split(df, 3)

# Print the split groups
for group in groups:
    print(group)</code>

Ini akan membahagikan bingkai data secara berkesan kepada tiga kumpulan yang lebih kurang saiznya. Setiap kumpulan boleh diakses dan diproses secara bebas, menangani cabaran awal pembahagian yang tidak sama rata.

Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Bingkai Data Panda Besar kepada Berbilang Bahagian Apabila Bilangan Baris Tidak Terbahagi Sekata?. 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