numpy有logical_or、logical_xor和{},它们有一个reduce方法>> np.logical_or.reduce(a, axis=0)

array([ True, False, False, False, False, False, False, False], dtype=bool)

正如您在示例中看到的,它们强制使用bool数据类型,因此,如果您需要uint8的话,您必须在最后进行转换。在

因为bool是以字节形式存储的,所以可以使用廉价的viewcasting。在

使用axis关键字,您可以选择要缩小的轴。可以选择多个轴

^{pr2}$

keepdims关键字对于广播很有用,例如查找数组b中行和列的所有“交叉”>=2>>> b = np.random.randint(0,10, (4, 4))

>>> b

array([[0, 5, 3, 4],

[4, 1, 5, 4],

[4, 5, 5, 5],

[2, 4, 6, 1]])

>>> rows = np.logical_and.reduce(b >= 2, axis=1, keepdims=True)

# keepdims=False (default) -> rows.shape==(4,) keepdims=True -> rows.shape==(4, 1)

>>> cols = np.logical_and.reduce(b >= 2, axis=0, keepdims=True)

# keepdims=False (default) -> cols.shape==(4,) keepdims=True -> cols.shape==(1, 4)

>>> rows & cols # shapes (4, 1) and (1, 4) are broadcast to (4, 4)

array([[False, False, False, False],

[False, False, False, False],

[False, False, True, False],

[False, False, False, False]], dtype=bool)

注意,&运算符有点滥用,它代表bitwise_and。因为对bools的效果是一样的(事实上,在这个地方尝试使用and会引发一个异常),所以这是一种常见的做法

正如@ajcr指出的,流行的np.any和{}是{}和{}的简写。

不过,请注意,两者之间存在细微的差异>>> np.logical_or.reduce(a)

array([ True, False, False, False, False, False, False, False], dtype=bool)

>>> np.any(a)

True

或者:

如果您想坚持使用uint8,并且知道您的所有条目都是0和1,那么可以使用bitwise_and、bitwise_or和{}>>> np.bitwise_or.reduce(a, axis=0)

array([1, 0, 0, 0, 0, 0, 0, 0], dtype=uint8)

python二维向量运算_python中二维数组的Elementwise与or或运算相关推荐

  1. python 矩阵元素查找位置函数_Python中二维数组中非零元素位置的快速查找方法...

    我提出这个问题的原因是我认为numpy.非零功能没有得到应有的优化.以下示例显示了这一事实:a=np.random.random((1000,1000)) a[a<0.5]=0 timeit.t ...

  2. python二维数组表示_python中二维数组中的数如何表达

    python二维数组如何挑选出一定范围的数值? 比如说有一个二维数组 13.1 13.2 13.3 13.4 15.5 15.0 45.2 22.3 22.3 3 [j for i in a for ...

  3. matlab 二维样条插值函数,matlab中二维插值函数interp2的使用详解

    下面是一段产生log-normal分布的代码,以此进行说明. clear all; clc; for t=1:100 Traffic(t) =curve(t); end MaxTraffic = ma ...

  4. python运维课程标准_Python运维初级课程

    随着信息时代的持续发展,IT 运维已经成为 IT 服务内涵中重要的组成部分.面对越来越复杂的业务以及日趋多样化的用户需求,不断扩展的 IT 应用需要合理的 IT 运维保障 IT 服务灵活便捷.安全稳定 ...

  5. python用语句输入一个3*3的二维矩阵_python中二维数组的建立,输入和输出

    ''' for循环: for i in range(x,y,dir): pass 首先这个区间是左闭右开 其次dir在省略的情况下默认为1,就是每次加一,也可以指定 python的数组: python ...

  6. python 二维列表获取其中元素_Python中二维列表如何获取子区域元素的组成

    用过NumPY的应该都知道,在二维数组中可以方便地使用区域切片功能,如下图: 而这个功能在Python标准库的List中是不支持的,在List中只能以一维方式来进行切片操作: 但有时候我只想用一下这个 ...

  7. python二维数组按照第一列排序_Python中二维数组按照某行或列排序的实现方法

    这篇文章主要介绍了Python实现二维数组按照某行或列排序的方法,结合具体实例形式分析了Python使用numpy模块的lexsort方法针对二维数组进行排序的常用操作技巧,需要的朋友可以参考下 本文 ...

  8. python二维高斯分布生成_python 多维高斯分布数据生成方式

    我就废话不多说了,直接上代码吧! import numpy as np import matplotlib.pyplot as plt def gen_clusters(): mean1 = [0,0 ...

  9. python定位二维码_图像中二维码的检测和定位

    二维码 二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的:在代码编制上巧妙地利用构成计算机内部 ...

最新文章

  1. from selenium.webdriver.support.ui import Select
  2. 使用Eclipse与Pydev开发Python
  3. python判断文件夹是否存在
  4. 如何查看python是多少位的-请问一下该怎么查看python是32位还是64位?
  5. Visual Studio 2019没有Setup安装项目(Microsoft Visual Studio Installer Projects)的官方解决方案
  6. Winform中双击DevExpress的TreeList的树形节点怎样获取当前节点
  7. 中断底半部:softirq、tasklet、workqueue
  8. hadoop:could only be replicated to 0 nodes, instead of 1
  9. java pdf转base64_后台返回pdf的base64编码到前端,如果pdf中有中文,不会显示问题?...
  10. SpringBoot2.x 中配置拦截器
  11. 在 CentOS7 安装 ELK
  12. “OpenGL.error.NullFunctionError: Attempt to call an undefined function”解决方案
  13. 2022华为杯研究生数学建模竞赛选题建议
  14. NODDI在临床研究中的应用
  15. python中的opencv读取数字_用python和OpenCV从图像中提取数字
  16. i78700和i78700k区别 i7 8700和i7 8700k 参数对比差多少
  17. 随机数——Random
  18. 【产业互联网周报】任正非再谈“云战略”;上汽集团进军芯片产业;Salesforce 2021财年净利润40.72亿美元...
  19. 数据结构约瑟夫环实验报告
  20. 最难初等平面几何题系列及其解法的一个介绍性材料

热门文章

  1. Windows 2008 R2 ServerCore学习点滴(1)
  2. 剑指offer(C++)-JZ24:反转链表(数据结构-链表)
  3. alpine linux安装桌面,Alpine linux硬盘安装
  4. winr8文件服务器,技术讨论 | Windows全版本提权之Win10系列解析
  5. c语言入门敲打,C语言基础三(敲打键盘、寻找资料,循环语句)
  6. .rpt文件内容读取java_linux第二天|shell文件/文件夹操作
  7. maltab利用plot画图后更改线条颜色
  8. HTTPRunner学习笔记
  9. python最新技术开锁工具_Python 自动化库介绍 PySimpleGUI
  10. python queue threading_Python 多线程 -thread threading Queue- 简单学习