python - 将浮点数转换为 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
我无法运行它的值的格式。
解决方案
您可以转换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
推荐阅读
- node.js - nodejs 异步函数是否使用所有 CPU 内核?
- django - drf-yasg 提供了错误的 URI 路径
- python - 如何使用 sklearn 的 GraphicalLasso 和 NetworkX 从(加权)邻接矩阵估计网络结构?
- javascript - Tradingview如何获取数据来刷新价格?
- node.js - 无法在使用 react 构建的简单博客中添加新文章
- sql - 如何使用 SQL 和通配符搜索 %?
- hash - 如何用盐创建 sha256 哈希
- javascript - 如何让两个 div 屏幕显示和隐藏在相同的高度
- ios - 如何创建一个带有可选辅助 View 参数的 SwiftUI 视图?
- python - 如何用 unittest 覆盖我的 Python 代码