python二维数组遍历_在Python中高效地遍历numpy矩阵中的每一列

Python中有一个非常大的二维数组,使用numpy库。我想要有效地遍历每一列,并且每次检查元素是否与0不同以在每列中计算它们的数量。在Python中高效地遍历numpy矩阵中的每一列

假设我有以下矩阵。

M = array([[1,2], [3,4]])

下面的代码,使我们的每一行有效地行走,例如(这是不是我打算做当然!):

for row_idx, row in enumerate(M):

print "row_idx", row_idx, "row", row

for col_idx, element in enumerate(row):

print "col_idx", col_idx, "element", element

# update the matrix M: square each element

M[row_idx, col_idx] = element ** 2

然而,在我来说,我想因为我有一个非常大的矩阵,所以可以有效地遍历每列。

我听说有实现这个使用numpy的一个非常有效的方式,而不是我当前的代码:提前

curr_col, curr_row = 0, 0

while (curr_col < numb_colonnes):

result = 0

while (curr_row < numb_rows):

# If different from 0

if (M[curr_row][curr_col] != 0):

result += 1

curr_row += 1

.... using resul

你可能感兴趣的:(python二维数组遍历)