python Numpy學習(三)
阿新 • • 發佈:2018-12-25
#coding=utf-8 import numpy as np txt=np.genfromtxt('/home/troy/Desktop/1.txt',delimiter=',',dtype=str) print txt #['return output' 'tgnb' 'hmmj' 'hmdm'] #print help(np.genfromtxt) a=np.arange(15).reshape(3,5) print a ''' [[ 0 1 2 3 4] [ 5 6 7 8 9] [10 11 12 13 14]] ''' print a.ravel() #[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14] b=a.copy() print b print id(a) #140096989609696 print id(b) #140096979950128 print a*b #元素乘法 b=b.T #矩陣轉置 print a.dot(b) #矩陣乘法 c=10*np.random.random((3,5)) print c ''' [[2.12545878e+00 4.53883119e+00 5.13060049e-04 4.17777432e+00 6.05965286e+00] [7.36592247e+00 8.17097100e+00 8.43972115e-01 3.07412568e+00 7.82258202e+00] [5.11421913e+00 9.08226511e+00 9.69798382e+00 3.11886342e+00 3.19986281e+00]] ''' print np.floor(c) #向下取整 ''' [[2. 4. 0. 4. 6.] [7. 8. 0. 3. 7.] [5. 9. 9. 3. 3.]] ''' #拼接 e=np.ones((3,4),dtype=np.int32) f=e+1 print f ''' [[2 2 2 2] [2 2 2 2] [2 2 2 2]] ''' h=np.vstack((e,f)) #垂直摞在一起 print h ''' [[1 1 1 1] [1 1 1 1] [1 1 1 1] [2 2 2 2] [2 2 2 2] [2 2 2 2]] ''' w=np.hstack((e,f)) #水平摞在一起 print w ''' [[1 1 1 1 2 2 2 2] [1 1 1 1 2 2 2 2] [1 1 1 1 2 2 2 2]] ''' #分割 k=np.vsplit(h,3) #即分割線是水平的 print k ''' [array([[1, 1, 1, 1], [1, 1, 1, 1]], dtype=int32), array([[1, 1, 1, 1], [2, 2, 2, 2]], dtype=int32), array([[2, 2, 2, 2], [2, 2, 2, 2]], dtype=int32)] ''' m=np.hsplit(w,(3,4)) #即分割線是垂直的 print m ''' [array([[1, 1, 1], [1, 1, 1], [1, 1, 1]], dtype=int32), array([[1], [1], [1]], dtype=int32), array([[2, 2, 2, 2], [2, 2, 2, 2], [2, 2, 2, 2]], dtype=int32)] ''' a=np.arange(10,30,2) print a.size b=a.reshape(2,5) print b ''' [[10 12 14 16 18] [20 22 24 26 28]] ''' r= np.tile(b,(2,3)) #即行數變為原來的2倍,列數也變為原來的3倍 print r ''' [[10 12 14 16 18 10 12 14 16 18 10 12 14 16 18] [20 22 24 26 28 20 22 24 26 28 20 22 24 26 28] [10 12 14 16 18 10 12 14 16 18 10 12 14 16 18] [20 22 24 26 28 20 22 24 26 28 20 22 24 26 28]] ''' print np.sort(r,axis= 1)#按行方向 ''' [[10 10 10 12 12 12 14 14 14 16 16 16 18 18 18] [20 20 20 22 22 22 24 24 24 26 26 26 28 28 28] [10 10 10 12 12 12 14 14 14 16 16 16 18 18 18] [20 20 20 22 22 22 24 24 24 26 26 26 28 28 28]] ''' print np.sort(r,axis=0) #按列方向 ''' [[10 12 14 16 18 10 12 14 16 18 10 12 14 16 18] [10 12 14 16 18 10 12 14 16 18 10 12 14 16 18] [20 22 24 26 28 20 22 24 26 28 20 22 24 26 28] [20 22 24 26 28 20 22 24 26 28 20 22 24 26 28]] ''' print r.argmax(axis=1) #[4 4 4 4] print r.argmax(axis=0) #[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]