【利用二手车数据进行可视化分析】
利用二手车数据进行可视化分析
- 查看原始数据
- 去除重复数据
- 需求分析
- 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 descc6a6fa03344447c1
d6d5b6c63184f41cselect * 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中绘图
链接数据库

传入数据库中的表



新建分析进行绘图

绘图完成





相关文章:
【利用二手车数据进行可视化分析】
利用二手车数据进行可视化分析 查看原始数据去除重复数据需求分析1.统计全国总共有多少量二手车,用KPI图进行展示2.统计安徽总共有多少量二手车,用KPI图进行展示3.统计合肥总共有多少量二手车,用KPI图进行展示4.取最贵的10辆二手车信息&#…...
快速测试 3节点的redis sentinel集群宕机2个节点以后是否仍能正常使用
有同事问我,三个redis sentinel节点,宕机两个节点以后,是否还能够正常的通过redis sentinel正常访问redis的数据。我想了想,理论上是可以的,但是我没试过,今天有时间就测试了一下。搭建环境和测试代码的过程…...
echarts词云图echarts-wordcloud使用方法
1、echarts5.0以下的版本使用 echarts-wordcloud 1.0 的词云 1. 安装 wordCloud 1.0 依赖包npm install echarts-wordcloud12. man.js 注入import echarts-wordcloud 2、echarts5.0及以上的下载 echarts-wordcloud 2.0 版本 注意:npm install echarts-wordcloud …...
二叉树的OJ练习(二)
通过前序遍历数组构建二叉树 题目:通过前序遍历的数组(ABD##E#H##CF##G##)构建二叉树 TreeNode* TreeCreat(char* a,int* pi) {if(a[*pi] #){(*pi);return NULL; }TreeNode* root (TreeNode*)malloc(sizeof(TreeNode));if(root NULL){p…...
uni-app 微信小程序之自定义navigationBar顶部导航栏
文章目录 1. 实现效果2. App.vue3. pages.json 配置自定义4. 顶部导航栏 使用 微信小程序自定义 navigationBar 顶部导航栏,兼容适配所有机型 1. 实现效果 2. App.vue 在App.vue 中,设置获取的 StatusBar,CustomBar 高度(实现适配…...
前端入门:HTML初级指南,网页的简单实现!
代码部分: <!DOCTYPE html> <!-- 上方为DOCTYPE声明,指定文档类型为HTML --> <html lang"en"> <!-- html标签为整个页面的根元素 --> <head> <!-- title标签用于定义文档标题 --> <title>初始HT…...
低多边形3D建模石头材质纹理贴图
在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时,有几种不同的风格…...
【华为OD题库-081】最长的元音子串长度-Java
题目 题目描述: 定义当一个字符串只有元音字母一(a,e,i,o,u,A,E,l,O,U)组成, 称为元音字符串,现给定一个字符串,请找出其中最长的元音字符串,并返回其长度,如果找不到请返回0, 字符串中任意一个连续字符组成…...
第9节:Vue3 指令
如何在UniApp中使用Vue3的指令: <template> <view> <!-- 使用指令 --> <text v-show"isVisible" click"toggleVisibility">点击隐藏/显示</text> <button v-on:click"incrementCount">点击…...
B028-JDBC基础
目录 什么是JDBCJDBC引入持久化JDBC规范 使用JDBC完成CRUDJDBC创建表JDBC CRUD和优化 DAO层的实现 什么是JDBC JDBC引入 Java代码操作数据库的唯一技术:-- JDBC ( java database connection ) 持久化 持久化(persistence):把数据保存到可掉电式存储设…...
ngixn 准备
确认yum可用,确认防火墙,确认SELinux 一项安装 yum -y install gcc make automake pcre-devel zlib zlib-devel openssl openssl-devel参数: gcc:编译依赖gcc环境 pcre:PCRE(Perl Compatible Regular Expressions)是一…...
生活小记录
上个月项目总算上线了,节奏也慢慢调整正常。发现自己好久没有记录生活点滴了,正好写写。其实,最近这段日子发生的事情还是挺多的。 流感 媳妇11.24得流感,这件事情特别好笑,大晚上她和我妹妹想喝酒试试,结…...
Diary22-全网最全的CSS3.0讲解
CSS学习 1.认识CSS 1.1什么是CSS CSS:Cascading Style Sheet——层叠级联样式表 CSS:表现(美化网页) 字体;颜色;边距;高度;宽度;背景图片;网页定位&…...
LAMP和分离式LNMP部署
目录 一.什么是LAMP? 二.安装LAMP 先安装apache,httpd网页服务: 接着安装mysql: 安装php: 创建论坛: 三.安装分布式LNMP: 先安装nginx: 到另一台主机安装php: …...
基于Java房屋租赁管理系统
基于Java房屋租赁管理系统 功能需求 1、房源信息管理:系统需要能够记录和管理所有房源的详细信息,包括房屋地址、房屋面积、租金、付款方式、房屋类型等。管理员应该可以添加、编辑和删除房源信息。 2、租户信息管理:系统需要能够记录和管…...
windows安装protoc、protoc-gen-go、protoc-gen-go-grpc
文章目录 一、 protoc二、protoc-gen-go三、protoc-gen-go-grpc 一、 protoc 1,下载:https://github.com/google/protobuf/releases 下载对应的protoc,注意选择windows 2,下好之后解压就行,然后把bin目录加入到环境…...
macOS 获取文件夹大小
macOS 获取文件夹大小 获取文件夹大小的扩展如下: extension URL {var fileSize: Int? { // in bytesdo {let val try self.resourceValues(forKeys: [.totalFileAllocatedSizeKey, .fileAllocatedSizeKey])return val.totalFileAllocatedSize ?? val.fileAll…...
Ultimate VFX
Ultimate VFX 构建套件:...
一个通用游戏后台的设计模式实践总结
搞业务开发的时候,发现有一些代码的开发会让人感觉非常简便舒服,有一些代码的开发却有时候会让人感觉心智负担比较大。 逐步总结的过程中,发现让开发人员写起来感觉舒服的代码,大概率是因为当前模块与其他模块代码耦合度低,开发人员无需花费过多的精力去关注其他模块的实现…...
Kubernetes - 为什么 K8S 在容器里不能调用自己?
问题描述 最近遇到一个神奇的现象,在 K8S 的 POD 容器中,比如 pod name:mini-appnamespace:devport:5050 那么,是无法在 mini-app 容器里执行以下命令,如果执行,会一直卡在这条命…...
交通流预测代码复现:提出了一种创新的时间感知结构-语义耦合图网络,旨在解决图学习中的困难问题
交通流预测代码复现:提出了一种创新的时间感知结构-语义耦合图网络,旨在解决图学习中的困难问题 [1]我们设计了新的图学习块,能够同时学习图的结构和语义方面,从而捕获图的固有特征 [2]我们还引入了自采样方法,对相关的…...
自动驾驶商业化落地:商业模式与法规体系双轮驱动
目录 一、自动驾驶分级与商业逻辑差异 二、商业模式:不同等级的盈利路径 1. L3 乘用车:成本与合规的平衡 2. L4 运营场景:替代人力的正向现金流 3. L5:社会价值驱动,商业仍待探索 三、法规核心难点:责…...
关于eclipse2019中导入克隆的web项目
分为导入项目和排查可能错误两个方面前言:本文主要总结个人在完成需要合作完成学习项目时,使用共享项目文件时“环境”问题导致的无法“跑通”,为此忙碌很久和豆包进行了“深入聊天”。决定对自己的问题进行总结,方便自己以后阅读…...
SEO_10个提升网站排名的SEO技巧与实战方法
SEO:10个提升网站排名的SEO技巧与实战方法 在当今数字化时代,网站排名不仅关乎网站的曝光率,更影响到业务的发展。因此,提升网站排名(SEO)成为了每一个网站主的首要任务。有哪些SEO技巧能够帮助提升网站的排名呢&…...
《QGIS快速入门与应用基础》256:SVG格式:适合矢量图二次编辑
作者:翰墨之道,毕业于国际知名大学空间信息与计算机专业,获硕士学位,现任国内时空智能领域资深专家、CSDN知名技术博主。多年来深耕地理信息与时空智能核心技术研发,精通 QGIS、GrassGIS、OSG、OsgEarth、UE、Cesium、OpenLayers、Leaflet、MapBox 等主流工具与框架,兼具…...
Figma Make 提示词工程化:构建从布局、组件、交互到风格的稳定设计系统
1. 从零散到系统:为什么需要工程化提示词 刚开始用Figma Make做设计时,我和大多数人一样,每次生成页面都要重新写一遍提示词。最头疼的是明明想要类似的风格,结果生成的页面总是"飘忽不定"——今天按钮圆角是8px&#x…...
HGD运动想象脑电数据集预处理实战:从数据加载到特征标准化
1. HGD数据集简介与下载指南 HGD(High Gamma Dataset)是目前运动想象脑电研究领域最常用的公开数据集之一,由德国柏林工业大学团队采集并开源。这个数据集包含了14名受试者在执行左手、右手、脚部和休息四种运动想象任务时的高密度脑电信号&a…...
Flowable6.4实战:如何优雅处理并行网关驳回与多实例加减签(附完整代码)
Flowable 6.4实战:并行网关驳回与多实例加减签的工程化解决方案 在企业级流程审批系统中,并行任务处理和多实例任务动态调整是高频需求场景。当某部门采购申请需要同时经过财务审核、法务审核和业务负责人审核时,传统串行审批模式会导致效率…...
Naive UI 主题色定制实战:从组件覆盖到全局配置
1. 为什么需要定制Naive UI主题色? 当你使用Naive UI开发项目时,默认的绿色主题可能并不符合你的品牌风格。比如我们团队最近接手的一个金融类项目,客户要求整体UI采用深蓝色调,这时候就需要对Naive UI的主题色进行深度定制。主题…...
vue-treeselect源码深度剖析:理解组件内部工作原理
vue-treeselect源码深度剖析:理解组件内部工作原理 【免费下载链接】vue-treeselect A multi-select component with nested options support for Vue.js 项目地址: https://gitcode.com/gh_mirrors/vu/vue-treeselect vue-treeselect是一个功能强大的Vue.js…...
