본문 바로가기
Python/Python개요

[Python Study] 1-3. Numpy 패키지 익히기

by Delants 2022. 7. 27.

들어가기 전

원래는 <"이것이 데이터 분석이다 with 파이썬"> 교재를 활용한 코드입력을 할 예정이었으나

저작권문제가 발생할 수 있어서 해당 책의 내용으로 공부하고, 개인적으로 생각하는 부분을 중점적으로 적어보겠습니다. 

즉, 코드는 책의 내용과 달라질 수 있으며 제가 공부하고 생각한 내용을 바탕으로 작성된 글임을 밝히고 시작하겠습니다.

 

서론

오늘은 Numpy 패키지에 대해 알아보겠습니다.

넘파이 패키지는 파이썬 데이터 분석을 시작하는 분들이 앞서 배웠던 pandas패키지와 함께 자주 보게될 패키지입니다.

간단한 코드를 통해 numpy에 대해 알아보도록 하겠습니다. 

 

1. Numpy 패키지란?

넘파이 패키지, Numpy 패키지로 불립니다.

numpy는 이름에서 알 수 있듯, 숫자를 계산하는데 쓰이는 패키지로 배열 개념의 변수를 사용합니다.

 

2. Numpy 패키지의 장점

많은 사람들이 이용하는 패키지인 만큼, 많은 장점들이 존재합니다.

 

1. 강력한 배열을 제공합니다. (numpy벡터화 및 인덱싱, 브로드캐스팅 개념의 표준화)

2. Python의 유연성을 잘 활용할 수 있습니다.

3. 사용하기 쉽습니다.

4. 오픈소스이기때문에 github에서 공개적으로 개발, 유지, 관리가 됩니다.

 

3. Numpy 패키지, 어디에 활용될 수 있을까?

numpy패키지는 행렬계산에 매우 특화된 패키지로, 다양한 분야에서 사용되고 있습니다.

활용처는 다음과 같습니다.

 

1. 수학 난수생성, 선형대수학, 푸리에변환과 같은 수치계산도구를 제공합니다.

2. 광범위한 하드웨어 컴퓨팅 플랫폼을 제공하며, 분산, GPU, 희박 배열 라이브러리와 잘 동작합니다. 

 

4. Numpy 패키지의 활용

jupyter를 통해 코드를 보겠습니다.

 

STEP1.

 

 

먼저 패키지를 프로그램에서 사용할 수 있게 불러오는 함수 import를 사용하여 패키지를 불러옵니다. 

이후 분석을 하려면 numpy를 계속 쓰게될텐데, 이 함수를 계속 쓰기에는 시간이 많이 걸립니다. 그래서 numpy를 np로 축약해서 별명으로 지정하겠다는 as를 사용하여 앞으로 np로 작성해도 numpy패키지를 사용할 수 있게 합니다.

 

STEP2.

a1변수에는 0부터 9까지의 10개의 숫자를 생성하고, 2행 5열로 배치하였습니다. (.reshape함수는 행렬을 나타냄)

 

a2변수에는 임의로 배열을 지정해서 만들어 보았습니다.

하지만 주의할 것은 배열간 사칙연산을 수행하려면, a1변수와 같은 행렬이어야 하기 때문에 똑같이 2행 5열로 만들어 줍니다.(a1과 a2배열이 같은 행렬이 아닐 경우 에러가 발생합니다.) 여기서는 제가 3의 배수로 지정해 보았습니다.

 

STEP3.

앞서 지정한 a1변수와 a2변수에 대해 사칙연산을 수행해 보았습니다.

print함수를 사용하여 모든 값이 출력될 수 있게 하였습니다.

 

앞서 작성한 코드 외에도 많고 강력한 연산을 제공해주기 때문에 그 활용도는 매우 높다고 할 수 있겠습니다.

----------------------------------------------------------------------------------------------------------------

이렇게 오늘은 numpy패키지에 대해 공부해보았습니다.

강력한 배열을 제공해주기에, 공학적 부분에서 자주 사용되는 numpy패키지였네요.

 

다음시간에는 마지막으로 소개할 matplotlib 패키지에 대해 알아보도록 하겠습니다.

 

 

*numpy 패키지 설명은 다음 사이트를 참고했습니다. https://numpy.org/

 

NumPy

Powerful N-dimensional arrays Fast and versatile, the NumPy vectorization, indexing, and broadcasting concepts are the de-facto standards of array computing today. Numerical computing tools NumPy offers comprehensive mathematical functions, random number g

numpy.org

 

 

 

 

 

댓글