我有一个包含时间的列的数据框
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
as 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
我们可以使用 np.searchsorted
np.searchsorted(df.LOCALTIME.dt.time.values, pd.to_datetime(just_a_datetime).time())
Out[323]: 1
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句