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

Susan Sarandon
Lepaskan: 2024-10-30 19:53:31
asal
712 orang telah melayarinya

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>
Salin selepas log masuk

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!