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]
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)