2021년 06월 01일
# Numpy 모듈 불러오기 # 사용하기 전 무조건 실행 !! import numpy as np # import 불러오기, as로 별칭 설정
# 1차원 배열 생성 - 대괄호 [] lst = [1,2,2,3,2,4,3,3,5,45] arr = np.array([1,2,3,4,5]) # arr = np.array([lst]) 넣어도 된다~ arr
출력 : array([1, 2, 3, 4, 5])
# 2차원 배열 생성 - 대괄호 [[]], [[],[]], [[],[],[],[]]등등 arr2 = np.array([[1,2], [3,4], [5,6]]) arr2
출력 : array([[1, 2],
[3, 4],
[5, 6]])# 2차원 배열 생성 arr2_2 = np.array([[1,2,3],[4,5,6]]) arr2_2
출력 : array([[1, 2, 3],[4, 5, 6]])
# 배열의 크기 확인 arr.shape
출력 : (5,)
arr2.shape
출력 : (3, 2)
arr2_2.shape
출력 : (2, 3)
arr2.size
출력 : 6
arr.size
출력 : 5
# 배열에 있는 데이터의 타입 arr.dtype
출력 : dtype('int32')
arr2.dtype
출력 : dtype('int32')
# 배열의 차원을 확인 arr.ndim
출력 : 1
# 연습 문제 주어진 array에서 크기 차원 개수를 구하라
arr3 = np.array([[[1,2], [3,4]], [[5,6], [7,8]]])
arr3
print("배열의 크기 : {}".format(arr3.shape)) print("배열의 차원 : {}".format(arr3.ndim)) print("배열의 개수 : {}".format(arr3.size))
출력 :
배열의 크기 : (2, 2, 2)
배열의 차원 : 3
배열의 개수 : 8
# 0으로 값을 채워서 배열을 생성 # np.zeros((행,열)) arr4 = np.zeros((3,4)) arr4
출력 :
array([[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.]])# 1로 값을 채워서 배열 생성 # np.ones((3,4)) # 실수 타입을 저장함 arr5 = np.ones((3,4)) arr5
출력 :
array([[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]])# 원하는 값을 채워서 배열 생성 # np.full((행, 열), 특정한 값) arr6 = np.full((3,4), 6) arr6
출력 :
array([[6, 6, 6, 6],
[6, 6, 6, 6],
[6, 6, 6, 6]])
# 1 ~ 50까지 담은 1차원 배열 생성 # 1. 1~50 까지 친다 # 2. for문 돌려서 list 저장한 다음에 np.array() lst = [] for i in range(1, 51): lst.append(i) arr7 = np.array(lst) arr7
출력 :
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50])# np.arange(시작값, 끝값, 증가값) # 위 방법과는 달리 numpy에서 제공되는 함수인 arange로 쉽게 구현 가능 arr8 = np.arange(10, 51, 10) arr8
출력 : array([10, 20, 30, 40, 50])
# np.random.rand(행, 열) # 0~1` 사이의 값으로 랜덤하게 생성 np.random.rand(2,3)
출력 : array([[0.39378725, 0.27768867, 0.94353203],
[0.83452131, 0.66112856, 0.97540292]])# np.random.randint(시작값, 끝값, size = ) np.random.randint(1, 10, size = 5)
출력 : array([8, 2, 2, 1, 2])
np.random.seed(100) np.random.randint(1,11, size = (2,3))
출력 : array([[9, 9, 4],
[8, 8, 1]])
lst = [3.4, 1.2, 1.0, 5.4, 6.6] lst ar = np.array(lst, dtype = np.int64) # 데이터 타입 확인 ar.dtype
출력 : dtype('int64')
# 데이터 타입 변환 ar2 = ar.astype(np.float64) ar2
출력 : array([3., 1., 1., 5., 6.])
float 실수 값으로 표현된다.
arr = np.array([1,2,3]) arr
출력 : array([1, 2, 3])
# 요소별 연산이 가능 arr + 1
출력 : array([2, 3, 4])
arr * 10
출력 : array([10, 20, 30])
# 배열 간의 연산 arr + arr
출력 : array([2, 4, 6])