【大数据】—二手车用户数据可视化分析案例

news2024/12/24 8:53:19

项目背景

在当今的大数据时代,数据可视化扮演着至关重要的角色。随着信息的爆炸式增长,我们面临着前所未有的数据挑战。这些数据可能来自社交媒体、商业交易、科学研究、医疗记录等各个领域,它们庞大而复杂,难以通过传统的数据处理和分析手段进行有效解读。正是在这样的背景下,数据可视化技术应运而生,以其直观、形象、易于理解的特点,成为连接数据与洞察的桥梁。数据可视化通过将抽象的数据转化为图表、图像等视觉元素,能够迅速揭示数据中的模式、趋势和关联,帮助人们快速理解复杂数据背后的含义。无论是数据分析师、商业决策者还是普通用户,都能够通过数据可视化工具轻松探索数据,发现新的见解,从而做出更明智的决策。

因此,在大数据时代,数据可视化技术的重要性不言而喻。它不仅是数据分析的重要工具,更是连接数据与洞察、促进跨领域合作的桥梁。随着技术的不断进步和应用场景的不断拓展,数据可视化将在未来发挥更加重要的作用,为我们揭示更多未知的数据奥秘。

本文以二手车市场数据给大家展示数据可视化的其中一种好看的方法(数据集已绑定可免费下载)。

数据集介绍

数据集来源于Kaggle,原始数据集为美国二手车市场用户数据,共有7906条,18个变量,各变量含义如下:

Sales_ID(销售ID)
name(二手车名称)
year(购车年份)
selling_price(二手车当前销售价格)
km_driven(总行驶公里数)
Region(使用地区)
State or Province(使用的州或省)
City(使用城市)
fuel(燃料类型)
seller_type(谁在出售汽车)
transmission(汽车的变速器类型)
owner(业主类型)
mileage(汽车行驶里程)
engine(发动机功率)
Max_power(最大功率)
torque(转矩)
seats(座位数)
sold(二手车是否售出)

可视化方法介绍

读入数据:

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import plotly.express as px
from plotly.offline import iplot 
import warnings
warnings.filterwarnings('ignore')
plt.rcParams ['font.sans-serif'] ='SimHei'      #显示中文
plt.rcParams ['axes.unicode_minus']=False       #显示负号 
df = pd.read_csv("UserCarData.csv")
df.head()

在这里插入图片描述
图没有截完!时间有限,下面我主要给大家科谱图形相关内容,别的就不作讲解,截图展示就行。

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

# 二手车名称分析
print(f"Most Used Sold Car '{df['name'].value_counts().idxmax()}'")
print(f"Lowest Used Car Sold '{df['name'].value_counts().idxmin()}'")
# 使用plotly的express模块来绘制前20个最常被售出的二手车的柱状图   
iplot(px.bar(  
    df['name'].value_counts()[:20],  # 使用前20个最常出现的二手车名称及其计数  
    labels={'value':'数量', 'name':'车名'},  # 设置图表的标签  
    color=df['name'].value_counts()[:20].index,  # 设置每个柱子的颜色为其对应的二手车名称  
    text_auto=True,  # 自动将计数值添加到柱子上  
    title='二手车销量Top20'  # 设置图表的标题  
))  

在这里插入图片描述

# 使用plotly的express模块来绘制前20个最常被售出的二手车年份的柱状图  
# 注意:这里先对计数进行排序,确保年份是按从高到低的顺序显示  
# 使用sort_index(ascending=False)确保年份是降序排列  
iplot(px.bar(  
    df['year'].value_counts()[:20].sort_index(ascending=False),  # 取前20个最常出现的年份并降序排序  
    labels={'value':'数量', 'year':'年份'},  # 设置图表的标签  
    color_discrete_sequence=['#c72320'],  # 设置所有柱子的颜色为指定的红色  
    text_auto=True,  # 自动将计数值添加到柱子上  
    title='二手车出售年份柱状图'  # 设置图表的标题  
).update_xaxes(type=('category'))  # 将x轴设置为类别类型,确保年份按正确的顺序显示  
)  

