【利用二手车数据进行可视化分析】

news2024/11/28 14:41:56

利用二手车数据进行可视化分析

  • 查看原始数据
  • 去除重复数据
  • 需求分析
    • 1.统计全国总共有多少量二手车,用KPI图进行展示
    • 2.统计安徽总共有多少量二手车,用KPI图进行展示
    • 3.统计合肥总共有多少量二手车,用KPI图进行展示
    • 4.取最贵的10辆二手车信息,用列表图展示
    • 5.各品牌二手车数量,取Top10用饼图展示
    • 6.各品牌价格最贵的二手车
    • 7.各品牌价格最低的二手车
    • 8.各城市二手车数量,取Top10用饼图展示
    • 9.几几年款的二手车平均价格走势,取最近10年的数据用折线图展示
    • 10.统计每座城市二手车数量,并通过地图展示
  • 利用生成的表在FineBI中绘图
    • 链接数据库
    • 传入数据库中的表
    • 新建分析进行绘图

查看原始数据

查看MySQL中爬取完成的数据发现有十万多条,接下来清理一下这些数据看看有没有重复的数据将这些数据剔除
在这里插入图片描述

select car_id from car_info group by car_id

可以看到不重复的数据有七万多条,有将近三万条的重复数据,接下来就去除这些重复数据
在这里插入图片描述

去除重复数据

先查看一下重复的数据是什么样的
查看一下重复车型的car_id 有好多重复10次以上 复制一些看看这些车的信息

select car_id
       ,count(*) cnt 
from car_info 
group by car_id
having cnt>2
order by cnt desc

c6a6fa03344447c1
d6d5b6c63184f41c

select * from car_info where car_id = 'c6a6fa03344447c1'

在这里插入图片描述
在这里插入图片描述
可以看到一些一样的车不止挂在一个地方而是挂在离一个城市周边的地区都会挂牌,导致重复的数据很高,现在我们根据车辆的一些信息分类然后将数据进行清洗。
按照车型,公里数,首付,总价这些车子定量不变的信息进行分类,可以看到清洗出来了8万条数据,这些数据都是不相同的,因为有些车子虽然car_id相等 但是车子的型号等信息不相等。

# 去除重复数据
select car_id
       ,car_info
			 ,car_year
			 ,car_mile
			 ,car_price_total
			 ,car_price_pyment
from car_info 
group by car_id,car_info,car_year,car_mile,car_price_total,car_price_pyment

在这里插入图片描述
接着将清洗好的数据保存到另一张表下,避免修改源数据,

# 将清洗好的数据保存在另外一张表下 因为使用group分组 所以用max就可以很容易取到city
create table if not exists car_detail as
(select car_id
       ,car_info
			 ,car_year
			 ,car_mile
			 ,car_price_total
			 ,car_price_pyment
			 ,max(city_name) as city
			 ,max(city_code) as city_code
			 ,max(created_at) as creat_time
			 ,max(updated_at) as update_time
from car_info 
group by car_id,car_info,car_year,car_mile,car_price_total,car_price_pyment)

在这里插入图片描述

需求分析

画图需要使用python绘图或者使用专用软件绘图
使用python绘图可以使用pyecharts
这里我使用软件fineBI绘图

1.统计全国总共有多少量二手车,用KPI图进行展示

create table if not exists ques1 as 
(select count(distinct car_id) as all_car
from car_detail)

2.统计安徽总共有多少量二手车,用KPI图进行展示

create table if not exists ques2 as 
(select count(distinct car_id) as anhui_car 
from car_detail
where city_code in ('hf','wuhu','bengbu','bozhou','hn','mas','huaibei'
,'tongling','anqing',"huangshan",'chuzhou','chizhou','fy','suzhou','la','xuancheng'))

3.统计合肥总共有多少量二手车,用KPI图进行展示

create table if not exists ques3 as 
(select count(distinct car_id) as hf_car
from car_detail
where city_code = 'hf') 

4.取最贵的10辆二手车信息,用列表图展示

create table if not exists ques4 as 
(select city
       ,car_info
			 ,car_id
			 ,car_mile
			 ,car_price_total
from car_detail
order by car_price_total desc
limit 10)

5.各品牌二手车数量,取Top10用饼图展示

