Apabila berurusan dengan set data yang besar, mungkin perlu untuk membahagikannya kepada bahagian yang lebih kecil untuk pemprosesan yang cekap. Ini boleh dicapai dengan membahagikan DataFrame berdasarkan pengecam unik, menghasilkan berbilang DataFrame yang lebih kecil. Dalam kes ini, matlamatnya adalah untuk membahagikan DataFrame 1 juta baris kepada 60 DataFrame yang lebih kecil, satu untuk setiap peserta yang dikenal pasti oleh pembolehubah 'nama'.
Malangnya, kod Python yang disediakan untuk memisahkan DataFrame gagal menyelesaikan tugasan. Daripada berjalan selama-lamanya, pendekatan alternatif disyorkan menggunakan keupayaan menghiris dan mengindeks Panda. Berikut ialah kod yang diubah suai:
import pandas as pd # Create a list of unique participant names unique_names = data['name'].unique() # Create a dictionary to store the DataFrames for each participant participant_data = {name: pd.DataFrame() for name in unique_names} # Populate the dictionary with sliced DataFrames for each participant for name in unique_names: participant_data[name] = data[data['name'] == name]
Kod ini memotong DataFrame dengan cekap berdasarkan lajur 'nama', mencipta DataFrames berasingan untuk setiap peserta sambil mengelakkan perangkap kod sebelumnya.
Atas ialah kandungan terperinci Bagaimana untuk Membahagikan Sejuta Baris DataFrame dengan Cekap kepada DataFrame yang Lebih Kecil oleh Peserta?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!