【发布时间】:2020-01-22 12:14:09
【问题描述】:
使用 Dataframe 中的 Datetime 列与多个 Datetime 列进行最接近的匹配
df1 = pd.DataFrame({'Datetime_1' : ['2/4/2015 2:00:00','3/5/2015 3:00:00','4/3/2015 4:00:00'],
'Datetime_2' : ['2/3/2015 2:00:00','3/3/2015 3:00:00','4/3/2015 4:10:00'],
'Datetime_3' : ['2/4/2015 2:00:10','3/5/2015 3:20:00','4/3/2015 4:10:10']})
Datetime_1 Datetime_2 Datetime_3 Amount
0 2/4/2015 2:00:00 2/3/2015 2:00:00 2/4/2015 2:00:10 100
1 3/5/2015 3:00:00 3/3/2015 3:00:00 3/5/2015 3:20:00 700
2 4/3/2015 4:00:00 4/3/2015 4:10:00 4/3/2015 4:10:10 1000
df2 = pd.DataFrame({'Datetime_1' : ['2/4/2015 2:00:05','3/5/2015 3:11:00','4/3/2015 4:00:01']})
Datetime_1 Values
0 2/4/2015 2:00:05 10
1 3/5/2015 3:11:00 70
2 4/3/2015 4:10:01 100
预期输出
Datetime_1 Nearest_Match_df1 Values Amount MatchColumn
2/4/2015 2:00:05 2/4/2015 2:00:00 10 100 Datetime_1
3/5/2015 3:11:00 3/5/2015 3:20:00 70 700 Datetime_3
4/3/2015 4:10:01 4/3/2015 4:10:00 100 1000 Datetime_2
【问题讨论】:
-
您想逐行比较两个数据帧中的时间,还是 df2 中的所有时间与 df1 中的所有时间进行比较
-
@QuangHoang 逐行
标签: python pandas datetime merge pandas-groupby