首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何通过矩阵numpy向量化循环

如何通过矩阵numpy向量化循环
EN

Stack Overflow用户
提问于 2019-06-25 23:49:20
回答 2查看 1.5K关注 0票数 6
代码语言:javascript
复制
import numpy as np

mat = np.random.randint(2, size=(100000,100))

我希望遍历这个矩阵,如果每个row完全包含1或0,我希望将state变量更改为该值。state的初始值为0。

代码语言:javascript
复制
state = 0

for row in mat:
    if set(row) == {1}:
        state = 1
    elif set(row) == {0}:
        state = 0
    else:
        row[:] = state

谁能告诉我如何利用numpy来向量化这个循环并加速它?

因此,对于示例输入

代码语言:javascript
复制
array([[0, 1, 0],
       [0, 0, 1],
       [1, 1, 1],
       [0, 0, 1],
       [0, 0, 1]])

在这种情况下,预期输出将是

代码语言:javascript
复制
array([[0, 0, 0],
       [0, 0, 0],
       [1, 1, 1],
       [1, 1, 1],
       [1, 1, 1]])
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56757804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档