插值和提高netfdf数据的空间分辨率

2024-03-29 13:19:00 发布

您现在位置:Python中文网/ 问答频道 /正文

如何提高netfdf数据的分辨率,以便在python中提供给CNN? xarray中是否有任何函数可以执行相同的操作

提前谢谢


Tags: 数据函数分辨率cnnxarraynetfdf
1条回答
网友
1楼 · 发布于 2024-03-29 13:19:00

您可以使用xarray插值来实现您想要的结果。必须定义要插值的新纬度和经度,并将其传递给xarray interp函数。见下面的例子

import xarray as xr
import numpy as np
import matplotlib.pyplot as plt

# Create sample data
dx  = 0.25
lon = np.arange(0, 360, dx)
lat = np.arange(-90, 90+dx, dx)
data = 10 * np.random.rand(len(lat), len(lon))
data_set = xr.Dataset({"temp": (["lat", "lon"], data)},
                 coords={"lon": lon,"lat": lat})

# Just checking the datasets are not empty
print(data_set)

# Create new lat and lon
dx_new = 0.125
newlon = np.arange(0, 360, dx_new)
newlat = np.arange(-90, 90+dx_new, dx_new)

# Interpolate
data_set_interp = data_set.interp(lat=newlat, lon=newlon)

# Check output
print(data_set_interp)

相关问题 更多 >