0

我想获取 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
4

2 回答 2

2

我建议您首先创建一个矩阵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) 

对于迭代数组,您可以查看此文档

于 2013-06-21T12:34:45.797 回答
0

访问numpy.ndarray元素的方法是:

a[i,j]=a[i,j]*r
于 2013-06-21T12:32:03.170 回答