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

导入模块

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

设置全局字体

plt.rcParams['font.sans-serif']=['kaiti']

获取数据

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")

数据分析处理

total_sales_df.head(5),sales_by_manufacture.head(5),sales_by_model.head(5)

image.png
时间:表示数据所属的月份和年份。
销量:该月的汽车总销量。
同比:与上一年同期相比的销量变化百分比。

desc_stats_total_sales = total_sales_df.describe()

image.png
数据范围:数据集包含201条记录。
销量数据:总销量为319,164,052辆;平均每月的销量约为1,587,881辆;单月最高销量为2,672,264辆;单月最低销量为216,481辆。

desc_stats_model = sales_by_model.describe(include='all')

image.png
车型数量:共有1341个不同的汽车型号。
销量数据:总销量为202,077,324辆;平均每个车型每月的销量约为4,095辆;最高月销量为169,607辆;最低月销量为1辆。

数据可视化及预测

销量分析

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

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

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

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

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

滚动标准差

Figure_2.png
通过对数据进行12个月滚动标准差分析,我们可以观察到销量的波动性随时间的变化。从图中可以看出,销量波动性在某些时期较高,而在其他时期则相对稳定。
波动性的变化可能与多种因素有关,包括市场需求、宏观经济状况、行业政策、节假日影响等。这些波动性的增加可能指示市场不确定性的增加,而波动性的减少可能表明市场趋于稳定。

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

Figure_3.png
通过上图展示的同比增长率热力图,我们可以观察到中国汽车销量在不同年份的月份之间的同比增长情况。每个单元格代表特定年份和月份的销量同比增长率(以百分比表示)。
从热力图中,可以观察到不同年份同月销量的增长或下降趋势。例如,某些年份的特定月份可能显示出显著的增长或下降,这可能受到宏观经济状况、行业政策、市场需求变化等因素的影响。

时间序列分析

Figure_4.png

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

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

预测未来销量

为了预测未来的汽车销量,我们可以使用时间序列分析中的预测模型。存在多种方法可以用于时间序列预测,例如 ARIMA(自回归积分滑动平均模型)、SARIMA(季节性ARIMA)、简单的指数平滑等。选择哪种模型取决于数据的特性,例如是否存在明显的季节性、趋势等。
在进行预测之前,我将首先对数据集进行检查,以确定是否存在趋势或季节性,这将有助于选择合适的预测模型。然后,我将使用选定的模型来预测未来几个月的销量。
让我们首先检查数据集,以确定适合的预测模型。我将执行一个简单的时序图检查和自相关函数(ACF)和偏自相关函数(PACF)的检查,以帮助确定数据的特性。这将为选择合适的预测模型提供指导。
Figure_5.png
Figure_6.png
时间序列图:显示出销量随时间的变化,似乎有一定的季节性模式。
ACF图:展示了时间序列与其自身在不同滞后值下的相关性。高的自相关值表示销量数据在不同时间点存在强烈的相关性。
PACF图:显示了时间序列和其滞后值之间的偏自相关,有助于确定适用于预测的模型类型。
这些观察结果表明,我们可能需要一个能够处理季节性的时间序列预测模型。基于这些信息,SARIMA(季节性自回归积分滑动平均模型)可能是一个合适的选择。SARIMA模型可以同时处理时间序列数据的季节性、趋势和噪声成分。
接下来,我将使用SARIMA模型进行销量预测。由于时间序列分析通常需要详细的模型调整,我将选择一个基本的SARIMA模型配置进行预测。如果您有特定的预测时间范围(例如未来几个月或一年),请告诉我。否则,我将默认进行未来12个月的销量预测。
Figure_7.png
使用了SARIMA模型预测了未来12个月的中国汽车销量。请注意,这些预测是基于历史数据和模型假设,实际销量可能因多种因素而有所不同。
预测结果如下:
未来第1个月的预测销量:约751,579辆
未来第2个月的预测销量:约716,739辆
未来第3个月的预测销量:约620,680辆
…(以此类推,直到第12个月)
请注意,由于使用的是基础SARIMA模型配置,没有进行详细的参数调整和优化,因此这些预测应被视为初步估计。对于更精确的预测,通常需要进行详细的模型选择和参数调优。

