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
패키지 설치
- 터미널에 다음과 같이 입력하여 판다스를 설치할 수 있다.
> 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 |