基于Python的新能源汽车销售数据的分析与可视化系统

摘要

       随着人们环保意识的不断提高和政府的大力支持,新能源汽车市场逐渐壮大并引起了人们的广泛关注。为了分析新能源汽车的销售情况,本系统整体使用Django+Vue框架来链接前后端,以Python编程语言为基础,使用爬虫技术收集各大品牌新能源汽车销售数据,将销售数据存储在MySQL数据库,再使用ECharts技术对新能源汽车销售数据进行可视化展示。通过分析新能源汽车的车系销量排名、车系投诉信息、车系降价排行榜、汽车品牌数量分布、价格范围、具体车辆投诉信息、具体车辆投诉量走势以及具体车辆销量走势等,最终完成对新能源汽车市场的全面了解,为新能源汽车购买者、新能源汽车厂家提供有价值的参考依据。


1 技术

  • 爬虫
  • MySQL
  • Django+Vue框架
  • ECharts可视化技术

1.1 爬虫

爬取过程中首先定位懂车帝网站的url:https://www.dongchedi.com/,使用start_requests方法从dataset/allBrands.json文件中加载所有品牌信息,过滤出具有brand_name字段的品牌,对每个品牌,生成一个Scrapy请求,并将品牌信息作为meta数据传递给回调函数。

class DcdSpider(scrapy.Spider):
    name = "dcd"
    url = "https://www.dongchedi.com/auto/library-brand/{}"

    def start_requests(self):
        with open("dataset/allBrands.json", encoding="utf-8") as f:
            allBrands = json.load(f)
        allBrands = filter(lambda x: x["info"].get("brand_name"), allBrands)
        for brand in allBrands:
            yield scrapy.Request(
                self.url.format(brand["info"]["brand_id"]),
                callback=self.parse,
                meta=dict(brand=brand),
            )

1.2 MySQL

MySQL作为一个成熟的关系型数据库管理系统,提供高效、可靠、稳定的数据存储和管理服务,非常适合用于存储和管理原始数据。可以将MySQL作为数据存储的后端。

部分表结构如图所示:

(1)品牌信息表:主要保存了车辆品牌的信息,包括品牌ID、品牌图片、品牌名称、拼音首字母、上架系列数量。这些信息对于理解汽车特性至关重要。

(2)销量信息表:主要保存新能源汽车销量的信息,包括ID、车系ID、车系名称、月份、全国销量排名、全国销量、上月销量。这些信息对于用

【资源说明】 基于python+django的新能源电动汽车使用体验大数据分析系统源码+演示视频+报告论文.zip 第一章 绪论 1 1.1 研究背景 1 1.2 研究目标意义 1 1.2.1 研究目标 1 1.2.2 研究意义 1 1.3 论文组织结构 2 1.4 本章小结 2 第二章 相关技术研究以及开发工具 3 2.1 Pyhon语言介绍 3 2.2 Django框架介绍 3 2.3 PyCharm工具介绍 3 2.4 爬虫技术介绍 3 2.4.1 网络爬虫概念 4 2.4.2 聚焦网络爬虫原理及其过程 4 2.5 Sqlite数据库介绍 5 2.6 本章小结 5 第三章 系统分析 6 3.1 管理员需求分析 6 3.2 系统用例分析 6 3.3 数据流图 7 3.4 数据字典 8 3.5 本章小结 9 第四章 系统设计实现 10 4.1 系统总体框架设计 10 4.2 总体结构设计 11 4.3 数据库详细设计 12 4.3.1 数据库概念模型设计 12 4.3.2 数据库逻辑设计 14 4.4 登录功能设计实现 16 4.5 新能源电动汽车数据爬取功能 17 4.5.1 数据采集总览 17 4.5.2 网络爬虫headers设置功能实现 17 4.5.3 新能源电动汽车信息爬取功能实现 17 4.6 新能源电动汽车数据清洗功能 18 4.6.1 数据清洗总览 18 4.6.2 数据清洗结果 19 4.7 新能源电动汽车数据存储功能实现 20 4.8 新能源电动汽车用户体验数据分析 21 4.8.1 数据分析总览 21 4.8.2 新能源电动汽车信息查询功能设计实现 22 4.7.3 纯电续航里程价格分析功能设计实现 23 4.7.4 续航里程和最低价格分析功能设计实现 24 4.7.5 续航里程和最高价格分析功能设计实现 25 4.7.6 电动汽车补贴排行分析功能设计实现 26 4.7.7 各个价格区间车型数量分析功能设计实现 26 4.7.8 纯电续航里程车型数量分析功能设计实现 27 4.8 本章小结 28 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
### 使用 Stable Diffusion 模型生成视频的方法 为了利用 Stable Diffusion 模型创建视频内容,通常会采用一系列特定的技术流程来实现这一目标。以下是具体方法: #### 准备工作环境 确保安装并配置好必要的软件包和工具链。这包括但不限于 PyTorch 和 Hugging Face 的 Diffusers 库[^2]。 ```bash pip install torch torchvision torchaudio diffusers transformers accelerate safetensors ``` #### 加载预训练模型 通过调用 `diffusers` 中提供的 API 来加载预先训练好的 Stable Diffusion 模型实例。这些模型能够执行基于文本到图像或多帧序列的任务转换。 ```python from diffusers import StableDiffusionPipeline, DPMSolverMultistepScheduler import torch model_id = "runwayml/stable-diffusion-v1-5" pipeline = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16).to("cuda") pipeline.scheduler = DPMSolverMultistepScheduler.from_config(pipeline.scheduler.config) ``` #### 定义动画参数 设置用于控制视频合成的关键变量,比如帧率、持续时间以及每秒产生的图片数量等属性。此外还需要定义场景之间的过渡效果和平滑度选项。 ```python num_inference_steps = 50 # 推理步数 guidance_scale = 7.5 # 创意指导强度 video_length_seconds = 8 # 输出视频长度(秒) frames_per_second = 24 # 帧速率 (FPS) total_frames = int(video_length_seconds * frames_per_second) ``` #### 创建连续帧序列 对于每一帧都应用相同的 prompt 或者动态调整 prompts 来构建连贯的故事线。可以引入一些变化因素使相邻两帧之间存在差异从而形成流畅的动作感。 ```python prompts = ["A beautiful landscape at sunrise"] * total_frames for i in range(total_frames): if i % 10 == 0 and i != 0: new_prompt = f"A beautiful landscape with {i//10} birds flying over it." prompts[i:] = [new_prompt]*(total_frames-i) images = [] for frame_idx in range(total_frames): image = pipeline(prompts[frame_idx], num_inference_steps=num_inference_steps, guidance_scale=guidance_scale).images[0] images.append(image) ``` #### 合成最终视频文件 最后一步就是把所有的静态图象拼接起来成为一个完整的 MP4 文件或者其他格式的多媒体资源。可借助第三方库如 moviepy 实现此操作。 ```python from moviepy.editor import ImageSequenceClip clip = ImageSequenceClip(images, fps=frames_per_second) output_video_path = "./generated_video.mp4" clip.write_videofile(output_video_path, codec="libx264", audio=False) ```
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值