Python/Pandas

Pandas Kaggle 데이터셋 활용 실습

임베디드 친구 2025. 10. 18. 18:16
반응형

Pandas Kaggle 데이터셋 활용 실습

1. Kaggle 데이터셋이란?

Kaggle은 데이터 과학 및 머신러닝을 위한 대표적인 플랫폼으로, 다양한 분야의 데이터셋을 제공합니다. 사용자는 Kaggle의 공개 데이터셋을 다운로드하여 분석하고 모델을 개발할 수 있습니다. 특히 Pandas 라이브러리를 활용하면 Kaggle 데이터셋을 효과적으로 다룰 수 있습니다.

이번 포스팅에서는 Kaggle에서 데이터셋을 다운로드하고 Pandas를 이용해 기본적인 데이터 분석을 수행하는 방법을 실습해 보겠습니다.

2. Kaggle 데이터셋 다운로드 방법

Kaggle 데이터셋을 다운로드하는 방법은 크게 두 가지가 있습니다.

  1. 웹사이트에서 직접 다운로드
  2. Kaggle API를 이용한 다운로드

2.1 웹사이트에서 다운로드

  1. Kaggle 데이터셋 페이지에 접속합니다.
  2. 원하는 데이터셋을 검색합니다.
  3. 다운로드 버튼을 클릭하여 CSV 파일을 다운로드합니다.
  4. 로컬 환경에서 Pandas로 불러와 분석을 진행합니다.

2.2 Kaggle API를 이용한 다운로드

Kaggle API를 이용하면 터미널 또는 Jupyter Notebook에서 바로 데이터셋을 다운로드할 수 있습니다.

  1. Kaggle 계정을 생성하고, API 키 파일을 다운로드합니다.
  2. API 키 파일(kaggle.json)을 ~/.kaggle/ 디렉터리에 저장합니다.
  3. 다음 명령어를 실행하여 데이터셋을 다운로드합니다.
!kaggle datasets download -d zynicide/wine-reviews
  1. 다운로드된 ZIP 파일을 해제한 후 Pandas로 데이터를 불러옵니다.
import pandas as pd
import zipfile

with zipfile.ZipFile("wine-reviews.zip", 'r') as zip_ref:
    zip_ref.extractall("wine_reviews")

df = pd.read_csv("wine_reviews/winemag-data-130k-v2.csv")
print(df.head())

3. Pandas를 활용한 데이터 탐색

다운로드한 데이터셋을 Pandas를 활용하여 탐색해 보겠습니다.

3.1 데이터 크기 및 기본 정보 확인

print(df.shape)  # 행과 열 개수 출력
print(df.info())  # 데이터 타입 및 결측치 확인

3.2 컬럼별 기본 통계 정보 확인

print(df.describe())

3.3 데이터 샘플 확인

print(df.head(10))  # 상위 10개 행 출력

4. 데이터 전처리

Kaggle 데이터셋을 활용할 때는 데이터 전처리가 필수적입니다. 대표적인 전처리 작업을 몇 가지 수행해 보겠습니다.

4.1 결측치 처리

print(df.isnull().sum())  # 컬럼별 결측치 개수 확인

df = df.dropna()  # 결측치가 있는 행 제거
print(df.isnull().sum())  # 다시 확인

4.2 중복 데이터 제거

print(df.duplicated().sum())  # 중복된 행 개수 확인

df = df.drop_duplicates()  # 중복 행 제거
print(df.duplicated().sum())  # 다시 확인

4.3 특정 컬럼 선택

데이터 분석을 진행하기 위해 필요한 컬럼만 선택할 수 있습니다.

selected_columns = ["country", "points", "price", "variety"]
df = df[selected_columns]
print(df.head())

5. 데이터 분석 및 시각화

이제 Pandas를 활용하여 간단한 데이터 분석을 수행해 보겠습니다.

5.1 특정 국가별 평균 포인트 확인

country_avg = df.groupby("country")["points"].mean().sort_values(ascending=False)
print(country_avg)

5.2 가격과 점수 간의 상관관계 분석

correlation = df[["price", "points"]].corr()
print(correlation)

5.3 데이터 시각화 (Matplotlib 사용)

import matplotlib.pyplot as plt

# 포인트 분포 시각화
plt.hist(df["points"], bins=20, edgecolor='black')
plt.xlabel("Points")
plt.ylabel("Frequency")
plt.title("Distribution of Wine Ratings")
plt.show()

6. 결론

이번 포스팅에서는 Kaggle 데이터셋을 활용하여 데이터를 다운로드하고 Pandas로 탐색, 전처리, 분석하는 과정을 실습했습니다. Pandas를 활용하면 데이터를 효율적으로 다룰 수 있으며, 추가적인 분석 및 머신러닝 모델 구축에도 활용할 수 있습니다.

다음 단계로는 다른 Kaggle 데이터셋을 활용하여 실습을 진행하거나, Seaborn과 같은 시각화 라이브러리를 활용한 추가 분석을 시도해 볼 수 있습니다. 데이터 분석 실력을 키우기 위해 꾸준한 실습을 추천드립니다.

반응형