基于Python实现汽车销售数据可视化+预测【500010086.1】

导入模块

python 复制代码
import numpy as np
import pandas as pd
from pylab import mpl
import plotly.express as px
import matplotlib.pyplot as plt
import seaborn as sns

设置全局字体

python 复制代码
plt.rcParams['font.sans-serif']=['kaiti']

获取数据

python 复制代码
total_sales_df =pd.read_excel(r"./data/中国汽车总体销量.xlsx")
sales_by_manufacture =pd.read_excel(r"./data/中国汽车分厂商每月销售表.xlsx")
sales_by_model =pd.read_excel(r"./data/中国汽车分车型每月销售量.xlsx")

数据分析处理

python 复制代码
total_sales_df.head(5),sales_by_manufacture.head(5),sales_by_model.head(5)

时间:表示数据所属的月份和年份。

销量:该月的汽车总销量。

同比:与上一年同期相比的销量变化百分比。

python 复制代码
desc_stats_total_sales = total_sales_df.describe()

数据范围:数据集包含201条记录。

销量数据:总销量为319,164,052辆;平均每月的销量约为1,587,881辆;单月最高销量为2,672,264辆;单月最低销量为216,481辆。

python 复制代码
desc_stats_model = sales_by_model.describe(include='all')

车型数量:共有1341个不同的汽车型号。

销量数据:总销量为202,077,324辆;平均每个车型每月的销量约为4,095辆;最高月销量为169,607辆;最低月销量为1辆。

数据可视化及预测

销量分析

中国汽车总体销量这个数据集进行更深入的分析。以下是一些可能的分析方向:1,时间序列分析:观察汽车销量随时间的变化趋势,包括季节性变化、年度趋势等。2, 同比增长分析:分析不同月份的年度同比增长率,以了解市场的整体增长或下滑趋势。3, 波动性分析:评估销量数据的波动性,了解市场稳定性。4, 预测未来销量:基于历史数据建立一个简单的预测模型来预估未来几个月的销量趋势。

波动性分析
汽车月销量时间序列图

从时间序列图中可以看出,汽车销量随时间波动较大。波动性可能受多种因素影响,如市场需求、经济状况、政策变化等。

计算月销量的标准差
python 复制代码
std_deviation = total_sales_df['销量'].std()
mean_sales = total_sales_df['销量'].mean()
coefficient_of_variation = std_deviation / mean_sales

月销量的标准差为480,106辆,变异系数(Coefficient of Variation, CV):约为0.30,这表明数据的相对波动性。

滚动标准差

通过对数据进行12个月滚动标准差分析,我们可以观察到销量的波动性随时间的变化。从图中可以看出,销量波动性在某些时期较高,而在其他时期则相对稳定。

波动性的变化可能与多种因素有关,包括市场需求、宏观经济状况、行业政策、节假日影响等。这些波动性的增加可能指示市场不确定性的增加,而波动性的减少可能表明市场趋于稳定。

同比增长分析(汽车销量同比增长率)

通过上图展示的同比增长率热力图,我们可以观察到中国汽车销量在不同年份的月份之间的同比增长情况。每个单元格代表特定年份和月份的销量同比增长率(以百分比表示)。

从热力图中,可以观察到不同年份同月销量的增长或下降趋势。例如,某些年份的特定月份可能显示出显著的增长或下降,这可能受到宏观经济状况、行业政策、市场需求变化等因素的影响。

时间序列分析
  1. 展示了原始数据,即实际销量随时间的变化。
  2. 显示了数据中的长期趋势。可以看到销量随时间的整体增长或下降趋势。
  3. 展示了数据中的季节性模式。如果图表显示了一定的周期性重复模式,这表明销量受季节性因素影响。
  4. 包含除趋势和季节性之外的其他信息,可能是不规则的或不可预测的变化。

从时间序列中,我们可以观察到销量随时间的整体变化趋势。揭示了销量的季节性波动,这可能与特定节假日、季节变化或行业特定因素相关。剩余部分表明除了趋势和季节性之外的其他影响因素。

预测未来销量

为了预测未来的汽车销量,我们可以使用时间序列分析中的预测模型。存在多种方法可以用于时间序列预测,例如 ARIMA(自回归积分滑动平均模型)、SARIMA(季节性ARIMA)、简单的指数平滑等。选择哪种模型取决于数据的特性,例如是否存在明显的季节性、趋势等。

