앞서 작성했던 2021 AI 교육을 들으면서 들은 내용을 짧게나마 정리하려고 한다.
Numpy란?
대규모 다차원 배열을 다룰 수 있게 도와주는 python 라이브러리로, 파이썬 리스트에 비해 빠른 연산을 지원하고 메모리를 효율적으로 사용할 수 있게 도와줌.(반복문 없이 배열 처리 가능)
Numpy 사용하기
import numpy as np
* numpy 라이브러리는 np라는 별칭으로 많이 사용됨
Numpy 배열 생성하기
import numpy as np
np_arr = np.array(ragne(5))
print(np_arr) # [0 1 2 3 4] -> 공백 구분
print(type(np_arr)) # <class 'numpy.ndarray'>
np_arr2 = np.array([0, 1, 2, 3, 4], dtype=float)
print(np_arr2) # [0. 1. 2. 3. 4.]
print(np_arr2.dtype) # 'float64'
print(np_arr2.astype(int)) # [0 1 2 3 4]
ndarray = n차원의 배열(n-dimensional array)
파이썬 리스트와는 달리 같은 데이터 타입만 저장 가능하며, 쉼표(,)로 구분되는 파이썬 리스트와는 달리 공백으로 구분됨
ndarray의 차원 속성 - ndim & shape
# 1차원 배열
list1 = [0, 1, 2, 3]
arr1 = np.array(list1)
print(arr1.ndim) # 1
print(arr1.shape) # (4,)
# 2차원 배열
list2 = [[0, 1, 2], [3, 4, 5]]
arr2 = np.array(list2)
print(arr2.ndim) # 2
print(arr2.shape) # (2, 3)
indexing & slicing
* indexing : 인덱스로 값을 찾아냄
x = np.arrange(7)
print(x) # [0 1 2 3 4 5 6]
print(x[3]) # 3
x[0] = 10
print(x) # [10 1 2 3 4 5 6]
* slicing : 인덱스의 값으로 배열의 일부분을 가져옴
x = np.arrange(7)
print(x) # [0 1 2 3 4 5 6]
print(x[1:4]) # [1 2 3]
print(x[1:]) # [1 2 3 4 5 6]
* Boolean indexing : 배열의 각 요소의 선택 여부를 True와 False로 구성된 mask array, 즉 boolean mask를 이용해 지정하는 방식
x = np.arrange(7)
print(x) # [0 1 2 3 4 5 6]
print(x < 3) [True True True False False False False]
* Fancy indexing : 배열의 각 요소 선택을 index 배열을 전달하여 지정하는 방식
matrix = np.arrange(7)
print(matrix[[1]]))
'데이터 사이언스 > 데이터 분석' 카테고리의 다른 글
[NIPA AI 교육] 데이터 분석하기(2) (0) | 2021.08.18 |
---|---|
[NIPA AI 교육/기본] 데이터 분석하기(1) (0) | 2021.08.14 |
Matplotlib 기초 (0) | 2021.08.12 |
[NIPA AI 교육/기본] Pandas 분석용 함수 - 집계함수 (0) | 2021.08.11 |
[NIPA AI 교육/기본] Pandas 기초 (0) | 2021.07.26 |