[프로그래머스 인공지능 스쿨]Numpy로 숫자 다루기

less than 1 minute read

Numpy로 숫자 다루기

숫자 계산을 빠르게!

numpy 설치하기

pip3 install --user numpy
pip3 install numpy

Remind : 리스트

arr = [1, "two", 3.0]
print(arr)
[1, 'two', 3.0]  

리스트는 연산 속도가 무지 느리다! 기본적으로 파이썬이 C등의 언어에 비해서 느린 편에 속한다.
따라서 수치연산을 전문적으로 하는 C로 만든 라이브러리가 생겼는데 그게 바로 numpy이다!

numpy 모듈 불러오기

import numpy as np # 관례적으로 numpy를 np로 줄여서 쓴다.

왜 numpy를 사용해야 할까요?

List

L = range(1000)
%timeit [i**2 for i in L] #L에 있는 원소들에 대해 i**2를 수행해서 리스트로 반환, %timeit은 실행 속도를 측정.
363 µs ± 11.6 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)  

numpy.array

N = np.arange(1000) 
%timeit N**2
1.08 µs ± 7.43 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)  

numpy.array

numpy의 Container, array

arr = np.array([1, 2, 3])
arr
array([1, 2, 3])  
arr_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
arr_2d
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])
arr.shape #array의 차원을 알 수 있는 방법
(3,)
arr_2d.shape
(3, 3)