numpy的使用学习

numpy其他应用
0.array
1.arange
2.where
3.unique


取出某些坐标值
(Pdb) x
array([1, 2, 3, 4, 1, 2])
(Pdb) x[np.array([3,4])]
array([4, 1])


(Pdb) x = np.array([1,2,3,4,1,2])
(Pdb) np.where(x==1)
(array([0, 4]),)
返回的是坐标组成的array


(Pdb) x = np.arange(9.).reshape(3, 3)
(Pdb) x
array([[ 0.,  1.,  2.],
       [ 3.,  4.,  5.],
       [ 6.,  7.,  8.]])
(Pdb) np.where( x > 5 )
(array([2, 2, 2]), array([0, 1, 2]))
(Pdb) x[np.where( x > 3.0 )]
array([ 4.,  5.,  6.,  7.,  8.])
(Pdb) np.where(x < 5, x, -1)
array([[ 0.,  1.,  2.],
       [ 3.,  4., -1.],
       [-1., -1., -1.]])
 
unique去重
(Pdb) x = np.array([1,2,3,4,2,3,0])
(Pdb) np.unique(x)
array([0, 1, 2, 3, 4])


logic运算 logical_and
>>> np.logical_not(3)
False
>>> np.logical_not([True, False, 0, 1])
array([False,  True,  True, False], dtype=bool)




>>> for i in range(1,-1,-1):
...   print i
...
1
0


np.stack
import numpy as np
a=[[1,2,3],
  [4,5,6]]
print("列表a如下:")
print(a)


print("增加一维,新维度的下标为0")
c=np.stack(a,axis=0)
print(c)


print("增加一维,新维度的下标为1")
c=np.stack(a,axis=1)
print(c)


输出:
列表a如下:
[[1, 2, 3], [4, 5, 6]]
增加一维,新维度下标为0
[[1 2 3]
[4 5 6]]
增加一维,新维度下标为1
[[1 4]
[2 5]

[3 6]]


mask的应用  
>>> a
array([[ 0,  0,  0, 34],
       [ 0,  0,  0, 34],
       [34,  0,  0,  0],
       [34,  0,  0,  0]])
>>> b
array([[0, 0, 0, 1],
       [0, 0, 0, 1],
       [2, 0, 0, 0],
       [2, 0, 0, 0]])
>>> bb = b ==2
>>> bb
array([[False, False, False, False],
       [False, False, False, False],
       [ True, False, False, False],
       [ True, False, False, False]], dtype=bool)
>>> aa = a==34
>>>
>>> aa
array([[False, False, False,  True],
       [False, False, False,  True],
       [ True, False, False, False],
       [ True, False, False, False]], dtype=bool)
>>> cc = aa & bb
>>> cc
array([[False, False, False, False],
       [False, False, False, False],
       [ True, False, False, False],
       [ True, False, False, False]], dtype=bool)

猜你喜欢

转载自blog.csdn.net/andeyeluguo/article/details/80163396
今日推荐