Python
python 패키지 - pandas 개요
현무랑 니니
2024. 11. 23. 13:48
반응형
Pandas란 무엇인가?
Pandas는 Python에서 데이터 분석과 조작을 위한 고수준의 데이터 구조와 도구를 제공하는 오픈소스 라이브러리이다.
Pandas는 특히 구조화된 데이터(예: 테이블 형태의 데이터)를 처리하는 데 최적화되어 있어 데이터 분석, 정리, 변환 및 시각화를 효율적으로 수행할 수 있다.
Pandas는 NumPy를 기반으로 하며, 데이터프레임(DataFrame)과 시리즈(Series)라는 두 가지 주요 데이터 구조를 제공한다.
주요 개념
- Series:
- 일차원 배열과 유사하며, 데이터와 데이터의 인덱스를 함께 저장한다.
- Python의 리스트나 NumPy 배열에 인덱스를 추가한 것과 비슷하다.
import pandas as pd s = pd.Series([10, 20, 30], index=['a', 'b', 'c']) print(s)
- DataFrame:
- 이차원 데이터 구조로, 행(row)과 열(column)로 구성된 테이블 형태이다.
- DataFrame의 각 열은 Series이다.
- 데이터 분석에 적합한 기능과 유연성을 제공한다.
- 다양한 유형의 데이터(문자, 정수, 부동 소수점 값, 범주형 데이터 등)를 열에 저장할 수 있는 2차원 데이터 구조이다.
스프레드시트, SQL 테이블 또는 R의 data.frame과 유사하다.
data = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]} df = pd.DataFrame(data) print(df)
- Indexing:
- 데이터에 접근하고 조작하기 위해 강력한 인덱싱과 슬라이싱 기능을 제공합니다.
주요 기능
- 데이터 로드 및 저장
- 다양한 파일 형식에서 데이터를 읽고 쓰는 기능:
- CSV (read_csv, to_csv)
- Excel (read_excel, to_excel)
- SQL, JSON, HTML 등.
- 다양한 파일 형식에서 데이터를 읽고 쓰는 기능:
- 데이터 탐색 및 요약
- 데이터 구조 및 통계 요약 제공:
- head(), tail(): 데이터 일부 조회
- describe(): 요약 통계
- info(): 데이터 구조 정보.
- 데이터 구조 및 통계 요약 제공:
- 데이터 정제 및 전처리
- 결측치 처리 (fillna, dropna)
- 중복 데이터 제거 (drop_duplicates)
- 데이터 형식 변환.
- 데이터 조작
- 데이터 필터링 및 선택 (loc, iloc)
- 데이터 정렬 및 순서 변경 (sort_values, sort_index)
- 데이터 병합 및 조인 (merge, concat, join).
- 고급 기능
- 그룹화와 집계 (groupby, aggregate)
- 피벗 테이블 생성 (pivot_table)
- 시계열 데이터 처리 (resample, rolling).
- 고성능 연산
- NumPy 기반으로 빠른 벡터화 연산 제공.
- 대용량 데이터 처리를 위해 최적화된 연산 가능.
- 시각화
- Matplotlib, Seaborn과 통합하여 기본 그래프 시각화 가능 (plot).
Pandas의 특징
- 유연성: 데이터 필터링, 전처리, 조작 등 다양한 작업을 쉽게 수행.
- 대규모 데이터 지원: 메모리 효율적으로 대용량 데이터 처리.
- 통합성: 다른 데이터 과학 라이브러리(Numpy, Matplotlib 등)와 자연스럽게 연동 가능.
- 오픈소스: 무료로 사용 가능하며 활발한 커뮤니티 지원.
반응형