Skip to main content
 首页 » 编程设计

python之如何根据第一个和最后一个索引从 4D 数组中提取 2D 数组

2025年05月04日29yyy_WW

我目前有一个形状为 (3, 890, 1100, 2) 的 numpy 数组。我想提取位于 (0, 0-890, 0-1100, 0) 位置的二维数组,所以我会得到 890x1100 二维数组当索引 1 和 4 为 0 时的值。

换句话说,我想访问数组,就好像参数的顺序是 (3, 2, 890, 1100) 并执行如下操作:

 newArray = array[0][0] 

我知道我可以用循环来做到这一点,但想知道是否有更“python-esque”的方式来做到这一点。

请您参考如下方法:

是的,有一种更像 Python 的方法来索引 numpy 数组。看看 documentation了解详情。

在您的特定情况下,您可以按如下方式获得所需的结果。

# Generate some data 
data = np.random.normal(size=(3, 890, 1100, 2)) 
# Slice the data 
subset = data[0, :, :, 0] 

: 表示“沿此轴的所有元素”。