在这里插入图片描述

柱状图(Bar Chart):

  • 定义:柱状图,也称为条形图,是一种用于展示离散数据分布情况的图形。它通过一系列垂直或水平的条形来表示不同类别的数据,每个条形的长度(或高度)代表该类别数据的数值大小。
  • 特点:
    直观易懂:柱状图通过条形的高度或长度直接反映数据的数值大小,使得数据之间的对比一目了然。
    易于比较:当需要比较不同类别之间的数据时,柱状图可以清晰地展示它们之间的数量关系,帮助用户快速识别出数据的差异和趋势。
    支持多组数据:柱状图可以同时展示多组数据,每组数据使用不同的颜色或标记进行区分,便于用户进行多组数据的比较和分析。
    易于扩展:柱状图可以与其他数据可视化元素结合使用,如添加数据标签、图例、坐标轴等,以提供更丰富的信息。
  • 用途:
    数据分析:柱状图常用于数据分析中,帮助用户快速了解数据的分布情况和特征,发现数据中的规律和问题。
    业务报告:在业务报告中,柱状图可以用来展示销售数据、市场份额、用户活跃度等指标,帮助决策者了解业务状况并做出决策。
    科学研究:在科学研究领域,柱状图可以用来展示实验数据、调查结果等,帮助研究人员分析数据并得出结论。
# 使用plotly的express模块来绘制一个饼图,展示不同地区的二手车销售数量  
iplot(  
    px.pie(  
        values=df['Region'].value_counts(),  # 从df的'Region'列中获取每个地区的销售数量  
        names=['中部','西部','东部','南部'],  # 这里直接指定了地区的名称,但通常应该从数据中获取  
        title='分地区二手车销量占比图'  # 设置饼图的标题  
    ).update_traces(textinfo='label+percent')  # 更新图表的轨迹设置,添加标签和百分比信息  
)

在这里插入图片描述

# 燃料分析
print(f"Top Fuel Used in Used car '{df['fuel'].value_counts().idxmax()}'")
print(f"Least Fuel Used in Used car '{df['fuel'].value_counts().idxmin()}'")
unique_fuels = df['fuel'].unique().tolist()  # 获取所有唯一的燃料类型  
iplot(  
    px.pie(  
        values=df['fuel'].value_counts(),  # 获取每种燃料类型的频数
        names=unique_fuels,  # 使用实际的燃料类型列表  
        title='使用燃料类型占比图'  
    ).update_traces(textinfo='label+percent')  # 更新饼图的跟踪信息,以显示标签和百分比 
)  

在这里插入图片描述

# 打印最常见的卖家类型  
print(f"Most Type of Seller '{df['seller_type'].value_counts().idxmax()}'")  
# .value_counts() 方法统计'seller_type'列中每种卖家类型的频数  
# .idxmax() 方法返回频数最高的卖家类型的索引,即最常见的卖家类型  
  
# 使用plotly的express模块绘制一个饼图,展示不同卖家类型在二手车销售中的比例  
iplot(  
    px.pie(  
        values=df['seller_type'].value_counts(),  # 获取每种卖家类型的频数  
        names=['Individual','Dealer','Trustmark_Dealer'],  # 这里直接指定了卖家类型的名称,但可能与实际数据不匹配  
        title='二手车卖家类型占比图'  # 设置图表的标题  
    ).update_traces(textinfo='label+percent')  # 更新饼图的跟踪信息,以显示标签和百分比  
)  

