要将 unix 时间戳字符串转换为 datetime64,您需要先转换为 float,然后使用正确的单位转换为 datetime64:
time = ['1633093403.754783918', '1633093403.755350983', '1633093403.760918965', '1633093403.761298577', '1633093403.761340378', '1633093403.761907443']
time = (np.asarray(time).astype(float)).astype('datetime64[s]')
print(time.dtype)
print(time)
产量:
datetime64[s]
['2021-10-01T13:03:23' '2021-10-01T13:03:23' '2021-10-01T13:03:23'
请注意,纳秒已被剥离。如果你想保留这些...
time = (np.asarray(time).astype(float)*1e9).astype('datetime64[ns]')
产量:
datetime64[ns]
['2021-10-01T13:03:23.754783744' '2021-10-01T13:03:23.755351040'
'2021-10-01T13:03:23.760918784' '2021-10-01T13:03:23.761298688'
'2021-10-01T13:03:23.761340416' '2021-10-01T13:03:23.761907456']
这一切都有效,因为 datetime64 具有与 unix 时间戳相同的“纪元”或零(1970-01-01T00:00:00.000000)
完成此转换后,绘图应该可以正常工作。