Get range/slice from numpy array the size of another array
我有两个numpy数组,一个比另一个大,但两个数组的维数相同。
我想从大数组中得到一个与小数组大小匹配的切片。(从
所以,假设大数组是有形状的(10,5,7)。小阵列的形状为(10,4,6)。
我想从更大的数组中得到这个切片:
1 | biggerArray[:10,:4,:6] |
形状元组的长度可能会有所不同,我想对任意数量的维度执行此操作(两个维度的数量始终相同)。
怎么做?有没有一种方法可以使用元组作为切片中的范围?
手工构造
1 | biggerArray[tuple(map(slice, smallerArray.shape))] |
或
1 | biggerArray[tuple(slice(0, n) for n in smallerArray.shape)] |
号
之后,您可能需要执行