Rucrazia's Blog
파이썬(Python) 데이터 분석 라이브러리 본문
DATA SCIENCE LIBRARY
Numpy
NumPy는 프로그래머가 고성능 배열 및 행렬을 사용하는데 사용할 수 있는 다양한 기능을 제공합니다. NumPy 배열은 수학 연산의 벡터화를 제공하므로 파이썬의 루핑 구문에 비해 성능이 향상됩니다.
pandas library의 Series 및 DataFrame 객체는 요소를 자르고 벡터 작업을 수행하는 것과 같은 모든 수학적 계산을 위해 주로 NumPy 배열에 의존합니다. NumPy를 사용하여 대규모 다차원 배열 및 행렬을 사용하는 것은 매우 쉽습니다.
NumPy의 또 다른 장점은 루프를 작성하지 않고도 표준 수학 연산을 전체 데이터 세트에 적용 할 수 있다는 것입니다. 저수준 언어 (예 : C 또는 C ++)로 작성된 외부 라이브러리로 데이터를 내보내고 이러한 외부 라이브러리에서 데이터를 NumPy 배열로 가져 오는 것도 매우 쉽습니다.
- 수학 연산 : 대용량 데이터 집합에 대해 연산을 수행하는 데 필요한 모든 표준 함수를 매우 빠르고 효율적으로 제공합니다. 그렇지 않으면 루핑 구문을 통해 수행해야합니다.
ndarray : 벡터 기반 산술 연산을 수행 할 수 있고 강력한 방송 기능을 가진 빠르고 효율적인 다차원 배열입니다.
- I / O Operations : 디스크에서 매우 큰 데이터 세트를 읽고 쓰는 데 사용할 수있는 다양한 도구를 제공합니다. 또한 메모리 기반 파일 매핑에 대한 I / O 작업을 지원합니다.
- 푸리에 변환 기능, 선형 대수 및 난수 생성
SciPy
SciPy는 Python의 Extension NumPy 위에 구축 된 수학 함수 및 알고리즘의 모음입니다. SciPy는 데이터 조작 및 시각화를 위한 다양한 고급 명령 및 클래스를 제공합니다. SciPy는 시스템의 데이터 처리 및 프로토 타이핑에 유용합니다. 적분 및 최적화를 위한 루틴과 같은 많은 사용자 친화적이고 효율적인 수치 루틴을 제공합니다. SciPy는 데이터 과학에서 최적화 , 선형 대수학 , 통합 및 기타 일반 작업을 위한 모듈을 제공 합니다 .
이 외에도, SciPy는 강력하고 빠르게 성장하는 Python 커뮤니티가 있습니다. 수학 및 과학과 관련된 응용프로그램 및 많은 특수 응용 프로그램을 구축하는데 있어 이점을 제공합니다.
Pandas
데이터 분석가가 매우 간단하고 쉬운 방법으로 데이터를 조작 하는데 도움이 되는 데이터 구조들과 도구들을 갖고 있습니다. 데이터를 분석하기 위한 다중 및 단일 차원 데이터에 대한 색인 작성, 검색, 분할, 조인(join), 재구성(restructure) 및 다양한 분석 기능을 매우 간단하면서도 효과적으로 제공합니다.
[특징]
i) Series 및 DataFrame 객체
이 두 가지는 고성능 배열 및 테이블 구조로, Pandas의 이종 및 동종 데이터 세트를 나타냅니다.
ii) 데이터 세트의 재구성
Pandas는 데이터를 표 형식 데이터의 행과 열 모두에 삽입 할 수 있도록 데이터 구조를 다시 변형 할 수있는 유연성을 제공합니다.
iii) 라벨링
데이터와 색인의 자동 정렬을 위해 판다는 시리즈 및 표 데이터에 라벨을 지정합니다.
iv) 데이터 항목에 대한 다중 레이블
여러 축을 통해 분산된 데이터의 이종 인덱싱은 각 데이터 항목에 둘 이상의 레이블을 만드는 데 도움이 됩니다.
v) 그룹핑
테이블 형식의 데이터에 대해서도 계열별로 분할 적용 적용을 수행합니다.
vi) 누락 된 데이터 식별 및 수정
프로그래머는 pandas를 사용하여 누락 된 데이터를 플로팅 및 비 플로팅 숫자로 쉽게 식별하고 혼합 할 수 있습니다.
vii) JSON, CSV, HDF5 등과 같은 다양한 형식의 데이터를 로드하고 저장하는 강력한 기능
viii) NumPy 및 Python 데이터 구조에서 판다 객체로 변환.
ix) SQL과 유사한 구조로 데이터 세트를 병합하고 결합하는 것을 포함하는 데이터 세트의 슬라이싱.
Statsmodels
Statsmodels는 사용자가 데이터를 탐색하고 통계 모델을 추정하며 통계 테스트를 수행 할 수있는 Python 모듈입니다. 다양한 유형의 데이터 및 추정에 대해 기술 통계, 통계 테스트, 플로팅 기능 및 통계 결과의 다양한 기능을 사용할 수 있습니다.
Libraries for Plotting and Visualizations
matplotlib
시각화를 위한 파이썬 모듈입니다. Matplotlib을 사용하면 선 그래프, 원형 차트, 히스토그램 및 기타 전문 학년 인물을 신속하게 만들 수 있습니다. Matplotlib을 사용하여 그림의 모든 측면을 사용자 정의 할 수 있습니다. IPython notebook에서 사용되는 경우 Matplotlib에는 확대/축소 및 이동과 같은 대화형 기능이 있습니다. 모든 운영 체제에서 다른 GUI 백엔드를 지원하며 그래픽을 PDF, SVG, JPG, PNG, BMP, GIF 등과 같은 공통 벡터 및 그래픽 형식으로 내보낼 수도 있습니다.
Seaborn
Seaborn은 Matplotlib 위에 구축 된 인기있는 데이터 시각화 라이브러리입니다. Seaborn의 기본 스타일과 색상 팔레트는 Matplotlib보다 훨씬 정교합니다. 히트맵, 시계열 및 바이올린 플롯을 포함하여 특정 종류의 플롯을 생성하는 것이 더 쉽습니다.
ggplot
ggplot은 R의 ggplot2와 Grammar of Graphics 에 기반한 파이썬 시각화 라이브러리 입니다. 구현 세부 사항을 고려하지 않고 고급 문법을 사용하여 플롯을 구성 할 수 있습니다. ggplot은 Matplotlib와 다르게 작동합니다. 사용자가 레이어 구성 요소를 사용하여 전체 플롯을 만들 수 있습니다. 예를 들어, 사용자는 축으로 시작한 다음 점을 추가 한 다음 선, 추세 선 등을 추가 할 수 있습니다. 그래픽 문법은 플로팅을 위한 "직관적인"방법으로 환영 받았지만, Matplotlib 사용자는 시간이 필요합니다. 이 새로운 사고 방식에 적응하십시오.
Bokeh
Bokeh는 ggplot과 달리 R에서 포팅되지 않고 Python을 기본으로 하는 라이브러리 입니다. Bokeh는 ggplot과 마찬가지로 그래픽 문법을 기반으로 합니다. 또한 스트리밍 및 실시간 데이터 처리를 지원하며 JSON 객체, HTML 문서 또는 대화식 웹 응용 프로그램으로 쉽게 출력 할 수 있는 대화식 웹 플롯을 만드는 기능이 있습니다.
Bokeh는 다양한 유형의 사용자를 수용 할 수있는 다양한 제어 기능을 갖춘 세 가지 인터페이스를 제공합니다. 최상위 레벨은 차트를 빠르게 만드는 데 사용됩니다. 막대 그래프, 상자 그래프 및 막대 그래프와 같은 일반적인 차트를 만드는 방법이 포함되어 있습니다. 중간 레벨을 사용하면 사용자는 각 차트의 기본 빌딩 블록 (예 : 산점도의 점)을 제어 할 수 있으며 Matplotlib과 동일한 특이성을 갖습니다. 최하위 수준은 개발자와 소프트웨어 엔지니어를 대상으로합니다. 미리 설정된 기본값이 없으므로 사용자가 차트의 모든 요소를 정의해야합니다.
Plotly
데이터 시각화를 위한 온라인 플랫폼으로 널리 알려져 있습니다. Bokeh와 마찬가지로 Plotly의 강점은 대화형 플롯을 만드는 데 있으며, 윤곽 플롯 과 같이 대부분의 라이브러리에서 찾을 수없는 차트를 제공합니다 .
출처
- https://www.dezyre.com/article/top-5-libraries-for-data-science-in-python/196
- http://bigdata-madesimple.com/ten-handy-python-libraries-for-aspiring-data-scientists/
- https://www.fusioncharts.com/blog/best-python-data-visualization-libraries/
'기술 - Data Science > Data Science' 카테고리의 다른 글
(R 전처리) 테이블의 컬럼들로 다른 테이블의의 컬럼을 수정 및 확인하는 방법 (0) | 2018.10.25 |
---|---|
주말과 공휴일 날짜를 가져오는 R 코드 (0) | 2018.10.11 |
Data Engineering - Hadoop 설치기 (0) | 2018.03.01 |
Data Engineering - Docker 설치기 (0) | 2018.02.27 |
Statistics_Introduction 7. 표본추출과 표집분포 (0) | 2017.12.15 |