-
[2월 1주차-2/5(1)]Pandas 기초: 데이터 분석을 위한 필수 라이브러리Why Not SW CAMP 5기/수업 기록 2025. 2. 5. 17:34
데이터 분석을 시작할 때 가장 많이 사용하는 라이브러리 중 하나가 Pandas입니다. Pandas는 빠르고 효율적인 데이터 처리를 도와주는 Python 패키지로, 다양한 형태의 데이터를 쉽게 다룰 수 있도록 최적화되어 있습니다.
이번 글에서는 Pandas의 기본 개념과 활용법을 정리해보겠습니다.
📌 Pandas란?
Pandas는 데이터 분석을 위한 파이썬 라이브러리로, 특히 표 형태(테이블 구조)의 데이터를 다루는 데 최적화되어 있습니다.
✅ Pandas의 주요 특징
- 빠르고 효율적인 데이터 처리
- 다양한 데이터 형태 지원
- 시계열 데이터, 레이블이 있는 데이터, 관측 데이터 등
- Series(1차원)와 DataFrame(2차원) 제공
- 결측값(null) 처리 가능
- 데이터 추가, 삭제, 정렬, 조작 용이
✅ Pandas로 할 수 있는 일
- 리스트, 딕셔너리, Numpy 배열 등을 DataFrame으로 변환
- CSV, Excel, JSON 파일 등 외부 데이터 불러오기
- 웹 사이트에서 원격 데이터 가져오기
- 데이터 조회 및 검사 (평균, 상관관계, 개수 등)
- 필터링, 정렬, 그룹화
- 데이터 정제 및 전처리
🔹 Pandas의 기본 자료구조
Pandas는 크게 Series와 DataFrame이라는 두 가지 데이터 구조를 제공합니다.
1️⃣ Series (1차원 데이터)
Series는 1차원 배열 구조이며, 리스트와 비슷하지만 인덱스를 직접 설정할 수 있습니다.
import pandas as pd # Series 생성 idx = ['2025-02-19', '2025-02-18', '2025-02-17'] data = [92600, 92400, 92100] sample = pd.Series(data, index=idx) print(sample) # 특정 인덱스 데이터 출력 print(sample['2025-02-19']) # 92600
2025-02-19 92600 2025-02-18 92400 2025-02-17 92100 dtype: int64
Series는 파이썬의 딕셔너리와 유사한 구조를 가지며, 인덱스를 활용한 데이터 조작이 가능합니다.
2️⃣ DataFrame (2차원 데이터)
DataFrame은 행렬(2차원) 형태의 데이터 구조로, 딕셔너리를 기반으로 쉽게 만들 수 있습니다.
# 딕셔너리를 이용한 DataFrame 생성 data = {'col1': [1, 2, 3], 'col2': [10, 20, 30], 'col3': [100, 200, 300]} df = pd.DataFrame(data) print(df)
col1 col2 col3 0 1 10 100 1 2 20 200 2 3 30 300
특정 컬럼 선택
print(df['col1']) # Series 형태로 출력 print(df[['col1', 'col2']]) # DataFrame 형태로 출력
🔹 데이터 조회 및 조작
1️⃣ 데이터 확인
df.head() # 상위 5개 행 출력 df.tail() # 하위 5개 행 출력 df.shape # 데이터 크기(행, 열) 확인 df.info() # 컬럼 정보 확인 df.describe() # 기초 통계 정보 확인
2️⃣ 정렬 및 필터링
df.sort_values(by='col2', ascending=False) # 특정 컬럼 기준 정렬 df[df['col1'] > 1] # 특정 조건을 만족하는 데이터 필터링
3️⃣ 데이터 추가 및 삭제
df['new_col'] = df['col1'] * 2 # 새로운 컬럼 추가 df.drop(columns=['new_col'], inplace=True) # 특정 컬럼 삭제
🔹 Pandas의 고급 기능
1️⃣ 여러 DataFrame 연결 (concat)
df1 = pd.DataFrame({'A': ['A0', 'A1'], 'B': ['B0', 'B1']}) df2 = pd.DataFrame({'A': ['A2', 'A3'], 'B': ['B2', 'B3']}) result = pd.concat([df1, df2]) print(result)
A B 0 A0 B0 1 A1 B1 0 A2 B2 1 A3 B3
2️⃣ 데이터 병합 (merge)
df1 = pd.DataFrame({'key': ['K0', 'K1'], 'A': ['A0', 'A1']}) df2 = pd.DataFrame({'key': ['K0', 'K2'], 'B': ['B0', 'B2']}) merged = pd.merge(df1, df2, on='key', how='inner') print(merged)
key A B 0 K0 A0 B0
🔹 외부 데이터 불러오기
1️⃣ CSV 파일 읽기
df = pd.read_csv('data.csv', encoding='utf-8') print(df.head())
2️⃣ 데이터 저장
df.to_csv('output.csv', encoding='utf-8', index=False)
🔹 데이터 시각화
Pandas는 Matplotlib과 함께 사용하여 데이터를 시각적으로 표현할 수도 있습니다.
import matplotlib.pyplot as plt df['col1'].plot(kind='bar') plt.show()
✅ 마무리
Pandas는 데이터 분석에서 꼭 필요한 라이브러리로, 다양한 기능을 제공합니다. 이번 글에서는 기초적인 개념과 기본적인 사용법을 정리해보았습니다. 앞으로 더 깊이 있는 데이터 분석을 위해 데이터 변형, 병합, 시각화 등의 기능도 익히는 것이 중요합니다.
'Why Not SW CAMP 5기 > 수업 기록' 카테고리의 다른 글
[2월 1주차-2/6(1)]📊 Python 데이터 시각화 & CSV 데이터 처리 정리 (0) 2025.02.06 [2월 1주차-2/5(2)]서울시 구별 CCTV 현황 분석하기 📊 (2) 2025.02.05 [2월 1주차-2/4]📌 파이썬: 함수, 모듈, 클래스 정리 (0) 2025.02.04 [2월 1주차-2/3]Spyder에서 파이썬 실습 정리 🐍 (1) 2025.02.03 [1월 4주차-1/24(2)]Python GUI 프로그래밍: Tkinter로 시작하기 (0) 2025.01.24