Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Mencairkan dan Memanipulasi Pandas DataFrames Menggunakan Fungsi `melt()`?

Bagaimanakah Saya Mencairkan dan Memanipulasi Pandas DataFrames Menggunakan Fungsi `melt()`?

Susan Sarandon
Lepaskan: 2024-12-17 07:14:24
asal
553 orang telah melayarinya

How Do I Melt and Manipulate Pandas DataFrames Using the `melt()` Function?

Bagaimanakah cara saya mencairkan bingkai data panda?

Mencairkan bingkai data panda melibatkan penukaran daripada format lebar dengan berbilang lajur kepada format panjang dengan dua lajur utama: 'pembolehubah' dan 'nilai'. Ini boleh dicapai menggunakan fungsi melt().

Masalah 1: Mencairkan bingkai data untuk menukar lajur ke dalam baris

df = df.melt(id_vars=['Name', 'Age'], var_name='Subject', value_name='Grades')
Salin selepas log masuk

Ini akan menukar bingkai data asal kepada format yang diingini, dengan lajur untuk 'Nama', 'Umur', 'Subjek' dan 'Gred'. Lajur 'Subjek' akan mengandungi pengepala lajur asal, manakala 'Gred' akan mengandungi nilai yang sepadan.

Masalah 2: Menapis data cair untuk memasukkan lajur tertentu

df = df.melt(id_vars=['Name', 'Age'], var_name='Subject', value_name='Grades')
filtered_df = df[df['Subject'] == 'Math']
Salin selepas log masuk

Dengan menapis bingkai data yang cair, anda boleh mengalih keluar lajur yang tidak diingini. Dalam kes ini, hanya baris dengan 'Subjek' ditetapkan kepada 'Matematik' dikekalkan.

Masalah 3: Mengumpulkan data cair dan menyusun mengikut markah

df = df.melt(id_vars=['Name', 'Age'], var_name='Subject', value_name='Grades')
sorted_df = df.groupby('value').agg({'Name': ', '.join, 'Subject': ', '.join})
sorted_df = sorted_df.sort_values('value')
Salin selepas log masuk

Ini menggabungkan baris dengan nilai pendua dalam lajur 'nilai', menyebabkan lajur 'Nama' dan 'Subjek' menjadi agregat dengan nilai dipisahkan koma. Hasilnya kemudian diisih untuk menyusun gred secara menaik.

Masalah 4: Menyahcairkan bingkai data cair

unmelted_df = df.pivot(index=['Name', 'Age'], columns='Subject', values='Grades')
Salin selepas log masuk

Untuk menukar semula bingkai data cair kepada format asalnya, anda boleh menggunakan fungsi pivot(). Ini akan mengumpulkan data mengikut lajur 'Nama' dan 'Umur' dan memutar lajur 'Subjek' untuk mencipta bentuk kerangka data asal.

Masalah 5: Mengumpulkan data cair dan menggabungkan subjek dan gred

df = df.melt(id_vars=['Name', 'Age'], var_name='Subject', value_name='Grades')
grouped_df = df.groupby('Name').agg({'Subject': ', '.join, 'Grades': ', '.join})
Salin selepas log masuk

Sama seperti Masalah 3, ini mengumpulkan bingkai data cair mengikut 'Nama' dan menggabungkan lajur 'Subjek' dan 'Gred' menggunakan koma. Hasilnya ialah bingkai data dengan satu baris bagi setiap orang, menyenaraikan subjek dan gred mereka.

Masalah 6: Mencairkan bingkai data dengan semua lajur sebagai nilai

df = df.melt(value_name='Value', var_name='Column')
Salin selepas log masuk

Kepada cairkan kerangka data dengan semua lajur sebagai nilai, tinggalkan hujah id_vars daripada fungsi melt(). Ini akan membuat bingkai data di mana lajur 'Lajur' menyenaraikan pengepala lajur asal dan lajur 'Nilai' mengandungi nilai yang sepadan.

Atas ialah kandungan terperinci Bagaimanakah Saya Mencairkan dan Memanipulasi Pandas DataFrames Menggunakan Fungsi `melt()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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