python数据分析与可视化实训--对 Excel 小费数据集进行数据的分析与可视化

1、 实验目的

本次实训主要是对小费数据集进行数据分析与可视化。

2、实验数据

实验的小费数据集来源于Python库Seaborn中自带的数据,已经将其转换为Excel类型数据集
部分截图:
请添加图片描述

3、实验操作

1、导入模块

#导入实验需要的包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']#用来显示中文标签
plt.rcParams['axes.unicode_minus']=False#用来显示负号
%matplotlib inline

2、获取数据
导入数据,并且显示前5行。

fdata=pd.read_excel('C:/Users/leglon/Desktop/ch4/tips.xls')#读取数据,在此需要导入xls的环境
fdata.head()#输出前五行

请添加图片描述

在这里要提前安装好xlrd的环境,不然容易出现错误:ImportError: Missing optional dependency ‘xlrd’. Install xlrd >= 1.0.0 for Excel support Use pip or conda to install xlrd.
解决这个方法只要我们打开 cmd 输入:pip install xlrd ,等待好安装就可以。或者去anaconda里下载安装xlrd环境。
步骤:anaconda—>Environments -->tensorflow—>Not installed,输入:xlrd,跳出选项勾选,然后点击Apply。再次打开就可以了。
请添加图片描述

3、查看数据的信息

fdata.describe()#查看数据描述

请添加图片描述
4、修改列名为中文

#修改为汉字,并且显示前五行数据
fdata.rename(columns={
    
    'total_bill':'消费总额','tip':'小费','sex':'性别','smoker':'是否吸烟','day':'星期','time':'聚餐时间段','size':'人数'},inplace=True)
fdata.head()

请添加图片描述
5、查看人均消费前5行

#人均消费,显示前五行
fdata['人均消费']=round(fdata['消费总额']/fdata['人数'],2)
fdata.head()

6、查找数据集中吸烟男性人均消费大于15的数据

#查询吸烟男性中消费大于15的数据
fdata.query('是否吸烟=="Yes"&性别=="Male"&人均消费>15')

请添加图片描述
7、查看消费总额与小费的关系

fdata.plot(kind='scatter',x='消费总额',y='小费')#查看消费总额与小费的关系

请添加图片描述

从图中可以看出小费于消费总额为正相关关系。

8、查看是否吸烟与小费的关系

fdata.plot(kind='scatter',x='是否吸烟',y='小费')#查看是否吸烟与小费的关系

请添加图片描述
从图中可以看出是否吸烟与小费的关系影响不大。

9、对比男性与女性的消费总额数据

fdata.groupby('性别')['消费总额'].mean()

请添加图片描述

看得出男性的消费比女性多。

10、查看性别的慷慨程度对比

#查看性别的慷慨程度对比
fdata.groupby('性别')['小费'].mean()

请添加图片描述
男性给的小费比女性多。
11、分析星期与小费的关系

#分析星期与小费的关系
print(fdata['星期'].unique())#显示星期的取值
r=fdata.groupby('星期')['小费'].mean()
fig=r.plot(kind='bar',x='星期',y='小费',fontsize=12,rot=30)
fig.axes.title.set_size(16)

请添加图片描述
从图中可以分析出,星期六与星期天给的小费比星期四和星期五多。

12、分析性别与吸烟组合的慷慨度

#分析性别与吸烟组合的慷慨度
r=fdata.groupby(['性别','是否吸烟',])['小费'].mean()
fig=r.plot(kind='bar',x=['性别','是否吸烟'],y='小费',fontsize=12,
rot=30)
fig.axes.title.set_size(16)

请添加图片描述
可以看出不吸烟的男性更慷慨,给的小费更多;不吸烟的女性比吸烟的女性更慷慨。

13、分析聚餐时间段与小费的关系

#分析聚餐时间段与小费的关系
r=fdata.groupby(['聚餐时间段'])['小费'].mean()
fig=r.plot(kind='bar',x='聚餐时间段',y='小费',fontsize=15,rot=30)
fig.axes.title.set_size(16)

请添加图片描述

可以从图中发现,晚餐时间段给的小费比午餐的多。

14、分析人数与小费的关系

#分析人数与小费的关系
r=fdata.groupby(['人数',])['小费'].mean()
fig=r.plot(kind='bar',x='人数',y='小费',fontsize=15,rot=30)
fig.axes.title.set_size(16)

请添加图片描述

从图中可以看出,聚餐人数越多给的小费越多。

4、总结

学习数据可视化对我们有着极大的作用,我们可以通过分析数据得到一些重要的信息,让我们更了解事件和让我们对事件有更多的应对方法。

猜你喜欢

转载自blog.csdn.net/qq_62127918/article/details/130512822