Find Open Datasets and Machine Learning Projects | Kaggle
Electric Vehicle Population Data 🚗⚡
⚡ "Driving the Future: Where Innovation Meets the Road!" 🚗
www.kaggle.com
데이터 분석을 배우는 입문자로서 가장 좋은 방법은 실제 데이터를 활용해 의미 있는 인사이트를 도출하는 것이라고 생각합니다. 그래서 생각하길 블로그에 꾸준히 올리며 공부를 해야겠다 생각했고 캐글사이트를 열심히 찾아 전기자동차(EV) 보급 현황 데이터를 통해 제조사별 점유율, 인기 모델, 전기차 유형(BEV vs. PHEV), 그리고 지역별 보급 현황을 분석하는 프로젝트를 진행해 보았습니다.
캐글에서 데이터를 가져와 Python과 Pandas, Matplotlib, Seaborn을 활용하여 데이터를 정리하고 시각화하는 과정을 공유하려 합니다. 저는 코렙을 활용하여 작성하였습니다
1. 파일 확인하기
import pandas as pd
df = pd.read_csv("/content/drive/MyDrive/project/Electric_Vehicle_Population_Data.csv")
df
df.info()
2. 열 이름설명
VIN (1-10) | 차량 식별 번호(VIN)의 앞 10자리 (익명 처리 필요) |
County | 차량이 등록된 카운티(지역) |
City | 차량이 등록된 도시 |
State | 차량이 등록된 주 |
Postal Code | 차량 등록 우편번호 |
Model Year | 차량 제조 연도 (연식별 성능 비교 가능) |
Make | 차량 제조사 (예: Tesla, Nissan 등) |
Model | 차량 모델 (예: Model 3, Leaf 등) |
Electric Vehicle Type | 전기차 유형 (BEV: 배터리 전기차, PHEV: 플러그인 하이브리드) |
CAFV Eligibility | 친환경 연료 차량(CAFV) 적격 여부 |
Electric Range | 1회 충전 주행 거리 (성능 비교 가능) |
Base MSRP | 차량 기본 가격 (가격대별 분석 가능) |
Legislative District | 차량 등록 입법구역 (정책 연구 가능) |
DOL Vehicle ID | 차량 등록 ID (익명 처리 ) |
Vehicle Location | 차량 위치 정보 (지역별 분포 분석 가능) |
Electric Utility | 차량이 사용하는 전력회사 (전력 수요 예측 가능) |
2020 Census Tract | 인구 조사 구역 코드 (인구 데이터와 연계 가능) |
3. 제조사/모델별 전기차 시장 점유율 알아보기
필요한 열
Make 차량 제조사 (예: Tesla, Nissan 등) 브랜드별 시장 점유율 분석
Model 차량 모델 (예: Model 3, Leaf 등) 특정 모델 인기 분석
import matplotlib.pyplot as plt
make_counts = df["Make"].value_counts()
# 시각적으로 데이터 표시 상위 5개만 표시
plt.figure(figsize=(8, 5))
make_counts.head(5).plot(kind="bar", title="Top 5 EV Manufacturers by Market Share")
plt.xlabel("Manufacturer")
plt.ylabel("Number of Vehicles")
plt.xticks(rotation=45)
plt.show()
4. 전기차 유형별 비율 분석(BEV vs. PHEV)
BEV : 순수 전기차 (배터리만으로 주행)
PHEV : 전기 + 내연기관 하이브리드 (전기모드 + 연료 사용 가능)
ev_type_counts = df["Electric Vehicle Type"].value_counts()
plt.figure(figsize=(6, 6))
ev_type_counts.plot(kind="pie", autopct='%1.1f%%', title="EV Type Distribution")
plt.ylabel("")
plt.show()
5.인기있는 전기차 모델
model_counts = df["Model"].value_counts()
plt.figure(figsize=(8, 5))
model_counts.head(5).plot(kind="bar", title="Top 5 Popular EV Models")
plt.xlabel("Model")
plt.ylabel("Number of Vehicles")
plt.xticks(rotation=45)
plt.show()
마무리
데이터를 분석하면서 가장 아쉬웠던 점은 일부 차량의 가격(Base MSRP) 이 0으로 표시되어 있었다는 거였다. 가격 정보가 제대로 나와 있었다면 주행거리 대비 가격 분석을 통해 가성비가 좋은 모델을 더 정확하게 비교해볼 수 있었을 텐데.
또한, 가격대를 기준으로 소비자 선호도를 분석할 수도 있었을 것 같다. 예를 들어, 저가형(3천만 원 이하), 중간 가격대(3천만~6천만 원), 고급형(6천만 원 이상) 으로 나누어 보면 어느 가격대에서 전기차가 가장 많이 선택되는지 확인할 수 있었을 것이다.
이렇게 데이터를 보다 보니, 분석을 하면 할수록 "이건 어떨까?" "이런 것도 분석할 수 있을까?" 하는 생각이 계속 들었다. 뭔가 더 대단한 걸 하고 싶은데, 아직은 뭘 분석해야 할지 감이 안 잡힌다. 초보자의 호기일까, 아니면 더 다양한 데이터가 필요할까? 그래도 하나씩 시도해 보면서 배우는 과정이 재밌다.