numpy学習——基礎編


numpy学習——基礎編
日付:2021/4/20
作者:易易と呼ぶ
numpyライブラリとは?
numpyのフルネームはNumeric pythonで、Python言語の拡張ライブラリであり、高度な大量の次元配列とマトリクス演算をサポートし、大量の数学関数ライブラリも提供されています.
基本構文
import numpy as np
array = np.array([[1,2,3],
                 [2,3,4]])

print(array)
print('number of dim:',array.ndim) #    
print('shape:',array.shape)  #      ,     
print('size:',array.size)  #           

numpyでマトリクス、配列を作成するにはどうすればいいですか?
import numpy as np
a=np.array([2,23,4])
print(a)

#   [2 23 4]

定義した属性にtypeを作成できます
a=np.array([2,23,4],dtype=np.int)
print(a.dtype)

#   :int64     64  int  ,  64  int        32  int,  dtype=np.int32
import numpy as np
a=np.zeros((3,4))
print(a)

#     
[[0.0.0.0.]
 [0.0.0.0.]
 [0.0.0.0.]]
import numpy as np
a=np.ones((3,4),dtype=np.int16)
print(a)

#     
[[1 1 1 1]
 [1 1 1 1]
 [1 1 1 1]]
import numpy as np
a=np.arange(10,20,2) # 10  , 20  (   20),    ,   2
print(a)

#     
[10,12,14,16,18]
import numpy as np
a=np.arange(12).reshape((3,4))  #      , 3 ,4 
print(a)[[0 1 2 3]
 [4 5 6 7]
 [8 9 10 11]]
import numpy as np
a=np.linspace(1,10,5)  #1 10    ,  5  ,        
print(a)

#     [1  3.25  5.5  7.75  10]

上の行列の形を変えるなら、reshapeしてもいいです.
import numpy as np
a=np.linspace(1,10,6).reshape((2,3))  #1 10    ,  6  ,        ,2 3 
print(a)
#     
[[1  2.8  4.6]
 [6.4 8.2 10]]
#array   
import numpy as np
a=np.array([10,20,30,40])
b=np.arange(4)
print(a,b)
c=a-b
print(c)

#     
[10 20 30 40][0 1 2 3]
[10 19 28 37]
#  sin  
import numpy as np
a=np.array([10,20,30,40])
b=np.arange(4)
c=10*np.sin(a)
print(c)
import numpy as np
b=np.arange(4)
print(b)
print(b<3)

#     
[0 1 2 3]
[True True True False]

マトリックス間の計算
import numpy as np
a=np.array([[1,1],
           [0,1]])
b=np.arange(4).reshape((2,2))

c=a*b  #    
c_dot=np.dot(a,b)  #    
print(c)
print(c_dot)

#    
[[1 1]
 [0 1]]
[[0 1]
 [2 3]]

[[0 1]
 [0 3]]
[[2 4]
 [2 3]]
import numpy as np
a=np.random.random((2,4)) #      2 4    

print(a)
print(np.sum(a)) #           
print(np.min(a)) #          
print(np.max(a)) #          

#             ,        
print(np.sum(a,axis=1)) #    
#axis=0       

索引
インデックスは0から!
import numpy as np
A=np.arange(2,14).reshape((3,4))
print(np.argmin(A))  #       
print(np.argmax(A)) #       
print(np.mean(A)) #    
print(np.median(A)) #    


#     
[[2 3 4 5]
 [6 7 8 9]
 [10 11 12 13]]
0
11
7.5
7.5
import numpy as np
A=np.arange(3,15)
print(A)
print(A[3]) #     3   

#     
[3 4 5 6 7 8 9 10 11 12 13 14]
6

#        
import numpy as np
A=np.arange(3,15)。reshape((3,4))
print(A)
print(A[2]) #     2   
print(A[1][1]) #      1  1    
print(A[2,:]) #   2     
print(A[:,1]) #   1     
print(A[1,1:2]) #      1  1 2    

Arrayマージ
import numpy as np
A=np.array([1,1,1])
B=np.array([2,2,2])
C=print(np.vstack((A,B))) #     ,vertical stack
#     
[[1 1 1]
 [2 2 2]]

#    A C shape,  
print(A.shape,C.shape)
   
(3,)(2,3)

#       
D=np.hstack((A,B))
print(D)
print(A.shape,D.shape)
#   [1 1 1 2 2 2]
(3,)(6,)

C=print(np.vstack((A,B))) #     ,vertical stack
#     
[[1 1 1]
 [2 2 2]]

#    A C shape,  
print(A.shape,C.shape)
   
(3,)(2,3)

#       
D=np.hstack((A,B))
print(D)
print(A.shape,D.shape)
#   [1 1 1 2 2 2]
(3,)(6,)