numpy 測試 常用函式
阿新 • • 發佈:2019-02-05
import numpy as np
# numpy 基本屬性
array = np.array([[1,2,3],[4,5,6]])
print(array)
print('number of dim:', array.ndim)
print('shape:',array.shape)
print('size:',array.size)
[[1 2 3] [4 5 6]] ('number of dim:', 2) ('shape:', (2, 3)) ('size:', 6)
#建立array import numpy as np # 沒有逗號分隔 array = np.array([[1,2,3],[4,5,6]],dtype = np.int) print array.dtype print np.zeros((3,4)) print np.ones((3,4),dtype = np.int16) print np.empty((3,4)) print np.arange(10,20,2) print np.arange(12).reshape(3,4) print np.linspace(1,10,5) print np.linspace(1,10,6).reshape(2,3)
int64 [[ 0. 0. 0. 0.] [ 0. 0. 0. 0.] [ 0. 0. 0. 0.]] [[1 1 1 1] [1 1 1 1] [1 1 1 1]] [[ 0.00000000e+000 4.94065646e-324 9.88131292e-324 1.48219694e-323] [ 1.97626258e-323 2.47032823e-323 2.96439388e-323 3.45845952e-323] [ 3.95252517e-323 4.44659081e-323 4.94065646e-323 5.43472210e-323]] [10 12 14 16 18] [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] [ 1. 3.25 5.5 7.75 10. ] [[ 1. 2.8 4.6] [ 6.4 8.2 10. ]]
#numpy 基礎運算 import numpy as np a = np.array([10,20,30,40]) b = np.arange(4) print (a,b) print a-b print a+b print a*b print b**2 print 10*np.sin(a) print b<3 print b==3 c = np.array([[1,1], [1,2]]) d = np.arange(4).reshape(2,2) print c print d print c*d print np.dot(c,d) print c.dot(d) e = np.random.random((2,4)) print e print np.sum(e) print np.min(e) print np.max(e) print np.sum(e, axis =1) print np.min(e,axis =1)
(array([10, 20, 30, 40]), array([0, 1, 2, 3])) [10 19 28 37] [10 21 32 43] [ 0 20 60 120] [0 1 4 9] [-5.44021111 9.12945251 -9.88031624 7.4511316 ] [ True True True False] [False False False True] [[1 1] [1 2]] [[0 1] [2 3]] [[0 1] [2 6]] [[2 4] [4 7]] [[2 4] [4 7]] [[ 0.98756464 0.41200785 0.21970142 0.43786931] [ 0.69348376 0.58889462 0.11398184 0.78221485]] 4.23571829385 0.113981841989 0.987564641156 [ 2.05714322 2.17857508] [ 0.21970142 0.11398184]
# numpy 基礎運算
A = np.arange(14,2,-1).reshape(3,4)
print A
print np.argmin(A)
print np.argmax(A)
print np.mean(A)
print A.mean()
print np.average(A)
print np.median(A)
print np.cumsum(A)
print np.diff(A)
print np.nonzero(A)
print np.sort(A)
print (A.T)
print ((A.T).dot(A))
print np.clip(A,5,9)
print (np.mean(A,axis=1))
[[14 13 12 11] [10 9 8 7] [ 6 5 4 3]] 11 0 8.5 8.5 8.5 8.5 [ 14 27 39 50 60 69 77 84 90 95 99 102] [[-1 -1 -1] [-1 -1 -1] [-1 -1 -1]] (array([0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2]), array([0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3])) [[11 12 13 14] [ 7 8 9 10] [ 3 4 5 6]] [[14 10 6] [13 9 5] [12 8 4] [11 7 3]] [[332 302 272 242] [302 275 248 221] [272 248 224 200] [242 221 200 179]] [[9 9 9 9] [9 9 8 7] [6 5 5 5]] [ 12.5 8.5 4.5]
[[14 13 12 11]
[10 9 8 7]
[ 6 5 4 3]]
11
0
8.5
8.5
8.5
8.5
[ 14 27 39 50 60 69 77 84 90 95 99 102]
[[-1 -1 -1]
[-1 -1 -1]
[-1 -1 -1]]
(array([0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2]), array([0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3]))
[[11 12 13 14]
[ 7 8 9 10]
[ 3 4 5 6]]
[[14 10 6]
[13 9 5]
[12 8 4]
[11 7 3]]
[[332 302 272 242]
[302 275 248 221]
[272 248 224 200]
[242 221 200 179]]
[[9 9 9 9]
[9 9 8 7]
[6 5 5 5]]
[ 12.5 8.5 4.5]
[ 3 4 5 6 7 8 9 10 11 12 13 14] 6 [[ 3 4 5 6] [ 7 8 9 10] [11 12 13 14]] [11 12 13 14] 8 8 [11 12 13 14] [ 4 8 12] [8 9] [3 4 5 6] [ 7 8 9 10] [11 12 13 14] [ 3 7 11] [ 4 8 12] [ 5 9 13] [ 6 10 14] [ 3 4 5 6 7 8 9 10 11 12 13 14] 3 4 5 6 7 8 9 10 11 12 13 14
# numpy 將array合併
import numpy as np
A = np.array([1,1,1])
B = np.array([2,2,2])
C = np.vstack((A,B)) #上下合併
print C
print A.shape, C.shape
D = np.hstack((A,B))#左右合併
print D
print A.shape, D.shape
print D.T #序列無法變成矩陣
print A[np.newaxis,:]
print A[np.newaxis,:].shape
print D[:,np.newaxis]
E = np.array([1,1,1])[:,np.newaxis]
F = np.array([2,2,2])[:,np.newaxis]
H = np.hstack((E,F))#左右合併
print H
G = np.concatenate((E,F,E,F),axis =1)
print G
[[1 1 1] [2 2 2]] (3,) (2, 3) [1 1 1 2 2 2] (3,) (6,) [1 1 1 2 2 2] [[1 1 1]] (1, 3) [[1] [1] [1] [2] [2] [2]] [[1 2] [1 2] [1 2]] [[1 2 1 2] [1 2 1 2] [1 2 1 2]]
# array 分割
import numpy as np
A = np.arange(12).reshape(3,4)
print A
print np.split(A,2,axis=1)
print np.array_split(A,3,axis=1)
print np.vsplit(A,3)
print np.hsplit(A,2)
[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] [array([[0, 1], [4, 5], [8, 9]]), array([[ 2, 3], [ 6, 7], [10, 11]])] [array([[0, 1], [4, 5], [8, 9]]), array([[ 2], [ 6], [10]]), array([[ 3], [ 7], [11]])] [array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8, 9, 10, 11]])] [array([[0, 1], [4, 5], [8, 9]]), array([[ 2, 3], [ 6, 7], [10, 11]])]
# numpy copy
import numpy as np
a = np.arange(4)
print a
b =a
c = a
d = b
print b
c = a
a[0] = 11
print a
print b
print c
print d
print b is a
d[1:3] = [22,33]
print a
B = a.copy()
a[3] = 44
print a
print B
[0 1 2 3] [0 1 2 3] [11 1 2 3] [11 1 2 3] [11 1 2 3] [11 1 2 3] True [11 22 33 3] [11 22 33 44] [11 22 33 3]