对numpy中布尔型数组的处理方法详解

布尔数组的操作方式主要有两种,any用于查看数组中是否有True的值,而all则用于查看数组是否全都是True。

如果用于计算的时候,布尔量会被转换成1和0,True转换成1,False转换成0。通过这种方法可以统计一个布尔量数组中True的个数。

如果普通的数组用于布尔类操作,也会有类似的数据类型转换。其中,非0的数值转换成True,而0则被转换成False。

In [30]: arr = randn(100)

In [31]: arr

Out[31]:

array([ 1.38474589, -1.51489066,-0.81053544, 1.47875437, -0.53638642,

0.09856211, 1.39931492,-0.04226221, -0.66064836, 0.31829036,

-0.33759781, -0.35793518, 0.66974626, 1.5989403 , 0.98361013,

0.0209635 , -0.56165749, 0.59473585, -0.06956145, -0.50384339,

-0.51207066, -0.41794862, 2.12230002, 0.55457739,-0.83156748,

-1.5609328 , -0.72414846, -0.24781724, 2.1523153 , -1.35802819,

1.75644258, 1.66794885,-0.30311682, 0.29060339, -0.18960502,

-0.91537419, -0.10277047, 0.06899507, 0.1535801 , 0.5281243 ,

-0.49951785, 0.26074368,-0.04215356, -0.29765383, -0.77197024,

0.72333408, -0.9656567 , -0.04391422, -0.53504402, -0.3695063 ,

-0.57323435, -0.09923021, -0.8819845 , -0.31904228, -0.34805511,

-1.39372713, -0.32243494, 1.18074562, -0.77189808, 0.14011272,

-0.12029721, 0.91164114, 0.3052017 , -0.45764259, 0.73858783,

0.67327449, 0.84294828, 0.54471476, 0.8300902 , -0.21001427,

-0.8247486 , 0.29870036,-0.71204709, 0.46825521, -0.76507537,

-0.67755756, 1.38798882, 0.44536155, 0.41104869, -0.24990925,

-0.38003931, 1.13801121, 0.19761371, 0.84638972, 1.05816446,

-0.03591458, 2.35862529, 1.69183501, 0.77490116, -1.47556029,

-0.54755786, -0.93202001, 0.69240349, -0.02720469, 0.49363318,

0.55501151, -1.67184849, -1.61725652, -0.95964244, 0.12177363])

In [32]: arr > 0

Out[32]:

array([ True, False, False, True, False, True, True, False, False,

True, False, False, True, True, True, True, False, True,

False, False, False, False, True, True, False, False, False,

False, True, False, True, True, False, True, False, False,

False, True, True, True, False, True, False, False,False,

True, False, False, False, False, False, False, False, False,

False, False, False, True,False, True, False, True, True,

False, True, True, True, True, True, False, False, True,

False, True, False, False, True, True, True, False, False,

True, True, True, True, False, True, True, True, False,

False, False, True, False, True, True, False, False, False, True],dtype=bool)

In [33]: (arr > 0).sum()

Out[33]: 46

In [34]: arr.any()

Out[34]: True

In [35]: arr.all()

Out[35]: True

In [36]: (arr > 0).all()

Out[36]: False

以上这篇对numpy中布尔型数组的处理方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

您可能感兴趣的文章:

  • Python Numpy 数组的初始化和基本操作
  • 深入理解NumPy简明教程---数组1
  • numpy自动生成数组详解
时间: 2018-04-15

numpy自动生成数组详解

1 np.arange(),类似于range,通过指定开始值,终值和步长来创建表示等差数列的一维数组,注意该函数和range一样结果不包含终值. >>> np.arange(10) array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> np.arange(0,1,0.1) array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]) >>> 2 np.linspace

深入理解NumPy简明教程---数组1

目前我的工作是将NumPy引入到Pyston中(一款Dropbox实现的Python编译器/解释器).在工作过程中,我深入接触了NumPy源码,了解其实现并提交了PR修复NumPy的bug.在与NumPy源码以及NumPy开发者打交道的过程中,我发现当今中文NumPy教程大部分都是翻译或参考英文文档,因此导致了许多疏漏.比如NumPy数组中的broadcast功能,几乎所有中文文档都翻译为"广播".而NumPy的开发者之一,回复到"broadcast is a compoun

