gpt4 book ai didi

python - 如何读取 ecmwf 文件上的日期和时间

转载 作者:太空宇宙 更新时间:2023-11-03 13:13:14 24 4
gpt4 key购买 nike

我在 netcdf 文件中有全局数据集。数据文件的时间信息为:

<type 'netCDF4._netCDF4.Variable'>
int32 time(time)
units: hours since 1900-01-01 00:00:0.0
long_name: time
calendar: gregorian
unlimited dimensions: time
current shape = (5875,)
filling off

当我从文件中提取时间时,我得到了这个数组:

array([ 876600,  876624,  876648, ..., 1017528, 1017552, 1017576], dtype=int32) 

我的问题是如何将此数组转换为正确的日期格式?[注意:这是每日数据集,数组中的数字对应于 1900-01-01 的一个小时]

最佳答案

你可以:

from datetime import date, timedelta

hours = [ 876600, 876624, 876648, 1017528, 1017552, 1017576]
base = date(1900, 1, 1)
for hour in hours:
base + timedelta(hours=hour)

2000-01-02
2000-01-03
2000-01-04
2016-01-30
2016-01-31
2016-02-01

如果您需要小时等信息,请使用datetime而不是date

或者使用pd.DataFrame:

df = pd.DataFrame(hours, columns=['hours'])
df['date'] = df.hours.apply(lambda x: base + timedelta(hours=x))

hours date
0 876600 2000-01-02
1 876624 2000-01-03
2 876648 2000-01-04
3 1017528 2016-01-30
4 1017552 2016-01-31
5 1017576 2016-02-01

关于python - 如何读取 ecmwf 文件上的日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37854256/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com