python - 乘法和反转 NP 类型“m8[ns]”
问题描述
我得到了一个函数,它接受 np.int64ts
并将其转换为 datetime 对象:
ts.astype('m8[ns]') * 100 + np.datetime64('0001-01-01T00:00:00')
我想要做的是创建一个反转这个过程的函数——>接受一个日期时间对象并返回np.int64。
让我绊倒的是* 100
原始功能的一部分,它实际上在做什么?因为它不能正常乘以 100,如果在相反的步骤中我们尝试除以 100,它会给出与原始答案不同的答案。
例子:
ts = np.int64(636903684001437312)
ts.astype('m8[ns]') ==> numpy.timedelta64(636903684001437312,'ns')
ts.astype('m8[ns]')*100 ==> numpy.timedelta64(8350136179015076352,'ns')
numpy.timedelta64(8350136179015076352,'ns')/100 ==> numpy.timedelta64(83501361790150763,'ns')
正如我们看到的原始ts.astype('m8[ns]')
给定636903684001437312
,乘以 100 将其变成一个8350136179015076352
timedelta64 对象(为什么/如何?)但将其除以 100 并不会返回原始值,而是这一次它实际上将它除以 100 来给出83501361790150763
。
解决方案
推荐阅读
- autofac - Autofac 服务未注册,但已注册
- c++ - 在创建 Integer 类时,C++ 中的头文件未定义引用
- java - 为什么会更改 java 类的签名
- node.js - 结合多个 async/await 调用的结果(再次)
- apache-spark - Spark:将 hashmap 放入 Dataset 列?
- jquery - jqGrid 的问题:我可以让 jqGrid 在插入新记录期间尊重主动过滤器吗?
- sendwithus - 使用 API 从 SendWithUs 获取特定日志
- swift - 动态高度 SwiftUI UIViewControllerRepresentable
- node.js - npm 更新 - npm 错误!系统调用重命名
- docker - 如果我在容器运行时删除绑定挂载文件会发生什么?