Cara Terbaik untuk Menyertai / Bercantum mengikut Julat dalam Panda
Dalam analisis data, adalah perkara biasa untuk perlu menyertai atau menggabungkan bingkai data berdasarkan keadaan julat tertentu. Satu pendekatan ialah menggunakan sambung silang dengan lajur tiruan, tetapi ini boleh menjadi tidak cekap dan rumit. Penyelesaian yang lebih elegan dan cekap ialah menggunakan penyiaran numpy.
Penyiaran numpy
Penyiaran numpy membolehkan kami melakukan operasi mengikut unsur antara tatasusunan bentuk yang berbeza. Ini boleh dimanfaatkan untuk menentukan nilai dalam bingkai data yang memenuhi syarat julat yang ditentukan.
Persediaan
Pertimbangkan dua bingkai data: A dengan lajur A_id dan A_value, dan B dengan lajur B_id, B_low dan B_high. Kami ingin menyertai A dan B supaya A_value berada di antara B_low dan B_high.
Pelaksanaan
<code class="python">import numpy as np # Convert dataframes to arrays a = A.A_value.values bh = B.B_high.values bl = B.B_low.values # Determine matching rows and columns i, j = np.where((a[:, None] >= bl) & (a[:, None] <= bh)) # Join corresponding rows from A and B joined = pd.concat([ A.loc[i, :].reset_index(drop=True), B.loc[j, :].reset_index(drop=True) ], axis=1) # Print joined dataframe print(joined)</code>
Kaedah ini menggunakan perbandingan dan penyiaran mengikut unsur untuk mengenal pasti dengan cekap dan gabungkan baris dari A dan B yang memenuhi syarat julat. Ia elegan dan cekap, mengelakkan keperluan untuk gelung atau lajur tiruan.
Atas ialah kandungan terperinci Bagaimana untuk Menyertai DataFrames Dengan Cekap Berdasarkan Keadaan Julat dalam Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!