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.
Pertimbangkan bingkai data dengan dua lajur, 'a' dan 'b':
a b A 1 A 2 B 5 B 5 B 4 C 6
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]
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)
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
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')
Bingkai data yang terhasil akan kelihatan seperti ini:
a new 0 A [1, 2] 1 B [5, 5, 4] 2 C [6]
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!