Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menyertai DataFrames Berdasarkan Julat Cap Masa?

Bagaimana untuk Menyertai DataFrames Berdasarkan Julat Cap Masa?

Linda Hamilton
Lepaskan: 2024-12-30 22:57:14
asal
743 orang telah melayarinya

How to Join DataFrames Based on Timestamp Ranges?

Menyertai DataFrames Berdasarkan Julat Nilai Lajur

Dalam konteks yang diberikan, kita mempunyai dua bingkai data, df_1 dan df_2, di mana kita perlu bergabung supaya lajur cap masa dalam df_1 berada dalam lajur mula dan akhir df_2.

Satu pendekatan untuk mencapai ini ialah dengan mencipta indeks selang dari lajur mula dan akhir dalam df_2. Kami kemudiannya boleh menggunakan kaedah get_loc untuk mendapatkan peristiwa yang sepadan untuk setiap cap waktu dalam df_1. Berikut ialah kod Python untuk penyelesaian ini:

# Create interval index from df_2
df_2.index = pd.IntervalIndex.from_arrays(df_2['start'], df_2['end'], closed='both')

# Get corresponding event for each timestamp in df_1
df_1['event'] = df_1['timestamp'].apply(lambda x: df_2.iloc[df_2.index.get_loc(x)]['event'])
Salin selepas log masuk

Ini akan mencipta lajur baharu bernama acara dalam df_1, yang mengandungi peristiwa yang sepadan untuk setiap cap waktu yang termasuk dalam julat yang ditentukan dalam df_2. Bingkai data gabungan yang terhasil akan mengandungi lajur berikut:

timestamp         A         B event
Salin selepas log masuk

Output akan kelihatan serupa dengan:

            timestamp         A         B event
0 2016-05-14 10:54:33  0.020228  0.026572    E1
1 2016-05-14 10:54:34  0.057780  0.175499    E2
2 2016-05-14 10:54:35  0.098808  0.620986    E2
3 2016-05-14 10:54:36  0.158789  1.014819    E2
4 2016-05-14 10:54:39  0.038129  2.384590    E3
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menyertai DataFrames Berdasarkan Julat Cap Masa?. 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