SiLaure's Data

[Pandas] 01. Pandas란 / 02. Pandas의 기본 자료구조(Series, DataFrame) 본문

Records of/Learning

[Pandas] 01. Pandas란 / 02. Pandas의 기본 자료구조(Series, DataFrame)

data_soin 2021. 7. 25. 21:35

-  Pandas?

  • 데이터 분석에서 가장 많이 사용하는 라이브러리
  • pandas는 "python data analysis"의 약자
  • pandas는 정형 데이터 처리에 특화되어 있다.
  • pandas 역시 다양한 머신러닝 라이브러리들에 의존성을 가지고 있습니다.
e.g. scikit-learn, scipy, statsmodel, tensorflow(딥러닝), pytorch, ...

 

 

 

  • 간단하게 생각하면, python에서 excel의 기능을 사용할 수 있다.
pandas = python + excel // pandas & excel // pandas VS MS Excel
  • 하지만, pandas는 numpy array를 베이스로 지원하며 파이썬과 함께 강력한 시너지를 내기 때문에,
    엑셀 그 이상의 퍼포먼스를 낼 수 있다.
  • pandas가 Excel에 비해 고성능 데이터처리에 적합하다.

 

 

 

  • Pandas 라이브러리에서 기본적으로 데이터를 다루는 단위는 DataFrame으로,
    흔히 알고있는 spreadsheet와 같은 개념이다.
  • 이러한 형태의 데이터를 Structured Data 또는 Panel Data 또는 Tabular Data라고 한다.
  • pandas를 공부한다는 것은 결국 dataframe의 사용법을 익히고 활용하는 방법을 배운다는 것과 같다.
  • pandas를 잘 활용하면 대부분의 structured data를 자유자재로 다룰 수 있게 됩니다.

 

 

- Pandas의 기본 자료구조(Series, DataFrame)

DataFrame == 2차원 테이블
테이블의 한 줄(행/열) == Series
Series의 모임(두 줄) == DataFrame

 

import pandas as pd
import numpy as np

# pandas version 확인
pd.__version__
버전은 1.1.5 이상으로 업데이트 할 것

 

  • s는 1, 3, 5, np.nan, 6, 8을 원소로 가지는 pandas.Series --대문자 주의
s = pd.Series([1, 3, 5, np.nan, 6, 8])
s

출력 : 

더보기

0    1.0
1    3.0
2    5.0
3    NaN
4    6.0
5    8.0
dtype: float64

 

 

  • 20210101부터 6일간의 날짜 범위를 생성하는 pandas.date_range
dates = pd.date_range('20210101', periods=6)
dates
pandas는 date_range라는 함수를 통해, 날짜정보를 쉽게 생성해주는 객체도 제공한다.

 

 

더보기
  • 6x4 행렬에 -1에서 1 사이의 랜덤한 숫자를 가지는 원소를 가지고,
    index열은 dates, 나머지 coulmns은 순서대로 A, B, C, D로 하는 DataFrame 생성
    df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=['A', 'B', 'C', 'D'])
    df​
     출력 :
     

 

'Records of > Learning' 카테고리의 다른 글

[Pandas] 04. DataFrame Indexing  (0) 2021.07.26
[Pandas] 03. DataFrame Method  (0) 2021.07.25
[Numpy] Performance Test  (0) 2021.07.25
[Numpy] 06. Array Aggregation functions  (0) 2021.07.25
[Numpy] 05. Array Functions(함수)  (0) 2021.07.25
Comments