# 필수 파이썬 라이브러리
내 기억에 처음에는 numpy가 개발되었는데, 좀더 쉽게 Sql, 엑셀과 같은 표 형태의 데이타를 처리하기 위해서 Pandas가 개발된 것으로 알고 있다
예전에 생활코딩에 이고잉님이 이런 이야기를 한적이 있다.
데이타를 정리하기 위해서 표라는 row , column의 아주 훌륭한 정리법이라고,
세무사에서 기업의 재무재표등을 계산하는것도 처음에는 엑셀부터 시작하고
실제 DB에서 정보를 출력하는 형태도 Grid표 이다.
1) Numpy : 파이썬 산술 계산의 추줓돌 같은 라이브러리
- 자료구조, 알고리즘 산술 데이터를 다룸
- 다차원 배열객체 ndarry
- 배열 원소를 다루거나 배열간의 수학계산 수행
- 디스크로 부터 배열기반의 데이타 읽고 쓰기 가능
- 선형대수 계산, 푸리에 변환, 난수 생성기
- Numpy자료구조 접근 가능한 C API수치데이타라면
Numpy배열은 파이선 내장 자료구조 보다 훨씬 효율적인 방법으로 데이타를 저장하고 관리 가능
2) Pandas
pandas를 처음 개발할때, R의 핵심 기능을 구현했다고 한다. (R이 pandas보다 더 오래되었다.)
# 생각해 볼 꺼리
1. sql로 조회한 데이타에 대해서 pandas를 이용해야 하는 경우는 어떤 경우일까?
- sql에도 sum, avg, min, max등에 기본적인 통게함수를 제공한다.
- 우리는 sql로 많은 통계 쿼리를 작성해왔고, 지금도 많이 사용한다.
- Grid표로 제공되고, python으로 DB에 접속해서 DataFrame형태로 결과를 Converting할 수 있다.
2. Sql에서 할수 있는 것을 pandas로 대부분 할수 있다.
3. Sql vs Pandas의 속도
- 결과 데이타를 csv로 생성해서 1000만건의 sql(result-Set)과 csv의 10000만건 처리한다고
가정하는 경우 속도의 성능차이는 어떻게 될까?
- 구조화된 데이타나 표형식
- 표형태의 Row,컬럼을 가지는 DataFrame
- 1차원 배열 객체인 Series
3) matplotlib
그래프나 2차원 데이타 시각화
4) IPython, Jupyter
IPython프로젝트를 웹 기반으로 진행한 프로젝트가 Jupyter이다.
요즘은 일반적으로 Jupyter를 기본으로 많이 사용한다.
IPython의 화면도 Jupyter와 비슷하게 구성된것을 볼 수 있다.
5) Scipy(사이파이)
과학 계산 컴퓨팅 영역의 여러 기본 문제를 다루는 패키지 모음
L 미분방정식, 선형대수, 희소행렬 등
Numpy와 Scipy를 함께 사용하면, 전통적인 과학 계산 어플리게이션에서 제공하는 대부분 기능 대체 가능
6) scikit-learn(사이킷런)
파이선 개발자를 위한 범용 머신러닝 도구로 자리잡기 시작
- 분류 : SVM, 최접근이웃, 랜덤 포레스트...등
- 희귀 : 라소, 리지
- 클러스터링 : k-평균...등
- 차원 축소 : PCA...등
- 모델 선택 : 교차검증, 행렬..등
- 전처리 : 특징추출, 정규화
7) statsmodels
R언어용 회귀분석 모델을 구현한 통계분석 패키지 이다.
사이키런과 비교하면, 전통적인 통계(주로 빈도주의적 접근)과 계량경제학 알고리즘을 포함
'파이선' 카테고리의 다른 글
데이터 로딩과 저장, 파일형식 (chap6) (0) | 2021.09.02 |
---|---|
pandas 시작하기 (chap5) (0) | 2021.09.01 |
Numpy기본 : 배열과 백터 연산 (chap4) (0) | 2021.08.30 |
파이썬 언어 기본, IPython, Jupyter 노트북 (chap2) (0) | 2021.08.29 |
파이썬 라이브러리를 활용한 데이터 분석(Python for Data Analysis (0) | 2021.08.29 |