厂商分析

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

厂商销量分析
计算各厂商的总销量和平均月销量
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

image.png

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

Top 5 厂商的年度销量趋势

Figure_8.png
从上图中,我们可以观察到排名前五的厂商——上汽大众、上汽通用五菱、一汽-大众、长城汽车、东风日产——的年度销量趋势。图表展示了这些厂商在不同年份的销量变化情况。
从趋势中可以看出,这些顶级厂商的销量表现各有特点,其中某些厂商显示出明显的增长趋势,而其他厂商则可能有所波动。这些变化可能受到市场需求、竞争环境、新产品发布、政策变化等多种因素的影响。

市场份额分析
市场份额排名前10的厂商
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') / 100average_market_share = sales_by_manufacture.groupby('厂商')['占销量份额'].mean().sort_values(ascending=False) * 100top_10_market_share = average_market_share.head(10)
top_10_market_share, error_message if 'error_message' in locals() else "No errors"

image.png

Top 5 厂商的市场份额趋势

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

时间趋势分析

Figure_10.png
上图展示了排名前五的厂商——上汽大众、一汽-大众、吉利汽车、上汽通用别克、比亚迪——的销量时间趋势。这些数据反映了各个厂商销量随时间的变化,包括季节性变化和年度趋势。
从图中我们可以观察到:季节性变化:各厂商的销量可能在某些月份表现更好,这可能与行业特定的季节性因素(如新车型发布、假日销售等)相关;年度趋势:长期来看,一些厂商的销量表现出明显的增长或下降趋势,这可能受市场竞争、产品线更新、市场策略等因素的影响。

时间趋势分析

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

  • 长期趋势:整体销量随时间的变化,展示了市场的增长或下降趋势。
  • 季节性变化:某些时间点的销量可能高于或低于平均水平,表明市场可能存在季节性波动。这可能与特定季节的市场需求、节假日销售活动或新车型发布有关。
  • 此分析为我们提供了对中国汽车市场总体销售动态的宏观视角,反映了市场的长期趋势和潜在的季节性模式。
最佳和最差表现分析
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

image.png
基于《中国汽车分厂商每月销售表》的分析,我们得出以下关于销量表现最好和最差的厂商:
销量表现最好的厂商(基于总销量):
上汽大众:累计销量约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辆

销量与时间的关系

Figure_13.pngFigure_12.png
上图展示了中国汽车分厂商的年度销量趋势和月度销量趋势:
年度销量趋势:图表显示了每年的总销量,反映了市场需求随时间的整体变化。从图中可以看出,销量在不同年份有所波动,这可能受到宏观经济状况、行业政策、市场竞争等因素的影响。
月度销量趋势:图表展示了每月的平均销量,揭示了可能的季节性模式。某些月份的销量可能明显高于或低于其他月份,这可能与节假日、促销活动、季节性市场需求变化等因素有关。
此外,特殊事件或政策变化,如新能源汽车补贴政策、重大经济事件、环保标准升级等,也可能对销量产生显著影响。然而,这类影响的详细分析可能需要更多具体事件的数据和背景信息。

车型分析

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

车型销量分析
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)

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

车型市场份额分析
total_market_sales = sales_by_model['销量'].sum()market_share_by_model = (sales_by_model.groupby('车型')['销量'].sum() / total_market_sales) * 100market_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

image.png

时间趋势分析

Figure_14.png
上图展示了中国汽车各车型的销量时间趋势。从图中可以观察到:
整体趋势:销量随时间的变化反映了市场的整体需求波动。可以看出,某些时间段的销量特别高,可能受季节性活动或特殊事件的影响。
季节性变化:如果某些月份的销量明显高于其他月份,这可能表明市场对特定车型有季节性需求,例如节假日促销、新车型发布等。
这种分析为提供了对市场动态的洞察,帮助我们了解不同车型的销量随时间的变化。这些信息对于制定销售策略和市场预测非常有价值。

