将Pandas DatetimeIndex写入netCDF变量

时间:2015-08-08 00:11:27

标签: python netcdf

我正在尝试将一个时间序列的日期写入netCDF变量。我的日期存储为名为date_array的Pandas DatetimeIndex。我尝试使用的代码如下:

Times = w_nc_fid.createVariable('Times','S1',('time',))
Times[:] = str(date_array)

结果是一个[72,1]数组,只有字符串D。我实际上想要写出的是日期的字符串(连续72个日期):

'2015-07-19 10:00:00'
'2015-07-19 11:00:00'
'2015-07-19 12:00:00'

任何人都可以帮我吗?

1 个答案:

答案 0 :(得分:1)

使用netCDF4,可以使用以下方法完成:

import numpy as np
import netCDF4

times = np.array(['2015-07-19 10:00:00', '2015-07-19 11:00:00', '2015-07-19 12:00:00'], dtype=object)

fileout = netCDF4.Dataset('./string_out.nc', 'w')
fileout.createDimension('time', len(times))
times_out = fileout.createVariable('times', str, 'time',)
times_out[:] = times
fileout.close()

您可以使用ncks / ncdump确认:

>>> ncks string_out.nc | more
...
time[0] times[0]=2015-07-19 10:00:00 
time[1] times[1]=2015-07-19 11:00:00 
time[2] times[2]=2015-07-19 12:00:00