Numpy将csv保存的datetime64转换回datetime

9gm1akwq  于 2023-04-30  发布在  其他
关注(0)|答案(1)|浏览(172)

我无法将保存的datetime64转换回时间戳和datetime.datetime.now()。我只得到错误ufunc 'subtract' cannot use operands with types dtype('<U18') and dtype('<M8[s]')
为了简化本文,我将第一个datetime64硬编码为一个列表。

row = []
    row.append("1681903801863912.0")
    ts = (row[0] - numpy.datetime64(0, "s")) / numpy.timedelta64(1, "s")
    print(ts)

这就是从datetime.datetime.now()转换的过程。

date64 = numpy.datetime64(datetime.datetime.now())
ret_val = numpy.insert(dates, 0, date64)

我已经尝试将其加载回datetime64对象,但没有任何成功。

laawzig2

laawzig21#

你所期望的是不清楚的,但你可以通过以下方式将字符串timestamp转换为datetime64

import numpy as np

arr = ['1681903801863912.0', '1682061528456548.0']
ts = np.array(arr, dtype='float64').astype('datetime64[us]')

输出:

>>> ts
array(['2023-04-19T11:30:01.863912', '2023-04-21T07:18:48.456548'],
      dtype='datetime64[us]')

>>> arr
['1681903801863912.0', '1682061528456548.0']

相关问题