将浮点数转换为 datatime64[ns]

时间:2021-02-10 15:45:35

标签: python datetime

此问题与此处的以下问题有关Hours and time converting

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

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

它的值是浮点数,它们代表一天中的几个小时,例如7.15 等于 7:15。现在我在熊猫中使用以下公式来制作一个comaprison:

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

它返回一个错误说:

Invalid comparison between dtype=datetime64[ns] and float64

我尝试更改 a 中值的格式,但无法运行。

1 个答案:

答案 0 :(得分:1)

您可以将 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