我想获取 numpy.ndarray 中的每一行并对其进行转换。例如:
for each row i in array a
r=random number
for each element j in row i:
a[i][j]=a[i][j]*r
我建议您首先创建一个矩阵r
,其中包含a
. 然后,做乘法。因此,您可以利用矢量化的好处。
例子:
r = np.zeros(a.shape)
for i in range(a.shape[0]):
for j in range(a.shape[1]):
# compute r[i, j]
a = a * r
如果您的随机数不依赖于 的单元格a
,只需运行:
a = a * numpy.random.rand(a.shape[0], a.shape[1])
如果你希望你的随机数不改变列,那么你可以利用广播的好处:
a = a * numpy.random.rand(a.shape[0], 1)
对于迭代数组,您可以查看此文档。
访问numpy.ndarray
元素的方法是:
a[i,j]=a[i,j]*r