pandas

AI
qwen-3-235b-a22b-instruct-2507
작성자
익명
작성일
2025.09.30
조회수
52
버전
v1

pandas

pandas는 파이썬 데이터 조작과 분석을 위한 강력하고수준의 오픈스 라이브러리. NumPy, Sci, Matplotlib 등 함께 Python 기반 데이터학 생태계 핵심 구성 요 중 하나로, 데이터를율적으로 읽고, 정제, 변형하며 분석할 수 있는 다양한 기능을 제공합니다. 특히 2차원 테이블 형식의 데이터(데이터프레임)를 다루는 데 특화되어 있어, 엑셀, CSV, 데이터베이스 테이블 등 다양한 소스의 데이터를 쉽게 처리할 수 있습니다.

pandas는 2008년 월스트리트에서 금융 데이터 분석을 위해 Wes McKinney이 개발한 이후, 데이터 과학, 통계, 머신러닝, 업무 자동화 등 다양한 분야에서 널리 사용되고 있습니다.


주요 데이터 구조

pandas는 두 가지 핵심 데이터 구조를 제공합니다:

Series

Series1차원 배열과 유사한 구조로, 데이터와 각 데이터에 대응하는 인덱스(labels)를 가집니다. 각 요소는 같은 데이터 타입을 가지며, NumPy 배열을 기반으로 구현되어 있습니다.

import pandas as pd

s = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])
print(s)

출력:

a    1
    20
c    30
d    40
dtype: int64

DataFrame

DataFrame2차원 테이블 형태의 데이터 구조로, 열(column)과 행(row)이 있으며, 각 열은 서로 다른 데이터 타입을 가질 수 있습니다. 엑셀 시트나 SQL 테이블과 유사합니다.

df = pd.DataFrame({
    '이름': ['홍길동', '김철수', '이영희'],
    '나이': [25, 30, 22],
    '성별': ['남', '남', '여']
})
print(df)

출력:

   이름  나이 성별
0  홍길동  25  남
1  김철수  30  남
2  이영희  22  여


주요 기능

데이터 입출력 (I/O)

pandas는 다양한 파일 형식에서 데이터를 읽고 쓸 수 있는 기능을 제공합니다:

  • [pd.read_csv](/doc/%EA%B8%B0%EC%88%A0/%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B3%BC%ED%95%99/%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%9E%85%EB%A0%A5%EC%B6%9C%EB%A0%A5/pd.read_csv)(): CSV 파일 읽기
  • [pd.read_excel](/doc/%EA%B8%B0%EC%88%A0/%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B3%BC%ED%95%99/%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%9E%85%EB%A0%A5%EC%B6%9C%EB%A0%A5/pd.read_excel)(): Excel 파일 읽기
  • [pd.read_json](/doc/%EA%B8%B0%EC%88%A0/%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B3%BC%ED%95%99/%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%9E%85%EB%A0%A5%EC%B6%9C%EB%A0%A5/pd.read_json)(): JSON 파일 읽기
  • [pd.read_sql](/doc/%EA%B8%B0%EC%88%A0/%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B3%BC%ED%95%99/%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%9E%85%EB%A0%A5%EC%B6%9C%EB%A0%A5/pd.read_sql)(): 데이터베이스에서 SQL 쿼리 결과 읽기
  • [df.to_csv](/doc/%EA%B8%B0%EC%88%A0/%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B3%BC%ED%95%99/%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%9E%85%EB%A0%A5%EC%B6%9C%EB%A0%A5/df.to_csv)(), [df.to_excel](/doc/%EA%B8%B0%EC%88%A0/%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B3%BC%ED%95%99/%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%9E%85%EB%A0%A5%EC%B6%9C%EB%A0%A5/df.to_excel)() 등: 데이터 저장

# CSV 파일 읽기
data = pd.read_csv('data.csv')

# Excel 파일 저장
data.to_excel('output.xlsx', index=False)

데이터 정제 및 변환

현실 세계의 데이터는 종종 불완전하거나 오염되어 있습니다. pandas는 다음과 같은 정제 기능을 제공합니다:

  • [df.dropna](/doc/%EA%B8%B0%EC%88%A0/%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B3%BC%ED%95%99/%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%A0%95%EC%A0%9C/df.dropna)(): 결측값(NaN) 제거
  • [df.fillna](/doc/%EA%B8%B0%EC%88%A0/%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B3%BC%ED%95%99/%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%A0%95%EC%A0%9C/df.fillna)(value): 결측값 채우기
  • df.duplicated(), [df.drop_duplicates](/doc/%EA%B8%B0%EC%88%A0/%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B3%BC%ED%95%99/%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%A0%95%EC%A0%9C/df.drop_duplicates)(): 중복 데이터 처리
  • [df.replace](/doc/%EA%B8%B0%EC%88%A0/%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B3%BC%ED%95%99/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B3%80%ED%99%98/df.replace)(): 특정 값 치환
  • [df.astype](/doc/%EA%B8%B0%EC%88%A0/%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B3%BC%ED%95%99/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B3%80%ED%99%98/df.astype)(): 데이터 타입 변환

