Python 에서 매트릭스 라 이브 러 리 Numpy 기본 동작 설명

NumPy 는 행렬 연산 에 관 한 라 이브 러 리 입 니 다.Matlab 에 익숙 한 것 은 모두 알 아야 합 니 다.이 라 이브 러 리 는 python 이 행렬 화 를 할 수 있 도록 하 는 것 입 니 다.순환 작업 을 쓰 지 않 아 도 됩 니 다.
다음은 numpy 의 조작 을 요약 합 니 다.
numpy 는 두 가지 기본 데이터 형식 을 포함 합 니 다:배열 과 행렬.
배열(배열)

>>> from numpy import *
>>> a1=array([1,1,1]) #      
>>> a2=array([2,2,2])
>>> a1+a2    #      
array([3, 3, 3])
>>> a1*2     #    
array([2, 2, 2])

##
>>> a1=array([1,2,3])
>>> a1
array([1, 2, 3])
>>> a1**3    #             
array([ 1, 8, 27])
##  ,       0     , matlab  
>>> a1[1]
2

##      
>>> a3=array([[1,2,3],[4,5,6]])
>>> a3
array([[1, 2, 3],
  [4, 5, 6]])
>>> a3[0]    #        
array([1, 2, 3])
>>> a3[0,0]   #        
1
>>> a3[0][0]   #       
1
##    ,   matlab    
>>> a1=array([1,2,3])
>>> a2=array([4,5,6])
>>> a1*a2
array([ 4, 10, 18])
Numpy 는 배열 을 만 드 는 함수 가 많 습 니 다:

import numpy as np

a = np.zeros((2,2)) # Create an array of all zeros
print a    # Prints "[[ 0. 0.]
      #   [ 0. 0.]]"

b = np.ones((1,2)) # Create an array of all ones
print b    # Prints "[[ 1. 1.]]"

c = np.full((2,2), 7) # Create a constant array
print c    # Prints "[[ 7. 7.]
      #   [ 7. 7.]]"

d = np.eye(2)  # Create a 2x2 identity matrix
print d    # Prints "[[ 1. 0.]
      #   [ 0. 1.]]"

e = np.random.random((2,2)) # Create an array filled with random values
print e      # Might print "[[ 0.91940167 0.08143941]
       #    [ 0.68744134 0.87236687]]"

배열 인덱스(Array indexing)
행렬
행렬 의 조작 은 Matlab 언어 와 많은 연관 성 을 가진다.

#    
>>> m=mat([1,2,3])
>>> m
matrix([[1, 2, 3]])

#  
>>> m[0]    #   
matrix([[1, 2, 3]])
>>> m[0,1]    #   , 2   
2
>>> m[0][1]    #            
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "/usr/lib64/python2.7/site-packages/numpy/matrixlib/defmatrix.py", line 305, in __getitem__
 out = N.ndarray.__getitem__(self, index)
IndexError: index 1 is out of bounds for axis 0 with size 1

# Python      NumPy   
>>> list=[1,2,3]
>>> mat(list)
matrix([[1, 2, 3]])

#    
>>> m1=mat([1,2,3])  #1 3 
>>> m2=mat([4,5,6]) 
>>> m1*m2.T    #          m2.T     
matrix([[32]])  
>>> multiply(m1,m2)  #      ,     ,    
matrix([[ 4, 10, 18]]) 

#  
>>> m=mat([[2,5,1],[4,6,2]]) #  2 3   
>>> m
matrix([[2, 5, 1],
  [4, 6, 2]])
>>> m.sort()     #        
>>> m
matrix([[1, 2, 5],
  [2, 4, 6]])

>>> m.shape      #        
(2, 3)
>>> m.shape[0]     #       
2
>>> m.shape[1]     #       
3

#    
>>> m[1,:]      #          
matrix([[2, 4, 6]])
>>> m[1,0:1]     #    0   ,      
matrix([[2]])
>>> m[1,0:3]
matrix([[2, 4, 6]])
>>> m[1,0:2]
matrix([[2, 4]])
확장 매트릭스 함수 tile()
예 를 들 어[0,0,0]에서 다 차원 행렬 의 각 점 까지 의 거 리 를 계산 하려 면[0,0,0]을 확장 해 야 한다.
tile(inX, (i,j)) ;i 는 확장 개수 이 고 j 는 확장 길이 입 니 다.
실례 는 다음 과 같다.

>>>x=mat([0,0,0])
>>> x
matrix([[0, 0, 0]])
>>> tile(x,(3,1))   #  x  3 ,j=1,       
matrix([[0, 0, 0],
  [0, 0, 0],
  [0, 0, 0]])
>>> tile(x,(2,2))   #x  2 ,j=2,    
matrix([[0, 0, 0, 0, 0, 0],
  [0, 0, 0, 0, 0, 0]])



이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기