create table if not exists ques5 as
(select bend
			 ,count(*) as cont
from 
(# SUBSTRING_INDEX(str,delim,count) 类似与split的函数
select SUBSTRING_INDEX(t1.car_info,'-',1) as bend
from car_detail as t1) as tt1
group by bend
order by cont desc
limit 10)

6.各品牌价格最贵的二手车

create table if not exists ques6 as
(select bend
       ,ROUND(max(tt1.car_price_total),2) as max_price
from (select SUBSTRING_INDEX(t1.car_info,'-',1) as bend
       ,t1.car_price_total
from car_detail as t1) as tt1
group by tt1.bend
order by max_price desc)

7.各品牌价格最低的二手车

create table if not exists ques7 as
(select bend
       ,ROUND(min(tt1.car_price_total),2) as min_price
from (select SUBSTRING_INDEX(t1.car_info,'-',1) as bend
       ,t1.car_price_total
from car_detail as t1) as tt1
group by tt1.bend
order by min_price)

8.各城市二手车数量,取Top10用饼图展示

create table if not exists ques8 as
(select city
       ,count(*) as cont
from car_detail 
group by city
order by cont desc)

9.几几年款的二手车平均价格走势,取最近10年的数据用折线图展示

create table if not exists ques9 as
(select t1.car_first_year as car_year
			 ,round(avg(t1.car_price_total),2) as price 
from 
(select year(car_year) as car_first_year
       ,car_price_total
from car_detail) as t1
group by t1.car_first_year
order by car_year desc)

10.统计每座城市二手车数量,并通过地图展示

create table if not exists ques10 as
(select city,
       count(*) as car_number
from car_detail
group by city
order by car_number desc)

利用生成的表在FineBI中绘图

链接数据库

在这里插入图片描述

传入数据库中的表

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

新建分析进行绘图

在这里插入图片描述
绘图完成
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

STM32——继电器

继电器工作原理 单片机供电 VCC GND 接单片机, VCC 需要接 3.3V , 5V 不行! 最大负载电路交流 250V/10A ,直流 30V/10A 引脚 IN 接收到 低电平 时,开关闭合。

[论文阅读]BEVFusion

BEVFusion BEVFusion: A Simple and Robust LiDAR-Camera Fusion Framework BEVFusion:简单而强大的激光雷达相机融合框架 论文网址:BEVFusion 论文代码:BEVFusion 简读论文 论文背景:激光雷达和摄像头是自动驾驶系统中常用的两…

【数值计算方法(黄明游)】函数插值与曲线拟合(二):三次 Hermite 插值【理论到程序】

​ 文章目录 一、近似表达方式1. 插值(Interpolation)2. 拟合(Fitting)3. 投影(Projection) 二、Lagrange插值1. 拉格朗日插值方法2. Lagrange插值公式a. 线性插值(n1)b. 抛物插值&…

ISP IC/FPGA设计-第一部分-MT9V034摄像头分析(0)

MT9V034为CMOS图像传感器,有着极其优秀的图像成像性能,同时支持丰富的功能用于isp的开发;MT9V034 的HDR宽动态、10bit数据深度、RAW格式(bayer阵列)图像、dvp和lvds接口、60fps正是学习isp开发的理想传感器&#xff1b…

接触刚性环境任务下的机器人力控(阻抗)性能测试

内涵 接触刚性环境任务下的机器人力控(阻抗)性能测试旨在评估机器人在与刚性物体交互时的性能表现。这种测试通过调整机器人的控制参数,如期望刚度和期望阻尼等,并分析记录的数据,旨在确保机器人能够在执行任务时保持…

快速测试 3节点的redis sentinel集群宕机2个节点以后是否仍能正常使用

有同事问我,三个redis sentinel节点,宕机两个节点以后,是否还能够正常的通过redis sentinel正常访问redis的数据。我想了想,理论上是可以的,但是我没试过,今天有时间就测试了一下。搭建环境和测试代码的过程…

4 向微服务架构转变

文章目录 小型单体系统为什么选择小型单体系统微服务与生俱来的问题小型单体系统适用于小团队拥抱重构 规划未来拆分的小型单体应用程序新需求和游戏化用户故事游戏化:积分、徽章和排行榜 转向微服务独立的工作流程水平可伸缩性细粒度的非功能需求其他优势劣势 架构…

一文搞懂Lombok Plugins使用与原理

