1. 파이썬 응용
ㅇ 데이터 분석, 데이터 시각화, 데이터 과학 분야의 주요 파이썬 라이브러리
- NumPy : (숫자 배열의 효율적 이용)
. 숫자 배열의 효율적 사용을 위한 라이브러리로써, 고속 연산이 가능
. (기능) 벡터, 배열, 행렬 등의 생성 및 연산, 난수 생성, 선형 대수, 푸리에 변환 등
. (자료형) 기본 컨테이너 객체 : ndarray
.. 객체 요소 자료형 : dtype (int,float,complex,bool,string,datetime 등 다양한 세부형)
. (특징)
.. 파이썬 기본 리스트에 비해 메모리 사용 효율이 높고,
벡터화 연산을 통해 반복문 없이 빠른 연산 가능
.. 다양한 브로드캐스팅(broadcasting) 기능 제공 → 크기가 다른 배열 간에도 연산 가능
.. 대규모 과학/공학 계산, 데이터 분석, 머신러닝 라이브러리(Pandas, TensorFlow 등)의
기반 라이브러리로 활용됨
. 例) import numpy as np;
.. x = np.array([1,2,3]); y = np.array([4,5,6]); z = x + y => [5 7 9] (3요소 벡터)
.. z[0] => 5; z[0] = 10 => [10 7 9]
.. type(z) => numpy.ndarray; (자료형)
.. y = a.copy(); (복사 : 참조 주소가 아닌 실제 내용 복사)
.. vec = np.array([1,2,3,4]); (4요소 벡터)
.. vec.mean() => 2.5; vec.shape => (4,); (평균 계산 및 벡터의 모양/크기)
.. np.arange(0,10,2) # (start,end,step) => [0 2 4 6 8]; (연속 정수 벡터)
.. matrix = np.array([1,2,3],[4,5,6]) => [[1 2 3] [4 5 6]; (행렬)
.. matrix.shape => (2, 3) (행렬 크기)
- SciPy : (NumPy 기반의 빠른 연산, 과학 기술 분야의 다양한 연산)
. NumPy 기반으로 고속 계산 및 과학적 연산을 지원하는 확장 라이브러리
. (주요 모듈)
.. scipy.optimize 모듈 : 최적화
.. scipy.linalg 모듈 : 선형 대수
.. scipy.signal 모듈 : 신호 처리, 신호 및 시스템
.. scipy.stats 모듈 : 확률 통계 분석
.. scipy.integrate 모듈 : 수치 적분 및 미분 방정식 풀이
.. scipy.spatial 모듈 : 공간 데이터 처리 (최근접 이웃 검색 등)
.. scipy.interpolate 모듈 : 보간법 및 근사 계산
- Pandas : (NumPy 기반의 데이터 조작 및 분석)
. 구조화된 데이터(표,시계열 자료 등)를 조작 및 분석하기 위한 라이브러리
. (자료구조 종류)
.. Series : 1차원 데이터 (라벨 지원)
.. DataFrame : 2차원 데이터 (테이블 형식)
.. 멀티인덱스 : 3차원 데이터
- Statsmodel : (통계 모델링과 데이터 분석을 지원)
. 다양한 통계 모델 및 데이터 분석 기능을 제공
. (주요 기능)
.. 회귀 분석(선형/비선형), 시계열 분석, 잔차 분석 등
- Matplotlib : (데이터 시각화)
. 기본 데이터 시각화 라이브러리로, 다양한 그래프와 플롯 생성 가능
- Seaborn (고급 데이터 시각화)
. Matplotlib의 확장 라이브러리로, 고급 시각화 기능과 미적 표현 지원
* 다양한 소스에서 데이터를 읽고, 정리, 기술통계 및 추론통계 등을 수행하는 기능 제공
ㅇ 코랩 (Google Colaboratory)
- 웹브라우저에서 직접 파이썬 코드를 작성 실행케 하는, 클라우드 기반의 주피터 노트북 환경
- 이를 통해 데이터 분석, 기계 학습, 딥러닝 등의 작업을 수행 가능
ㅇ (기타)
- 웹 개발 : (Flask, Django)
- 자동화 : (Selenium, BeautifulSoup)
- 기계 학습 : (TensorFlow, PyTorch) 등
2. 주피터 노트북 (Jupiter Notebook) : (파이썬 개발 환경)
ㅇ 컴퓨터에서 파이썬 인터프리터를 더욱 쉽게 사용케한, `대화형 코딩 프로그램 환경`
- 파이썬 코드 블록 기반으로, 관리 및 실행
. 사용자 입력 코드,주석 등을 모두 코드 블록 형태로 관리하고,
. 실행 결과를 런타임 유지하며 실시간 확인 및 디버깅 가능
- 코드, 텍스트, 그래프, 이미지를 한 문서에서 작성 가능
- 데이터 분석을 차례대로 실행해가며, 실시간으로 결과 확인도 가능한 편집기
ㅇ `웹브라우저`를 이용해서, 코드 또는 문서를 작성,입력하고, 그 결과를 바로 확인,수정 가능
- (시작) 실행시, 로컬 컴퓨터의 파일 디렉터리 기반의 웹 인터페이스가 시작됨
- (생성) New를 선택하고 Python 3 노트북 메뉴 옵션을 클릭
- (편집) Jupyter 편집기는, 셀 단위로 구성 및 실행 가능
. 각 코드 줄을 별도의 셀에 추가하거나, 여러 줄을 동일한 셀에 추가 가능
- (실행) 메인 툴바에 있는 Run 버튼, 선택한 셀의 코드를 실행하는 데 사용