Py) 기초 - 라이브러리

Py) 기초 - 라이브러리

파이썬 기반 데이터분석을 위하여 라이브러리에 대해 알아본다.


개요

파이썬의 라이브러리는 이미 구현되어 있는 다양한 기능(수학, 통계, 데이터 분석, 머신 러닝, 웹 프로그래밍 등)들을 모듈화하여 제공하는 것으로, 개발자들이 자신이 작성하는 코드에서 이러한 기능을 사용할 수 있도록 도와주는 것이다.

파이썬 라이브러리는 크게 두 개로 나누어 볼 수 있는데 하나는 파이썬에 기본으로 내장되어있는 라이브러리이고 다른 하나는 파이썬 패키지 인덱스(PyPI)에 등록된 것이다.

파이썬 라이브러리는 그 개수가 매우 많아 계속 증가하고 있지만 PyPI에 등록된 라이브러리만 해도 40만개가 넘는다.
PyPI 홈페이지 메인

데이터 분석용 라이브러리

정말 많은 데이터 분석 관련 라이브러리가 있지만 대중적인 데이터 분석을 위해 주로 사용하는 라이브러리를 소개한다.

  • os: 작업폴더 확인/설정, 각종 파일 핸들링
  • re: 정규표현식(regular expression)을 지원하는 라이브러리로 Pandas로 대체 가능
  • time: 시간 관련 함수(특히 sleep은 데이터 수집시 유용)
  • datetime: 시간 데이터 핸들링 라이브러리로 Pandas로 대체 가능
  • NumPy: Numeric Python. 즉, 각종 수치연산을 지원하는 라이브러리로 각종 데이터 분석 라이브러리의 근간이 된다.
  • Pandas: NumPy기반 라이브러리로 독자적인 객체 기반 고급 데이터 핸들링 함수 또는 메서드 지원
  • SciPy: Scientific Pyhton. NumPy기반 라이브러리로 각종 과학기술 분석에서 사용하는 함수 및 메서드 지원.
  • StatsModels: 전문적인 통계분석을 지원하는 라이브러리. 이 라이브러리 개발자들은 R이 없는 세상을 꿈꾼다.
  • sklearn: 머신러닝 알고리즘을 지원하는 라이브러리. 인공신경망 이전의 범용 머신러닝 알고리즘 및 그와 관련된 함수 또는 메서드를 대부분 지원.
  • matplotlib: 파이썬에서 그래프를 구현하는 기본 라이브러리
  • Seaborn: 파이썬에서 그래프를 구현하는 고수준 라이브러리

설치

기본

cmd(명령 프롬프트) 또는 주피터 노트북에서 설치 가능.
“pip”라는 명령어를 사용.

  • cmd에서 직접 명령어를 작성하는 경우

    pip install 라이브러리명
    pip install 라이브러리명 –user

  • 주피터 노트북에서 명령어를 작성하는 경우

    !pip install 라이브러리명
    !pip install 라이브러리명 –user

가끔 pip 버전이 낮아서 라이브러리를 제대로 설치 못하는 경우가 있는데 그 때는 pip를 업그레이드 해야함.

특정 버전의 라이브러리 설치

라이브러리명 뒤에 2개의 등호와 버전을 이어서 명시하면 되고 띄어쓰기는 하지 않음.

  • cmd에서 직접 명령어를 작성하는 경우

    pip install pandas==1.5.0

  • 주피터 노트북에서 명령어를 작성하는 경우

    !pip install pandas==1.5.0

업데이트

라이브러리 설치시 사용하는 명령어 뒤에 “–upgrade”를 붙여주면 됨.

제거

설치 명령어의 “install”을 “uninstall”로 바꿔주면 된다.

불러오기

“import”, “from”을 사용하여 라이브러리의 함수를 불러올 수 있으며 보통 라이브러리 전체를 불러오고자 하는 경우 “import”를 주로 사용하며 라이브러리의 일부 함수를 불러오는 경우 “from”을 사용함. 단, “from”을 사용하는 경우 반드시 “import”도 같이 사용해야 한다.
라이브러리명 또는 함수명이 너무 길어 변경이 필요한 경우 별칭(alias)를 지정하는 “as”를 사용할 수 있다.

import pandas as pd
from scipy.stats import ttest_ind
from sklearn.metrics import mean_squared_error as mse

라이브러리는 세션이 재부팅 되거나 주피터 노트북을 새로 켜는경우 불러오는 코드를 다시 실행해야 한다.

에러

꼭 위의 내용을 따라서 하려면 “전 안되는데요?ㅠㅠ” 하는 경우가 있다. 에러는 너무 다양해서 원인을 파악하긴 어려우나 대부분 자잘한 실수로 발생한다. 그래서 일단 다음 내용을 보자.

라이브러리 호출 에러

특정 라이브러리가 설치가 되어있지 않거나 이름에 오타를 낸 경우 다음과 같은 에러메세지를 확인할 수 있다.

1
2
3
4
5
6
7
import asdf

ModuleNotFoundError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_14460\1382432967.py in <module>
----> 1 import asdf

ModuleNotFoundError: No module named 'asdf'

특정 함수 또는 클래스 호출 에러

함수 또는 클래스 이름에 오타를 낸 경우 다음과 같은 에러메세지를 확인할 수 있다.

1
2
3
4
5
6
7
8
from sklearn.metrics import mean_squared_err

---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_14460\1974883757.py in <module>
----> 1 from sklearn.metrics import mean_squared_err

ImportError: cannot import name 'mean_squared_err' from 'sklearn.metrics' (C:\Users\encai\anaconda3\lib\site-packages\sklearn\metrics\__init__.py)
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×