# 결측값을 평균으로 대체
df['나이'].fillna(df['나이'].mean(), inplace=True)

데이터 선택 및 필터링

pandas는 데이터의 특정 부분을 선택하거나 조건에 따라 필터링하는 다양한 방법을 제공합니다:

  • df['열이름']: 특정 열 선택
  • [df.loc](/doc/%EA%B8%B0%EC%88%A0/%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B3%BC%ED%95%99/%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%A1%B0%EC%9E%91/df.loc)[]: 라벨 기반 선택
  • [df.iloc](/doc/%EA%B8%B0%EC%88%A0/%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B3%BC%ED%95%99/%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%A1%B0%EC%9E%91/df.iloc)[]: 위치 기반 선택
  • 불리언 인덱싱: 조건에 맞는 행 필터링

# 나이가 25 이상인 사람들만 선택
adults = df[df['나이'] >= 25]

그룹화 및 요약 통계

[groupby](/doc/%EA%B8%B0%EC%88%A0/%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B3%BC%ED%95%99/%EA%B7%B8%EB%A3%B9%ED%99%94%EB%B6%84%EC%84%9D/groupby)() 메서드를 사용하면 데이터를 그룹화하여 요약 통계를 계산할 수 있습니다.

# 성별로 그룹화하여 평균 나이 계산
grouped = df.groupby('성별')['나이'].mean()

또한 [describe](/doc/%EA%B8%B0%EC%88%A0/%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B3%BC%ED%95%99/%EC%9A%94%EC%95%BD%ED%86%B5%EA%B3%84/describe)(), [value_counts](/doc/%EA%B8%B0%EC%88%A0/%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B3%BC%ED%95%99/%EC%9A%94%EC%95%BD%ED%86%B5%EA%B3%84/value_counts)(), [mean](/doc/%EA%B8%B0%EC%88%A0/%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B3%BC%ED%95%99/%EC%9A%94%EC%95%BD%ED%86%B5%EA%B3%84/mean)(), [sum](/doc/%EA%B8%B0%EC%88%A0/%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B3%BC%ED%95%99/%EC%9A%94%EC%95%BD%ED%86%B5%EA%B3%84/sum)() 등의 메서드를 통해 빠르게 통계를 확인할 수 있습니다.

print(df.describe())  # 수치형 데이터의 기초 통계


활용 분야

pandas는 다음과 같은 분야에서 널리 사용됩니다:

  • 데이터 과학 및 머신러닝: 전처리, 피처 엔지니어링
  • 금융 분석: 주가 데이터, 거래 기록 분석
  • 업무 자동화: 반복적인 보고서 생성, 데이터 정리
  • 웹 스크래핑 후 데이터 처리: BeautifulSoup 또는 Scrapy와 결합
  • 빅데이터 전처리: Apache Spark와 연계하여 대용량 데이터 처리 전단계

설치 및 사용 환경

pandas는 일반적으로 [pip](/doc/%EA%B8%B0%EC%88%A0/%ED%8C%A8%ED%82%A4%EC%A7%80%EA%B4%80%EB%A6%AC%EB%8F%84%EA%B5%AC/Python/pip) 또는 [conda](/doc/%EA%B8%B0%EC%88%A0/%ED%8C%A8%ED%82%A4%EC%A7%80%EA%B4%80%EB%A6%AC%EB%8F%84%EA%B5%AC/Python/conda)를 통해 설치할 수 있습니다.

# pip 사용
pip install pandas

# conda 사용 (Anaconda 권장)
conda install pandas

대부분의 데이터 과학 환경에서는 Jupyter Notebook 또는 Google Colab과 함께 사용되며, 실시간 데이터 탐색과 시각화가 용이합니다.


참고 자료 및 관련 문서

pandas는 데이터 분석 작업의 효율성을 크게 향상시키며, Python을 데이터 과학의 주요 언어로 자리매김하게 한 핵심 도구입니다.

AI 생성 콘텐츠 안내

이 문서는 AI 모델(qwen-3-235b-a22b-instruct-2507)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?