最佳和最差表现车型分析
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

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

销量与时间的关系

Figure_16.pngFigure_15.png
上图展示了中国汽车各车型的年度销量趋势和月度销量趋势:
年度销量趋势:图表显示了每年的总销量,反映了市场需求随时间的整体变化。从图中可以看出,销量在不同年份有所波动,这可能受到宏观经济状况、行业政策、市场竞争等因素的影响。
月度销量趋势:图表展示了每月的平均销量,揭示了可能的季节性模式。某些月份的销量可能明显高于或低于其他月份,这可能与节假日、促销活动、季节性市场需求变化等因素有关。
此外,特殊事件或政策变化,如新能源汽车补贴政策、重大经济事件、环保标准升级等,也可能对销量产生显著影响。然而,这类影响的详细分析可能需要更多具体事件的数据和背景信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/166303.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

独孤思维:看了那么多课程,还在问怎么赚钱的都是废物

你扪心自问: 为什么自己看了那么多赚钱项目,买了那么多课程,对标了那么多大咖,依旧赚不到钱? 是自己智商欠缺吗,是自己能力不行吗,是自己没有时间吗? 智商欠缺,没有谁…

机器学习第13天:模型性能评估指标

☁️主页 Nowl 🔥专栏《机器学习实战》 《机器学习》 📑君子坐而论道,少年起而行之 文章目录 交叉验证 保留交叉验证 k-折交叉验证 留一交叉验证 混淆矩阵 精度与召回率 介绍 精度 召回率 区别 使用代码 偏差与方差 介绍 区…

zerotier 搭建 moon中转服务器 及 自建planet

搭建moon 服务器 环境准备 # 安装依赖 yum install wget gcc gcc-c git -y yum install json-devel -y# 下载及安装 curl -s https://install.zerotier.com/ | sudo bash节点ID 配置 配置moon.json文件 cd /var/lib/zerotier-one/# 导出依赖 zerotier-idtool initmoon ide…

SpringBoot项目连接,有Kerberos认证的Kafka

在连接Kerberos认证kafka之前,需要了解Kerberos协议 二、什么是Kerberos协议 Kerberos是一种计算机网络认证协议 ,其设计目标是通过密钥系统为网络中通信的客户机(Client)/服务器(Server)应用程序提供严格的身份验证服务,确保通信双方身份的真…

Spring Boot 升级3.x 指南

Spring Boot 升级3.x 指南 1. 升级思路 先创建一个parent项目&#xff0c;打包类型为pom&#xff0c;继承自spring boot的parent项目 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId&…

历时三个月,我发布了一款外卖返钱小程序

近几年&#xff0c;推广外卖红包爆火&#xff0c;各种推广外卖红包的公众号层出不穷。于是&#xff0c;我就在想外卖红包究竟是怎么一回事。就这样&#xff0c;我带着问题开始了关于外卖红包的研究。 在研究的过程中&#xff0c;我开始了解商品联盟、推广分成、cps等一系列相关…

网络攻击当搭配什么产品比较好

网络攻击无处不在&#xff0c;当要时刻谨记 2014年&#xff0c;索尼影业受到黑客攻击&#xff0c;导致公司内部文件和电子邮件泄露。 2015年&#xff0c;美国联邦政府的办公人员信息遭到盗窃&#xff0c;影响了超过2100万人的个人信息。 2016年&#xff0c;Yahoo的3亿用户账…

java 中集合之一【map】,map循环

在Java中&#xff0c;常用的集合框架有以下几个&#xff1a; 1、List&#xff08;列表&#xff09;&#xff1a;List是有序的集合&#xff0c;允许包含重复元素。常用的实现类有ArrayList和LinkedList。ArrayList是基于动态数组实现的&#xff0c;支持快速随机访问&#xff1b;…

android之图片选择器--pictureselector

推荐一个安卓图片/视频/文件选择器。简单好用。 不多废话。直接上代码&#xff1a; 首先&#xff0c;添加依赖&#xff1a; //图片选择器api io.github.lucksiege:pictureselector:v3.11.1//图片压缩api io.github.lucksiege:compress:v3.11.1//图片裁剪api io.github.lucksie…