在这里插入图片描述
饼图是一种用于表示不同类别的数据在总量中所占比例的图形。以下是关于饼图的详细解释:

  • 定义: 饼图(Pie
    Chart),也称为扇形图或圆饼图,是一个圆形图表,用于展示不同部分与整体之间的关系。它通过将圆形划分为若干个扇区(或称为“切片”),每个扇区代表一个数据类别,扇区的大小(即角度或面积)表示该类别在总体中所占的比例。
  • 特点: 直观性:饼图通过扇区的大小直观地展示不同类别在总体中的占比情况,易于理解和分析。
    完整性:所有扇区的面积之和等于整个圆的面积,即100%,这表示数据的完整性。
    对比性:通过对比不同扇区的大小,可以清晰地看出不同类别之间的比例关系。
  • 制作要点: 数据准备:首先,需要准备好需要展示的数据,并确保所有数据的总和为100%。
    扇区划分:根据数据的比例关系,将圆形划分为若干个扇区。每个扇区的角度或面积应与其在总体中所占的比例相对应。
    颜色选择:为了增强图表的可读性和美观性,可以为不同的扇区选择不同的颜色或图案。
    标注:在每个扇区中,可以添加相应的标签或百分比标注,以便更清晰地展示每个类别的具体占比情况。
  • 应用场景: 群体构成分析:如市场调研中,可以使用饼图展示不同年龄段、性别或教育程度的调查对象在总人口中的比例。
    投资组合分析:投资者可以使用饼图展示不同资产在投资组合中的比例,以便管理风险和优化投资组合。
    销售数据分析:通过饼图展示不同产品或服务在整体销售额中的占比情况,有助于企业了解各类产品或服务的销售情况,进而调整销售策略和资源分配。
    用户满意度调查:企业可以使用饼图展示用户对产品或服务的满意度分布情况,以便改进产品或服务,提升用户满意度和忠诚度。
# 打印销售二手车最多的省或州  
print(f"Top State or Province where Sold Used car '{df['State or Province'].value_counts().idxmax()}'")  
# .value_counts() 方法统计'State or Province'列中每个省或州的频数  
# .idxmax() 方法返回频数最高的省或州的索引,即销售二手车最多的省或州  
  
# 打印销售二手车最少的省或州  
# 注意:如果有多个省或州的计数都是最少的,那么这只会返回其中一个  
print(f"Least State or Province where Sold Used car '{df['State or Province'].value_counts().idxmin()}'")  
# .idxmin() 方法返回频数最低的省或州的索引,即销售二手车最少的省或州  
  
# 使用plotly的express模块绘制一个水平柱状图,展示销售二手车数量排名前30的省或州  
iplot(  
    px.bar(  
        df['State or Province'].value_counts().sort_values(ascending=True)[:30],  # 获取销售数量排名前30的省或州及其频数  
        orientation='h',  # 设置柱状图为水平方向  
        color=df['State or Province'][:30].index,  # 这里设置颜色通常不会按预期工作,因为这里索引可能与排序后的数据不匹配  
        title='二手车销售地区Top榜',  # 设置图表的标题  
        labels={'value':'销售数量'}  # 设置图表的标签,这里只设置了y轴(即省或州)的计数标签  
    )  
)  

在这里插入图片描述

# 打印销售二手车最多的城市  
print(f"Top City where Sold Used car '{df['City'].value_counts().idxmax()}'")  
# .value_counts() 方法统计'City'列中每个城市的频数  
# .idxmax() 方法返回频数最高的城市的索引,即销售二手车最多的城市  
  
# 打印销售二手车最少的城市  
# 注意:如果有多个城市的计数都是最少的,那么这只会返回其中一个  
print(f"Least City where Sold Used car '{df['City'].value_counts().idxmin()}'")  
# .idxmin() 方法返回频数最低的城市的索引,即销售二手车最少的城市  
  
