Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menggabungkan Rentetan daripada Baris DataFrame Berbilang Panda Menggunakan Groupby?

Bagaimanakah Saya Boleh Menggabungkan Rentetan daripada Baris DataFrame Berbilang Panda Menggunakan Groupby?

Linda Hamilton
Linda Hamiltonasal
2024-12-22 02:09:14376semak imbas

How Can I Concatenate Strings from Multiple Pandas DataFrame Rows Using Groupby?

Menggabungkan Rentetan daripada Berbilang Baris Menggunakan Pandas Groupby

Dalam bidang manipulasi data dengan Panda, selalunya perlu untuk menggabungkan rentetan daripada berbilang baris berdasarkan kriteria tertentu. Operasi Groupby menyediakan cara yang berkesan untuk mencapai matlamat ini. Mari kita teliti contoh praktikal.

Andaikan kita mempunyai DataFrame dengan lajur "nama," "teks" dan "tarikh." Kami ingin menggabungkan entri "teks" untuk setiap gabungan unik "nama" dan "bulan." Untuk mencapainya, kita boleh menggunakan langkah berikut:

  1. GroupBy and Transform: Himpunkan DataFrame mengikut lajur "nama" dan "bulan". Kemudian, gunakan operasi transformasi dan gunakan fungsi lambda untuk menyertai entri "teks" dengan pemisah koma:

    df['text'] = df[['name','text','month']].groupby(['name','month'])['text'].transform(lambda x: ','.join(x))
  2. Alih Keluar Pendua: Transformasi ' lajur teks mungkin mengandungi entri pendua. Untuk mengekalkan entri unik, lepaskan pendua berdasarkan lajur "nama" dan "bulan":

    df[['name','text','month']].drop_duplicates()

Sebagai alternatif, kami boleh memudahkan proses dengan menggunakan apply dan reset_index untuk mendapatkan yang diingini output:

df.groupby(['name','month'])['text'].apply(','.join).reset_index()

Kaedah ini membolehkan penyatuan rentetan yang cekap daripada berbilang baris dalam Panda DataFrame, menjadikan tugasan manipulasi data lebih mudah diurus.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Rentetan daripada Baris DataFrame Berbilang Panda Menggunakan 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