studying data

문제의 본질을 꿰뚫어 해결책을 찾는 법을 공부합니다

콤퓨타 공부/Python

[python 공부] numpy와 list

study_data 2021. 8. 22. 17:54

Numpy란 파이썬에서 대규모 다차원 배열을 다룰 수 있게 도와주는 라이브러리입니다. 데이터의 대부분은 숫자의 배열이기 때문에 중요합니다. 하나의 이미지 파일엔 픽셀이 있고, 밝고 어두운 명암도 숫자로 나타낼 수 있습니다. 이 경우에는 세로인 1차원과 가로인 1차원의 곱으로 이뤄져있어서 결국은 2차원 데이터가 됩니다. 그리고 사운드 데이터를 생각해보면, 가로축은 시간이고 세로축은 소리입니다. 각각 점을 찍어 숫자로 나타낼 수 있는데 숫자의 배열인 1차원 자료로 나타낼 수 있습니다. 이미지, 소리도 숫자로 나타낼 수 있기 때문에 실생활 데이터도 숫자의 배열로 볼 수 있죠. 그래서 우리는 숫자 배열로 처리하기 위해 numpy를 사용합니다.

 

Numpy는 반복문 없이 배열 처리가 가능한데, 빠른 연산을 지원하고 메모리도 효율적으로 사용한다는 점에서 장점이 있습니다. list와 numpy는 차이가 있습니다. 아래와 같은 코드를 살펴봅시다.

list_arr = list(range(5))
print(list_arr)
print(type(list_arr))

자료형 자체가 리스트인 경우에 프린트했을 때 list_arr이 출력됩니다. [0, 1, 2, 3, 4]로 나오죠.

import numpy as np
np_arr = np.array(range(5))
print(np_arr)
print(type(np_arr))

콤마로 구분된 것은 리스트값이고 공백으로 구분된 것은 배열이라는 점에서 큰 차이가 있습니다. print했을 때 [0 1 2 3 4]로 출력되기 때문에 자료형은 'numpy.ndarray'가 됩니다.