소개

데이터 분석을 위한 파이썬

다른 언어와 접목 용이

기존의 레거시 코드(C, C++, FORTRAN)들과 접목이 용이

연구와 제품화

연구용으로 개발된 코드를 제품화하는 것이 쉽다.

파이썬의 단점

  • 인터프리터 언어의 느림(컴파일 언어 C, C++, Java)
  • 다중 스레딩 어려움
  • 다중 스레딩 가능성 존재(파이썬 C 확장 이용)

자주 쓰이는 라이브러리

넘파이(Numpy)

넘파이(Numerical Python)

  • 효율적이고 빠른 다차원 배열 객체(ndarray)
  • 다차원 배열 간의 연산 기능
  • 표형식의 데이터 입출력
  • 선형대수, 푸리에 변환, 무작위 수 생성
  • C, C++ 코드 데이터 구조 접근 가능 API

판다스(pandas)

  • 레이블 데이터
  • 시계열 데이터 분석 기능
  • 메터 데이터 유지하는 수식 연산
  • 유연한 누락 데이터 처리
  • 데이터베이스 연결

matplotlib

matplotlib는 그래프 및 2차원 데이터 시각화에 가장 많이 쓰이는 파이썬 라이브러리다.

IPython 과 Jupyter

IPython은 더 나은 인터프리터를 제공한다. Jupyter는 40여개의 프로그래밍 커널(kernel)을 제공하는 대화형 컴퓨팅 도구이다.

SciPy

다양한 과학 계산 분야에서 사용되고 있는 패키지들을 모아놓은 라이브러리다.

  • scipy.integrate
  • scipy.linalg
  • scipy.optimize
  • scipy.signal
  • scipy.sparse
  • scipy.special
  • scipy.stats

scikit-learn

머신 러닝 툴킷이다.

  • 분류분석(Classification): SVM, nearest neighbors, random forest, logistic regression, etc.
  • 회귀분석(Regression): Lasso, ridge regression, etc.
  • 군집분석(Clustering): k-means, spectral clustering, etc.
  • 차원축소(Dimensionality reduction): PCA, feature selection, matrix factorization, etc.
  • 모델 선택(Model selection): Grid search, cross-validation, metrics
  • 전처리(Preprocessing): Feature extraction, normalization

statsmodels

통계분석 모듈이다.

  • 회귀분석(Regression)
  • 분산분석(ANOVA)
  • 시계열분석(Time series analysis)
  • 비모수 방법

설치 및 설정

여기서는 아나콘다 프로그램에 대해서 다룬다. 아나콘다는 파이썬 인터프리터를 포함 자주 사용되는 패키지들을 한꺼번에 설치한다. 아나콘다 프로그램은 여기서 내려받아 설치한다. 설치가 끝났으면 시작 - Anaconda - Anaconda Prompt를 실행하여 명령창을 연다. 그곳에 다음과 같이 입력하여 파이썬을 실행해본다. 아래와 같이 나오면 정상적으로 설치가 된 것이다.

c:\Users\dyoon>python
Python 3.6.4 |Anaconda custom (64-bit)| (default, Jan 16 2018, 10:22:32) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

끝내려면 exit()를 입력하고 엔터를 치든지 Ctrl + Z를 누르고 엔터를 치면 된다.

파이썬 패키지 설치 및 업데이트

어떤 경우에는 아나콘다가 기본으로 설치하지 않은 패키지를 사용해야 할 필요가 생길 수 있다. 이럴 경우는 명령창에서 다음과 같이 입력한다.

conda install 패키지이름

이미 설치된 패키지 목록을 알아보기 위해서는 다음과 같이 한다.

conda list

또한 특정한 문자열이 포함된 설치 패키지 목록을 알고 싶으면 다음과 같이 문자열을 함께 입력한다.

conda list 찾으려는문자열

conda 명령어에 대해서 자세히 알고 싶으면 -h 옵션을 다음과 같이 준다.

conda -h

각각의 명령어에 대한 자세한 설명을 원하면 다음과 같이 한다. 예를 들어 conda install에 대해서 자세한 사용법을 알고 싶으면 다음과 같이 한다.

conda install -h

conda install을 이용해서 패키지를 설치하려고 할 때 패키지가 존재하지 않아서 설치가 안되는 경우가 있다. 이럴때는 패키지의 위치가 다를 경우일 수 있다. 우선 구글을 통해 패키지를 검색하고 패키지 배포 위치를 확인한 후 다음과 같이 -c 옵션을 이용해 설치하면 된다.

conda install -c 패키지배포사이트 패키지이름

많은 패키지를 공유하고 있는 사이트로 conda-forge가 있다. 따라서 conda-forge에서 패키지를 설치하고 싶으면 다음과 같이 하면된다.

conda install -c conda-forge 패키지이름

conda 환경의 패키지가 없을 경우에는 pip 명령을 이용하여 설치할 수도 있다.

pip install 패키지이름

기존의 패키지들을 업데이트하려면 다음과 같이 한다.

conda update 패키지이름

가끔씩 condaanaconda를 업데이트 해주는 것이 좋다.

conda update conda
conda update anaconda

통합개발환경(IDE; Integrated Development Environment)

파이썬 코드를 편집, 실행, 결과, 디버깅을 한꺼번에 할 수 있는 프로그램을 통합개발환경이라고 한다. 통합개발환경에는 PyDev(Eclipse에서 사용), Spyder, Idle, PyCharm과 같이 여러가지가 있지만 여기서는 파이참(PyCharm) 커뮤니티 버전을 사용한다.

  • 파이참 다운로드 및 설치
  • 새 프로젝트 만들기(파이썬 인터프리터 설정; Make available to all projects)
  • 파이참 편집기 사용 및 실행
  • 테마 변경