Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中二维数组子集的重采样_Python_Arrays_Numpy - Fatal编程技术网

Python中二维数组子集的重采样

Python中二维数组子集的重采样,python,arrays,numpy,Python,Arrays,Numpy,我想比较散点图中不同卫星的空间数据(卫星图像),看看它们的可比性。对于两颗卫星中的每一颗,我都有一个数据框,其中包含要比较的数据,以及lat和lon阵列(从.nc文件中提取)。这两颗卫星的像素大小不同,导致阵列的形状不同:卫星A(426512)、卫星B(403512)。我的计划是创建由lat和lon定义的图像子集,以去除有时包含污染像素的边缘,然后将阵列重新采样为相同形状以创建散点图 我尝试使用np.where和np.argmin来创建子集 lat_bnds, lon_bnds = [69.35

我想比较散点图中不同卫星的空间数据(卫星图像),看看它们的可比性。对于两颗卫星中的每一颗,我都有一个数据框,其中包含要比较的数据,以及lat和lon阵列(从.nc文件中提取)。这两颗卫星的像素大小不同,导致阵列的形状不同:卫星A(426512)、卫星B(403512)。我的计划是创建由lat和lon定义的图像子集,以去除有时包含污染像素的边缘,然后将阵列重新采样为相同形状以创建散点图

我尝试使用np.where和np.argmin来创建子集

lat_bnds, lon_bnds = [69.35, 69.8], [-138.3 -139.8]
lat_inds = np.where((latsA > lat_bnds[0]) & (latsA < lat_bnds[1]))
lon_inds = np.where((lonsA > lon_bnds[0]) & (lonsA < lon_bnds[1]))
dataA_subset = dataA[lat_inds,lon_inds]

# li lower index ui upper index
latli = np.argmin(np.abs(latsA - lat_bnds[0]))
latui = np.argmin(np.abs(latsA - lat_bnds[1]))
lonli = np.argmin(np.abs(lonsA - lon_bnds[0]))
lonui = np.argmin(np.abs(lonsA - lon_bnds[1]))
dataA_subset = dataA[latli:latui, lonli:lonui]

卫星B的阵列看起来相似,但形状相同(403512)指示节点数据点。

您应该发布一些示例数据。阅读
print(data_A.shape)
print(data_A)    

(426, 512)
[[6.556140422821045 6.661336898803711 6.8396315574646 ...
  18.65336799621582 20.378625869750977 22.448087692260742]
 [6.54307746887207 6.7673659324646 6.920936107635498 ...
  19.052120208740234 20.783668518066406 23.25980567932129]
 [6.752928733825684 6.766547203063965 6.862030506134033 ...
  19.63921356201172 21.45486068725586 23.114635467529297]
 ...
 [-- -- -- ... -- -- --]
 [-- -- -- ... -- -- --]
 [-- -- -- ... -- -- --]]

print(lat_A.shape)
print(lat_A)

(426, 512)
[[70.31494  70.31635  70.315346 ... 69.80224  69.80116  69.80009 ]
 [70.31252  70.313934 70.31293  ... 69.79987  69.7988   69.79772 ]
 [70.310104 70.311516 70.31051  ... 69.79751  69.79643  69.79536 ]
 ...
 [69.28807  69.28942  69.28844  ... 68.79676  68.79573  68.79469 ]
 [69.28565  69.28707  69.28605  ... 68.79437  68.79334  68.792305]
 [69.28317  69.28469  69.2837   ... 68.791985 68.790955 68.789925]]