[데이터 사이언스/문법] DataFrame 이란?

2024. 8. 15. 19:19데이터 사이언스

DataFrame은 pandas 라이브러리에서 제공하는 2차원 데이터 구조로,
행(row)과 열(column)로 구성된 데이터 테이블을 나타냅니다.

DataFrame은 엑셀 스프레드시트와 비슷한 형식으로,
데이터를 다루고 분석하기에 매우 유용합니다.

pandas의 핵심 데이터 구조 중 하나로,
다양한 데이터 소스로부터 데이터를 로드하고 조작할 수 있습니다.

 

주요 특징

  1. 행과 열로 구성:
    • DataFrame은 각기 다른 데이터 타입을 가질 수 있는 열(column)들로 이루어져 있습니다.
    • 각 행(row)은 서로 다른 데이터 포인트를 나타냅니다.
  2. 레이블(인덱스):
    • 각 행과 열은 레이블을 가질 수 있습니다.
    • 기본적으로 행은 정수 인덱스를 가지지만, 특정 열을 인덱스로 설정할 수도 있습니다.
  3. 다양한 데이터 소스로부터 생성 가능:
    • CSV 파일, 엑셀 파일, 데이터베이스, 웹 API 등 다양한 소스로부터 데이터를 로드할 수 있습니다.

예제

import pandas as pd

# 데이터프레임 생성
data = {
    'Name': ['Alice', 'Bob', 'Charlie', 'David'],
    'Age': [25, 30, 35, 40],
    'City': ['New York', 'Los Angeles', 'Chicago', 'Houston']
}

df = pd.DataFrame(data)

# 데이터프레임 출력
print(df)

 

      Name  Age         City
0    Alice   25     New York
1      Bob   30  Los Angeles
2  Charlie   35      Chicago
3    David   40      Houston

 

 


주요 기능

데이터 로드 및 저장:
  • CSV 파일 로드: pd.read_csv('data.csv')
  • CSV 파일 저장: df.to_csv('data.csv', index=False)
데이터 선택 및 필터링:
  • 열 선택: df['Name']
  • 행 선택: df.loc[0] 또는 df.iloc[0]
  • 조건 필터링: df[df['Age'] > 30]
데이터 조작:
  • 열 추가: df['Salary'] = [50000, 60000, 70000, 80000]
  • 행 추가: df.append({'Name': 'Eve', 'Age': 28, 'City': 'Phoenix'}, ignore_index=True)
통계 및 요약:
  • 요약 통계: df.describe()
  • 특정 열의 평균: df['Age'].mean()
데이터 정렬 및 그룹화:
  • 정렬: df.sort_values(by='Age')
  • 그룹화: df.groupby('City').mean()