在进行预测之前,我将首先对数据集进行检查,以确定是否存在趋势或季节性,这将有助于选择合适的预测模型。然后,我将使用选定的模型来预测未来几个月的销量。

让我们首先检查数据集,以确定适合的预测模型。我将执行一个简单的时序图检查和自相关函数(ACF)和偏自相关函数(PACF)的检查,以帮助确定数据的特性。这将为选择合适的预测模型提供指导。

时间序列图:显示出销量随时间的变化,似乎有一定的季节性模式。

ACF图:展示了时间序列与其自身在不同滞后值下的相关性。高的自相关值表示销量数据在不同时间点存在强烈的相关性。

PACF图:显示了时间序列和其滞后值之间的偏自相关,有助于确定适用于预测的模型类型。

这些观察结果表明,我们可能需要一个能够处理季节性的时间序列预测模型。基于这些信息,SARIMA(季节性自回归积分滑动平均模型)可能是一个合适的选择。SARIMA模型可以同时处理时间序列数据的季节性、趋势和噪声成分。

接下来,我将使用SARIMA模型进行销量预测。由于时间序列分析通常需要详细的模型调整,我将选择一个基本的SARIMA模型配置进行预测。如果您有特定的预测时间范围(例如未来几个月或一年),请告诉我。否则,我将默认进行未来12个月的销量预测。

使用了SARIMA模型预测了未来12个月的中国汽车销量。请注意,这些预测是基于历史数据和模型假设,实际销量可能因多种因素而有所不同。

预测结果如下:

未来第1个月的预测销量:约751,579辆

未来第2个月的预测销量:约716,739辆

未来第3个月的预测销量:约620,680辆

...(以此类推,直到第12个月)

请注意,由于使用的是基础SARIMA模型配置,没有进行详细的参数调整和优化,因此这些预测应被视为初步估计。对于更精确的预测,通常需要进行详细的模型选择和参数调优。

厂商分析

对于中国汽车分厂商每月销售表的更深入分析,我们可以考虑以下几个方向:1, 厂商销量分析:分析不同厂商的销量表现,包括总销量、平均销量、销量增长趋势等。2, 市场份额分析:计算和比较不同厂商的市场份额变化。3, 时间趋势分析:观察各厂商销量随时间的变化趋势,包括季节性变化和年度趋势。4,最佳和最差表现分析:识别销量表现最好和最差的厂商。5,销量与时间的关系:探索不同年份和月份的销量变化,以及特殊事件或政策变化对销量的影响

厂商销量分析
计算各厂商的总销量和平均月销量
python 复制代码
total_sales_by_manufacture = sales_by_manufacture.groupby('厂商')['销量'].sum().sort_values(ascending=False)
average_sales_by_manufacture = sales_by_manufacture.groupby('厂商')['销量'].mean().sort_values(ascending=False)

top_10_total_sales = total_sales_by_manufacture.head(10)
top_10_average_sales = average_sales_by_manufacture.head(10)
top_10_total_sales, top_10_average_sales

接下来,我们可以探索这些厂商的销量随时间的增长趋势,以及年度和月度销量的变化。这将有助于我们更全面地了解各厂商的销售表现。

Top 5 厂商的年度销量趋势

从上图中,我们可以观察到排名前五的厂商------上汽大众、上汽通用五菱、一汽-大众、长城汽车、东风日产------的年度销量趋势。图表展示了这些厂商在不同年份的销量变化情况。

从趋势中可以看出,这些顶级厂商的销量表现各有特点,其中某些厂商显示出明显的增长趋势,而其他厂商则可能有所波动。这些变化可能受到市场需求、竞争环境、新产品发布、政策变化等多种因素的影响。

市场份额分析
市场份额排名前10的厂商
python 复制代码
sales_by_manufacture_clean = sales_by_manufacture[sales_by_manufacture['占销量份额'].str.isnumeric()]

try:
    sales_by_manufacture['占销量份额'] = pd.to_numeric(sales_by_manufacture['占销量份额'].str.rstrip('%'), errors='coerce') / 100
except Exception as e:
    error_message = str(e)
    sales_by_manufacture['占销量份额'] = sales_by_manufacture['占销量份额'].str.rstrip('%').astype('float', errors='ignore') / 100

average_market_share = sales_by_manufacture.groupby('厂商')['占销量份额'].mean().sort_values(ascending=False) * 100

top_10_market_share = average_market_share.head(10)
top_10_market_share, error_message if 'error_message' in locals() else "No errors"
Top 5 厂商的市场份额趋势

