假设我们有一个数组:
[-2,4,3,-1,2]
我们如何将这个转换为在
python
中的正指示器数组,以便我们有[0,1,1,0,1]
我知道如何在MATLAB
中完成这个任务,但不知道如何在Python
中进行。
考虑到您使用了numpy标签,我猜您希望基于该库的解决方案:
import numpy as np
a = np.array([-2,4,3,-1,2])
positive_indicator = np.int64(a > 0)
np.int8
也可以使用。import numpy as np
a = np.array([-2,4,3,-1,2])
np.where(a>0,1,0)
实际上,有numpy的heaviside函数
import numpy as np
a = np.array([-2,4,3,-1,2])
np.heaviside(a, 0)
array([0., 1., 1., 0., 1.])
In [188]: L = [-2,4,3,-1,2]
In [189]: [int(i>0) for i in L]
Out[189]: [0, 1, 1, 0, 1]
>>> x = [-2,4,3,-1,2]
>>> map(lambda x: 1 if x > 0 else 0, x)
[0, 1, 1, 0, 1]
numpy
不完全等同于 Matlab 吗?这个页面认为是这样的:http://wiki.scipy.org/NumPy_for_Matlab_Users - Dan0,1
数组。谢谢。 - user4175155