별의 공부 블로그 🧑🏻‍💻
728x90
728x170

판다스(Pandas) 개요

판다스(Pandas)

  • Panel Data System의 약어
  • 파이썬으로 빅데이터를 처리하고 분석하는 데 가장 빈번하게 사용하며, 데이터 전처리에사 큰 비중을 차지하는 라이브러리
  • 수치 테이블시계열(Time Series)을 처리하는 데이터 구조와 연산 방법을 제공한다.
  • 2008년 초, Wes McKinney에 의해 금융 데이터를 계량 분석하기 위해 개발됐다.
  • 2015년, 비영리단체 NumFOCUS에 의해 오픈소스로 관리되기 시작하였다.
  • 공식 홈페이지 : https://pandas.pydata.org/

 

판다스(Pandas)와 넘파이(NumPy)

  • 판다스는 패널 데이터(Panel Data) 구조를 제공하기 위해 넘파이(NumPy) 위에 구성되도록 개발되었으므로 넘파이에서 쉽게 사용할 수 있다.
  • CSV, 액셀, SQL 등 여러 형식의 데이터를 분석하고 처리할 수 있으며, 데이터 행과 열의 라벨로 데이터를 분석하고 처리할 수 있다.
  • 판다스는 넘파이와 일체화(Integrate)되어 있으며, 넘파이 배열 형태의 데이터를 입력하고 반환하는 방법을 제공한다.

 

판다스의 대표적인 기능

  • 통합적인 인덱싱 데이터 처리를 위한 데이터프레임 객체
  • 인메모리(In-Memory) 데이터 구조를 가지며, 여러 파일 형식 데이터를 읽고 쓰기 위한 도구
  • 데이터 정렬, 손실 데이터를 통합 처리
  • 데이터 세트를 재형성(Reshaping), 피벗
  • 라벨 기반 슬라이싱, 멀티 인덱싱 및 커다란 데이터 세트를 부분 집합으로 구성(Subsetting)
  • 데이터 구조 열을 삽입하고 지우기
  • 분할-적용-통합(Split-Apply-Combine) 연산이 가능한 엔진으로 데이터 세트를 그룹화
  • 데이터 세트를 합치고(Merging) 붙이기(Joining)
  • 저차원 데이터 구조에서 고차원 데이터를 연산할 수 있도록 멀티 레벨 인덱싱
  • 다양한 시계열(Time Series) 처리 기능
  • 데이터 여과(Filtration)

 

판다스의 구성 요소

  • 라벨 처리된 배열 데이터 구조 세트인 시리즈(Series)데이터프레임(DataFrame)
  • 단순 축 또는 멀티인덱스 축을 인덱싱할 수 있는 인덱스(Index) 객체
  • 데이터 세트를 종합하고 변형하는 엔진
  • 사용자 정의 도수(Frequency)를 가지는 날짜 구간날짜 오프셋
  • 입력/출력 도구: 플랫 파일들(CSV, delimiter, 액셀)에서 테이블형 데이터를 읽고, 빠르고 효율적인 PyTables/HDF5 형식에서 판다스 객체들을 저장하고 읽음.
  • 손실 데이터, 고정 값 데이터를 효율적으로 저장하기 위한 메모리의 표준 데이터 구조
  • 이동 윈도우 통계(이동 평균, 이동 표준 편차 등)

 

판다스로 처리하기에 적합한 데이터

  • SQL 테이블이나 액셀처럼 여러 형식을 갖는 테이블형 데이터
  • 순서에 따라 정렬되거나 정렬되지 않은 시계열 데이터
  • 행과 열 라벨이 있는 임의의 행렬 데이터
  • 관측/통계 데이터 세트

 

판다스의 API 라이브러리

분류 구성 가능 객체, 함수, 메서드
Series Constructor Series()
Attributes Series.index, Series,values, Series.dtype 등
Conversion Series.astype(), Series.infer_objects() 등
Indexing, Iteration Series.get(), Series.at, Series.loc, Series.items() 등
Categorical 등 Categorical.dtype, Categorical.codes 등
DataFrame Constructor DataFrame()
Attributes and underlying data DataFrame.index, DataFrame.columns, DataFrame.dtypes, DataFrame.values 등
Conversion DataFrame.astype(), DataFrame.copy(), DataFrame.isna(), DataFrame.bool() 등
Indexing, Iteration DataFrame.head(), DataFrame.at, DataFrame.loc 등
Binary Operator Functions 등 DataFrame.add(), DataFrame.sub(), DataFrame.mul(), DataFrame.div() 등
Index Attributes Index.values, Index.is_monotonic 등
Modifying and Computations Index.all(), Index.any(), Index.argmin() 등
Missing Values Index.fillna(), Index.dropna(), Index.isna() 등
Conversion 등 Index.astype(), Index.item(), Index.tolist() 등
Sclars 등 Period Period
Attributes Period.day, Period.dayofweek, Period.freq 등
Methods Period.asfreq, Period.now 등
Timestamp Timestamp
Properties Timestamp.asm8, Timestamp.day, Timestamp.hour 등
Methods 등 Timestamp.ceil, Timestamp.astimezone 등

 

  • 이 외에도 Panel, Numeric Index, CategoricalIndex, IntervalIndex, MultiIndex, DatetimeIndex, TimedeltaIndex, PeriodIndex, Frequencies, Window, GroupBy, Resampling, Style, Plotting, General utility functions, Extensions 등의 판다스 API도 있으며, 이들 역시 객체, 함수, 메소드 등으로 방대하게 구성되어 있다.
  • 참고 : https://pandas.pydata.org/docs/reference/index.html
 

API reference — pandas 1.4.2 documentation

This page gives an overview of all public pandas objects, functions and methods. All classes and functions exposed in pandas.* namespace are public. Some subpackages are public which include pandas.errors, pandas.plotting, and pandas.testing. Public functi

pandas.pydata.org

 

패키지 설치

  • 터미널에 다음과 같이 입력하여 판다스를 설치할 수 있다.
> python -m pip install pandas

 

728x90
그리드형(광고전용)

'In-depth Study > Pandas' 카테고리의 다른 글

[Pandas] 수학 계산  (0) 2022.05.31
[Pandas] 데이터의 그룹 연산  (0) 2022.05.30
[Pandas] 데이터 가공  (0) 2022.05.29
[Pandas] 데이터 타입과 입출력  (0) 2022.05.27
[Pandas] 데이터 처리  (0) 2022.05.27
[Pandas] 판다스의 주요 기능  (0) 2022.05.25
[Pandas] 판다스 데이터 구조  (1) 2022.05.24
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️


📖 Contents 📖