Python 如何从数据阵列中获取每行的元素?

Python 如何从数据阵列中获取每行的元素?,python,numpy,Python,Numpy,我想获取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 访问numpy.ndarray元素的方法是: a[i,j]=a[i,j]*r 我建议您首先创建矩阵r,其中它包含a的每个单元格的相应权重。然后,做乘法运算。因此,您可以利用矢量化的好处 例如: r = np.zeros

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

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

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)