Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Melaksanakan Gabungan Berasaskan Julat dalam Panda dengan Cekap Menggunakan Penyiaran Numpy?

Bagaimana untuk Melaksanakan Gabungan Berasaskan Julat dalam Panda dengan Cekap Menggunakan Penyiaran Numpy?

Susan Sarandon
Susan Sarandonasal
2024-10-30 19:53:31703semak imbas

How to Efficiently Perform Range-Based Joins in Pandas Using Numpy Broadcasting?

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) &amp; (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!

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