用Cartopy打印csv

2024-07-07 08:40:40 发布

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

我是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替换它。但我不知道怎么编码。 如果有人能帮助我,那将是一种荣幸


Tags: 数据dfcreatenpdtarrayvariablelist