将浮点数转换为datatime64[ns]



这个问题与下面的问题有关

我得到了以下数组,其中包含上一个问题的相应值:

a = [[7.15, 7.45, 9.30, 10.45, 13.45, 15.15, 15.45, 21.30]]

的值是浮点数,它们代表一天中的小时数,例如7.15等于7:15。现在我用下面的公式来做比较:

df.loc[([df['orders_time'] >= a[0]) & (df['orders_time'] <= a[1]), 'new_time'] = 10

返回错误:

Invalid comparison between dtype=datetime64[ns] and float64

我试图改变a中值的格式,我无法运行它。

可以将a转换为时间列表

a = [pd.to_datetime(i, format = '%H.%M').time() for i in a[0]]

,那么你可以使用

来比较时间:
df.loc[([df['orders_time'].dt.time >= a[0]) & (df['orders_time'].dt.time <= a[1]), 'new_time'] = 10 

相关内容

  • 没有找到相关文章