Kaedah Paling Berkesan untuk Gabungan Berasaskan Julat dalam Panda
Apabila bekerja dengan bingkai data panda, keperluan untuk melakukan gabungan berasaskan julat (bercantum ) adalah tugas biasa. Untuk mengatasinya, pelbagai pendekatan telah dicadangkan, masing-masing mempunyai kelebihan dan kekurangannya sendiri. Walau bagaimanapun, kaedah yang paling elegan dan cekap ialah menggunakan penyiaran numpy.
Pertimbangkan bingkai data A dan B, di mana matlamat kami adalah untuk menyertainya secara dalaman berdasarkan syarat A_value berada dalam julat yang ditentukan oleh B_low dan B_high.
Untuk mencapai matlamat ini, kami memanfaatkan kuasa numpy untuk menyemak sama ada setiap elemen dalam A_value memenuhi kriteria julat. Ini dicapai dengan menyiarkan nilai A_value terhadap batas bawah dan atas (B_low dan B_high) julat dalam B.
Hasilnya ialah dua tatasusunan, i dan j, di mana i memegang indeks padanan A_value elemen dalam A dan j memegang indeks yang sepadan dalam B. Dengan menggabungkan indeks ini, kami boleh mendapatkan semula baris yang dikehendaki daripada kedua-dua bingkai data dan menggabungkannya untuk mencipta bingkai data yang digabungkan.
Berikut ialah kod yang dikemas kini untuk pendekatan ini :
<code class="python">import numpy as np a = A.A_value.values bh = B.B_high.values bl = B.B_low.values i, j = np.where((a[:, None] >= bl) & (a[:, None] <= bh)) pd.concat([ A.loc[i, :].reset_index(drop=True), B.loc[j, :].reset_index(drop=True) ], axis=1)</code>
Kaedah ini bukan sahaja menyediakan penyelesaian yang cekap tetapi juga mengendalikan gabungan dalaman dan kiri dengan anggun. Dengan melaraskan parameter, kami boleh menyesuaikannya dengan mudah kepada senario gabungan yang berbeza.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Gabungan Berasaskan Julat dalam Panda dengan Cekap Menggunakan Penyiaran Numpy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!