我有一个数据框,其中一列包含时间
myDf=pd.DataFrame(data=['12:53 AM ','1:53 AM '])
等等。 我可以使用以下
解析字符串myDf['LOCALTIME']=myDf[name_columns_with_time].apply(lambda tt:pd.to_datetime(tt, format='%I:%M %p')).dt.time
获取
myDf['LOCALTIME']
Out[287]:
0 00:53:00
1 01:53:00
2 02:53:00
但是,这列是dobject
作为dtype。
现在我有一个日期时间:
just_a_datetime = datetime.datetime(year=2016, month=8, day=7,hour=1,minute=45,second=1)
我需要确定哪一行myDF
最接近just_a_datetime
。
在此示例中:所需结果为1
。
我想这样做:
myDf['LOCALTIME'].dt-datetime_of_interest.time()
但是,我收到以下错误:
AttributeError: Can only use .dt accessor with datetimelike values
答案 0 :(得分:1)
我们可以使用np.searchsorted
np.searchsorted(df.LOCALTIME.dt.time.values, pd.to_datetime(just_a_datetime).time())
Out[323]: 1