python - 二维数组的逐行 numpy.isin
问题描述
我有两个数组:
A = np.array([[3, 1], [4, 1], [1, 4]])
B = np.array([[0, 1, 5], [2, 4, 5], [2, 3, 5]])
是否可以将numpy.isin
rowwise 用于 2D 数组?我想检查是否A[i,j]
在B[i]
并将这个结果返回到C[i,j]
. 最后我会得到以下信息C
:
np.array([[False, True], [True, False], [False, False]])
太好了,如果==
操作员也可以这样做,那么我也可以将它与 PyTorch 一起使用。
编辑: 我还考虑检查不同 numpy arrays 中的相同行。这个问题有点相似,但我无法将其解决方案应用于这个略有不同的问题。
解决方案
不确定我的代码能否完美解决您的问题。请在更多测试用例上运行以确认。但我会像我在下面的代码中所做的那样利用 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]])
推荐阅读
- python - Hermitian 的 scipy.linalg.expm 不是特殊的酉
- mysql - 如何通过控制台 SQL 仅选择数字字段和仅文本字段?
- kubernetes - 我可以在 minikube 上禁用 Tls 验证吗?
- tensorflow - 如何部署 TensorFlow 概率模型
- android - 无法使用 post 方法从 API 获取所有数据
- powershell - 将字符串行放入“数组”
- linux - 为什么在其中创建新文件时目录的更改时间(ctime)会更改?
- c# - C# 在自定义对象中一起添加唯一项
- ag-grid - 在枢轴模式和服务器端渲染中显示图例的问题
- python - 将同一个 excel 中的多张工作表导入 pandas 的一个数据框中