본문 바로가기

파이썬

2. Pandas 기본 문법 튜토리얼

# 📌 Pandas 기본 문법 튜토리얼

import pandas as pd  # Pandas 라이브러리 불러오기

# 1️⃣ 데이터프레임(DataFrame) 생성

## ✅ 리스트를 이용한 데이터프레임 생성
data = {'이름': ['홍길동', '김철수', '이영희'],
        '나이': [25, 30, 28],
        '도시': ['서울', '부산', '대구']}
df = pd.DataFrame(data)
print(df)

## ✅ CSV 파일 불러오기
# df = pd.read_csv("data.csv")  # "data.csv" 파일을 불러와 데이터프레임으로 변환

# 2️⃣ 데이터프레임 정보 확인

print("데이터 크기:", df.shape)  # (행, 열) 형태 반환
print("데이터 타입:", df.dtypes)  # 각 열의 데이터 타입 확인
print("기본 정보 출력:")
print(df.info())  # 데이터 타입, 결측치 등 정보 출력
print("기초 통계량:")
print(df.describe())  # 수치형 데이터에 대한 기초 통계 제공

# 3️⃣ 특정 열 및 행 선택

## ✅ 특정 열 선택
print(df['이름'])  # '이름' 열 출력
print(df[['이름', '나이']])  # 여러 개의 열 선택

## ✅ 특정 행 선택 (iloc, loc)
print(df.iloc[0])  # 첫 번째 행 선택 (인덱스로 접근)
print(df.loc[0])  # 첫 번째 행 선택 (라벨로 접근)

# 4️⃣ 데이터 필터링

## ✅ 특정 조건을 만족하는 데이터 선택
filtered_df = df[df['나이'] > 26]  # 나이가 26 이상인 행 선택
print(filtered_df)

## ✅ 여러 조건 적용 (AND: &, OR: |)
filtered_df = df[(df['나이'] > 26) & (df['도시'] == '대구')]
print(filtered_df)

# 5️⃣ 데이터 정렬

## ✅ 특정 열 기준 정렬
sorted_df = df.sort_values(by='나이', ascending=False)  # 나이 기준 내림차순 정렬
print(sorted_df)

# 6️⃣ 새로운 열 추가 및 변경

## ✅ 새로운 열 추가
df['연봉'] = [5000, 5500, 6000]  # 새로운 '연봉' 열 추가
print(df)

## ✅ 기존 열 값 변경
df.loc[0, '나이'] = 26  # 0번째 행의 '나이' 값 변경
print(df)

# 7️⃣ 결측치(NaN) 처리

## ✅ 결측치 확인
print(df.isnull().sum())  # 각 열의 결측치 개수 확인

## ✅ 결측치 제거
df.dropna(inplace=True)  # 결측치가 있는 행 제거

## ✅ 결측치 채우기
df.fillna(value={'나이': df['나이'].mean()}, inplace=True)  # '나이' 열의 결측치를 평균값으로 채움

# 8️⃣ 데이터프레임 인덱스 설정 및 변경

## ✅ 특정 열을 인덱스로 설정
df.set_index('이름', inplace=True)  
print(df)

## ✅ 인덱스 초기화
df.reset_index(inplace=True)
print(df)

# 9️⃣ 데이터 그룹화

## ✅ 그룹별 평균 구하기
grouped_df = df.groupby('도시')['나이'].mean()
print(grouped_df)

# 🔟 데이터 저장

## ✅ CSV 파일로 저장
df.to_csv("output.csv", index=False)  # 인덱스 없이 저장

# 🎯 마무리
# Pandas의 기본적인 데이터 처리 기능을 익혔습니다!
# 데이터를 다룰 때 가장 많이 사용되는 라이브러리이므로 실습을 반복해보세요 🚀

'파이썬' 카테고리의 다른 글