# 使用plotly的express模块绘制一个柱状图,展示销售二手车数量排名前20的城市  
iplot(  
    px.bar(  
        df['City'].value_counts().sort_values(ascending=False)[:20],  # 获取销售数量排名前20的城市及其频数  
        color=df['City'][:20].index,  # 这里设置颜色通常不会按预期工作,因为这里的索引可能与排序后的数据不匹配  
        title='二手车销售城市Top榜',  # 设置图表的标题  
        labels={'value':'数量', 'City':'城市'},  # 设置图表的标签,这里设置了y轴的计数标签  
        text_auto=True  # 自动在柱状图上显示频数值  
    )  
)  

在这里插入图片描述

# 使用plotly的express模块绘制一个水平柱状图,展示二手售出车中最常见的20个转矩值  
  
# iplot 函数用于在Jupyter Notebook等环境中交互式地显示plotly图表  
iplot(  
    # 使用px.bar绘制水平柱状图  
    px.bar(  
        # 对'torque'列中的转矩值进行计数,并按计数降序排列,取前20个  
        df['torque'].value_counts().sort_values(ascending=False)[:20],    
        # 设置柱状图为水平方向  
        orientation='h',            
        # 尝试设置颜色,但这里使用df['torque'][:20].index是不正确的,因为它会取前20个转矩值的索引,而不是计数  
        # 应该使用一个颜色列表来指定柱状图的颜色  
        color=df['torque'][:20].index,  # 注释:这行代码可能是错误的,因为value_counts()的结果与原始数据的索引不匹配            
        # 设置图表的标题  
        title='二手车常见转矩TOP20',            
        # 设置图表的标签,但这里labels的用法可能不准确,plotly通常使用更直接的方式设置轴标签  
        labels={'value':'Count','torque':'Torque'}  # 注释:这行代码可能不会按预期工作,因为plotly使用不同的参数来设置轴标签  
    )  
    .update_traces(textposition='outside')  # (假设代码原本还包括这行)用于在柱状图外部显示数值标签  
    .update_layout(xaxis_title='Torque', yaxis_title='Count')  # 正确的设置轴标签的方式  
)  

在这里插入图片描述
水平柱状图,作为柱状图的一种变体,其特点在于条形是水平放置的,与常见的垂直柱状图形成对比。以下是关于水平柱状图的详细解释:

  • 定义:
    水平柱状图,也称为横向柱状图或条形图,是通过一系列水平放置的条形来展示不同类别的数据,其中条形的长度表示数据的数值大小。与垂直柱状图相比,水平柱状图在数据分类标签较长时更为适用。
  • 特点: 水平展示:与垂直柱状图不同,水平柱状图的条形是水平放置的,这使得在标签较长或需要更多空间展示标签时更为方便。
    易于阅读:水平柱状图同样能够清晰地展示数据的对比关系和分布情况,其直观性使得数据解读更为简单直接。
    适合长标签:当数据的分类标签较长时,水平柱状图可以更好地利用空间,避免标签之间的重叠或截断。
  • 用途: 数据对比:水平柱状图适用于展示不同类别数据之间的对比情况,如销售额、用户活跃度等。
    时间序列数据:尽管垂直柱状图在时间序列数据的展示上更为常见,但水平柱状图在某些情况下也能很好地体现数据随时间的变化情况。
    大屏展示:由于水平柱状图在大屏中占用的空间较大,因此在大屏数据可视化项目中,水平柱状图可以作为一种有效的展示方式。
  • 制作要点: 标签方向:由于条形是水平放置的,因此标签通常位于条形的下方或上方,以便与条形相对应。
    颜色搭配:与垂直柱状图一样,水平柱状图也需要注意颜色搭配的合理性,以确保图表的清晰度和美观度。
    数值标注:在每个条形上方或下方标注具体的数值,有助于更直观地了解数据的具体大小。
# 行驶里程分析
# 创建一个新的图形窗口,并设置其大小为宽度15英寸,高度6英寸  
plt.figure(figsize=(15,6))    
# 使用seaborn库中的kdeplot函数来绘制df['mileage']列(即行驶里程)的核密度估计图  
# fill=True参数表示填充曲线下的区域,使图形更加直观  
sns.kdeplot(df['mileage'], fill=True)    
# 设置x轴的标签为"Mileage",即行驶里程  
plt.xlabel("行驶里程")    
# 显示图形  
plt.show()

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

