Ana*_*swy 1 python arrays numpy
我是第一次使用 numpy。我正在努力实现以下目标:
有2个数组:
a = np.array([[1, 3], [2, 5], [1, 2], [2, 1], [1,6]])
b = np.array([[3, 5], [1, 2]])
Run Code Online (Sandbox Code Playgroud)
我需要检查 array 中的任何对(或换句话说一行)是否以相同的顺序b存在于 array 中a(如,[1, 2]不被视为与 相同[2, 1])
上面的例子应该返回 True,因为 和a都b包含[1, 2]
我试过了:
for [x, y] in b
if [x, y] in a
Run Code Online (Sandbox Code Playgroud)
和:
if (a == b).all(1).any() # --> This throws "AttributeError: 'bool' object has no attribute 'all'"
Run Code Online (Sandbox Code Playgroud)
但失败了。
提前致谢
让我们以 numpyic 的方式来做(不建议使用 numpy 循环)。添加一个维度,None让 numpy 进行正确的广播,然后使用any和all沿着正确的轴:
(a==b[:,None]).all(-1).any()
Run Code Online (Sandbox Code Playgroud)
相关样本输入的输出:
True
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1748 次 |
| 最近记录: |