Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Menyertai DataFrames Dengan Cekap Berdasarkan Julat Masa Bertindih?

Bagaimanakah Saya Boleh Menyertai DataFrames Dengan Cekap Berdasarkan Julat Masa Bertindih?

DDD
Lepaskan: 2024-12-31 07:10:14
asal
842 orang telah melayarinya

How Can I Efficiently Join DataFrames Based on Overlapping Datetime Ranges?

Menyertai Bingkai Data untuk Julat Masa Bertindih

Diberikan dua bingkai data, df_1 dan df_2, dengan df_1 mempunyai lajur cap masa dan df_2 mempunyai permulaan dan tamat lajur yang mewakili julat masa tarikh, objektifnya adalah untuk menyertai bingkai data berdasarkan syarat itu lajur cap masa dalam df_1 berada dalam julat yang ditakrifkan oleh lajur mula dan tamat dalam df_2.

Untuk mencapai matlamat ini, satu penyelesaian berkesan melibatkan penggunaan Pandas' IntervalIndex untuk mengindeks df_2 berdasarkan nilai mula dan akhir. Dengan menetapkan closed='kedua-duanya' dalam IntervalIndex, kami memastikan bahawa titik akhir selang disertakan.

Seterusnya, kami boleh memanfaatkan kaedah get_loc untuk mengenal pasti selang yang sepadan dengan cap waktu tertentu dalam df_1. Menggunakan pendekatan ini, kita boleh mendapatkan peristiwa yang sepadan daripada df_2 yang dikaitkan dengan julat masa itu.

Dengan menggunakan proses ini pada setiap baris dalam df_1, kita boleh menetapkan nilai peristiwa yang sesuai kepada lajur baharu, dengan berkesan menyertai kedua-dua bingkai data berdasarkan kriteria julat masa tarikh yang ditentukan.

Penyelesaian ini menawarkan kaedah yang mudah dan cekap untuk melaksanakan gabungan kompleks antara bingkai data berdasarkan selang masa tarikh bertindih.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyertai DataFrames Dengan Cekap Berdasarkan Julat Masa Bertindih?. 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