Python 以Numpy表示的时间戳

Python 以Numpy表示的时间戳,python,numpy,weather,Python,Numpy,Weather,我正在尝试使用wrf python从netcdf文件中提取数据。数据是每小时的。正在将日期提取为数字,而不是日历日期时间。首先,我提取数据,将其转换为平面np数组,然后尝试保存文件。格式保存为“%s” np.savetxt((stn + 'WRF_T2_T10_WS_WD.csv'), np.transpose(arr2D), %s, delimiter=',', header=headers, comments='') 看起来是这样的: 但它需要像这样: 多亏了按照惯例,日期通常存储为 对于

我正在尝试使用wrf python从netcdf文件中提取数据。数据是每小时的。正在将日期提取为数字,而不是日历日期时间。首先,我提取数据,将其转换为平面np数组,然后尝试保存文件。格式保存为“%s”

np.savetxt((stn + 'WRF_T2_T10_WS_WD.csv'), np.transpose(arr2D), %s, delimiter=',', header=headers, comments='')
看起来是这样的:

但它需要像这样:


多亏了

按照惯例,日期通常存储为

对于转换秒数的情况,这个答案建议通过更改它们的数据类型来转换秒数(应该尽可能有效地避免行循环、复制数据等)

x=np.asarray(x,dtype='datetime64[s]')
然而,
E+18
后缀意味着如果你真的有日期,你的时间戳是纳秒,因此
datetime64[ns]
可能适合你

导入时间
将numpy作为np导入
>>>a=np.array([time.time()*10**9])#秒到ns
>>>一个#示例数组
阵列([1.60473147e+18])
>>>a=np.asarray(a,dtype='datetime64[ns]')
>>>a
数组(['2020-11-07T06:44:29.714103040'],dtype='datetime64[ns]'))

像这样吗?谢谢你的工作完美,这正是我想要的@艾莉丝萨拉坦娜很好,谢谢!如果这解决了您的问题,请将此标记为答案,并在其左侧打勾!