我是Python新手,请原谅我的缺乏经验。我尝试用cartopy创建轮廓图。我以前使用过netCDF4数据,但这次我必须使用正常的文本数据格式。问题是pcolormesh需要一个2d数组作为C组件
我的数据如下所示:
lon lat Q_upt
0 28.18 -25.73 -999.990
1 27.98 -25.83 0.388
2 27.78 -25.97 0.212
3 27.61 -26.13 0.082
4 27.47 -26.31 0.000
我曾尝试使用interpolate.griddata对数据进行插值,但根本不起作用
header_list = ['time', 'lon', 'lat', 'Q_upt']
dt = pd.read_csv('~/1996062812_1996070812_PRCupt.txt', skiprows=4, sep='\s+', names=header_list)
#create DataFrame with required variable
dtt = dt[['lon', 'lat', 'Q_upt']]
#transform to numpy.array
df = dtt.to_numpy()
#create coordinate array
x = np.arange(-180, 180, 0.1)
y = np.arange(-90, 90, 0.1)
X, Y = np.meshgrid(x, y)
#interpolate the variable into an 2d array dependent on chosen coordinates
Z = interpolate.griddata((df[:, 0], df[:, 1]), df[:, 2], (X, Y), method='nearest')
我的下一个想法是: 我创建了一个带有经度和纬度的m x n矩阵,现在我必须将它与每行的lon lat值进行比较,并用匹配的Q_upt替换它。但我不知道怎么编码。 如果有人能帮助我,那将是一种荣幸
目前没有回答
相关问题 更多 >
编程相关推荐