Idealim
article thumbnail

•  Numpy 란?

NumPy는 Python의 과학 컴퓨팅을 위한 기본 패키지로 Python 라이브러리를 import하여 사용 가능합니다.

 

 NumPy 배열과 표준 Python 시퀀스 간의 차이점

List와 Array의 차이점

일반적으로 Python은 배열(array)을 지원하지 않습니다. 일반적으로 착각하기 쉬운 부분으로 List와 Array는 정확히는 다른 것입니다.


Array는 정적 할당에 해당하며, List의 경우는 동적 할당에 해당합니다.
동적으로 계속 크기가 변할 수 있는 Python List와 달리 NumPy Array는 고정된 크기를 갖습니다. Size를 변화하면 기존의 array를 삭제하고 새로운 array를 생성해야 합니다.

 

 

Numpy를 사용하면 Array를 Python에서 사용할 수 있습니다. 넘파이는 다차원적인 배열 객체, 다양한 파생 객체(마스크 된 배열 및 행렬 등) 및 에 대한 일련의 루틴, 수학적, 논리적, 형상 조작, 정렬, 선택, I/O, 이산 푸리에 대한 신속한 작업 변환, 기본 선형 대수, 기초 통계 연산, 무작위 시뮬레이션 등의 다양한 작업을 지원하고 있습니다.

 

 NumPy의 장점

NumPy Array는 대량의 데이터에 대한 고급 수학적 및 기타 유형의 작업을 용이하게 합니다. 일반적으로 Python의 기본 제공 기능을 사용하여 가능한 것보다 적은 코드로 보다 효율적으로 작업 수행할 수 있습니다. NumPy를 쓰는 메인 이유라고 할 수 있습니다. 훨씬 효율적이고 쉽게 코딩할 수 있습니다.

과학적이고 수학적 Python 기반 패키지의 수가 증가하고 있지만 대부분이 NumPy 어레이를 사용하고 있다. 입력받은 파이썬 시퀀스 입력을 지원하며, 처리하기 전에 NumPy 어레이로 변환하고 종종 NumPy Array를 출력합니다. 즉, 많은 양을 효율적으로 사용하기 위해 Python의 내장 시퀀스로는 한계가 있으므로 오늘날의 과학/수학적인 NumPy 어레이를 사용하는 방법도 알아야만 데이터사이언스, 빅데이터분석, 머신러닝, 딥러닝 등을 진행하는데 필수적입니다.

 

 NumPy가 빠른가?

Numpy는 백터화하여 계산하기 때문에 루프나, 인덱싱이 없습니다. 사전에 C 코드로 작성된 코드에 의해 동작합니다. 따라서 훨씬 코드가 간결하고 읽기 쉽습니다. 더 적은 줄의 코드를 사용하므로 더 적은 확률로 버그가 발생합니다. 표준수학 표기법과 훨씬 유사하므로 일반적으로 더 쉽고 정확하게 코딩할 수 있습니다.

 

1. Numpy 기능

 

Numpy의 기능은 다음과 같다. 

  • ndarray : 효율적인 다차원 배열로 빠른 배열 계산과 유연한 브로드캐스팅 기능 제공
  • 반복문을 작성할 필요 X, 전체 데이터 배열을 빠르게 계산할 수 있는 표준 수학 함수 제공
  • 배열 데이터를 디스크에 쓰거나 읽을 수 있는 도구와 메모리에 적재된 파일을 다루는 도구
  • 선형대수, 난수 생성기, 푸리에 변환 기능
  • C, C++ 포트란으로 파이썬으로 작성한 코드를 전달 가능

 

 

지금까지 넘파이에 대한 전반적인 내용을 알아보았습니다.
다음으로는 Numpy를 사용하는 방법에 대해서 알아보도록 하겠습니다.

반응형
profile

Idealim

@Idealim

읽어주셔서 감사합니다. 잘못된 내용이 있으면 언제든 댓글로 피드백 부탁드립니다.