Python numpy XOR返回NotImplemented

时间:2014-02-03 16:23:54

标签: python numpy

在终端中使用numpy.logical_xor是可以的:

>>> numpy.logical_xor(numpy.array([0,2,0,59,1]), numpy.array([0,0,0,0,0]))
    array([False,  True, False,  True,  True], dtype=bool)

但是在IDE中:

loan_Y_default = np.logical_xor( loan_Y, np.zeros(loan_Y.shape))

“loan_Y_default”打印为“NotImplemented”。 “loan_Y”的形状为[100,1]

这里发生了什么?

1 个答案:

答案 0 :(得分:1)

你可能有一个字符串的ndarray,并且应该返回“NotImplemented”:

In [1001]: a=np.array(['1', '2'])

In [1002]: np.logical_xor(a, np.zeros(a.shape))
Out[1002]: NotImplemented

您需要做的是首先将字符串转换为数字:

In [1005]: a=a.astype(float)

In [1006]: a
Out[1006]: array([ 1.,  2.])

In [1007]: np.logical_xor(a, np.zeros(a.shape))
Out[1007]: array([ True,  True], dtype=bool)