데이터 프레임

Junhopark (토론 | 기여)님의 2026년 6월 9일 (화) 15:06 판 (분류 추가, 코드 예제 오류·리드·코드블록 정리)

데이터 프레임(Data Frame)은 행(Row)와 열(Column)로 이루어진 2차원 테이블 형태의 변수를 말한다. 데이터 분석에서 가장 흔하고 데이터의 특징을 잘 나타내는 핵심적인 형태이다.


  • 열(Column): 변수 또는 속성을 나타낸다. (예: 성별, 연령, 학점, 연봉 등)
  • 행(Row): 관측치 또는 개별 사례를 나타낸다. (예: 남자, 21, 3.8 등)


데이터 프레임의 특징

리스트의 묶음: 여러 리스트(데이터의 묶음)를 하나로 묶어놓은 구조이다.

Key-Value 구조: 묶이는 것의 이름(열 이름)이 먼저 정의된다.

대소문자 구분: 파이썬 문법 특성상 대소문자를 엄격하게 구분하므로 주의해야 한다.

자동 인덱스 생성: 행을 식별하기 위해 0, 1, 2, 3... 형태의 인덱스가 자동으로 부여된다.

외부 데이터 활용: 직접 만드는 것 외에도, 기존에 있는 파일(CSV, Excel 등) 데이터를 불러와서 사용할 수 있다.

파이썬에서 데이터 프레임을 다루기 위해서는 `pandas` 라이브러리가 필요하다.


Python 예시

import pandas as pd

# 데이터 프레임 생성

exam = pd.DataFrame({
    'name': ['김지훈', '이유진', '박동현', '김민지'],
    'english': [90, 80, 60, 70],
    'math': [50, 60, 100, 20]
})

exam


# 데이터 기초 정보 확인 코드

# 데이터 앞부분 5개 행 확인
exam.head()

# 데이터 뒷부분 5개 행 확인
exam.tail()

# 요약 정보 확인 (행/열 개수, 데이터 타입, 결측치 등)
exam.info()

# 수치형 데이터의 요약 통계량 확인 (평균, 표준편차, 최솟값, 최댓값 등)
exam.describe()

# 특정 열(Column) 추출하기
exam['math']

# 특정 조건에 맞는 행(Row)만 추출하기 (예: 수학 점수가 60점 이상인 학생)
exam[exam['math'] >= 60]

# 수학 점수 기준 오름차순 정렬
exam.sort_values('math')

# 수학 점수 기준 내림차순(높은 순) 정렬
exam.sort_values('math', ascending=False)

# 총점(total)과 평균(mean) 열 생성
exam['total'] = exam['math'] + exam['english']

exam['mean'] = (exam['math'] + exam['english']) / 2