반응형
Notice
Recent Posts
Recent Comments
관리 메뉴

꿈꾸는 사람.

python 패키지 - pandas 개요 본문

Python

python 패키지 - pandas 개요

현무랑 니니 2024. 11. 23. 13:48
반응형

Pandas란 무엇인가?

Pandas는 Python에서 데이터 분석과 조작을 위한 고수준의 데이터 구조와 도구를 제공하는 오픈소스 라이브러리이다.

Pandas는 특히 구조화된 데이터(예: 테이블 형태의 데이터)를 처리하는 데 최적화되어 있어 데이터 분석, 정리, 변환 및 시각화를 효율적으로 수행할 수 있다.

Pandas는 NumPy를 기반으로 하며, 데이터프레임(DataFrame)과 시리즈(Series)라는 두 가지 주요 데이터 구조를 제공한다.

 

주요 개념

  1. Series:
    • 일차원 배열과 유사하며, 데이터와 데이터의 인덱스를 함께 저장한다.
    • Python의 리스트나 NumPy 배열에 인덱스를 추가한 것과 비슷하다.
    import pandas as pd
    s = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
    print(s)
    
     
  2. DataFrame:
    • 이차원 데이터 구조로, 행(row)과 열(column)로 구성된 테이블 형태이다.
    • DataFrame의 각 열은 Series이다.
    • 데이터 분석에 적합한 기능과 유연성을 제공한다.
    • 다양한 유형의 데이터(문자, 정수, 부동 소수점 값, 범주형 데이터 등)를 열에 저장할 수 있는 2차원 데이터 구조이다. 
      스프레드시트, SQL 테이블 또는 R의 data.frame과 유사하다.
    data = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]}
    df = pd.DataFrame(data)
    print(df)
  3. Indexing:
    • 데이터에 접근하고 조작하기 위해 강력한 인덱싱과 슬라이싱 기능을 제공합니다.

주요 기능

  1. 데이터 로드 및 저장
    • 다양한 파일 형식에서 데이터를 읽고 쓰는 기능:
      • CSV (read_csv, to_csv)
      • Excel (read_excel, to_excel)
      • SQL, JSON, HTML 등.
  2. 데이터 탐색 및 요약
    • 데이터 구조 및 통계 요약 제공:
      • head(), tail(): 데이터 일부 조회
      • describe(): 요약 통계
      • info(): 데이터 구조 정보.
  3. 데이터 정제 및 전처리
    • 결측치 처리 (fillna, dropna)
    • 중복 데이터 제거 (drop_duplicates)
    • 데이터 형식 변환.
  4. 데이터 조작
    • 데이터 필터링 및 선택 (loc, iloc)
    • 데이터 정렬 및 순서 변경 (sort_values, sort_index)
    • 데이터 병합 및 조인 (merge, concat, join).
  5. 고급 기능
    • 그룹화와 집계 (groupby, aggregate)
    • 피벗 테이블 생성 (pivot_table)
    • 시계열 데이터 처리 (resample, rolling).
  6. 고성능 연산
    • NumPy 기반으로 빠른 벡터화 연산 제공.
    • 대용량 데이터 처리를 위해 최적화된 연산 가능.
  7. 시각화
    • Matplotlib, Seaborn과 통합하여 기본 그래프 시각화 가능 (plot).

Pandas의 특징

  1. 유연성: 데이터 필터링, 전처리, 조작 등 다양한 작업을 쉽게 수행.
  2. 대규모 데이터 지원: 메모리 효율적으로 대용량 데이터 처리.
  3. 통합성: 다른 데이터 과학 라이브러리(Numpy, Matplotlib 등)와 자연스럽게 연동 가능.
  4. 오픈소스: 무료로 사용 가능하며 활발한 커뮤니티 지원.
반응형
Comments