在这里插入图片描述
在这里插入图片描述
本篇废话不多,全是干货。

创作不易,点赞、评论、转发三连走起!

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

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

相关文章

ISCC2024 WriteUpReverse 迷失之门

Reverse 迷失之门 迷失之门 writeup解题思路 打开题目是一个压缩包解压后是一个.exe程序 按照做题顺序第一步查壳发现并没有壳将其拖入ida中进行查看 使用shiftF12进行字符串查看 发现flag字符了我们双击它 将光标移动到yes哪里右击空白地方打开交叉索引并按F5进行反汇编发现…

Ci2451和Ci2454:2.4GHz无线MCU的芯片对比数据资料分析

一、2.4GHz无线MCU芯片的背景介绍 1、开头我们先聊聊,关于南京中科微2.4GHz无线MCU芯片(Ci2451、Ci2454、CSM2433)是建立在现有的2.4GHz射频芯片基础上面,它的内部是集成了8位RISC内核,且集成丰富的MCU资源、更小的尺寸可以来满足…

stable diffusion webui电商基础模型

电商生成模型的产生主要有两个路子,1.训练微调;2.模型融合。 下面这些是借鉴,帮助思考如何构建电商模型。 电商必备的10款Stable diffusion WebUI 模型 - 知乎一、WFProduct 电商场景这是一个专门为电商摄影场景训练的 lora 模型,可以生成各种极具设计感的场景图,效果逼真…

2024年高处安装、维护、拆除证考试题库及高处安装、维护、拆除试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2024年高处安装、维护、拆除证考试题库及高处安装、维护、拆除试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特种设备作业人员上…

【设计模式深度剖析】【10】【行为型】【状态模式】

👈️上一篇:访问者模式 | 下一篇:解释器模式👉️ 设计模式-专栏👈️ 文章目录 状态模式定义英文定义直译如何理解呢? 状态模式的角色Context(环境类)State(抽象状态类)Concret…

实战!如何从零搭建10万级 QPS 大流量、高并发优惠券系统--图文解析

实战!如何从零搭建10万级 QPS 大流量、高并发优惠券系统–图文解析 原文链接:https://juejin.cn/post/7087824893831544845 原文作者:字节跳动技术团队 需求背景 需要设计、开发一个能够支持十万级 QPS 的优惠券系统 什么是QPS? Queri…

课程标准包括哪些内容?

老师们常常会思考:课程标准究竟包含哪些要素?课程标准不仅仅是一系列冷冰冰的条条框框,而是活生生的指导原则,引领教学实践,激发学生的潜能。 课程标准,简而言之,是对学习成果的期望和要求的明确…

观测云「可观测性解决方案」荣耀登入华为云官网

继成功上架华为云云商店联营商品后,「观测未来可观测性解决方案」已进一步正式登陆华为云官网,标志着双方合作的深化与拓展。这一全新上架的解决方案是观测云技术实力的集大成之作,为企业提供了一个全面升级的数字化监控观测服务。 观测云&am…

AI大模型“行业数据集-场景应用创新计划”启动征集

数据决定了大模型的“智力”边界。当前,在通用领域,大模型初步呈现了一定的场景应用能力,然而,在医疗健康、教育等垂直领域,大模型所展现的能力尚不足以支持专业应用,其主要原因在于模型训练缺乏高质量可用…

深入探索Java开发世界:MySQL~类型分析大揭秘

文章目录 深入探索Java开发世界:MySQL~类型分析大揭秘一、数据结构类型二、函数类型三、事物类型四、事物隔离级别类型五、数据一致性问题类型 深入探索Java开发世界:MySQL~类型分析大揭秘 MySQL数据库基础知识,类型知识点梳理~ 一、数据结构…

