Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menggabungkan Berbilang DataFrames dengan Cekap dalam Python?

Bagaimana untuk Menggabungkan Berbilang DataFrames dengan Cekap dalam Python?

DDD
Lepaskan: 2024-11-29 13:13:09
asal
779 orang telah melayarinya

How to Efficiently Merge Multiple DataFrames in Python?

Cara Menggabungkan Berbilang Bingkai Data

Isu

Menggabungkan berbilang bingkai data boleh menjadi rumit dan mengecewakan, terutamanya apabila bilangan bingkai data meningkat. Walaupun mungkin untuk menggunakan fungsi cantum bersarang, pendekatan ini menjadi tidak terurus dan terdedah kepada ralat.

Penyelesaian

Untuk cara yang lebih elegan dan cekap untuk menggabungkan berbilang bingkai data, pertimbangkan penyelesaian berikut:

import pandas as pd
from functools import reduce

# Initialize a list of dataframes
dfs = [df1, df2, df3]

# Merge the dataframes using the reduce function
df_merged = reduce(lambda left, right: pd.merge(left, right, on=['DATE'], how='outer'), dfs)
Salin selepas log masuk

Penyelesaian ini menggunakan fungsi pengurangan daripada modul functools untuk menggabungkan bingkai data secara berulang. Fungsi lambda mentakrifkan operasi cantum, menggunakan lajur yang ditentukan untuk bergabung ('DATE') dan kaedah cantum 'luar' untuk mengekalkan semua baris.

Faedah

Bersih dan Boleh Difahami : Penyelesaian ini menyediakan pendekatan yang jelas dan ringkas untuk menggabungkan berbilang bingkai data, menghapuskan keperluan untuk kompleks fungsi gabungan bersarang.

Kendalikan Berbilang Bingkai Data dengan Berkesan: Penyelesaian ini boleh mengendalikan sebarang bilangan bingkai data, menjadikannya berskala dan mudah.

Contoh

Pertimbangkan rangka data berikut:

df_1:
May 19, 2017;1,200.00;0.1%
May 18, 2017;1,100.00;0.1%
May 17, 2017;1,000.00;0.1%
May 15, 2017;1,901.00;0.1%

df_2:
May 20, 2017;2,200.00;1000000;0.2%
May 18, 2017;2,100.00;1590000;0.2%
May 16, 2017;2,000.00;1230000;0.2%
May 15, 2017;2,902.00;1000000;0.2%

df_3:
May 21, 2017;3,200.00;2000000;0.3%
May 17, 2017;3,100.00;2590000;0.3%
May 16, 2017;3,000.00;2230000;0.3%
May 15, 2017;3,903.00;2000000;0.3%
Salin selepas log masuk

Menggunakan penyelesaian yang disediakan, kita boleh gabungkan bingkai data ini:

df_merged = reduce(lambda left, right: pd.merge(left, right, on=['DATE'], how='outer'), dfs)
Salin selepas log masuk

Hasil:

DATE    VALUE1    VALUE2    VALUE3
May 15, 2017;  1,901.00;0.1%;  2,902.00;1000000;0.2%;   3,903.00;2000000;0.3%
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Berbilang DataFrames dengan Cekap dalam Python?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan