【问题标题】:How to find maximum daily temperature from hourly data netcdf file in Python?如何从 Python 中的每小时数据 netcdf 文件中找到每日最高温度?
【发布时间】:2020-07-15 18:56:41
【问题描述】:

我正在尝试从每小时数据(3 小时间隔)中找到每日最高温度。我是 netcdf 文件和 python 的新手,所以我不知道从哪里开始。我如何找到最大的每日价值?我可以使用 max() 吗?

file='air.2m.2018.nc'
ncin = Dataset(file,'r')
#put data into numpy arrays
lons=ncin.variables['lon'][:]
lats=ncin.variables['lat'][:]
lats1=ncin.variables['lat'][:,0]
temp=ncin.variables['air'][:]

time_2018=ncin.variables['time']
dtime = netCDF4.num2date(time_2018[:],time_2018.units)

当我打印(dtime)时,它看起来像这样:

 cftime.DatetimeGregorian(2018, 1, 1, 0, 0, 0, 0)
 cftime.DatetimeGregorian(2018, 1, 1, 3, 0, 0, 0)

【问题讨论】:

  • 数据操作在pandas中很常见,在你的解决方案中使用那个库可以吗?
  • 是的,没关系
  • 使用 xarray 的 groupby 操作会更容易解决。网站上给出的示例是一个很好的起点,实际上可以修改以解决您的问题:xarray.pydata.org/en/stable/generated/…

标签: python date time netcdf netcdf4


【解决方案1】:

这应该很容易用 xarray 实现:

import xarray as xr
nc = xr.open_dataset('air.2m.2018.nc')
nc.resample(time='1D').max()

【讨论】:

  • 谢谢,这成功了。我如何实际查看最大温度数据?我是 xarray 的新手,不知道如何查看数字以确认它们是正确的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-26
  • 2017-05-31
  • 2019-08-13
  • 2015-04-14
  • 2020-05-25
  • 1970-01-01
相关资源
最近更新 更多