numpy(四)

逻辑符 : ==  !=  <  > <=  >=

x=np.array([1,3,5])

x<3

array([True,False,,False])

(2*x) == (x*2)

array([False,False,,False])

统计个数:

 np.count_nonzero(x>6)

np.sum(x<6,axis=1) 每行有多少值小于6

np.any(x<8)  任意值是否小于8

np.all(x<8)  所有制是否小于8

布尔运算符: &  |   ^  ~

np.sum((x>4)&(x<7))

将布尔数组作为掩码:

in: x=np.arange(12).reshape((3,4))

  x[x<5]

out:  array([0,1,2,3,4,5])

花哨的索引:传递一个索引数组来一次性获得多个数组元素

  x=np.arange(12).reshape((3,4))

  [x[0,1],x[2,3]]

  也可以写作

  row=np.array([0,2])

  col=np.array([1,3])

  x[row,col]

组合使用:

x=np.arange(12).reshape((3,4))

x[2,[0,2]]

x[1:,[0,2]]

x[1:,x<7]