Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menggabungkan Rentetan Dalam Kumpulan Menggunakan Pandas groupby?
DataFrame yang disediakan mengandungi tiga lajur: A, B dan C. Matlamatnya adalah untuk mengumpulkan DataFrame mengikut lajur A dan dapatkan gabungan rentetan daripada lajur C untuk setiap kumpulan.
Secara lalai, kumpulan mengikut jumlah lajur berangka, yang tidak berfungsi untuk rentetan.
Satu pendekatan adalah untuk mentakrifkan fungsi yang menggabungkan rentetan dalam setiap kumpulan menggunakan kaedah gabungan:
<code class="python">def f(x): return "{%s}" % ', '.join(x)</code>
Dan gunakan fungsi ini pada DataFrame terkumpul:
<code class="python">result = df.groupby('A')['C'].apply(f)</code>
Pendekatan ini menghasilkan output yang diingini:
A 1 {This, string} 2 {is, !} 3 {a} 4 {random}
Pilihan lain ialah memaksa jumlah untuk menggabungkan rentetan dengan mengubah suai jenis data:
<code class="python">df['C'] = df['C'].astype(str) result = df.groupby('A')['C'].sum()</code>
Ini juga memberikan hasil yang diingini.
Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Rentetan Dalam Kumpulan Menggunakan Pandas groupby?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!