首页 > 解决方案 > numpy 数组的统一索引采样

问题描述

我有一个具有可变维度的零空间和一个具有可变维度的数组,例如:

import numpy    

space = numpy.zeros((1000,5))
a = numpy.ones((150))

我想将数组中的数组插入矩阵中,以便这些数组均匀分布在矩阵中。

标签: pythonnumpy

解决方案


您可以使用numpy.linspace来获取索引。

如果您想将五个 1 的切片分配给每个索引位置,或者只分配给切片的第一个索引,这并不明显。这就是这两种方法的工作方式:

space = numpy.zeros((1000,5))
a = numpy.ones((150, 5))
b = numpy.ones((150,))

index = numpy.rint(numpy.linspace(start=0, stop=999, num=150)).astype(np.int)

# This would assign five ones to every location
space[index] = a

# This would assign a one to the first element at every location
space[index, 0] = b

推荐阅读