上图展示了排名前五的厂商------上汽大众、一汽-大众、吉利汽车、上汽通用别克、比亚迪------的市场份额随时间变化的趋势。通过这张图,我们可以观察到这些主要厂商在不同时间点的市场控制力。市场份额的变化可能受到多种因素的影响,包括新车型的推出、市场竞争格局的变化、宏观经济条件的波动等。

时间趋势分析

上图展示了排名前五的厂商------上汽大众、一汽-大众、吉利汽车、上汽通用别克、比亚迪------的销量时间趋势。这些数据反映了各个厂商销量随时间的变化,包括季节性变化和年度趋势。

从图中我们可以观察到:季节性变化:各厂商的销量可能在某些月份表现更好,这可能与行业特定的季节性因素(如新车型发布、假日销售等)相关;年度趋势:长期来看,一些厂商的销量表现出明显的增长或下降趋势,这可能受市场竞争、产品线更新、市场策略等因素的影响。

时间趋势分析

上图展示了中国汽车分厂商整体销量的时间趋势。从图中我们可以观察到:

  • 长期趋势:整体销量随时间的变化,展示了市场的增长或下降趋势。
  • 季节性变化:某些时间点的销量可能高于或低于平均水平,表明市场可能存在季节性波动。这可能与特定季节的市场需求、节假日销售活动或新车型发布有关。
  • 此分析为我们提供了对中国汽车市场总体销售动态的宏观视角,反映了市场的长期趋势和潜在的季节性模式。
最佳和最差表现分析
python 复制代码
total_sales_ranking = sales_by_manufacture.groupby('厂商')['销量'].sum().sort_values(ascending=False)

average_monthly_sales_ranking = sales_by_manufacture.groupby('厂商')['销量'].mean().sort_values(ascending=False)

best_performers_total_sales = total_sales_ranking.head(5)
worst_performers_total_sales = total_sales_ranking.tail(5)

best_performers_average_sales = average_monthly_sales_ranking.head(5)
worst_performers_average_sales = average_monthly_sales_ranking.tail(5)

best_performers_total_sales, worst_performers_total_sales, best_performers_average_sales, worst_performers_average_sales

基于《中国汽车分厂商每月销售表》的分析,我们得出以下关于销量表现最好和最差的厂商:

销量表现最好的厂商(基于总销量):

上汽大众:累计销量约1309万辆

上汽通用五菱:累计销量约1306万辆

一汽-大众:累计销量约1064万辆

长城汽车:累计销量约960万辆

东风日产:累计销量约950万辆

销量表现最差的厂商(基于总销量):

郑州日产新能源:累计销量57辆

长安启源:累计销量30辆

奇瑞瑞麒:累计销量12辆

DS(进口):累计销量10辆

哈飞汽车:累计销量9辆

销量表现最好的厂商(基于平均月销量):

上汽大众:平均月销量约124,700辆

一汽-大众:平均月销量约101,359辆

吉利汽车:平均月销量约81,784辆

上汽通用别克:平均月销量约77,219辆

比亚迪:平均月销量约67,011辆

销量表现最差的厂商(基于平均月销量):

长安启源:平均月销量30辆

哈飞汽车:平均月销量9辆

郑州日产新能源:平均月销量7辆

奇瑞瑞麒:平均月销量2辆

DS(进口):平均月销量2辆

销量与时间的关系

上图展示了中国汽车分厂商的年度销量趋势和月度销量趋势:

年度销量趋势:图表显示了每年的总销量,反映了市场需求随时间的整体变化。从图中可以看出,销量在不同年份有所波动,这可能受到宏观经济状况、行业政策、市场竞争等因素的影响。

月度销量趋势:图表展示了每月的平均销量,揭示了可能的季节性模式。某些月份的销量可能明显高于或低于其他月份,这可能与节假日、促销活动、季节性市场需求变化等因素有关。

此外,特殊事件或政策变化,如新能源汽车补贴政策、重大经济事件、环保标准升级等,也可能对销量产生显著影响。然而,这类影响的详细分析可能需要更多具体事件的数据和背景信息。

车型分析

中国汽车分车型每月销售量从几个不同的角度进行探索,比如:1,车型销量分析:分析不同车型的销量表现,包括总销量、平均销量、销量增长趋势等。2,车型市场份额:计算不同车型的市场份额,并分析其随时间的变化。3,时间趋势分析:观察不同车型销量随时间的变化趋势,包括季节性变化和年度趋势。4,最佳和最差表现车型分析:识别销量表现最好和最差的车型。 5销量与时间的关系:探索不同年份和月份的销量变化,以及特殊事件或政策变化对销量的影响。

