-
[2월 1주차-2/7(3)]🐼 Pandas 기초부터 활용까지! 데이터 분석의 시작 📊Why Not SW CAMP 5기/수업 기록 2025. 2. 7. 17:48
안녕하세요! 이번 글에서는 Python의 강력한 데이터 분석 라이브러리, Pandas를 활용하여 데이터프레임을 다루는 방법을 정리해보았습니다. Pandas를 이용하면 데이터의 읽기, 변환, 시각화까지 손쉽게 처리할 수 있습니다.
📌 Pandas 기본 사용법
🔹 데이터 불러오기 (read_csv())
Pandas의 read_csv() 함수를 사용하면 간단하게 CSV 파일을 읽을 수 있습니다.
import pandas as pd # 데이터 파일 경로 path = 'https://github.com/dongupak/DataML/raw/main/csv/' file = path + 'vehicle_prod.csv' # CSV 파일 불러오기 (첫 번째 열을 인덱스로 지정) df = pd.read_csv(file, index_col=0) # 데이터 확인 df.head()📌 index_col=0 : 데이터의 첫 번째 열을 인덱스로 지정합니다.
📌 데이터 예시 (차량 생산량 데이터)
2007 2008 2009 2010 2011
China 7.71 7.95 11.96 15.84 16.33 EU 19.02 17.71 15.00 16.70 17.48 US 10.47 8.45 5.58 7.60 8.40 Japan 10.87 10.83 7.55 9.09 7.88 Korea 4.04 3.78 3.45 4.20 4.62
🔹 데이터 분석 및 조작
1️⃣ 데이터 합계 구하기 (sum())
각 나라별 총 생산량을 계산해 보겠습니다.
df['total'] = df.sum(axis=1) df📌 axis=1 : 행 방향으로 합을 구합니다.
📊 데이터 시각화
1️⃣ 막대 그래프 (bar)
df['2009'].plot(kind='bar', color=('orange', 'r', 'b', 'm', 'c'))📌 color : 막대 그래프 색상을 지정할 수 있습니다.
2️⃣ 파이 차트 (pie)
df['2009'].plot(kind='pie')3️⃣ 선 그래프 (line)
df.plot.line()
📌 데이터 변환과 그룹핑
🔹 데이터 전치 (transpose())
행과 열을 바꿔야 하는 경우 T 속성을 활용합니다.
df = df.T df이제 연도별 생산량 변화를 더 쉽게 분석할 수 있습니다!
🔹 특정 행 선택하기 (loc & iloc)
df.loc['Korea'] # 'Korea' 행 선택 df.iloc[4] # 4번째 행 선택
📌 그룹핑과 필터링
데이터를 그룹별로 분석할 때는 groupby()를 사용합니다.
🔹 예제: 기상 데이터 분석
path = 'https://github.com/dongupak/DataML/raw/main/csv/' weather_file = path + 'weather.csv' # CSV 불러오기 (한글 인코딩 설정) weather = pd.read_csv(weather_file, encoding='cp949') # 날짜 데이터 변환 weather['일시'] = pd.to_datetime(weather['일시']) weather['month'] = weather['일시'].dt.month1️⃣ 월별 평균 기온 구하기
month_mean = weather.groupby('month').mean() month_mean📌 groupby('month').mean() : 월별 평균값을 계산합니다.
📌 데이터 구조 변경 (Pivot)
🔹 pivot()을 활용한 데이터 재구성
데이터를 더 직관적으로 보기 위해 pivot()을 활용할 수 있습니다.
📌 예제: 상품 가격 데이터
df = pd.DataFrame({'상품': ['시계', '반지', '반지', '목걸이', '팔찌'], '재질': ['금', '은', '백금', '금', '은'], '가격': [550, 200, 350, 300, 600]})상품 재질 가격
시계 금 550 반지 은 200 반지 백금 350 목걸이 금 300 팔찌 은 600 🔹 pivot()을 사용하여 데이터 변환
new_df = df.pivot(index='상품', columns='재질', values='가격') new_df.fillna(value=0) # NaN 값을 0으로 채우기📌 fillna(value=0) : 없는 값을 0으로 채웁니다.
변환된 데이터:
재질 금 백금 은
목걸이 300 0 0 반지 0 350 200 시계 550 0 0 팔찌 0 0 600
📌 데이터 결합
🔹 concat()과 merge()를 활용한 데이터프레임 병합
여러 개의 데이터프레임을 하나로 합칠 때 사용합니다.
# 두 개의 데이터프레임을 하나로 합치기 pd.concat([df1, df2]) pd.merge(df1, df2, on='공통컬럼')📌 concat() : 데이터프레임을 단순하게 위아래로 합칩니다.
📌 merge() : 특정 기준(on='공통컬럼')을 기준으로 병합합니다.
🎯 마무리
이번 글에서는 Pandas를 활용한 데이터 분석 방법을 살펴보았습니다!
✅ CSV 파일을 불러오고 데이터 확인하기
✅ 데이터 조작 및 변환 (sum(), groupby(), pivot())
✅ 데이터 시각화 (bar, pie, line)
✅ 데이터 병합 (concat(), merge())💡 Pandas는 데이터 분석의 핵심 도구로, 활용하면 보다 효율적으로 데이터를 다룰 수 있습니다. 🚀
🙌 도움이 되셨다면 좋아요와 댓글 남겨주세요!
더 유익한 데이터 분석 글로 찾아오겠습니다! 😃📊'Why Not SW CAMP 5기 > 수업 기록' 카테고리의 다른 글
[2월 2주차-2/11] Python 기초 문법 정리 (0) 2025.02.11 [2월 1주차-2/7(4)]🍗 Python으로 치킨 브랜드 데이터 분석 & 시각화! 📊 (0) 2025.02.07 [2월 1주차-2/7(2)]📊 상관관계 분석 및 Seaborn 활용 정리 (0) 2025.02.07 [2월 1주차-2/7(1)]🔥 NumPy 기초 정리: 다차원 배열과 연산 완벽 가이드 (0) 2025.02.07 [2월 1주차-2/6(5)]🚇 지하철 시간대별 승하차 인원 분석 (1) 2025.02.06