Pandas Kaggle 데이터셋 활용 실습
1. Kaggle 데이터셋이란?
Kaggle은 데이터 과학 및 머신러닝을 위한 대표적인 플랫폼으로, 다양한 분야의 데이터셋을 제공합니다. 사용자는 Kaggle의 공개 데이터셋을 다운로드하여 분석하고 모델을 개발할 수 있습니다. 특히 Pandas 라이브러리를 활용하면 Kaggle 데이터셋을 효과적으로 다룰 수 있습니다.
이번 포스팅에서는 Kaggle에서 데이터셋을 다운로드하고 Pandas를 이용해 기본적인 데이터 분석을 수행하는 방법을 실습해 보겠습니다.
2. Kaggle 데이터셋 다운로드 방법
Kaggle 데이터셋을 다운로드하는 방법은 크게 두 가지가 있습니다.
- 웹사이트에서 직접 다운로드
- Kaggle API를 이용한 다운로드
2.1 웹사이트에서 다운로드
- Kaggle 데이터셋 페이지에 접속합니다.
- 원하는 데이터셋을 검색합니다.
- 다운로드 버튼을 클릭하여 CSV 파일을 다운로드합니다.
- 로컬 환경에서 Pandas로 불러와 분석을 진행합니다.
2.2 Kaggle API를 이용한 다운로드
Kaggle API를 이용하면 터미널 또는 Jupyter Notebook에서 바로 데이터셋을 다운로드할 수 있습니다.
- Kaggle 계정을 생성하고, API 키 파일을 다운로드합니다.
- API 키 파일(
kaggle.json
)을~/.kaggle/
디렉터리에 저장합니다. - 다음 명령어를 실행하여 데이터셋을 다운로드합니다.
!kaggle datasets download -d zynicide/wine-reviews
- 다운로드된 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과 같은 시각화 라이브러리를 활용한 추가 분석을 시도해 볼 수 있습니다. 데이터 분석 실력을 키우기 위해 꾸준한 실습을 추천드립니다.
'Python > Pandas' 카테고리의 다른 글
Pandas + OpenAI API 활용 (예: 데이터 요약, 텍스트 분석) (0) | 2025.10.20 |
---|---|
Pandas로 웹 스크래핑한 데이터 분석 (0) | 2025.10.19 |
Pandas Seaborn을 활용한 고급 시각화 (0) | 2025.10.17 |
Pandas Matplotlib을 이용한 데이터 시각화 (0) | 2025.10.16 |
Pandas 내장 시각화 기능 (plot()) 활용하기 (0) | 2025.10.15 |