前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[python3 Numpy 填坑之旅]使用Numpy广播机制实现数组与数字比较大小的问题

[python3 Numpy 填坑之旅]使用Numpy广播机制实现数组与数字比较大小的问题

作者头像
小宋是呢
发布2019-06-27 11:42:39
1.5K0
发布2019-06-27 11:42:39
举报
文章被收录于专栏:深度应用深度应用

在使用Numpy开发的时候,遇到一个问题,需要Numpy数组的每一个元素都与一个数进行比较,返回逻辑数组。

我们在使用Numpy计算是可以直接使用数组与数字运算,十分方便。当我尝试使用广播机制来处理数组与数字比较大小问题的时候发现广播机制同样适用,以下是测试代码:

  • 示例一,二维数组与数字大小比较:
代码语言:javascript
复制
import numpy as np

a = np.linspace(1,12,12).reshape(3,-1)
print("a is /n", a)
b = 3
c = a > b
print("c is /n", c)

结果:由此可以看出c被广播成了一个3x4,各元素值都为3的二维数组

代码语言:javascript
复制
a is
 [[ 1.  2.  3.  4.]
 [ 5.  6.  7.  8.]
 [ 9. 10. 11. 12.]]
c is
 [[False False False  True]
 [ True  True  True  True]
 [ True  True  True  True]]
  • 实例二,二维数组与一维数组大小比较:
代码语言:javascript
复制
import numpy as np

a = np.linspace(1,12,12).reshape(4,-1)
d = np.linspace(2,4,3)
print("a is \n", a)
print("d is \n", d)
e = a > d
print("e is \n",e )

结果:表明d被广播成了3x4的二维数组,列向量分别为2. 3. 4.

代码语言:javascript
复制
a is
 [[ 1.  2.  3.]
 [ 4.  5.  6.]
 [ 7.  8.  9.]
 [10. 11. 12.]]
d is
 [2. 3. 4.]
e is
 [[False False False]
 [ True  True  True]
 [ True  True  True]
 [ True  True  True]]

其他的广播内容可以参考这个博客:

https://cloud.tencent.com/developer/article/1451460

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年11月24日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档