此问题与此处的以下问题有关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
中值的格式,但无法运行。
答案 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