Numpy 소개
넘파이 문서에 나온 설명을 번역해서 올립니다. 요약하자면 넘파이는
- Ndarray라는 크기와 자료형이 정해진 n차원 배열을 써서
- 컴파일된 코드를 이용해 계산을 아주 아주 빠르게 해주기 때문에
- 대부분의 수학, 과학적 파이썬 라이브러리들이 의존하고 있는 라이브러리입니다.
Numpy는 파이썬으로 과학적 컴퓨팅을 하는데 기반이 되는 패키지입니다. 다차원 행렬 객체, 이끌어지는 다양한 객체(마스크된 배열이나 행렬),그리고 행렬 계산을 빠르게 해주는 절차들의 모음을, 수학적, 논리적, 형태 변환, 정렬, 선택, 입출력, 푸리에 변환, 기본 선형대수, 기본 통계 계산, 무작위 시뮬레이션, 그 이상을 포함하여 제공합니다.Numpy의 핵에는 ndarray객체가 있습니다. 이 캡슐화된 동일한 타입으로 된 n차원 배열(arrays)은, 성능에 중점을 둔 많은 컴파일된 코드를 이용해 작동합니다. Numpy 배열은 다른 표준 파이썬 절차와 중요한 차이가 있습니다.
- Numpy 배열은 (동적으로 커지는) 파이썬 리스트와 다르게 크기가 고정되어 있습니다. ndarray의 크기를 바꾸면 원본을 삭제하고 새로운 배열을 만듭니다.
- Numpy 배열의 요소는 모두 같은 자료형이어야 합니다. 그래야 메모리에서 똑같은 크기를 차지할 수 있습니다. 예외는 다른 크기를 갖는 (넘파이를 포함한 파이썬) 객체들의 배열입니다.
- Numpy 배열은 많은 데이터에 고등 수학적이거나 다른 종류의 연산을 가능하게 합니다. 일반적으로,numpy는 파이썬에 내장된 절차(sequences)보다 빠르게 계산합니다.
- 파이썬에 기반한 과학적이고 수학적인 패키지들이 늘아나고 있는데, 대부분 Numpy 배열을 사용합니다. 보통 파이썬식의 순차적 입력을 지원하지만, 대부분 계산하기 전에 Numpy 배열로 변환해서 처리하고 넘파이 배열을 출력합니다. 다르게 말하면 오늘날의 과학적, 수학적 파이썬 소프트웨어를 효과적으로 사용하려면, 파이썬에 내장된 순차적 자료형들에 대해 아는 것만으로는 부족합니다. Numpy배열을 어떻게 쓰는지 알아야 합니다.
-넘파이 사용자 가이드 Release 1.17.0rc1 NumPy 커뮤니티 지음
넘파이에 필요한 수학과 과학, 프로그래밍에 익숙하시다면, 이게 무슨 말인지 다 알아들으실 겁니다. 배열과 자료형이 뭔지, 왜 계산을 빠르게 해야 하는지 잘 모르겠다면 기초적인 프로그래밍이나 알고리즘을 공부하고 오시길 권합니다. 교재들을 비교해본 건 아니지만, [모두의 파이썬& 알고리즘]이 잘 팔린다고 합니다.
이 강좌는 넘파이를 활용해서 복잡한 수학과 과학 계산을 하는 분들을 위해 만들겠습니다.
저작권
Numpy와 Numpy문서는 BSD라이센스입니다. 저작자를 다음과 같이 표기하고, 모든 자료 밑에 출처를 표기합니다.
Copyright © 2005-2019, NumPy Developers. All rights reserved.