如何将整数转换为Python中的逻辑数组
问题描述:
我想将一个数字(例如:3
)转换为它的逻辑数组([0 0 1 0 0 0 0 0 0 0]
)。 在MATLAB中,我们可以使用如何将整数转换为Python中的逻辑数组
a = 1:10
b = 3
a == b
那么,我们可以得到0 0 1 0 0 0 0 0 0 0
。 我怎样才能得到它的蟒蛇,因为当我尝试这在Python中,我得到了:
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)
答
实际上,如果你蚂蚁的输出作为MATLAB
相同,则需要
np.asarray(a + 1 == b).astype(np.int32)
,或者定义a
作为
a = np.arange(1,11)
在MATLAB中,该逻辑阵列被表示为0和1,而在Python/NumPy,它们被赋予True和False来表示。人们可能会建议你将类型转换为int dtype,但这不再是一个布尔/逻辑数组。 – Divakar