프로그래밍/Python

Python-7) Numpy : Python, Python 설치, 파이썬 마스터, 객체지향 언어

LeeSeunghyuk 2020. 11. 16. 13:45
반응형

안녕하세요 이승혁입니다.

 

이번 포스팅에서는 numpy 에 대해 다루어 보도록 하겠습니다.

 

※ 파이썬 모듈 임포트 이해하기 

 

     이미 만들어져 있는 어떤 함수를 우리가 작성하는 코드에서 자유롭게 사용하려면

     해당 함수가 포함된 모듈을 임포트 해야한다.

     임포트 하는 방법은 다음과 같습니다.


     1. import 모듈이름

     2. from 패키지 import 모듈이름

     3. import 패키지이름.모듈이름

     4. 패키지 이름을 안쓰고 모듈만 import 해도 실행이 되는 경우

         ----> 1. 파이썬의 내장 모듈

                 2. sys.path에 정의되어 있는 모듈

 

※ import를 만나면 파이썬 모듈을 찾는 순서

    ① 파이썬 내장 모듈

         - 파이썬 내장 모듈이 무엇이 있는지 확인하는 방법

import sys
print(sys.builtin_module_names)

    ② sys.path에 정의되어있는 디렉토리

        - 정의된 디렉토리 확인하기

import sys
for path in sys.path:
    print(path)

 

        - site-packages ?

             파이썬의 기본 라이브러리 패키지 외에 추가적인 패키지를 설치하는디렉토리

             site-packages 디렉토리에 여러가지 소프트웨어가 사용할 공통 모듈을 넣어두면

             물리적인 장소에 구애받지 않고 모듈에 접근해 반입할 수 있습니다.

 


 

※ numpy 모듈

 

   python 언어에서 기본적으로 지원하지 않는 배열(array), 또는 행렬(matrix)의 계산을 쉽게 해주는 라이브러리이다.

   머신러닝에서 많이 사용하는 선형대수학에 관련된 수식들을 python에서 쉽게 할 수 있게 해줍니다.

 

※ numpy 모듈 다운로드

 

1. 검색창에 anaconda prompt를 검색해 실행합니다.

2. 가상환경을 활성화합니다. ( activate tistory(가상환경이름) )

3. 명령어를 통해 numpy 모듈을 설치합니다. (conda install numpy

                                                                   or

                                                           pip install numpy)

4. Jupyter notebook에서 import numpy 코드 실행하기

       아무런 오류가 나지 않는다면 정상적으로 임포트 된 것입니다.

       오류 발생 시 Kernel -> restart 를 통해 커널 재실행 합니다.

 

실습 1. 행렬을 numpy를 사용해서 생성해보기 1행 : (1 , 2)  |  2행 : (4 , 7)

import numpy as np
print(np.array([[1,2],[4,7]]))

numpy모듈은 보통 as np를 통해 np 별칭으로 많이 사용합니다.

numpy.array

   ↑     

  모듈   함수    코드를 통해 numpy모듈의 array함수를 사용하여 행렬을 만들었습니다.

 

실습 2. numpy , 행렬 덧셈 해보기, 위의 행렬과  1행 : (3 , 4) | 2행 : (1 , 2) 행렬을 덧셈 하시오

import numpy as np
a=np.array([[1,2],[4,7]])
b=np.array([[3,4],[1,2]])
print(a+b)

 

실습 3. numpy , 행렬 곱 계산 해보기, 행렬 두개를 행렬 곱 해보시오 ( 1 2 3      ◎   5 6

                                                                                          4 5 6 )          7 8

                                                                                                            9 10

import numpy as np
a=np.array([[1,2,3],[4,5,6]])
b=np.array([[5,6],[7,8],[9,10]])
print(np.dot(a,b))
print(a*b)

행렬의 형상이 다르기 때문에 일반 곱셈 연산자(*)로는 수행할 수 없습니다.

numpy 모듈의 dot 함수를 사용해서 행렬 곱 계산을 수행합니다.

 

     ※ 행렬 연산에서 곱셈 연산자(*) 

 

          같은 형상의 경우 서로 대응되는 자리의 값을 계산하여 결과로 출력합니다.

import numpy as np
a=np.array([[1,2],[3,4]])
b=np.array([[10,20],[10,20]])
print(a*b)

 

※ numpy 모듈 사용하기 2

 

     최대, 최소, 평균, 중앙, 분산, 표준편차, 공분산, 사분위간 범위, 상관계수 등 통계값들을 쉽게 구할 수 있습니다.

 

 x=[1,2,3,4,5,6,7,8,9,10]

최대 np.max(x)
최소 np.min(x)
평균 np.mean(x)
중앙 np.median(x)
분산 np.var(x)
표준편차 np.std(x)
사분위수 범위 np.quantile(x , 0.25 ~ 0. 75 )
공분산 np.cov(x)
상관계수 np.corrocef(x,y)
x=[1,2,3,4,5,6,7,8,9,10]
y=[1,2,3,4,5,6,7,8,9,15]
print('max :',np.max(x))
print('min :',np.min(x))
print('mean :',np.mean(x))
print('median :',np.median(x))
print('var :',np.var(x))
print('std :',np.std(x))
print('quantile 0.25 :',np.quantile(x , 0.25))
print('quantile 0.5 :',np.quantile(x , 0.5))
print('quantile 0.75 :',np.quantile(x , 0.75))
print('cov :',np.cov(x))
print('corrocef :',np.corrcoef(x,y)[0,1]) # 상관계수만 확인

 

이번 포스팅에선 numpy모듈에 대해 간단하게 알아볼 수 있었습니다.

 

다음 시간에는 객체 지향 언어의 큰 장점인 객체 ( 클래스 ) 에 대해 실습을 진행해 보도록 하겠습니다.

반응형