如何在python中将整数转换为逻辑数组

时间:2017-04-04 11:10:44

标签: python numpy

我想将一个数字(例如:[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]

3 个答案:

答案 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) 通过更改类型,它将解决您的问题。