python - 在 3D np 数组中搜索 1D np 数组
问题描述
在以下示例中,我尝试在 3D np 数组中搜索 1D np 数组。
import numpy as np
a = np.array([[[1, 2], [3, 4]],
[[5, 6], [3, 2]],
[[2, 1], [7, 8]]])
b = np.array([1, 2])
print(np.all(a == b, axis=1))
# print(np.where(np.all(a == b, axis=(1,1))))
我得到的结果如下:
[[False False]
[False False]
[False False]]
这意味着我得到了布尔表的正确尺寸,但由于某种原因,结果不是预期的。
先感谢您!
解决方案
你需要axis=2
,即第三轴:
np.all(a == b, axis=2)
[[ True False]
[False False]
[False False]]
或者您可以指定axis=-1
最后一个轴:
np.all(a == b, axis=-1)
[[ True False]
[False False]
[False False]]
推荐阅读
- prolog - 使用序言的运行长度编码
- c++ - asio set_password_callback() 方法是什么?
- ios - react-native run-ios 构建失败:CompileC RCTBaseTextInputView.o
- scala - Scala 测试错误:@Rule 必须是公开的
- r - == 给出奇怪的结果 R
- sharepoint - 使用 CSOM 在 Sharepoint 2019 上查询项目权限
- angular - Angular 无法将结果转换为对象 - 是 IActionResult 吗?
- excel - 将命名范围值分配给变量(Excel VBA) - 新手
- c++ - 手动编译 GLFW “未选择支持的窗口创建 API”
- angular - 异步管道的Angular 9过滤结果