У меня есть вопрос, очень похожий на этот и этот, но я застрял на каком-то округлении проблема.
У меня есть временной ряд из файла netCDF, и я пытаюсь преобразовать их в формат даты и времени. Формат временного ряда — «дни с 1990-01-01 00:00:00». В конце концов я хочу вывести в формате .strftime('%Y%m%d.%H%M')
. Так, например, я прочитал свой файл netCDF следующим образом
import netCDF4
nc = netCDF4.Dataset(file_name)
time = np.array(nc['time'][:])
у меня тогда есть
In [180]: time[0]
Out[180]: 365
In [181]: time[1]
Out[181]: 365.04166666651145
я тогда сделал
In [182]: start = datetime.datetime(1990,1,1)
In [183]: delta = datetime.timedelta(time[1])
In [184]: new_time = start + delta
In [185]: print(new_time.strftime('%Y%m%d.%H%M'))
19910101.0059
Есть ли способ «округлить» до ближайшего часа, чтобы я получил 19910101.0100
?
365.04166666651145
? - person Sohaib Farooqi   schedule 05.01.2018365, 365.04166666651145, 365.08333333348855
и т. д.), но при загрузке файла где-то есть ошибка округления. Поэтому мне не нужно иметь дело с округлением минут - это будет просто округление миллисекунд вверх/вниз. Я отредактировал исходный вопрос, чтобы уточнить, откуда беретсяtime
. - person Hawky   schedule 05.01.2018pandas
, см. этот ответ - person Pavel   schedule 10.12.2018