Python数据分析17——seaborn小费数据集

小费数据集

我之前也有用过seaboard中的小费数据集,但是没有对它进行详尽一点的分析。接下来,我就用小费数据集进行一些数据分析。

准备工作

导入相关的库。

import pandas as pd
import numpy as np
from pandas import Series, DataFrame
import seaborn as sns

创建小费数据集对象。

tips = sns.load_dataset('tips')
tips.head()

Python数据分析17——seaborn小费数据集_第1张图片

查看数据信息

首先,来看看数据的相关信息。
在这里插入图片描述
所以,我们现在知道他是244行七列的数据。
Python数据分析17——seaborn小费数据集_第2张图片
通过describe()函数可以看到相关数据的更多的信息。比如:数量,平均数,方差,最大最小值。
Python数据分析17——seaborn小费数据集_第3张图片
通过info()函数可以看到每个数据项的个数,是否为空和数据类型。

查看数据

首先,通过散点图看看小费金额和小费总金额的相关关系。

tips.plot(kind='scatter', x='total_bill', y='tip')

Python数据分析17——seaborn小费数据集_第4张图片

然后,先分别算一下男女的平均小费金额。

average_tip = tips.groupby('sex')['tip'].mean()

Python数据分析17——seaborn小费数据集_第5张图片

下面,用这个数据绘制一个柱状图。
Python数据分析17——seaborn小费数据集_第6张图片 接下来,我们分日期来看看平均小费金额的分布情况。首先,通过unique()函数来看看数据对象中有哪些日期。

tips['day'].unique()

在这里插入图片描述

接下来,通过分别计算每一个日期的平均小费金额,再构造Series数据结构。

sun_tip = tips[tips['day'] == 'Sun']['tip'].mean()
sat_tip = tips[tips['day'] == 'Sat']['tip'].mean()
thur_tip = tips[tips['day'] == 'Thur']['tip'].mean()
fri_tip = tips[tips['day'] == 'Fri']['tip'].mean()
s = Series([thur_tip,fri_tip,sat_tip,sun_tip],index=['Thur','Fri','Sat','Sun'])

Python数据分析17——seaborn小费数据集_第7张图片
你不觉得这样子做很麻烦吗?这样,一点也不Pythonic啊!!!所以,我们应该用分组的方法来完成上述的任务。

s = tips.groupby('day')['tip'].mean()

就是这样一句代码就完成了计算和构造数据结构。,下面,绘图。
Python数据分析17——seaborn小费数据集_第8张图片
最后,我们来看看小费占客人总支出的百分比。使用的的方法时现在原来的tips对象中新建一列percent_tip数据,然后根据这一列数据绘制直方图。

tips['percent_tip'] = tips['tip']/(tips['total_bill'] + tips['tip'])

所以,现在的数据集如下所示。
Python数据分析17——seaborn小费数据集_第9张图片
接下来,对新层的一列数据绘图

tips['percent_tip'].hist(bins=50)

Python数据分析17——seaborn小费数据集_第10张图片
上面,就是本篇博客的全部内容了,谢谢浏览。

你可能感兴趣的:(数据分析)