Python Numpy 数组的初始化和基本操作

Python 是一种高级的,动态的,多泛型的编程语言.Python代码很多时候看起来就像是伪代码一样,因此你可以使用很少的几行可读性很高的代码来实现一个非常强大的想法. 一.基础: Numpy的主要数据类型是ndarray,即多维数组.它有以下几个属性: ndarray.ndim:数组的维数 ndarray.shape:数组每一维的大小 ndarray.size:数组中全部元素的数量 ndarray.dtype:数组中元素的类型(numpy.int32, numpy.int16, and num

对python numpy数组中冒号的使用方法详解

python中冒号实际上有两个意思:1.默认全部选择:2. 指定范围. 下面看例子 定义数组 X=array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16],[17,18,19,20]]) 输出为5x4二维数组 第一种意思,默认全部选择: 如,X[:,0]就是取矩阵X的所有行的第0列的元素,X[:,1] 就是取所有行的第1列的元素 第二种意思,指定范围,注意这里含左不含右 如,X[:, m:n]即取矩阵X的所有行中的的第m到n-1列数据,含左不含右

python numpy数组的索引和切片的操作方法

NumPy - 简介 NumPy 是一个 Python 包. 它代表 "Numeric Python". 它是一个由多维数组对象和用于处理数组的例程集合组成的库. Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的. 也开发了另一个包 Numarray ,它拥有一些额外的功能. 2005年,Travis Oliphant 通过将 Numarray 的功能集成到 Numeric 包中来创建 NumPy 包. 这个开源项目有很多贡献者. NumPy 操作 使用Nu

Python numpy数组转置与轴变换

这篇文章主要介绍了Python numpy数组转置与轴变换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 矩阵的转置 >>> import numpy as np >>> arr=np.arange(15).reshape((3,5)) >>> arr array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]]) >>&

Python Numpy数组扩展repeat和tile使用实例解析

这篇文章主要介绍了Python Numpy数组扩展repeat和tile使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 numpy.repeat 官方文档 numpy.repeat(a, repeats, axis=None) Repeat elements of an array. 可以看出repeat函数是操作数组中的每一个元素,进行元素的复制. 例如: >>> a = np.arange(3) >>>

python numpy数组复制使用实例解析

这篇文章主要介绍了python numpy数组复制使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在使用python时我们经常会处理数组,有的时候是复制有的时候不是,这里也是初学者最容易误解的地方,简单讲,可以分为下面三种情况: 不是复制的情况(No Copy at All) import numpy as np a = np.arange(12) #a为一个序列 b = a #没有创建新的对象 print('a的shape为:',

python numpy数组中的复制知识解析

这篇文章主要介绍了python numpy数组中的复制知识解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 vector = numpy.array([5, 10, 15, 20]) equal_to_ten_or_five = (vector == 10) | (vector == 5) vector[equal_to_ten_or_five] = 50 print(vector) 第一次看到这个的时候一脸懵逼,后来分析了下懂了下面记录下,

Java编程中二维数组的初始化和基本操作实例

Java二维数组的声明和初始化 1.二维数组可以看成以数组为元素的数组: 2.Java中二维数组的声明和初始化应按照从高维到低维的顺序进行. 实例: 静态初始化: Array2.java: 程序代码 public class Array2 { public static void main(String args[]) { int a[][] = {{1,2},{3,4,5,6},{7,8,9}} ; for(int i=0 ; i <a.length ; i++) { for(int j=0

Python遍历numpy数组的实例

在用python进行图像处理时,有时需要遍历numpy数组,下面是遍历数组的方法: [rows, cols] = num.shape for i in range(rows - 1): for j in range(cols-1): print(num[j, i]) 以上这篇Python遍历numpy数组的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴趣的文章: Python Numpy 数组的初始化和基本操作 python中numpy包使用教程之

Numpy数组的保存与读取方法

1. 数组以二进制格式保存 np.save和np.load是读写磁盘数组数据的两个主要函数.默认情况下,数组以未压缩的原始二进制格式保存在扩展名为npy的文件中,以数组a为例 np.save("filename.npy",a) b = np.load("filename.npy") 利用这种方法,保存文件的后缀名字一定会被置为.npy 2. 存取文本文件 使用 np.savetxt 和 np.loadtxt 只能读写 1 维和 2 维的数组 np.savetxt:将