第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Pandas - 將來自兩個數(shù)據(jù)幀的最近事件與條件連接起來

Pandas - 將來自兩個數(shù)據(jù)幀的最近事件與條件連接起來

眼眸繁星 2023-04-25 16:43:50
我需要一些幫助。我陷入了一個問題。我有以下DFDF1DATETIME           ID       State2020-07-29 00:15:10   A     Down2020-07-29 00:25:10   B     Down2020-07-29 01:14:30   A     Down2020-07-29 02:15:50   A     DownDF2DATETIME            ID      State2020-07-29 00:19:40   A     Up2020-07-29 00:35:10   B     Up2020-07-29 00:56:40   B     Up2020-07-29 01:40:30   A     Up2020-07-29 01:35:10   B     Up2020-07-29 02:18:50   A     Up2020-07-29 02:45:50   A     Up我想要以下結(jié)果:新東風DATETIME             ID     State   Restore_DT2020-07-29 00:15:10    A    Down    2020-07-29 00:19:402020-07-29 00:25:10    B    Down    2020-07-29 00:35:102020-07-29 01:14:30    A    Down    2020-07-29 01:40:302020-07-29 02:15:50    A    Down    2020-07-29 02:18:50理論上,我需要從 DF1 中找到 DF2 中具有相同 ID 的最近事件。最好的方法是什么?
查看完整描述

2 回答

?
吃雞游戲

TA貢獻1829條經(jīng)驗 獲得超7個贊

merge_asof與參數(shù)一起使用direction='nearest',也首先對列進行排序并通過以下方式創(chuàng)建新列DataFrame.assign

df1['DATETIME'] = pd.to_datetime(df1['DATETIME'])

df2['DATETIME'] = pd.to_datetime(df2['DATETIME'])


df1 = df1.sort_values('DATETIME')

df2 = df2.sort_values('DATETIME')


df = pd.merge_asof(df1,?

? ? ? ? ? ? ? ? ? ?df2[['DATETIME','ID']].assign(Restore_DT = df2['DATETIME']),?

? ? ? ? ? ? ? ? ? ?on='DATETIME',?

? ? ? ? ? ? ? ? ? ?by='ID',?

? ? ? ? ? ? ? ? ? ?direction='nearest')

print (df)

? ? ? ? ? ? ?DATETIME ID State? ? ? ? ? Restore_DT

0 2020-07-29 00:15:10? A? Down 2020-07-29 00:19:40

1 2020-07-29 00:25:10? B? Down 2020-07-29 00:35:10

2 2020-07-29 01:14:30? A? Down 2020-07-29 01:40:30

3 2020-07-29 02:15:50? A? Down 2020-07-29 02:18:50


查看完整回答
反對 回復 2023-04-25
?
茅侃侃

TA貢獻1842條經(jīng)驗 獲得超21個贊

您可以使用merge.

首先合并 df(這會將 datetime 與最近的 datetime1 合并)

df_cross_merge = df1.merge(df2, on='ID', how='left').query('DATETIME <= DATETIME1')

并獲得您想要的 df(僅保留第一個日期時間)

df_cross_merge =df_cross_merge.drop_duplicates(['DATETIME'],keep='first')


查看完整回答
反對 回復 2023-04-25
  • 2 回答
  • 0 關(guān)注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號