python - 如何将数组转换为 0 或 1 个元素?

标签 python arrays python-3.x numpy

[[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 1 1 1 0 0 0 0 0 1 1 0 0 3 3 0 0 0 4 4 0 0 0 5 5 5 5 0 0 2 2 2 2 2 0 2 2 2 2 2 0 0 0 6 6 6 6 6 6 0 6 6 6 6]
 [0 1 1 0 0 0 0 0 0 0 0 0 0 3 3 0 0 0 4 4 0 0 5 5 5 5 5 5 0 2 2 2 2 2 2 2 2 2 2 2 2 0 0 6 6 6 6 6 6 6 6 6 6 6]
 [1 1 1 0 0 0 0 0 0 0 0 0 0 3 3 0 0 0 4 4 0 5 5 5 0 0 5 5 5 0 2 2 0 0 2 2 0 0 0 2 2 0 0 6 6 0 0 6 6 6 0 0 6 6]
 [1 1 1 0 0 0 0 0 0 0 0 0 0 3 3 0 0 0 4 4 0 5 5 5 5 0 0 0 0 0 2 2 0 2 2 2 0 0 0 2 2 2 0 6 6 0 0 0 6 6 0 0 6 6]
 [1 1 1 0 0 0 0 0 0 0 0 0 0 3 3 0 0 0 4 4 0 0 5 5 5 5 5 5 0 0 2 2 0 2 2 2 0 0 0 2 2 2 0 6 6 0 0 0 6 6 0 0 6 6]
 [0 1 1 0 0 0 0 0 0 7 0 0 0 3 3 0 0 0 4 4 0 0 0 0 5 5 5 5 5 0 2 2 0 2 2 2 0 0 0 2 2 2 0 6 6 0 0 0 6 6 0 0 6 6]]

我想要的是将每个非 0 数字的值更改为 1。

我能做什么:

for element in list:
    for sub_element in element:
        if sub_element != 0:
           sub_element = 1

我如何在 numpy 中做到这一点?

最佳答案

如果你的 numpy 数组被命名为 a,你可以使用这样的东西:

a[a!=0.0] = 1

证明:

>>> a = numpy.array([0.0, 1.0, 2.0, 3.0, 0.0, 10.0])
>>> a
array([  0.,   1.,   2.,   3.,   0.,  10.])
>>> a[a!=0.0] = 1
>>> a
array([ 0.,  1.,  1.,  1.,  0.,  1.])

这是有效的,因为 a != 0.0 将返回具有 True/False 值的数组 满足条件的地方,然后仅对那些执行分配 有 True 的元素:

>>> a != 0
array([False,  True,  True,  True, False,  True], dtype=bool)

此外,这适用于任何其他条件。

关于python - 如何将数组转换为 0 或 1 个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50926626/

相关文章:

python - 如何设计我的正则表达式脚本来抓取非常特定的属性,例如颜色?

python - 分多次?

php - 选择具有值条件的数组的随机索引

arrays - 检查经典 asp 数组中的变量是否存在

python - 函数如何在没有函数调用的情况下启动?

python - sympy : resolving Euler's Identity 中的复数

python - 计算 python 中的间隙数

mysql - 在一个数据库字段中存储一组 id VS 分解为一个连接表 - 使用什么 SQL?

python - 如何在 python 中编辑请求以添加 TLS 设置?

python - 如何在库函数中使用异步事件循环