Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menghimpunkan Baris DataFrame Pandas dan Menukar Nilai Lajur kepada Senarai?

Bagaimana untuk Menghimpunkan Baris DataFrame Pandas dan Menukar Nilai Lajur kepada Senarai?

Linda Hamilton
Linda Hamiltonasal
2024-12-20 09:13:09658semak imbas

How to Group Pandas DataFrame Rows and Convert Column Values to Lists?

Cara Menukar Baris Bingkai Data kepada Senarai dalam Pandas GroupBy

Apabila memanipulasi bingkai data dalam Pandas, anda mungkin perlu mengubah data menjadi spesifik format untuk analisis lanjut. Satu cara untuk melakukan ini ialah dengan mengumpulkan baris mengikut lajur yang ditentukan dan membuat senarai daripada lajur lain dalam setiap kumpulan.

Dalam senario ini, kami diberikan bingkai data yang mengandungi dua lajur: 'a' (nama lajur) dan 'b' (nilai lajur). Tugasnya adalah untuk mengubah bingkai data ini kepada bingkai data baharu di mana setiap nilai unik dalam lajur 'a' mempunyai nilai yang sepadan daripada lajur 'b' dikumpulkan ke dalam senarai.

Untuk mencapai ini:

df1 = df.groupby('a')['b'].apply(list).reset_index(name='new')

Dalam kod ini:

  • df.groupby('a'): Himpunkan bingkai data mengikut lajur 'a'.
  • ['b'].apply(list): Menggunakan fungsi senarai pada setiap kumpulan, menukar nilai lajur 'b' kepada senarai.
  • reset_index(name= 'baharu'): Menetapkan semula indeks bingkai data yang terhasil dan menetapkan nama lajur baharu kepada 'baharu'.

Hasil akhir ialah baharu bingkai data, df1, dengan nilai unik daripada lajur 'a' dalam lajur 'a' dan senarai yang sepadan daripada lajur 'b' dalam lajur 'baharu'.

Berikut ialah contoh untuk menggambarkan:

Memandangkan kerangka data berikut:

a b
A 1
A 2
B 5
B 5
B 4
C 6

Menggunakan kod yang disebutkan di atas akan mengubahnya ke dalam:

a new
A [1, 2]
B [5, 5, 4]
C [6]

Atas ialah kandungan terperinci Bagaimana untuk Menghimpunkan Baris DataFrame Pandas dan Menukar Nilai Lajur kepada Senarai?. 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