和鲸社区数据分析每周挑战【第九十三期:特斯拉充电桩分布分析】

和鲸社区数据分析每周挑战【第九十三期:特斯拉充电桩分布分析】

文章目录

  • 和鲸社区数据分析每周挑战【第九十三期:特斯拉充电桩分布分析】
    • 一、前言
    • 二、数据读取和初步探索
    • 三、数据探索及可视化
      • 1、获取拥有最多充电站的 10 个国家
      • 2、一年中各月新开业数量的变化
      • 3、中国各省的充电桩数量分布
      • 4、全球特斯拉超级充电站分布图

一、前言

本周的挑战内容为:特斯拉充电桩分布分析

大家可以去关于特斯拉超级充电站数据集(全球)的探索在线或者下载到本地进行运行这个项目。

和鲸社区数据分析每周挑战【第九十三期:特斯拉充电桩分布分析】_第1张图片

数据集来源本次活动提供:

和鲸社区数据分析每周挑战【第九十三期:特斯拉充电桩分布分析】_第2张图片

和鲸社区数据分析每周挑战【第九十三期:特斯拉充电桩分布分析】_第3张图片

二、数据读取和初步探索

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import plotly.express as px # 交互式可视化
import folium   # 地图可视化

data = pd.read_csv("Supercharge Locations.csv")
data.head()

和鲸社区数据分析每周挑战【第九十三期:特斯拉充电桩分布分析】_第4张图片

data.describe() # 查看数据的基本统计信息

在这里插入图片描述

data.isnull().sum() # 查看数据是否有缺失值
Supercharger         0
Street Address       0
City                 0
State              123
Zip               1928
Country              0
Stalls               0
kW                   6
GPS                  0
Elev(m)              2
Open Date          781
dtype: int64

三、数据探索及可视化

1、获取拥有最多充电站的 10 个国家

#隐藏警告
import warnings
warnings.filterwarnings("ignore")               #忽略警告信息
plt.rcParams['font.sans-serif']  = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False      # 用来正常显示负号
plt.rcParams['figure.dpi']  = 100        #分辨率

top_10_countries = data['Country'].value_counts().head(10)

# 创建条形图
plt.figure(figsize=(10, 6))
sns.barplot(x=top_10_countries.index, y=top_10_countries.values)
plt.xlabel('国家')
plt.ylabel('充电站的数量')
plt.title('拥有最多充电站的 10 个国家')
plt.xticks(rotation=45)
plt.show()

和鲸社区数据分析每周挑战【第九十三期:特斯拉充电桩分布分析】_第5张图片

我们不难发现美国共有超过1100座特斯拉充电站,是世界上特斯拉充电站最多的国家。此外,荷兰、德国、中国等国家的充电站数量也比较多。

2、一年中各月新开业数量的变化

# 将开放日期列转换为日期时间格式
data['Open Date'] = pd.to_datetime(data['Open Date'])

# 提取年份和月份作为新的列
data['Year'] = data['Open Date'].dt.year
data['Month'] = data['Open Date'].dt.month

# 计算每个月的新开业数量
monthly_openings = data.groupby(['Year', 'Month']).size().reset_index(name='Count')

# 创建折线图
plt.figure(figsize=(10, 6))
sns.lineplot(data=monthly_openings, x='Month', y='Count', hue='Year', marker='o')
plt.xlabel('月份')
plt.ylabel('新开业数量')
plt.title('一年中各月新开业数量的变化')
plt.legend(title='月份', loc='upper left')
plt.xticks(range(1, 13))
plt.show()

和鲸社区数据分析每周挑战【第九十三期:特斯拉充电桩分布分析】_第6张图片

根据图像我们可以发现新开业数量呈现出了明显的季节性变化,每年四月、六月和十月都有比较多的新开业数量,而一月、七月和十一月则有比较少的新开业数量。

3、中国各省的充电桩数量分布

china_data = data[data['Country'] == 'China']

# 按省份统计充电桩数量
province_counts = china_data['State'].value_counts()

# 创建条形图
plt.figure(figsize=(10, 6))
province_counts.plot(kind='bar')
plt.xlabel('省份')
plt.ylabel('充电桩数量')
plt.title('中国各省的充电桩数量分布')

# 显示图表
plt.show()

和鲸社区数据分析每周挑战【第九十三期:特斯拉充电桩分布分析】_第7张图片

根据图像我们可以发现在中国,广东、上海和北京的充电桩数量排名前三,其它各省的充电桩数量都比较分散。

4、全球特斯拉超级充电站分布图

# 从GPS列中提取经度和纬度
data[['Latitude', 'Longitude']] = data['GPS'].str.extract(r'([-\d\.]+), ([-\d\.]+)').astype(float)

# 创建地理散点图
fig = px.scatter_geo(data,
                     lat="Latitude",
                     lon="Longitude",
                     hover_name="Supercharger",
                     text="Stalls",
                     color="Country",
                     projection="natural earth")

# 更新布局和标题
fig.update_layout(title="全球特斯拉超级充电站分布图")

# 显示图表
fig.show()

和鲸社区数据分析每周挑战【第九十三期:特斯拉充电桩分布分析】_第8张图片

根据图像我们可以发现全球特斯拉充电站分布比较集中,美国、欧洲、中国和澳大利亚都有较为密集的充电站分布,其它地区的充电站数量相对较少。

你可能感兴趣的:(和鲸社区数据分析每周挑战,数据分析,python,plotly)