You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中Meshgrid二维数组索引:经纬度索引表现差异探究

问题解答

一、索引表现不同的原因

  1. numpy索引的误区:你用的new_lons[:][0]和你想的“取所有行的第0列”完全不是一回事。new_lons[:]是获取整个二维数组,再跟[0]就是取这个数组的第0行,等价于new_lons[0]——而你的经度网格第0行全是同一个值,所以输出全是-81.53。

  2. meshgrid的网格结构特性:meshgrid生成的二维网格,是把一维经纬度数组分别“平铺”成二维:

    • 你的纬度网格new_lats里,所有不同纬度值刚好集中在第0行,所以new_lats[:][0](也就是第0行)能拿到所有纬度值;
    • 但经度网格new_lons的结构相反:不同的经度值集中在第0列(从new_lons[0][0]和new_lons[1][0]的不同结果就能看出来),你取第0行自然拿不到所有经度值。

二、获取单一维度经度值的方法

直接取经度网格的第0列即可:

unique_lons = new_lons[:, 0]

如果怕搞混行和列,也可以用numpy的去重函数(不过效率不如直接取行/列):

import numpy as np
unique_lons = np.unique(new_lons)

另外,如果你还记得当初生成网格用的原始一维经度数组(比如original_lons),那直接用它就行,没必要从二维网格里提取。

内容的提问来源于stack exchange,提问作者Miss_Orchid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 00:10:28