DevSSOM
파이썬 Numpy - 개념 본문
반응형
Numpy란?
: Numerical Python의 약자로, 파이썬에서 대규모 다차원 배열을 다룰 수 있게 도와주는 라이브러리. 즉, 2차원 이상의 많은 데이터를 다룰 수 있게해줌.
Numpy 왜 써?
데이터의 대부분은 숫자 배열로 볼 수 있음.
예를 들어, 왼쪽 아래의 사진 이미지를 현미경으로 확대해서 본다고 하면, 하나의 네모를 픽셀이라고 말할 수 있는데, 픽셀 하나하나의 밝고 어두운 정도인 명암을 숫자로 나타낼 수 있음. 가로 1차원과 세로 1차원의 곱으로 이루어져 있어서 결국, 2차원이 됨.
오른쪽 아래의 파도처럼 생긴 그래프가 사운드 데이터라고 했을 때, 가로축은 시간, 세로축은 소리라고 할 수 있음. 이 곡선에서 각각 하나의 점을 찍어서 숫자로 나타낼 수 있는데, 그러면 1차원의 배열의 데이터가 됨. 이렇게 이미지와 소리를 숫자로 나타낼 수 있는 것처럼, 실생활에서 만나는 많은 데이터들은 숫자의 배열로 볼 수 있음. 그래서 이 숫자 배열을 처리하기 위해서 Numpy를 사용함.
넘파이는 반복문 없이 배열을 처리 할 수 있는 장점이 있음. 이 말은, 대용량 데이터를 계산할 때, 빨리 계산할 수 있다는 의미이고, 반복문을 사용하지 않으니 메모리를 효율적으로 사용할 수 있음. 그래서 파이썬 리스트에 비해 빠르고 효율적임.
Numpy 쓰기
Numpy의 배열은 파이썬의 list()보다도 빠른 연산과 효율적인 메모리 사용이 가능하기 때문에 빅데이터 분석 등에 널리쓰이는 매우 강력한 라이브러리라고 할 수 있음.
# list 로 배열을 만들고 출력할 때
list_arr = list(range(5))
print(list_arr) # [0, 1, 2, 3, 4] -> 콤마(,)로 구분
print(type(list_arr)) # <class 'list'>
# numpy 로 배열을 만들고 출력할 때
import numpy as np # numpy 모듈을 불러와서 'np' 로 줄여쓰겠다
np_arr = np.array(range(5))
print(np_arr) # [0 1 2 3 4] -> 공백으로 구분
print(type(np_arr) # <class 'numpy.ndarray'>
# ndarray는 n차원의 배열을 의미
# 콤마 : 리스트 -> class list 1차원의 배열
# 공백 : 넘파이 -> class numpy.ndarray n차원의 배열
728x90
반응형
'Python > 기초' 카테고리의 다른 글
파이썬 pandas - Series 데이터 (0) | 2021.07.26 |
---|---|
파이썬 Numpy - 배열의 인덱싱과 슬라이싱 (0) | 2021.07.26 |
파이썬 Numpy - 배열의 기초 (0) | 2021.07.26 |
파이썬 기초 - 객체지향 프로그래밍 (1) | 2021.06.10 |
파이썬 기초 - 반복문 (for문, for-range문, while문, break문) (0) | 2021.06.09 |
파이썬 기초 - 시퀀스 자료형 (0) | 2021.06.09 |
파이썬 기초 - 리스트 활용2 (0) | 2021.06.09 |
댓글