只是想从@mgilson那里得到答案。你的想法是对的,首先你这样做了:a = np.array([[1,2],[3,4]])
b = np.array([[1,4],[2,3]])
np.equal(a, b)
>>>array([[ True, False],
[False, False]], dtype=bool)
因此,如果传入上面的数组,将得到以下结果:np.logical_and(np.array([[True, False], [False, False]]))
Traceback (most recent call last):
File "", line 1, in
ValueError: invalid number of arguments
这是因为np.array([[True,False],[False,True]])是一个数组,也就是说,您只给出了一个x1值,而没有给出x2值。这就是为什么回溯告诉您“无效参数数”。你需要给这个函数两个值。
@zero323正确地给了您一个解决方案,就是将值解压到函数中。更具体地说,将第一个数组值[True,False]传递给x1,将[False,False]传递给x2:>>> np.logical_and(*np.equal(a, b))
array([False, False], dtype=bool)