数据分析案例-汽车客户信息数据可视化分析(文末送书)

 

🤵‍♂️ 个人主页:@艾派森的个人主页

✍🏻作者简介:Python学习者
🐋 希望大家多多支持,我们一起进步!😄
如果文章对你有帮助的话,
欢迎评论 💬点赞👍🏻 收藏 📂加关注+


目录

1.项目背景

2.数据集介绍

3.技术工具

4.导入数据

 5.数据预处理

6.数据探索性分析

6.1不同组别的性别分布

6.2不同组别的年龄分布

6.3不同组别的工作经验vs消费得分

6.4不同组别的客户分布

6.5不同组别的家庭规模

6.6客户年龄分布

6.7工作经验分布

6.8家庭规模分布

6.9相关系数热力图

7.分析总结

8.实验源代码

9.文末福利


1.项目背景

        在当代社会,汽车作为人们生活中不可或缺的交通工具,其销售和使用数据一直受到广泛关注。汽车制造商、销售商以及相关的市场调研机构需要对汽车客户信息进行深入分析,以了解消费者的需求、喜好和行为习惯,从而优化产品设计、提高市场营销效率,并增加销售额。

        随着信息技术的不断发展,数据可视化成为一种强大的工具,可以将大量的汽车客户信息呈现为直观、易懂的图表和图像。通过数据可视化分析,汽车制造商和销售商可以更好地洞察客户群体的特征和行为,例如他们的地理分布、购车偏好、购买决策因素、购车周期等。同时,数据可视化也有助于发现市场趋势和潜在机会,指导企业制定更精准的营销策略,提高竞争力。

        此外,随着大数据技术的普及和应用,汽车行业积累了大量的客户数据,包括车辆销售记录、售后服务反馈、在线咨询聊天记录等。利用这些数据进行可视化分析,可以挖掘更深层次的信息,帮助企业更好地了解客户的需求和意愿。

        综上所述,进行汽车客户信息数据可视化分析对于汽车行业的企业来说具有重要意义,它可以帮助企业做出更明智的决策,提升客户满意度,提高市场份额,进而推动整个汽车产业的发展。

2.数据集介绍

本数据集来源于kaggle,原始数据集共有8068条,11个特征变量,各变量含义解释如下:

ID:客户ID
Gender:客户性别
Ever_Married:客户婚姻状况
Age:客户年龄
Graduated:客户是毕业生吗?
Profession:客户的职业
Work_Experience:多年工作经验
Spending_Score:客户的消费评分
Family_Size:客户家庭成员人数(含客户)
Var_1:客户的匿名类别
Segmentation:(目标)客户的客户群

3.技术工具

Python版本:3.9

代码编辑器:jupyter notebook

4.导入数据

 查看数据大小

查看数据基本信息

数值型变量描述性统计

非数值型变量描述性统计

 5.数据预处理

统计缺失值情况

 删除缺失值

检测数据集是否存在重复值,结果为False说明没有 

6.数据探索性分析

6.1不同组别的性别分布

6.2不同组别的年龄分布

6.3不同组别的工作经验vs消费得分

6.4不同组别的客户分布

6.5不同组别的家庭规模

6.6客户年龄分布

6.7工作经验分布

6.8家庭规模分布

6.9相关系数热力图

7.分析总结

经过前面的数据可视化分析,我们可以总结出以下规律:

细分D:通常是35岁以下的未婚人士,消费得分低,主要在医疗保健行业工作。

细分A:年龄在25岁到53岁之间,结婚率约为55%,消费得分低。职业包括市场营销、娱乐、工程等。主要的家庭规模是1人和2人。

细分B:约75%的结婚率,通常在33岁到55岁之间。混合支出得分分布(低:平均:高的比例为4:3:2)。通常在市场营销部门工作。这部分的家庭通常由2个成员组成。

细分C: 80%左右的结婚率,年龄在32 - 70岁之间。各个细分市场的消费得分各不相同(低:平均:高的比例为3:4:2)。主要从事市场营销工作。这部分的家庭规模通常在2到4人之间。

8.实验源代码

