所有,我正在尝试从伯克利地球读取以下温度文件中的时间坐标,时间跨度从1850年到2022年,时间单位是公元年(1850.041667,1850.125,1850.208333,...,2022.708333,2022.791667,2022.875)。pandas.to_datetime
无法正确解释时间数组,因为我认为我需要声明时间坐标的原点和单位。我尝试使用pd.to_datetime(dti,unit='D',origin='julian’)
,但它不起作用(超出界限)。此外,我认为我必须使用年单位而不是天。
该文件位于http://berkeleyearth.lbl.gov/auto/Global/Gridded/Land_and_Ocean_LatLong1.nc
import xarray as xr
import numpy as np
import pandas as pd
# read data into memory
flname="Land_and_Ocean_LatLon1.nc"
ds = xr.open_dataset("./"+flname)
dti = ds['time']
pd.to_datetime(dti,unit='D',origin='julian')
np.diff(dti)
1条答案
按热度按时间nx7onnlm1#
使用
%Y
作为解析指令转换为datetime,以仅获取年份,然后添加小数年作为天数的timedelta。注意,在计算timedelta时,您可能必须考虑闰年。例如: