Memisahkan Bingkai Data kepada Bingkai Data Khusus Peserta
Anda mempunyai bingkai data yang besar dengan data daripada 60 responden dan sedang mencari cara untuk membahagikannya kepada kerangka data individu untuk setiap peserta. Kod unik untuk setiap peserta disimpan dalam pembolehubah yang dipanggil 'nama.'
Pada mulanya, anda cuba menggunakan fungsi tersuai untuk menambahkan bingkai data berdasarkan pembolehubah 'nama', tetapi pelaksanaan mengambil masa yang luar biasa lama .
Pendekatan yang lebih cekap ialah menggunakan penghirisan dalam Pandas DataFrame. Kod berikut menyediakan penyelesaian:
import pandas as pd import numpy as np # Create sample data with a 'Names' column data = pd.DataFrame({'Names': ['Joe', 'John', 'Jasper', 'Jez'] * 4, 'Ob1': np.random.rand(16), 'Ob2': np.random.rand(16)}) # Create a unique list of names UniqueNames = data.Names.unique() # Create a dictionary to store the split dataframes DataFrameDict = {elem: pd.DataFrame() for elem in UniqueNames} # Iterate through UniqueNames and slice the original data for key in DataFrameDict.keys(): DataFrameDict[key] = data[data.Names == key] # Access a specific dataframe using its name specific_dataframe = DataFrameDict['Joe']
Pendekatan ini dengan pantas mencipta bingkai data individu untuk setiap peserta, dengan lajur 'Nama' digunakan untuk menghiris. Bingkai data yang terhasil disusun dalam kamus, DataFrameDict, membolehkan akses mudah.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membahagikan Pandas DataFrame ke dalam DataFrame Khusus Peserta dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!