python二维向量运算_python中二维数组的Elementwise与or或运算
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或运算相关推荐
- python 矩阵元素查找位置函数_Python中二维数组中非零元素位置的快速查找方法...
我提出这个问题的原因是我认为numpy.非零功能没有得到应有的优化.以下示例显示了这一事实:a=np.random.random((1000,1000)) a[a<0.5]=0 timeit.t ...
- 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 ...
- matlab 二维样条插值函数,matlab中二维插值函数interp2的使用详解
下面是一段产生log-normal分布的代码,以此进行说明. clear all; clc; for t=1:100 Traffic(t) =curve(t); end MaxTraffic = ma ...
- python运维课程标准_Python运维初级课程
随着信息时代的持续发展,IT 运维已经成为 IT 服务内涵中重要的组成部分.面对越来越复杂的业务以及日趋多样化的用户需求,不断扩展的 IT 应用需要合理的 IT 运维保障 IT 服务灵活便捷.安全稳定 ...
- python用语句输入一个3*3的二维矩阵_python中二维数组的建立,输入和输出
''' for循环: for i in range(x,y,dir): pass 首先这个区间是左闭右开 其次dir在省略的情况下默认为1,就是每次加一,也可以指定 python的数组: python ...
- python 二维列表获取其中元素_Python中二维列表如何获取子区域元素的组成
用过NumPY的应该都知道,在二维数组中可以方便地使用区域切片功能,如下图: 而这个功能在Python标准库的List中是不支持的,在List中只能以一维方式来进行切片操作: 但有时候我只想用一下这个 ...
- python二维数组按照第一列排序_Python中二维数组按照某行或列排序的实现方法
这篇文章主要介绍了Python实现二维数组按照某行或列排序的方法,结合具体实例形式分析了Python使用numpy模块的lexsort方法针对二维数组进行排序的常用操作技巧,需要的朋友可以参考下 本文 ...
- python二维高斯分布生成_python 多维高斯分布数据生成方式
我就废话不多说了,直接上代码吧! import numpy as np import matplotlib.pyplot as plt def gen_clusters(): mean1 = [0,0 ...
- python定位二维码_图像中二维码的检测和定位
二维码 二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的:在代码编制上巧妙地利用构成计算机内部 ...
最新文章
- from selenium.webdriver.support.ui import Select
- 使用Eclipse与Pydev开发Python
- python判断文件夹是否存在
- 如何查看python是多少位的-请问一下该怎么查看python是32位还是64位?
- Visual Studio 2019没有Setup安装项目(Microsoft Visual Studio Installer Projects)的官方解决方案
- Winform中双击DevExpress的TreeList的树形节点怎样获取当前节点
- 中断底半部:softirq、tasklet、workqueue
- hadoop:could only be replicated to 0 nodes, instead of 1
- java pdf转base64_后台返回pdf的base64编码到前端,如果pdf中有中文,不会显示问题?...
- SpringBoot2.x 中配置拦截器
- 在 CentOS7 安装 ELK
- “OpenGL.error.NullFunctionError: Attempt to call an undefined function”解决方案
- 2022华为杯研究生数学建模竞赛选题建议
- NODDI在临床研究中的应用
- python中的opencv读取数字_用python和OpenCV从图像中提取数字
- i78700和i78700k区别 i7 8700和i7 8700k 参数对比差多少
- 随机数——Random
- 【产业互联网周报】任正非再谈“云战略”;上汽集团进军芯片产业;Salesforce 2021财年净利润40.72亿美元...
- 数据结构约瑟夫环实验报告
- 最难初等平面几何题系列及其解法的一个介绍性材料
热门文章
- Windows 2008 R2 ServerCore学习点滴(1)
- 剑指offer(C++)-JZ24:反转链表(数据结构-链表)
- alpine linux安装桌面,Alpine linux硬盘安装
- winr8文件服务器,技术讨论 | Windows全版本提权之Win10系列解析
- c语言入门敲打,C语言基础三(敲打键盘、寻找资料,循环语句)
- .rpt文件内容读取java_linux第二天|shell文件/文件夹操作
- maltab利用plot画图后更改线条颜色
- HTTPRunner学习笔记
- python最新技术开锁工具_Python 自动化库介绍 PySimpleGUI
- python queue threading_Python 多线程 -thread threading Queue- 简单学习