問題描述
將浮點數轉換為 datatime64[ns] (Converting float into datatime64[ns])
此問題與此處的以下問題有關小時和時間轉換
我從上一個問題中得到了以下具有相應值的數組:
a = [[7.15, 7.45, 9.30, 10.45, 13.45, 15.15, 15.45, 21.30]]
它的值是浮點數,它們代表一天中的幾個小時,例如 7.15
等於7:15
。現在我在 pandas 中使用以下公式來做一個 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:
You can convert a
into a list of times.
a = [pd.to_datetime(i, format = '%H.%M').time() for i in a[0]]
then you can compare time to time using:
df.loc[([df['orders_time'].dt.time >= a[0]) & (df['orders_time'].dt.time <= a[1]), 'new_time'] = 10