df_train = pd.read_csv('Train.csv')
df_train.head()
df_train.shape
df_train.info()
df_train.describe()
df_train.describe(include='O')
df_train.isnull().sum() # 统计缺失值
df_train.dropna(inplace=True) # 删除缺失值
df_train.shape
any(df_train.duplicated()) # 检测数据集是否存在重复值
# 不同组别的性别分布
sns.countplot(x='Segmentation', hue='Gender', data=df_train)
plt.title("Segmentation based on Gender")
plt.show()
# 不同组别的年龄分布
sns.boxplot(x='Segmentation', y='Age', data=df_train)
plt.title("Age Distribution based on Segmentation")
plt.show()
# 不同组别的工作经验vs消费得分
sns.boxplot(x='Work_Experience', y='Spending_Score', hue='Segmentation', data=df_train)
plt.title("Work Experience vs Spending Score based on Segmentation")
plt.show()
sns.violinplot(x='Segmentation', y='ID', data=df_train)
plt.title("Profession Distribution based on Segmentation")
plt.show()
# 不同组别的家庭规模
plt.figure(figsize=(8,8))
df_train['Family_Size'].value_counts().plot.pie(autopct='%1.1f%%')
plt.title("Family Size Distribution based on Segmentation")
plt.show()
# 客户年龄分布
plt.figure(figsize=(10,5))
sns.histplot(df_train['Age'], kde=True)
plt.title("Distribution of 'Age'")
plt.xlabel("Age")
plt.ylabel("Frequency")
plt.show()
# 工作经验分布
plt.figure(figsize=(10,5))
sns.histplot(df_train['Work_Experience'], kde=True)
plt.title("Distribution of 'Work_Experience'")
plt.xlabel("Work_Experience")
plt.ylabel("Frequency")
plt.show()
# 家庭规模分布
plt.figure(figsize=(10,5))
sns.histplot(df_train['Family_Size'], kde=True)
plt.title("Distribution of 'Family_Size'")
plt.xlabel("Family_Size")
plt.ylabel("Frequency")
plt.show()
# 删除目标变量
df_train_kmeans = df_train.drop(['Segmentation', 'ID'], axis=1)
df_train_kmeans
# 将分类列转换为标签编码列
from sklearn.preprocessing import  LabelEncoder
encoder = LabelEncoder()
df_train_kmeans['Gender'] = encoder.fit_transform(df_train_kmeans['Gender'])
df_train_kmeans['Ever_Married'] = encoder.fit_transform(df_train_kmeans['Ever_Married'])
df_train_kmeans['Graduated'] = encoder.fit_transform(df_train_kmeans['Graduated'])
df_train_kmeans['Profession'] = encoder.fit_transform(df_train_kmeans['Profession'])
df_train_kmeans['Spending_Score'] = encoder.fit_transform(df_train_kmeans['Spending_Score'])
df_train_kmeans['Var_1'] = encoder.fit_transform(df_train_kmeans['Var_1'])
df_train_kmeans.head()
# 相关系数矩阵
corr = df_train_kmeans.corr()
# 绘制热力图
plt.figure(figsize=(10,10))
sns.heatmap(corr, annot=True)
plt.show()

9.文末福利

《Python商业数据挖掘》免费包邮送出3本!

内容简介:

       本书前5版好评如潮,作为第6版,本书首次使用了Python语言。本书除了介绍用于统计和机器学习等领域的预测、分类、可视化、降维、推荐系统、聚类、文本挖掘、网络分析等方法之外,内容还包括:

● 新加入的合著者Peter Gedeck拥有使用Python讲解商业分析课程的丰富经验以及将机器学习应用于新药发现过程的专业技能。在本书中,他十分乐于将这些经验和技能与读者分享。

● 讨论数据挖掘中的伦理问题。

● 根据教师和学生的反馈意见对内容做了更新。

● 通过多个案例展示数据挖掘技术的实际应用。

● 每章后面的习题有助于读者评估和加深对该章内容的理解。

