二维数组的 Rowwise numpy.isin

基督教

我有两个数组:

A = np.array([[3, 1], [4, 1], [1, 4]])
B = np.array([[0, 1, 5], [2, 4, 5], [2, 3, 5]])

是否可以将numpy.isinrowwise 用于二维数组?我想检查是否A[i,j]B[i]并将此结果返回到C[i,j]. 最后我会得到以下信息C

np.array([[False, True], [True, False], [False, False]])

太好了,如果这对==操作员也可行,那么我也可以将它与 PyTorch 一起使用。

编辑:我还考虑检查不同 numpy 数组中的相同行这个问题有点相似,但我无法将其解决方案应用于这个略有不同的问题。

yan ziselman

不确定我的代码是否完美地解决了您的问题。请在更多测试用例上运行它以确认。但我会像我在下面的代码中所做的那样利用 numpys 向量外运算能力(类似于向量外积)。如果它按预期工作,它也应该与 pytorch 一起工作。

import numpy as np
A = np.array([[3, 1], [4, 1], [1, 4]])
B = np.array([[0, 1, 5], [2, 4, 5], [2, 3, 5]])

AA = A.reshape(3, 2, 1)
BB = B.reshape(3, 1, 3)
(AA == BB).sum(-1).astype(bool)

输出:

array([[False,  True],
       [ True, False],
       [False, False]])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章