Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Melakukan Gabungan Tiga Hala bagi Bingkai Data Pandas Berdasarkan Lajur Tunggal?

Bagaimana untuk Melakukan Gabungan Tiga Hala bagi Bingkai Data Pandas Berdasarkan Lajur Tunggal?

Linda Hamilton
Lepaskan: 2024-12-01 05:32:14
asal
802 orang telah melayarinya

How to Perform a Three-Way Join of Pandas DataFrames Based on a Single Column?

Lakukan Gabungan Tiga Hala pada Bingkai Data Pandas Berdasarkan Lajur

Apabila bekerja dengan set data yang berbeza, menggabungkannya bersama-sama untuk mendapatkan paparan yang komprehensif boleh menjadi penting. Dalam perpustakaan panda Python, fungsi join() menawarkan cara yang berkuasa untuk menggabungkan berbilang bingkai data berdasarkan indeks biasa.

Soalan:

Anda memiliki tiga fail CSV, setiap satu mengandungi nama orang sebagai lajur pertama dan pelbagai atribut sebagai lajur yang tinggal. Matlamat anda adalah untuk "menyertai" fail ini ke dalam satu CSV, dengan setiap baris mewakili orang yang unik dan semua atribut mereka.

Pada mulanya, fungsi join() membayangkan keperluan untuk multiindex. Walau bagaimanapun, kekeliruan timbul apabila cuba untuk menyertai berdasarkan satu indeks.

Jawapan:

Untuk mencapai gabungan tiga hala yang diingini, anda boleh menggunakan functools. mengurangkan fungsi, yang memudahkan operasi pengurangan berurutan pada bingkai data. Begini cara anda boleh melakukannya:

import functools as ft
dfs = [df0, df1, df2, ..., dfN]  # List of dataframes
df_final = ft.reduce(lambda left, right: pd.merge(left, right, on='name'), dfs)
Salin selepas log masuk

Pendekatan ini membolehkan anda menggabungkan bilangan bingkai data sewenang-wenangnya berdasarkan lajur biasa, seperti 'nama' dalam kes anda. Fungsi reduce() secara berulang menggunakan fungsi pandas merge() pada bingkai data dalam senarai, menghasilkan satu kerangka data yang dipanggil df_final yang mengandungi semua data atribut yang digabungkan.

Atas ialah kandungan terperinci Bagaimana untuk Melakukan Gabungan Tiga Hala bagi Bingkai Data Pandas Berdasarkan Lajur Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan