Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Menghimpunkan Baris DataFrame ke dalam Senarai Menggunakan Pandas Groupby?

Bagaimanakah Saya Boleh Menghimpunkan Baris DataFrame ke dalam Senarai Menggunakan Pandas Groupby?

Mary-Kate Olsen
Lepaskan: 2024-12-17 09:38:24
asal
338 orang telah melayarinya

How Can I Group DataFrame Rows into Lists Using Pandas Groupby?

Mengumpulkan Baris DataFrame ke dalam Senarai dalam Pandas GroupBy

Banyak set data mengandungi maklumat berlebihan merentas baris. Untuk mengekstrak cerapan yang bermakna, selalunya perlu mengumpulkan baris berdasarkan atribut biasa. Ini membolehkan pengagregatan dan manipulasi data dalam setiap kumpulan. Dalam artikel ini, kami akan meneroka cara menghimpunkan baris bingkai data ke dalam senarai dalam kumpulan Pandas.

Pengumpulan dan Pengagregatan

Pertimbangkan bingkai data dengan dua lajur, 'a' dan 'b':

a b
A 1
A 2
B 5
B 5
B 4
C 6
Salin selepas log masuk

Matlamatnya adalah untuk mengumpulkan baris mengikut lajur pertama ('a') dan mencipta senarai nilai dalam lajur kedua ('b') untuk setiap kumpulan. Output yang dikehendaki ialah:

A [1,2]
B [5,5,4]
C [6]
Salin selepas log masuk

Untuk mencapai ini, kita boleh menggunakan kumpulan Pandas dan menggunakan fungsi. Fungsi groupby mengelompokkan baris mengikut lajur yang ditentukan, manakala fungsi guna membolehkan kami melakukan operasi pada setiap kumpulan. Dalam kes ini, kami akan menggunakan fungsi senarai untuk membuat senarai nilai bagi setiap kumpulan.

df.groupby('a')['b'].apply(list)
Salin selepas log masuk

Kod ini akan mengembalikan objek Siri yang mengandungi senarai nilai untuk setiap kumpulan:

a
A       [1, 2]
B    [5, 5, 4]
C          [6]
Name: b, dtype: object
Salin selepas log masuk

Mencipta Bingkai Data Baharu

Untuk mencipta bingkai data baharu dengan senarai terkumpul, kita boleh menggunakan fungsi reset_index untuk menukar Siri objek ke dalam bingkai data baharu dan namakan semula lajur yang mengandungi senarai:

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

Bingkai data yang terhasil akan kelihatan seperti ini:

   a        new
0  A     [1, 2]
1  B  [5, 5, 4]
2  C        [6]
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghimpunkan Baris DataFrame ke dalam Senarai Menggunakan Pandas Groupby?. 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