Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Mengeluarkan Kesatuan Rentetan dengan Cekap daripada Bingkai Data Pandas Berkumpulan?
Union of Strings in Pandas GroupBy
Soalan ini menangani cabaran biasa: mengekstrak kesatuan rentetan daripada Pandas DataFrame yang dikumpulkan mengikut satu lajur. Malangnya, menggunakan fungsi sum() pada lajur yang mengandungi rentetan tidak menggabungkannya. Sebaliknya, artikel ini meneroka kaedah alternatif untuk mencapai hasil yang diingini.
Menggunakan GroupBy dengan Fungsi Tersuai
Satu penyelesaian adalah untuk menentukan fungsi tersuai yang menggunakan operasi tertentu kepada setiap kumpulan. Sebagai contoh, kita boleh menggunakan kaedah apply() untuk mengulangi kumpulan dan mengembalikan nilai yang diingini. Begini caranya:
<code class="python">def my_function(group): return "{%s}" % ', '.join(group['C'])</code>
Fungsi ini menggabungkan rentetan dalam lajur 'C' setiap kumpulan ke dalam set yang disertakan dalam pendakap kerinting.
<code class="python">df.groupby('A')['C'].apply(my_function)</code>
Menggunakan GroupBy dengan lambda Ungkapan
Sintaks yang lebih mudah melibatkan penggunaan ungkapan lambda:
<code class="python">df.groupby('A')['C'].apply(lambda x: "{%s}" % ', '.join(x))</code>
Ungkapan lambda ini melakukan operasi penggabungan yang sama seperti fungsi tersuai.
Menggabungkan Kumpulan
Kadangkala, mungkin berguna untuk menggabungkan maklumat daripada berbilang kumpulan menjadi satu Siri. Berikut ialah contoh:
<code class="python">def f(group): return Series(dict(A=group['A'].sum(), B=group['B'].sum(), C="{%s}" % ', '.join(group['C'])))</code>
Fungsi ini mengagregatkan lajur 'A' dan 'B' menggunakan sum() dan menggabungkan lajur 'C' ke dalam satu set.
<code class="python">df.groupby('A').apply(f)</code>
Ini pendekatan menghasilkan DataFrame dengan nilai agregat untuk setiap kumpulan.
Dengan menggunakan kaedah ini, anda boleh mengekstrak gabungan rentetan secara berkesan daripada Pandas DataFrames berkumpulan, membuka kunci keupayaan untuk menganalisis dan menggambarkan data berasaskan teks dengan cara yang bermakna .
Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Kesatuan Rentetan dengan Cekap daripada Bingkai Data Pandas Berkumpulan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!