目录 一文搞懂Lombok使用与原理 1.前言2.什么是Lombok3. IntelliJ安装Lombok3.1通过IntelliJ的插件中心安装3.2在项目中使用Lombok Plugins 4.Lombok 注解大全说明4.1POJO类常用注解4.2其他注解 5.Lombok常见问题6.总结7.参考 文章所属专区 超链接 1.前言 2.什么是Lombok Lo…

MyBatis 四大核心组件之 Executor 源码解析

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…

EP15:动态内存管理概述(c语言)malloc,calloc,realloc函数的介绍使用及柔性数组的介绍

如果学习方向是c方向那么c语言有三个板块的知识是非常重要的. 1:指针 2:结构体 3;动态内存管理. 序言:在c语言中,什么是动态内存 C语言中的动态内存是指在程序运行时,根据需要动态地分配内存空间的一种内存管理方式。与静态内存相比,动态内存的大小和生…

美化博客园的个人主页

进入博客园个人主页 将博客皮肤改为:SimpleMemory 然后打开github网站:Cnblogs-Theme-SimpleMemory/docs/v2/Docs/GettingStarted/install.md at v2 BNDong/Cnblogs-Theme-SimpleMemory (github.com) 按照他上面写的做进行了: 复制到&#…

二叉搜索树中第K小的元素[中等]

优质博文:IT-BLOG-CN 一、题目 给定一个二叉搜索树的根节点root,和一个整数k,请你设计一个算法查找其中第k个最小元素(从1开始计数)。 示例 1: 输入:root [3,1,4,null,2], k 1 输出&#x…

Spring Boot 3 集成 MyBatis详解

MyBatis是一款开源的持久层框架,它极大地简化了与数据库的交互流程。与类似Hibernate的ORM框架不同,MyBatis更具灵活性,允许开发者直接使用SQL语句与数据库进行交互。Spring Boot和MyBatis分别是两个功能强大的框架,它们的协同使用…

SVN修改已提交版本的日志方法

1.在工做中一直是使用svn进行項目的版本控制的,有时候因为提交匆忙,或是忘了添加Log,或是Log内容有错误。遇到此类状况,想要在查看项目的日志时添加log或是修改log内容,遇到以下错误: Repository has not b…

[强网拟态决赛 2023] Crypto

文章目录 Bad_rsaClasslcal Bad_rsa 题目描述: from Crypto.Util.number import *f open(flag.txt,rb) m bytes_to_long(f.readline().strip())p getPrime(512) q getPrime(512) e getPrime(8) n p*q phi (p-1)*(q-1) d inverse(e,phi) leak d & ((1…

c语言一维数组总结详解

目录 介绍: 一维整型数组: 声明: 初始化: 打印输出: 输出结果: 浮点型数组: 代码: 运行结果: 补充: 一维字符数组: 字符数组声明及初始…

前端入门:HTML初级指南,网页的简单实现!

代码部分&#xff1a; <!DOCTYPE html> <!-- 上方为DOCTYPE声明&#xff0c;指定文档类型为HTML --> <html lang"en"> <!-- html标签为整个页面的根元素 --> <head> <!-- title标签用于定义文档标题 --> <title>初始HT…

SmartChart:一站式数据可视化解决方案

在当今的数据驱动的世界中&#xff0c;数据可视化已经成为了一个重要的工具&#xff0c;它可以帮助我们理解复杂的数据集&#xff0c;并从中提取有价值的信息。SmartChart就是这样一个强大的数据可视化工具&#xff0c;它提供了一站式的数据可视化解决方案&#xff0c;无论你是…

C/C++ 编程规范总结

目录 前言 一、编程规范的作用 二、规范的三种形式 三、规范的内容 1. 基本原则 原则1-1 原则1-2 原则1-3 原则1-4 原则1-5 原则1-6 原则1-7 2. 布局 规则2-1-1 规则2-1-2 规则2-1-3 规则2-1-4 规则2-1-5 规则2-1-6 规则2-2-1 规则2-2-2 规则2-2-3 建议2…

[ 蓝桥杯Web真题 ]-布局切换

目录 介绍 准备 目标 规定 思路 解法参考 介绍 经常用手机购物的同学或许见过这种功能&#xff0c;在浏览商品列表的时候&#xff0c;我们通过点击一个小小的按钮图标&#xff0c;就能快速将数据列表在大图&#xff08;通常是两列&#xff09;和列表两种布局间来回切换。…