Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Membahagikan DataFrame Besar kepada DataFrame Individu dengan Cekap dengan ID Peserta?

Bagaimanakah Saya Boleh Membahagikan DataFrame Besar kepada DataFrame Individu dengan Cekap dengan ID Peserta?

Mary-Kate Olsen
Lepaskan: 2024-12-30 10:25:09
asal
775 orang telah melayarinya

How Can I Efficiently Split a Large DataFrame into Individual DataFrames by Participant ID?

Memisahkan DataFrame Besar kepada DataFrame Individu mengikut ID Peserta

Pertimbangkan senario di mana anda memiliki DataFrame besar yang mengandungi data daripada percubaan yang melibatkan 60 peserta. Matlamat anda adalah untuk membahagikan DataFrame yang besar ini kepada 60 DataFrame yang berbeza, setiap satu mewakili peserta individu. Pembolehubah penting, 'nama,' mengenal pasti secara unik setiap peserta dalam DataFrame.

Percubaan untuk menyelesaikan tugas ini menggunakan fungsi tersuai, 'splitframe,' telah terbukti tidak berjaya, menimbulkan persoalan tentang penyelesaian yang lebih cekap.

Pendekatan Unggul: Bingkai Data Menghiris

Strategi alternatif melibatkan penggunaan teknik penghirisan untuk mengasingkan DataFrame. Begini caranya:

  1. Jana senarai tersendiri nama peserta ('Nama Unik') menggunakan lajur 'Nama' DataFrame.
  2. Tubuhkan kamus untuk menampung DataFrames individu, menggunakan senarai 'Nama Unik' sebagai kunci.
  3. Lelaran melalui setiap nama peserta dan berikan data yang sepadan kepada DataFrame yang berasingan dalam kamus.

Pendekatan ini, menggunakan penghirisan, menyediakan kaedah yang lebih mudah dan cekap untuk mencipta DataFrame individu untuk setiap peserta:

# Create a DataFrame with a 'Names' column
data = pd.DataFrame({
    'Names': ['Joe', 'John', 'Jasper', 'Jez'] * 4,
    'Ob1': np.random.rand(16),
    'Ob2': np.random.rand(16)
})

# Extract unique participant names
UniqueNames = data['Names'].unique()

# Initialize a dictionary to store individual DataFrames
DataFrameDict = {elem: pd.DataFrame() for elem in UniqueNames}

# Populate the dictionary with individual DataFrames
for key in DataFrameDict.keys():
    DataFrameDict[key] = data[data['Names'] == key]
Salin selepas log masuk

Mengakses Individu DataFrames

Untuk mengakses DataFrame khusus untuk peserta tertentu, hanya gunakan kunci kamus yang sepadan dengan nama peserta, seperti yang ditunjukkan di bawah:

DataFrameDict['Joe']
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membahagikan DataFrame Besar kepada DataFrame Individu dengan Cekap dengan ID Peserta?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan