python中numpy数组的布尔运算

python中numpy数组的布尔运算,第1张


>>> x[x>0.5] #将它当做索引传回原数组,只获取那些>0.5的
array([ 0.5993579 ,  0.68693925,  0.74380945,  0.72345401,  0.64499497,
        0.80924589])
>>> np.all(x<1) #测试x<1所返回的数组(传给all)中所有元素是否都等价True
True
>>> a=np.array([1,2,3])
>>> b=np.array([3,2,1])
>>> a>b #对应位置作比较
array([False, False,  True], dtype=bool)
>>> a[a==b] #获取一样的
array([2])
>>> np.any([1,2,3,4]) #如果传入的数组中有至少一个元素等价True都返回True
True

参考以上文献【Python学习笔记】19:numpy数组布尔运算和切片_LauZyHou的博客-CSDN博客

根据测试得出,对于X[判断语句],将判断语句的输出的true or false做为索引返回数组切片,numpy具有泛化能力

注意数组和列表区别,列表打印后输出有逗号如[1,2,3],数组没有如[1 2 3]

import numpy as np
y=(1, 1, 1, 1)
x=(2,3,4,5)
x=np.array(x)
y=np.array(y)
print(y)
print(y==1)#数组泛化
print(x[y==1])

输出结果如下:

[1 1 1 1]
[ True  True  True  True]
[2 3 4 5]

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/796875.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-06
下一篇2022-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存