● 在线支持网站提供了数据集、教学资料、习题答案、PPT教案和案例解决方案。

 

  • 抽奖方式:评论区随机抽取3位小伙伴免费送出!
  • 参与方式:关注博主、点赞、收藏、评论区评论“人生苦短,拒绝内卷!”(切记要点赞+收藏,否则抽奖无效,每个人最多评论三次!
  • 活动截止时间:2023-08-30 20:00:00
  • 购买链接:http://product.dangdang.com/29322346.html

 名单公布时间:2023-08-30 21:00:00   

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

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

相关文章

学习开发振弦采集模块的注意事项

学习开发振弦采集模块的注意事项 (三河凡科科技/飞讯教学)振弦采集模块是一种用来实时采集和处理振弦信号的电子设备,在工业、航空、医疗等领域都有广泛应用。学习开发振弦采集模块需要注意以下几点: 一、硬件选择 首先需要选择…

word文档中输入“打钩”的4种方法

我们利用Word来制作一些填写单、待办表、计划表类的文档时,都会输入一些特殊符号,比如方框内“打钩”的勾选符号,那么这个符号应该怎么输入呢? 接下来,我就给你们介绍几种简单实用的方法,其中第三种是小编…

Spark项目Java和Scala混合打包编译

文章目录 项目结构Pom完整文件编译查看 实际开发用有时候引用自己写的一些java工具类,但是整个项目是scala开发的spark程序,在项目打包时需要考虑到java和scala混合在一起编译。 今天看到之前很久之前写的一些打包编译文章,发现很多地方不太对…

【软件测试面试题】网页崩溃的原因是什么?如何排查?

网页崩溃的原因 1. 代码错误 网页中存在错误或不完善的代码可能导致崩溃。例如,语法错误、逻辑错误、变量未定义等。这些错误可能会导致浏览器无法正确解析网页,从而导致崩溃。 2. 资源加载问题 网页中引用的资源(如CSS文件、JavaScript文…

【linux】2 make/Makefile和gitee

文章目录 一、Linux项目自动化构建工具-make/Makefile1.1 背景1.2 实例代码1.3 原理1.4 项目清理 二、linux下第一个小程序-进度条2.1 行缓冲区2.2 进度条 三、git以及gitee总结 ヾ(๑╹◡╹)ノ" 人总要为过去的懒惰而付出代价ヾ(๑╹◡╹)ノ" 一…

【点击新增一个下拉框 与前一个内容一样 但不能选同一个值】

点击新增一个下拉框 与前一个内容一样 但不能选同一个值 主要是看下拉选择el-option的disabled,注意不要混淆 <el-form label-width"120px" :model"form" ref"form" style"color: #fff"><template v-for"(trapolicy, i…

生成地图展示【Python思路】

# 1.导包 import json from pyecharts.charts import Map #导入关于编写地图的包 from pyechart.options import * #全局设置# 2.得到地图对象 map Map()# 3.打开事先准备好的JSON数据文件 f open("D:/Typora 记事本/notebook/Python/Exercise_data/疫情.txt",&…

2023CCF图形学启明星计划夏令营感想记录

这篇就是纯日记了&#xff0c;想记录一下参加这个夏令营的感想&#xff0c;中间的一些过程&#xff0c;毕竟这对我来说算是一段难忘的经历。 一、了解到的渠道 我个人是比较喜欢图形渲染的&#xff0c;之前也学过GAMES的课程&#xff0c;然后偶然的一天&#xff0c;GAMES101里…

TypeScript初体验

1.安装编译TS工具包 npm i -g typescript 2. 查看版本号 tsc -v 3.创建ts文件 说明&#xff1a;创建一个index.ts文件 4.TS编译为JS tsc index.ts 5.执行JS代码 node index.js 6.简化TS的步骤 6.1安装 npm i -g ts-node 6.2执行 ts-node index.ts

redis 7高级篇1 redis的单线程与多线程

一 redis单线程与多线程 1.1 redis单线程&多线程 1.redis的单线程 redis单线程主要是指Redis的网络IO和键值对读写是由一个线程来完成的&#xff0c;Redis在处理客户端的请求时包括获取 (socket 读)、解析、执行、内容返回 (socket 写) 等都由一个顺序串行的主线程处理…

数据分享|R语言PCA主成分、lasso、岭回归降维分析近年来各国土地面积变化影响...

全文链接&#xff1a;http://tecdat.cn/?p31445 机器学习在环境监测领域的应用&#xff0c;着眼于探索全球范围内的环境演化规律&#xff0c;人类与自然生态之间的关系以及环境变化对人类生存的影响&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 课题着眼于…

秒杀系统的业务流程以及优化方案(实现异步秒杀)

先看基本的业务流程 那么我们可以看到整个流程都是一个线程来完成的&#xff0c;这样的话耗时还是很长的&#xff0c;那么可不可以采用多线程去实现呢&#xff1f; 首先我们要思考怎么对业务进行拆分&#xff0c;可以想象一个我们去饭店点餐&#xff0c;会有前台接待&#xff…

Docker构建镜像

Docker根据Dockerfile文件构建镜像 在实际生产中&#xff0c;常常使用Dockerfile构建企业级生产环境镜像,然后再部署在我们的生产环境中&#xff0c;本文将从从零开始介绍Dockerfile如何使用&#xff0c;构建镜像。 Dockerhub官网地址&#xff1a;https://registry.hub.docke…

Pyqt5-开源工具分解功能(配置文件+快捷写入)

开源第五篇,配置文件及参数配置,先来看个图: 上述是自动化电池监测的简图。会根据json文件中的数据从而自动写入数据。 如何自动写入数据 从GIF中可以看到,选中的输入的标签都是QLineEdit,而QLineEdit的写入文本方法是.setText(str),注意这里是写入的文本是text,字符串。…

Docker容器:本地私有仓库、harbor私有仓库部署与管理

文章目录 一.本地私有仓库1.本地私有仓库概述2.搭建本地私有仓库3.容器重启策略简介 二.harbor私有仓库部署与管理1.什么是harbor2.Harbor的特性3、Harbor的构成4.Harbor私有仓库架构及数据流向5.harbor部署及配置&#xff08;192.168.198.11&#xff09;&#xff08;1&#xf…

有哪些前端调试和测试工具? - 易智编译EaseEditing

前端开发调试和测试工具帮助开发人员在开发过程中发现和修复问题&#xff0c;确保网站或应用的稳定性和性能。以下是一些常用的前端调试和测试工具&#xff1a; 调试工具&#xff1a; 浏览器开发者工具&#xff1a; 现代浏览器&#xff08;如Chrome、Firefox、Safari等&#…

几个nlp的小项目(文本分类)

几个nlp的小项目(文本分类) 导入加载数据类、评测类查看数据集精确展示数据测评方法设置参数tokenizer,token化的解释对数据集进行预处理加载预训练模型进行训练设置训练模型的参数一个根据任务名获取,测评方法的函数创建预训练模型开始训练本项目的工作完成了什么任务?导…

资深网络工程师的网络排障全过程,太强了!【附工具下载】

下午好&#xff0c;我的网工朋友 我们知道&#xff0c;交换机是局域网中一种很重要的网络设备&#xff0c;它的工作状态与客户端系统的上网状态息息相关。 可是&#xff0c;在实际工作过程中&#xff0c;交换机的状态很容易受到外界的干扰&#xff0c;那样一来局域网中就会出…

Java单元测试 JUnit 5 快速上手

一、背景 什么是 JUnit 5&#xff1f;首先就得聊下 Java 单元测试框架 JUnit&#xff0c;它与另一个框架 TestNG 占据了 Java领域里单元测试框架的主要市场&#xff0c;其中 JUnit 有着较长的发展历史和不断演进的丰富功能&#xff0c;备受大多数 Java 开发者的青睐。 而说到…

MES管理系统如何实现数据采集和过程控制

随着工业4.0的到来&#xff0c;MES管理系统解决方案已成为企业实现生产过程数字化和智能化的关键工具。MES生产管理系统不仅提供生产计划、调度、质量管理和设备维护等功能&#xff0c;还在数据采集和过程控制方面发挥着重要作用。本文将探讨MES生产管理系统如何实现数据采集和…