- Numpy는 numerical python의 줄임말압니다. 즉, 숫자와 관련된 파이썬 도구로 생각하면 됩니다.
- numpy에서는 numpy 배열(numpy array)이라는 python list와 비슷한 자료형을 제공해 줍니다. 이때, ndarray는 n dimensional array를 뜻합니다.
array1 = numpy.array( [1,2,3,4] )
array2 = numpy.array( [1,2,3,4] , [5,6,7,8] )
type(array1) # numpy.ndarray
type(array2) # numpy.ndarray
array1.shape # (4, )
array2.shape # (2, 4)
array1.size # 4
array2.size # 8
- numpy array를 만드는 다양한 방법
array1 = numpy.full(6,7) # [7 7 7 7 7 7]
array1 = numpy.full(6,0) # [0 0 0 0 0 0]
array2 = numpy.zeros(6, dtype=int) # [0 0 0 0 0 0]
array1 = numpy.full(6,1) # [1 1 1 1 1 1]
array2 = numpy.ones(6, dtype=int) #[1 1 1 1 1 1]
array1 = numpy.random.random(6) #[0.42214929 0.45275673 0.57978413 0.61417065 0.39448558 0.03347601]
array1 = numpy.arange(6) #[0 1 2 3 4 5]
array1 = numpy.arange(2,7) #[2 3 4 5 6]
array1 = numpy.arange(3,17,3) #[3 6 9 12 15]
- import numpy가 아니라 import numpy as np로 하여, numpy에 alias를 붙여서, 이를 사용할 수 있습니다.
- numpy 배열에서 python 리스트와 같이 인덱싱과 슬라이싱이 가능합니다.
array1 = np.array( [2,3,5,7,11,13,17,19,23,29,31] )
array1[2] # 5
array1[-2] # 29
array1[ [1,3,4] ] # array([3,7,11])
array2 = np.array([2,1,3])
array1[array2] # array([5,3,7])
array1[2:7]
array1[0:7]
array1[:7]
array1[2:]
array1[2:11:3]
- numpy 기본연산(반복문 사용을 할 필요가 없어집니다)
array1 = np.arange(4) # array([0,1,2,3])
array2 = np.arnage(10,14) # array([10,11,12,13])
array1 * 2 # array([0,2,4,6])
array1 ** 2 # array([0,1,4,9])
array1 + array2 # array([10,12,14,16])
array1 * array2 # array([0,11,24,39])
- numpy boolean 연산
array1 = np.array([2,3,5,7])
array1 > 4 # array([False, False, True, True])
array1 % 2 == 0 # array([True, False, False, False])
booleans = np.array([True, True, False, True])
np.where(booleans) # (array([0,1,3]), )
filter = np.where(array1 > 4)
filter # (array([2,3]), )
array1[filter] # array([5,7])
- numpy array와 python list는 비슷한 점이 정말 많습니다. 하지만 분명한 차이점이 있습니다.
- numpy는 문법이 간단한 측면도 있지만, 성능적으로도 효율적입니다. 이는 값들이 저장되는 방식의 차이 때문인데 numpy에서는 같은 자료형끼리만 들어갈 수 있기 때문에 효율적으로 계산할 수 있습니다.
- numpy 라이브러리는 기본적인 통계 기능도 제공합니다.
array1 = np.array([14, 6, 13, 21, 23, 31, 9, 5])
print(array1.max()) # 최댓값
print(array1.min()) # 최솟값
print(array1.mean()) # 평균값
print(np.median(array1)) # 중앙값
print(array1.std()) # 표준 편차
print(array1.var()) # 분산
'인공지능(AI) > 코드잇_데이터 사이언스 입문' 카테고리의 다른 글
[DataFrame 다루기] 데이터 변형하기 (0) | 2021.05.13 |
---|---|
[DataFrame 다루기] DataFrame 인덱싱 (0) | 2021.05.13 |
[데이터 사이언스 시작하기] Pandas (0) | 2021.04.30 |
[데이터 사이언스 시작하기] Jupyter Notebook (0) | 2021.04.25 |
[데이터 사이언스 시작하기] 데이터 사이언스란? (0) | 2021.04.25 |