NumPy 쓰는 이유

5eo1ab
3 min readJun 1, 2018

--

평소에 블로그 관리를 전혀 안하다가, 취업준비 발등에 불떨어지면서 겸사겸사 면접예상질문을 정리해보려고 한다.
그 첫번째 토픽 NumPy ! 질문 자체는 다음과 같다.

numpy를 쓰는 이유 3가지를 설명해 주세요.
(다음 이야기: numpy 배열 및 배열 연산을 설명해 주세요.)

NumPy = Numerical Python, 데이터 분석을 포함해 수학과 과학연산을 위한파이썬 기본기본 패키지라고 한다( NumPy is the fundamental package for scientific computing with Python).

import numpy as np

읽을 때 (구수하게) ‘넘파이’라고 하고, 줄여서 np 하면 다 알아듣는다.

워낙, 대중적인 패키지라서 numpy를 소개하는 책과 자료가 많아서 최대한 오피셜 문서(http://www.numpy.org/)의 표현을 바탕으로 면접예상질문을 정리하는 식으로 구성할 예정.

꺼라위키에 등재된 네임드 패키지…!

오피셜 문서에 의하면 numpy는 다음 것들을 포함하고 있다고 한다…!

  • 파워풀한 N-차원 배열 객체 (a powerful N-dimensional array object)
    - numpy를 사용할 수 밖에 없는 진짜 이유
    -파워풀(=가볍고 빠른) 한 이유는 메모리를 효율적으로 사용해서라고 한다.
    - scipy, pandas, matplotlib, tensorflow 등 다양한 파이썬 패키지들이 numpy의 다차원 배열자료형인 ndarray을 기본 자료형으로 사용하고 있다.
    -따라서 수치해석, 통계 관련 기능을 구현할 때 numpy는 필수
  • 정교한 브로드캐스팅 기능 (sophisticated (broadcasting) functions)
  • C/C++, Fortran(포틀란) 코드 통합 도구 (tools for integrating C/C++ and Fortran code)
  • 선형대수, 푸리에 변환, 난수 기능 유용함 (useful linear algebra, Fourier transform, and random number capabilities)
    - 그 자체로도 기본적인 기술통계분석이 가능, 실제로드 다른 파이썬 패키지와 함께쓰임

정리하면!

  1. NumPy는 python에서 수학/과학 연산을 위한 다차원 배열 객체를 지원합니다.
  2. NumPy의 다차원 배열 자료형인 ndarray는 scipy, pandas 등 다양한 파이썬 패키지의 기본 자료형으로 사용되기 때문에 딱히 이유없이 사용할 수 밖에 없습니다.
  3. 또 For 문과 같이 반복적인 연산 작업을 배열단위로 처리해(= vevtorized operation), 효율적인 코딩이 가능합니다.

다음 이야기: NumPy 배열 및 배열 연산

--

--