"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية الانضمام إلى DataFrames بناءً على نطاقات الطابع الزمني؟

كيفية الانضمام إلى DataFrames بناءً على نطاقات الطابع الزمني؟

نشر في 2025-03-22
تصفح:956

How to Join DataFrames Based on Timestamp Ranges?

DF_2. طريقة واحدة لتحقيق ذلك هي عن طريق إنشاء فهرس فاصل من الأعمدة البدء والنهاية في df_2. يمكننا بعد ذلك استخدام طريقة get_loc للحصول على الحدث المقابل لكل طابع زمني في DF_1. إليك رمز Python لهذا الحل:

# إنشاء فهرس الفاصل الزمني من df_2 df_2.index = pd.intervalindex.from_arrays (df_2 ['start'] ، df_2 ['end'] ، مغلق = 'كلا') # احصل على الحدث المقابل لكل طابع زمني في DF_1 df_1 ['event'] = df_1 ['timestamp']. تطبيق (lambda x: df_2.iloc [df_2.Index.get_loc (x)] ['event'])

سيحتوي DataFrame الناتج على الأعمدة التالية:

Timestamp A B Event
# 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'])
سيبدو الإخراج مشابهًا لـ:

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

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3