내가 보려고 만든 판다스 정리

1. Pandas 개요

Pandas는 데이터 분석을 위한 파이썬 라이브러리로, 표 형태의 데이터를 효율적으로 처리하기 위해 사용된다.
주로 SeriesDataFrame이라는 두 가지 핵심 자료구조를 중심으로 데이터 분석 작업을 수행한다.

NumPy 위에서 동작하며, 다음과 같은 작업을 쉽게 수행할 수 있다.

  • 데이터 정렬 및 정제
  • 데이터 선택 및 필터링
  • 통계 분석
  • 그룹 연산
  • 데이터 파일 입출력

설치

pip install pandas

기본 사용

import pandas as pd

2. Series

2.1 Series 개념

Series는 1차원 배열 구조의 데이터이다.
각 데이터는 index와 value로 구성된다.

구조

index → value

Series는 내부적으로 NumPy ndarray 기반으로 저장된다.


2.2 Series 생성

idx = ['김사과', '반하나', '오렌지', '이메론', '배애리']
data = [67, 75, 90, 62, 98]

s = pd.Series(data)

print(s)

# 결과
# 0    67
# 1    75
# 2    90
# 3    62
# 4    98
# dtype: int64

인덱스 지정

s = pd.Series(data, index=idx)

print(s)

# 결과
# 김사과    67
# 반하나    75
# 오렌지    90
# 이메론    62
# 배애리    98
# dtype: int64

ai가 추천하는 심화 예제

Series를 이용한 간단한 통계 분석

scores = pd.Series([80, 75, 90, 95, 60])

print(scores.mean())
print(scores.max())
print(scores.min())

# 결과
# 80.0
# 95
# 60

3. DataFrame

3.1 DataFrame 개념

DataFrame은 2차원 테이블 구조의 데이터이다.

구조

index → 행
columns → 열
value → 데이터

엑셀의 표와 매우 유사하다.


3.2 DataFrame 생성

dictionary 기반 생성

data = {
    '이름': ['김사과','반하나','오렌지'],
    '나이': [20,21,19],
    '점수': [90,85,88]
}

df = pd.DataFrame(data)

print(df)

# 결과
#      이름  나이  점수
# 0   김사과  20  90
# 1   반하나  21  85
# 2   오렌지  19  88

ai가 추천하는 심화 예제

데이터프레임 통계 확인

print(df.describe())

# 결과
#              나이        점수
# count   3.000000   3.000000
# mean   20.000000  87.666667
# std     1.000000   2.516611
# min    19.000000  85.000000
# max    21.000000  90.000000

4. DataFrame 기본 정보 확인

shape

데이터 구조 확인

print(df.shape)

# 결과
# (3, 3)

columns

컬럼 목록 확인

print(df.columns)

# 결과
# Index(['이름', '나이', '점수'], dtype='object')

info()

데이터 타입 확인

print(df.info())

# 결과
# <class 'pandas.core.frame.DataFrame'>
# RangeIndex: 3 entries
# Data columns (total 3 columns)

5. 데이터 선택

컬럼 선택

print(df['이름'])

# 결과
# 0    김사과
# 1    반하나
# 2    오렌지

여러 컬럼 선택

print(df[['이름','점수']])

# 결과
#      이름  점수
# 0   김사과  90
# 1   반하나  85
# 2   오렌지  88

ai가 추천하는 심화 예제

조건 기반 선택

result = df[df['점수'] > 85]

print(result)

# 결과
#      이름  나이  점수
# 0   김사과  20  90
# 2   오렌지  19  88

6. loc / iloc

loc

인덱스 기준 선택

print(df.loc[0])

# 결과
# 이름    김사과
# 나이     20
# 점수     90

iloc

위치 기반 선택

print(df.iloc[0])

# 결과
# 이름    김사과
# 나이     20
# 점수     90

ai가 추천하는 심화 예제

행과 열 동시에 선택

print(df.iloc[0:2, 1:3])

# 결과
#    나이  점수
# 0  20  90
# 1  21  85

7. 데이터 추가

컬럼 추가

df['합격'] = [True, True, True]

print(df)

# 결과
#      이름  나이  점수   합격
# 0   김사과  20  90  True
# 1   반하나  21  85  True
# 2   오렌지  19  88  True

ai가 추천하는 심화 예제

조건 기반 컬럼 생성

df['등급'] = df['점수'].apply(lambda x: 'A' if x >= 90 else 'B')

print(df)

# 결과
#      이름  나이  점수   합격 등급
# 0   김사과  20  90  True  A
# 1   반하나  21  85  True  B
# 2   오렌지  19  88  True  B

8. 데이터 정렬

df_sorted = df.sort_values(by='점수')

print(df_sorted)

# 결과
#      이름  나이  점수
# 1   반하나  21  85
# 2   오렌지  19  88
# 0   김사과  20  90

ai가 추천하는 심화 예제

내림차순 정렬

df_sorted = df.sort_values(by='점수', ascending=False)

print(df_sorted)

# 결과
#      이름  나이  점수
# 0   김사과  20  90
# 2   오렌지  19  88
# 1   반하나  21  85

9. 그룹 연산 (groupby)

data = {
    '팀': ['A','A','B','B'],
    '점수': [90,85,88,92]
}

df = pd.DataFrame(data)

result = df.groupby('팀').mean()

print(result)

# 결과
#     점수
# 팀
# A  87.5
# B  90.0

ai가 추천하는 심화 예제

그룹별 최대값

result = df.groupby('팀')['점수'].max()

print(result)

# 결과
# 팀
# A    90
# B    92

10. 파일 입출력

CSV 읽기

df = pd.read_csv('data.csv')

CSV 저장

df.to_csv('result.csv', index=False)

ai가 추천하는 심화 예제

엑셀 파일 읽기

df = pd.read_excel('data.xlsx')

print(df.head())

# 결과
# 상위 5개 행 출력

11. 정리

Pandas는 데이터 분석에서 가장 핵심적으로 사용되는 라이브러리이다.

핵심 구조

  • Series → 1차원 데이터
  • DataFrame → 2차원 테이블 데이터

주요 기능

  • 데이터 선택
  • 조건 필터링
  • 통계 분석
  • 그룹 연산
  • 데이터 정렬
  • 파일 입출력

Pandas는 데이터 분석, 머신러닝 전처리, 통계 분석 등 대부분의 데이터 기반 작업에서 필수적으로 사용된다.