4.1.1. Basic Operations
NumPy 배열을 생성하는 가장 기본적인 함수는 array() 입니다. 첫 번째 인자로 리스트를 받는데 이것으로 array객체를 생성합니다.
파이썬의 내장 함수인 range()와 유사하게 배열 객체를 반환해주는 arange() 함수가 있습니다.
np.arange(10) 라고 한다면 1차원 배얼 [0,1,2, ... ,9]를 생성하는 것입니다.
그리고 시작점과 끝점을 균일 간격으로 나눈 점들을 생성해주는 linspace()함수도 있습니다.
위의 코드에서 c는 시작점이 0 이고 끝점이 1이므로 이를 6 점으로 표시하려면 0.2 간격씩 띄우면 됩니다. d는 시작점이 0 이고 끝점이 1인데 5등분으로 나누는데 끝점을 포함하지 않으니 0.2 간격으로 나뉘어 집니다.
배열의 산술 연산자는 새 배열이 만들어지고 그 결과로 채워집니다. 다음의 코드로 NumPy 연산을 설명해 보겠습니다
위 코드의 실행 결과는 다음과 같습니다.
a = np.array( [20,30,40,50] ) 1차원 배열로 NumPy 배열을 생성하여 그 이름을 a로 칭합니다.
numpy.arange([start,] stop[, step,], dtype=None) 함수는 start부터 stop 미만까지 step 간격으로 데이터 생성한 후 배열을 만드는 함수입니다. 따라서 b=np.arrange(4) 는 자동으로 [0 1 2 3] 라는 1차원 배열로 데이터가 존재하는 NumPy 배열을 생성합니다.
c=a-b , b**2 등 연산의 결과는 각각의 배열 값에 해당 연산을 한 것으로 계산하여 출력됩니다. *는 행렬곱이 아니라 요소별 곱셈입니다.
벡터의 내적이나 매트릭스의 벡터 곱이나, 메트릭스 곱을 계산하기 위해 @ 혹은 dot 함수를 사용합니다. matrix multiplication에 대해서는 별도로 학습하기 바랍니다.
AA.dot(BB) 메트릭스 곱은 AA[0,0]*BB[0,0]+AA[0,1]*BB[1,0]=5, AA[0,0]*BB[0,1]+AA[0,1]*BB[1,1]=4, AA[1,0]*BB[0,1]+AA[1,1]*BB[1,1]=3, AA[1,0]*BB[0,1]+AA[1,1]*BB[1,1]=4 가 나옵니다.
Last updated