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