티스토리 뷰

Programming/Python

Python과 Numpy Array 차이

brad.min 2024. 5. 21. 09:47
반응형

파이썬으로 데이터를 처리하면 C에 비해 많이 느리다고 한다. C는 컴퓨터와 가장 가까운 언어이기 때문에 빠르다. 즉 컴퓨터에게 친숙한 언어를 사용한다고 생각하면된다. 모든지 단점을파이썬으로 데이터를 처리하면 C에 비해 많이 느리다고 한다. C는 컴퓨터와 가장 가까운 언어이기 때문에 빠르다. 즉 컴퓨터에게 친숙한 언어를 사용한다고 생각하면된다. 모든지 단점이 있다면 이를 보완하는 방법을 마련하듯이 파이썬의 속도를 보완하기 위해 numpy 라이브러리를 사용한다.

어떤 차이점이 있어서 속도가 다른건지 간단하게 Python과 Numpy에서 리스트 구조의 차이점을 살펴보았다.

파이썬 넘파이 배열 차이



위의 그림에서 살펴보면 Python은 리스트에 메모리 주소를 저장한다. 즉 다이렉트로 데이터가 있는 주소를 방문하지 않고 중간의 업체를 관리만 한다. 둘 사이에 중간 레이어를 두는 것은 모두 확장성을 위한 것이다. 예를 들어 다이렉트로 계약하는 업체가 있는 기업에서 100개의 업체는 다이렉트로 관리가 가능하지만 10000개로 늘어나는 경우 이를 관리하는 중간 업체를 둔다. 대기업이 그러하다.

아래의 코드에서 a 변수의 리스트를 b 변수에 저장을 했다. 즉, 업체 리스트만 b 변수에 넣은 것이다. 그러면 a와 b에서 업체를 동시에 관리하기 때문에 b의 요청에 업체가 판매 상품을 변경하면 a도 그대로 따라갈 수 밖에 없다.

a = [2, 3, 4, 5]
b = a
b[0] = 1
a
#output: [1, 3, 4, 5]




반면에 Numpy에서는 아예 다이렉트로 업체와 계약을 하기 때문에 일처리가 빠르다. 즉 메모리에 있는 데이터에 바로 접근을 하기 때문에 접근 속도가 Python의 리스트 보다 훨씬 빠르다.

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함