基于EXCEL数据表格创建省份专题地图

1 数据源 随着西藏于5月1日发布2022年一季度经济运行情况,31省份一季度GDP数据已全部出炉。 总量方面,粤苏鲁稳居前三;增速方面,23省份高于“全国线”,新疆表现最佳,增速达到7.0%。 表格表现数据不够直观…

MATLAB神经网络---lstmLayer(LSTM 长短期记忆神经网络)

前言 描述LSTM就要先描述一下循环神经网络 循环神经网络 循环神经网络通过使用带自反馈的神经元,使得网络的输出不仅和当前的输入有关,还和上一时刻的输出相关,于是在处理任意长度的时序数据时,就具有短期记忆能力。 如下是一个…

【前端vue3】TypeScrip-interface(接口)和对象类型

对象类型 定义对象需要用到interface(接口),主要用来约束数据的类型满足格式 定义方式如下: interface Person {name: string;age: number; }如对象中与接口中的属性不一致会报错,必须保持一致 例如如下&#xff1a…

web中间件漏洞-Tomcat漏洞-密码爆破、war包上传

web中间件漏洞-Tomcat漏洞-密码爆破、war包上传 密码爆破 步骤: 抓登陆包、对字典进行base64编码,爆破得到账号密码tomcat/tomcat,登陆即可 tomcat/tomcat登陆成功 服务器 查看 tomcat-users.xml里的账号密码 war包上传 步骤 上传war包、访问即可

低成本创业新篇章:上门回收小程序的崛起与挑战

在当今这个快速变化的时代,低成本创业项目成为了许多创业者的首选。其中,上门回收小程序以其独特的商业模式和市场需求,成为了创业市场中的一股新势力。本文将深入探讨上门回收小程序作为低成本创业项目的崛起之路以及面临的挑战。 一、上门回…

振弦式渗压计在土木工程安全监测中的重要性解析

在土木工程领域中,特别是涉及到坝体、隧道、路基等复杂结构的监测与安全管理时,渗压计作为一种关键的测量工具,发挥着举足轻重的作用。其中,振弦式渗压计以其独特的优点,得到了广泛的应用和认可。本文将对振弦式渗压计…

关于OS中逻辑地址与物理地址转换

首先将逻辑地址134D从十六进制转为2进制 0001 0011 0100 1101 1)1K的时候对应2的10次方 页面大小占10位 从后往前数 0001 00 || 11 0100 1101 前面的转为十进制为4 对应页号4内容1A转为2进制01 1010将这个替换原来的前六位数字 即0110 1011 0100 1101 再转换为…

字符串函数的使用和模拟实现(四)

#include<string.h> int main() { char arr1[30]{“kongchao”}; char arr2[30]{“hello world”}; strncpy(arr2,arr1,9);//拷贝九个是因为第九个字节是’\0’ printf(“%s”,arr2); return 0; } strncpy函数模拟实现 #include<stdio.h> #include<a…

勒索病毒猖狂,请提前做好安全防护,德迅卫士保护你的安全

随着互联网的飞速发展&#xff0c;网络安全问题日益凸显。其中&#xff0c;勒索病毒作为一种极具危害性的网络安全威胁&#xff0c;已经引起了广泛关注。为了帮助大家更好地预防和应对勒索病毒攻击&#xff0c;我们特地为您精心准备了这份超实用的勒索病毒自救预防指南。让我们…

Enhancing CLIP with GPT-4: Harnessing Visual Descriptions as Prompts

标题&#xff1a;用GPT-4增强CLIP:利用视觉描述作为提示 源文链接&#xff1a;Maniparambil_Enhancing_CLIP_with_GPT-4_Harnessing_Visual_Descriptions_as_Prompts_ICCVW_2023_paper.pdf (thecvf.com)https://openaccess.thecvf.com/content/ICCV2023W/MMFM/papers/Manipara…