首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >N维和(N)-dimensional numpy阵列的“小于/大于”比较

N维和(N)-dimensional numpy阵列的“小于/大于”比较
EN

Stack Overflow用户
提问于 2016-01-05 18:11:10
回答 1查看 2.7K关注 0票数 2

给定两个数组a=np.array([[1, 3], [3, 4]])b=np.array([2, 2])

目标:通过像np.array([False, True])这样的操作获取数组a>b。也就是说,比较行(如果每对元素都满足>运算符else False ),而不是按元素进行比较(例如,i想要get np.array([[False, True], [True, True]]))。

类似于三维和(可选)N维阵列.例如。

代码语言:javascript
复制
a1 = np.array([[[1, 2, 1], [2, 3, 2]], [[3, 4, 3], [4, 3, 4]]])
b1 = np.array([1, 1, 1])

a1 > b1这样的操作必须返回np.array([[False, True], [True, True]])

该怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-05 18:11:10

解决方案:另外使用numpy.all函数。

我的示例的用法:

代码语言:javascript
复制
a=np.array([[1, 3], [3, 4]])
b=np.array([2, 2])
numpy.all(a > b, axis=1)

结果:

代码语言:javascript
复制
array([False,  True], dtype=bool)

代码语言:javascript
复制
a1 = np.array([[[1, 2, 1], [2, 3, 2]], [[3, 4, 3], [4, 3, 4]]])
b1 = np.array([1, 1, 1])
numpy.all(a1 > b1, axis=2)

结果:

代码语言:javascript
复制
array([[False,  True],
       [ True,  True]], dtype=bool)

numpy.all还允许传递多个轴(作为it的元组),因此它可以用于任何维度。

此外,numpy允许使用numpy数组的ndarray.all方法。然后将示例分别重写为(a>b).all(axis=1)(a1>b1).all(axis=2)

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34618456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档