我想将一个数字(例如:[0 0 1 0 0 0 0 0 0 0]
)转换为它的逻辑数组(a = 1:10
b = 3
a == b
)。
在matlab中,我们可以使用
0 0 1 0 0 0 0 0 0 0
然后,我们可以获得In [220]: import numpy as np
In [221]: a = np.arange(10)
In [222]: b = 3
In [223]: a == b
Out[223]: array([False, False, False, True, False, False, False, False, False, False], dtype=bool)
。
我怎么能在python中得到它,因为当我在python中尝试这个时,我得到了:
# add a trailing slash if not real files and no query string
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{QUERY_STRING} ^$
RewriteRule [^/]$ %{REQUEST_URI}/ [L,R=301,NE]
答案 0 :(得分:1)
之后可以将它转换为整数:
(a == b).astype(int)
答案 1 :(得分:1)
实际上,如果您使用与MATLAB
相同的输出,则需要
np.asarray(a + 1 == b).astype(np.int32)
或将a
定义为
a = np.arange(1,11)
答案 2 :(得分:0)
您可以a == b
替换np.array(a == b).astype(np.int32)
通过更改类型,它将解决您的问题。