车型销量分析
python 复制代码
total_sales_by_model = sales_by_model.groupby('车型')['销量'].sum().sort_values(ascending=False)
average_sales_by_model = sales_by_model.groupby('车型')['销量'].mean().sort_values(ascending=False)

top_10_total_sales_models = total_sales_by_model.head(10)
top_10_average_sales_models = average_sales_by_model.head(10)

top_10_total_sales_models, top_10_average_sales_models
print(top_10_total_sales_models, top_10_average_sales_models)

这些数据显示了各个车型在市场上的表现。总销量和平均月销量排名不同的原因可能是某些车型虽然销量高,但上市时间较短,或者某些车型虽然上市时间长,但月销量较低。

车型市场份额分析
python 复制代码
total_market_sales = sales_by_model['销量'].sum()

market_share_by_model = (sales_by_model.groupby('车型')['销量'].sum() / total_market_sales) * 100

market_share_by_model_sorted = market_share_by_model.sort_values(ascending=False)

top_10_market_share_models = market_share_by_model_sorted.head(10)
top_10_market_share_models
时间趋势分析

上图展示了中国汽车各车型的销量时间趋势。从图中可以观察到:

整体趋势:销量随时间的变化反映了市场的整体需求波动。可以看出,某些时间段的销量特别高,可能受季节性活动或特殊事件的影响。

季节性变化:如果某些月份的销量明显高于其他月份,这可能表明市场对特定车型有季节性需求,例如节假日促销、新车型发布等。

这种分析为提供了对市场动态的洞察,帮助我们了解不同车型的销量随时间的变化。这些信息对于制定销售策略和市场预测非常有价值。

最佳和最差表现车型分析
python 复制代码
best_performers_total_sales_models = total_sales_by_model.head(5)
worst_performers_total_sales_models = total_sales_by_model.tail(5)

best_performers_average_sales_models = average_sales_by_model.head(5)
worst_performers_average_sales_models = average_sales_by_model.tail(5)

best_performers_total_sales_models, worst_performers_total_sales_models, best_performers_average_sales_models, worst_performers_average_sales_models

这些结果显示了市场上不同车型的销售表现差异,反映了它们在市场竞争中的地位。

销量与时间的关系

上图展示了中国汽车各车型的年度销量趋势和月度销量趋势:

年度销量趋势:图表显示了每年的总销量,反映了市场需求随时间的整体变化。从图中可以看出,销量在不同年份有所波动,这可能受到宏观经济状况、行业政策、市场竞争等因素的影响。

月度销量趋势:图表展示了每月的平均销量,揭示了可能的季节性模式。某些月份的销量可能明显高于或低于其他月份,这可能与节假日、促销活动、季节性市场需求变化等因素有关。

此外,特殊事件或政策变化,如新能源汽车补贴政策、重大经济事件、环保标准升级等,也可能对销量产生显著影响。然而,这类影响的详细分析可能需要更多具体事件的数据和背景信息。

相关推荐
羊小猪~~20 分钟前
深度学习项目----用LSTM模型预测股价(包含LSTM网络简介,代码数据均可下载)
pytorch·python·rnn·深度学习·机器学习·数据分析·lstm
Marst Code39 分钟前
(Django)初步使用
后端·python·django
985小水博一枚呀1 小时前
【对于Python爬虫的理解】数据挖掘、信息聚合、价格监控、新闻爬取等,附代码。
爬虫·python·深度学习·数据挖掘
立秋67891 小时前
Python的defaultdict详解
服务器·windows·python
萧鼎1 小时前
Python第三方库选择与使用陷阱避免
开发语言·python
安冬的码畜日常1 小时前
【D3.js in Action 3 精译_029】3.5 给 D3 条形图加注图表标签(上)
开发语言·前端·javascript·信息可视化·数据可视化·d3.js
白拾2 小时前
使用Conda管理python环境的指南
开发语言·python·conda
是刃小木啦~2 小时前
三维模型点云化工具V1.0使用介绍:将三维模型进行点云化生成
python·软件工程·pyqt·工业软件
总裁余(余登武)2 小时前
算法竞赛(Python)-万变中的不变“随机算法”
开发语言·python·算法
一个闪现必杀技2 小时前
Python练习2
开发语言·python