我想NumPy逐行比较两个数组并返回相同行的数量。
如果我使用下面的代码:
a=np.array([[1,2],[3,4]])
b=np.array([[1,4],[2,3]])
comp= np.logical_and(np.equal(a,b))
correct=numpy.sum(comp)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
ValueError: invalid number of arguments
Run Code Online (Sandbox Code Playgroud)
但是,这可行:
np.logical_and([True, False], [False, False])
Run Code Online (Sandbox Code Playgroud)
这可能很愚蠢,但我是新手NumPy。请帮忙。
我认为您想要一些类似于:
np.sum(np.all(np.equal(a, b), axis=1))
Run Code Online (Sandbox Code Playgroud)
如果您愿意,可以简化为以下内容:
np.sum(np.all(a == b, axis=1))
Run Code Online (Sandbox Code Playgroud)
这将返回1:
a = np.array([[1, 2], [3, 4]])
b = np.array([[1, 2], [5, 6]])
Run Code Online (Sandbox Code Playgroud)
但0适用于:
a = np.array([[1, 2], [3, 4]])
b = np.array([[1, 3], [5, 6]])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9022 次 |
| 最近记录: |