如何将numpy矩阵转换为布尔矩阵?

use*_*289 6 python numpy

我在numpy中有一个焦虑矩阵,它有0和非0值.有没有办法轻松将其转换为布尔矩阵?

谢谢.

use*_*ica 12

numpy.array(old_matrix, dtype=bool)
Run Code Online (Sandbox Code Playgroud)

或者,

old_matrix != 0
Run Code Online (Sandbox Code Playgroud)

第一个版本是对布尔的元素强制.类似的结构将用于转换为其他数据类型.第二个版本是0的元素比较.它涉及较少的输入,但在我计时时运行稍慢.您使用哪个取决于您; 我可能会根据"转换为布尔值"或"比较为0"来决定是否对我所追求的更好的概念性描述.


seb*_*erg 8

你应该使用array.astype(bool)(或array.astype(dtype=bool)).也适用于矩阵.


Has*_*tax 5

.astype(dtype)

https://docs.scipy.org/doc/numpy-1.13.0/reference/ generated/numpy.ndarray.astype.html

很高兴这适用于类似二进制的浮点数,包括0.1.

old_matrix.astype(bool)
Run Code Online (Sandbox Code Playgroud)