Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menggabungkan Rentetan Dalam Kumpulan Menggunakan Pandas groupby?

Bagaimana untuk Menggabungkan Rentetan Dalam Kumpulan Menggunakan Pandas groupby?

Patricia Arquette
Patricia Arquetteasal
2024-10-24 19:06:291043semak imbas

How to Combine Strings Within Groups Using Pandas groupby?

Pandas groupby: Cara mendapatkan kesatuan rentetan

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.

Menggunakan Fungsi Tersuai

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}

Menggunakan jumlah dan Penggabungan

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!

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