>>> 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的博客-优快云博客
根据测试得出,对于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]