首页 > 解决方案 > 子集numpy数组

问题描述

我想对一个 -d = (d1,...,dn)形的 numpy 数组进行子集A化以仅获取r = (r1,...,rn)第一个主要次要的,即所有值A[i1,...,in],例如ij < rj. 当然,生成的数组具有 shape r

我怎样才能做到这一点 ?我试过A[:r]了,但当然它没有用:)。正确的方法是A[:r1,...,:rn],但len(A.shape)未知,所以我不能一一写所有子集。

你知道我怎么能得到这个子矩阵吗?

标签: numpy

解决方案


您可以使用

A[tuple([slice(None, i) for i in r])]

推荐阅读