SW/Python

데이터 과학을 위한 파이썬 핵심 라이브러리 : 종류, 추천, 기능

얇은생각 2019. 9. 13. 07:30
반응형

파이썬 라이브러리 활용 예제

 

1. NumPy

파이썬의 과학 과제를 다루기 시작할 때 필연적으로 파이썬의 과학 컴퓨팅을 위해 특별히 설계된 소프트웨어 모음인 Python의 SciPy Stack에 도움이됩니다. (SciPy Stack을 이 스택의 일부인이 SciPy 라이브러리 또는 커뮤니티와 혼동하지 마십시오.) 스택은 매우 방대하고 여러개의 라이브러리가 포함되어 있습니다. 핵심 패키지이며, 특히 가장 중요한 패키지 중 하나라고 할 수 있습니다.


가장 기본적인 패키지는 NumPy (Numerical Python)입니다. 파이썬에서 n- 배열과 행렬에 대한 연산에 유용한 기능을 풍부하게 제공합니다. 라이브러리는 NumPy 배열 유형에서 수학 연산의 벡터화를 제공하여 성능을 개선하고 그에 따라 실행 속도를 높입니다.


 

2. SciPy

SciPy는 공학 및 과학 용 소프트웨어 라이브러리입니다. 다시, SciPy Stack과 SciPy Library의 차이점을 이해해야 합니다. SciPy에는 선형 대수, 최적화, 통합 및 통계를 위한 모듈이 포함되어 있습니다. SciPy 라이브러리의 주요 기능은 NumPy를 기반으로 하므로 해당 배열은 NumPy를 실질적으로 사용합니다. 특정 하위 모듈을 통해 수치 통합, 최적화 및 기타 여러 가지로 효율적인 수치 루틴을 제공합니다. SciPy의 모든 하위 모듈에 있는 기능은 포트에 있는 또 다른 것으로 잘 문서화되어 있습니다.


 

3. Pandas 

Pandas는 "labeled" 및 "relational" 데이터를 간단하고 직관적으로 사용할 수 있도록 설계된 Python 패키지입니다. Pandas는 데이터 핸들링을 위한 완벽한 도구입니다. 빠르고 쉬운 데이터 조작, 집계 및 시각화를 위해 설계되었습니다.

라이브러리에는 두 가지 주요 데이터 구조가 있습니다.

- Series : 1 차원

- data frame : 2 차원

 

예를 들어, 이 두 가지 유형의 구조에서 새 데이터 프레임을 받으려면 Series를 전달하여 단일 행을 DataFrame에 추가해야합니다.

 

다음은 Pandas로 수행 할 수 있는 작업 목록입니다.

 

  • DataFrame에서 열을 쉽게 삭제 및 추가
  • 데이터 구조를 DataFrame 객체로 변환
  • NaN으로 표시되는 누락 된 데이터 처리
  • 기능별로 그룹화

구글 트렌드 (Google Trends)에 따르면 구글이 세 라이브러리를 모두 검색하고 있지만 NumPy는 꾸준히 인기를 끌고 있습니다.

 

GitHub 풀 요청과 관련하여, Pandas는 많은 기고자들에 의해 지속적으로 지원되었습니다. 그러나 2016년 9월 NumPy에 대한 지원이 시작되었고 일시적으로 Pandas에 대한 기여도를 능가했습니다.

 

 

 

4. Matplotlib

간단하고 강력한 시각화를 쉽게 만들 수 있도록 설계된 또 다른 SciPy Stack 코어 패키지 및 Python 라이브러리는 Matplotlib입니다. MATLAB 또는 Mathematica와 같은 과학 도구와 Python을 (NumPy, SciPy 및 Pandas의 도움을 받아) 경쟁자로 만드는 최고의 소프트웨어입니다. 고급 시각화 수준에 도달하려면 더 많은 코드를 작성해야 합니다. 일반적으로 고급 도구를 사용하는 것보다 더 많은 노력을 기울여야 하지만, 노력의 가치가 있습니다.


약간의 노력으로 거의 모든 시각화를 만들 수 있습니다.

 

  • Line plots
  • Scatter plots
  • Bar charts and histograms
  • Pie charts
  • Stem plots
  • Contour plots
  • Quiver plots
  • Spectrograms

Matplotlib을 사용하여 레이블, 그리드, 범례 및 기타 여러 서식 엔티티를 작성하는 기능도 있습니다. 기본적으로 모든 것을 사용자 정의 할 수 있습니다. 


라이브러리는 다른 플랫폼에서 지원되며 시각화 결과를 표시하기 위해 다른 GUI 키트를 사용합니다. IPython과 같은 다양한 IDE는 Matplotlib의 기능을 지원합니다.

시각화를 더욱 쉽게 할 수있는 추가 라이브러리도 있습니다.

 

 

5. Seaborn

Seaborn은 주로 통계 모델의 시각화에 중점을 둡니다. 이러한 시각화에는 맵과 데이터를 요약하지만 여전히 전체 분포를 나타냅니다. Seaborn은 Matplotlib에 크게 의존합니다.

 

 

 

6. Bokeh

또 다른 훌륭한 시각화 라이브러리는 대화형 시각화를 목표로하는 Bokeh입니다. 이전 라이브러리와 달리 이 라이브러리는 Matplotlib와 독립적입니다. Bokeh의 주요 초점은 대화형 기능이며 최신 브라우저를 통해 데이터 기반 문서 (d3.js) 스타일로 표시됩니다.

 

 

 

7. Plotly 

마지막으로 Plotly입니다. Plotly는 시각화를 구축하기 위한 웹 기반 도구 상자이며 API를 일부 프로그래밍 언어 (Python)에 노출합니다. Plotly 웹 사이트에는 여러 가지 강력한 기본 그래픽이 있습니다. Plotly를 사용하려면 API 키를 설정해야합니다.

 

반응형