NumPy 라이브러리를 사용하려면 파이썬에서 불러들여야 합니다. 아래 명령을 사용합니다.
from NumPy import *
리스트는 파이썬의 기본 기능입니다. 여러 개의 값을 하나로 묶어서 다룰 수 있습니다.
>>> a = [1,2,3] >>> a [1,2,3] >>> b = range(1,10) # 1이상 10미만의 값을 가지는 리스트 [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> len(a) # a의 길이 3 >>> len(b) # b의 길이 9 >>> b[0] # b의 첫째 원소 1 >>> b[1] # b의 2번째 원소 2 >>> b[2] # b의 3번째 원소 3 >>> b[0:3] # b의 첫째부터 4번째 원소 전까지 [1, 2, 3] >>> b[:5] # b의 처음부터 6번째 원소 전까지 [1, 2, 3, 4, 5] >>> b[5:] # b의 6번째 원소부터 끝까지 [6, 7, 8, 9] >>> b[-1] # b의 끝에서 첫째 원소 9 >>> b[-2] # b의 끝에서 2번째 원소 8 >>> b[-5:] # b의 끝에서 5번째 원소부터 끝까지 [5, 6, 7, 8, 9]
중첩 리스트
리스트 안에 다시 리스트를 넣을 수도 있습니다.
>>> a = [ [1,2,3], [4,5,6] ] >>> len(a) 2 >>> a[0] [1, 2, 3] >>> a[1] [4, 5, 6] >>> a[0][1] # 1번째 리스트의 2번째 원소 2
배열(array)은 리스트와 사용법이 비슷합니다. 대신 직접 수학계산을 할 수 있습니다. 배열은 리스트에 array 함수를 적용하여 만듭니다.
>>> a = array([1,2,3,4]) >>> a array([1, 2, 3, 4]) >>> len(a) 4 >>> a[1] 2
배열은 서로 더하거나 빼거나 곱하거나 나눌 수 있습니다.
>>> a = array( [1,2,3,4] ) >>> b = array( [5,6,7,8] ) >>> a+b array([ 6, 8, 10, 12]) >>> a-b array([-4, -4, -4, -4]) >>> a*b array([ 5, 12, 21, 32])
다차원 배열은 중첩 리스트와 비슷합니다. 다차원 배열을 만드는 방법은 기존의 배열을 변경하거나 중첩리스트에 array 함수를 적용하여 만듭니다.
>>> a = array( [1,2,3,4] )
>>> a
array([1, 2, 3, 4])
>>> A = a.reshape(2,2)
>>> A
array([[1, 2],
[3, 4]])
>>> B = array([ [1,2],[3,4] ])
>>> B
array([[1, 2],
[3, 4]])
다차원 배열에서 원소의 위치를 가리키는 방법은 중첩리스트와 다릅니다.
>>> a = [ [1,2],[3,4] ] # 중첩 리스트 >>> a[1][0] # 2번째 리스트의 1번째 원소 3 >>> A = array(a) >>> A[1,0] # 2열 1행의 원소 3
행렬(matrix)은 리스트나 배열에 mat 함수를 적용하여 만듭니다.
>>> mat([[1,2],[3,4]])
matrix([[1, 2],
[3, 4]])
행렬의 사용법은 배열과 거의 동일합니다. 다만 배열과 달리 곱셈을 할 때 원소끼리 곱셈이 아니라 행렬의 곱셈을 합니다.
>>> A = array([1,2,3,4]).reshape(2,2)
>>> A
array([[1, 2],
[3, 4]])
>>> B = array([1,0,0,1]).reshape(2,2)
>>> B
array([[1, 0],
[0, 1]])
>>> A*B # 배열의 곱셈
array([[1, 0],
[0, 4]])
>>> M = mat(A)
>>> N = mat(B)
>>> M*N # 행렬의 곱셈
matrix([[1, 2],
[3, 4]])