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)
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!