Springboot3+vue3从0到1开发实战项目(一)

一. 可以在本项目里面自由发挥拓展 二. 知识整合项目使用到的技术 后端开发 &#xff1a; Validation, Mybatis,Redis, Junit,SpringBoot3 &#xff0c;mysql&#xff0c;Swagger, JDK17 &#xff0c;项目部署 前端开发&#xff1a; Vue3&#xff0c;Vite&#xff0c;Router…

Java数组和集合

在Java中&#xff0c;数组和集合是两个重要的概念&#xff0c;它们用于存储和操作数据。本文将详细介绍Java中的数组和集合&#xff0c;包括它们的定义、初始化、访问和常见操作 一、数组&#xff08;Array&#xff09; 数组是一种用于存储相同类型数据的容器&#xff0c;它可…

DNS的各种进阶新玩法

你们好&#xff0c;我的网工朋友&#xff0c;今天和你聊聊DNS。 01 什么是DNS&#xff1f; mac地址诞生&#xff0c;可是太不容易记忆了&#xff0c;出现了简化了IP形式&#xff0c;它被直接暴露给外网不说&#xff0c;还让人类还是觉得比较麻烦&#xff0c;干脆用几个字母算了…

【Git】一文教你学会 submodule 的增、删、改、查

添加子模块 $ git submodule add <url> <path>url 为想要添加的子模块路径path 为子模块存放的本地路径 示例&#xff0c;添加 r-tinymaix 为子模块到主仓库 ./sdk/packages/online-packages/r-tinymaix 路径下&#xff0c;命令如下所示&#xff1a; $ git subm…

用自己热爱的事赚钱,是多么的幸福

挖掘天赋可能有些困难&#xff0c;但挖掘爱好就简单多啦&#xff01;最幸福的事情就是能用自己喜欢的事情赚钱。 我们要说的是一个博主&#xff0c;他非常喜欢骑自行车&#xff0c;虽然他的工作是在外贸公司做销售&#xff0c;但每当有空时&#xff0c;他都会骑自行车。而且他…

Nginx同时支持Http和Https的配置详解

当配置Nginx同时支持HTTP和HTTPS时&#xff0c;需要进行以下步骤&#xff1a; 安装和配置SSL证书&#xff1a; 获得SSL证书&#xff1a;从可信任的证书颁发机构&#xff08;CA&#xff09;或使用自签名证书创建SSL证书。 将证书和私钥保存到服务器&#xff1a;将SSL证书和私钥…

spring 的事务隔离;Spring框架的事务管理的优点

文章目录 说一下 spring 的事务隔离&#xff1f;Spring框架的事务管理有哪些优点&#xff1f;你更倾向用哪种事务管理类型&#xff1f; 聊一聊spring事务的隔离&#xff0c;事务的隔离对于一个系统来说也是非常重要的&#xff0c;直接上干货&#xff01;&#xff01;&#xff0…

Python与设计模式--享元模式

10-Python与设计模式–享元模式 一、网上咖啡选购平台 假设有一个网上咖啡选购平台&#xff0c;客户可以在该平台上下订单订购咖啡&#xff0c;平台会根据用户位置进行 线下配送。假设其咖啡对象构造如下&#xff1a; class Coffee:name price 0def __init__(self,name):se…

Go iota简介

当声明枚举类型或定义一组相关常量时&#xff0c;Go语言中的iota关键字可以帮助我们简化代码并自动生成递增的值。本文档将详细介绍iota的用法和行为。 iota关键字 iota是Go语言中的一个预定义标识符&#xff0c;它用于创建自增的无类型整数常量。iota的行为类似于一个计数器…

数据库基础入门 — SQL排序与分页

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 本…

[深度理解] 重启 Splunk Search Head Cluster

1: 背景: 关于释放Splunk search head 的job 运行压力:splunk search head cluster 要重启的话,怎么办? 答案是:splunk rolling-restart shcluster-members Initiate a rolling restart from the command line Invoke the splunk rolling-restart command from any me…