使用数据帧中的日期时间列与多个日期时间列进行比较以获得最接近的匹配
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
您可以在修改} 来获取单个列中的所有日期。为此,需要
df1
之后使用^{set_index
列的数量,然后stack
数据帧,然后reset_index
,rename
列以匹配预期的输出,并用执行合并的日期复制列。你知道吗注意:所有列必须是
Datetime
类型相关问题 更多 >
编程相关推荐