数据集

数据集:资料,提取码:7bxb

导包和准备工作

# -*- coding: utf-8 -*
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib

# 导入小费数据集
df = pd.read_excel('./tips.xls')

# 设置中文字体
matplotlib.rcParams['font.sans-serif'] = ['SimHei']  
matplotlib.rcParams['font.family']='sans-serif'  

1、查看数据的描述信息

# 1、查看数据的描述信息

# 查看数据的统计情况
print(df.describe())
# 查看数据的行列属性
print(df.info())

在这里插入图片描述

2、修改列名为汉字 并显示前5条数据

# 2、修改列名为汉字 并显示前5条数据
df.columns=['总金额','小费金额','性别','吸烟','日期','时间','尺寸']
print(df.head(5))

在这里插入图片描述

3、分析小费金额和总金额的关系

# 3、分析小费金额和总金额的关系
# 散点图
df.plot.scatter(x='总金额', y='小费金额', color='DarkBlue', label='小费金额与总金额的关系');
plt.show()

在这里插入图片描述
从图中可以看出,小费金额与消费金额存在着正相关的关系,即消费的金额越多,给的小费也越多。

4、分析男性顾客和女性顾客谁更慷慨

# 4、分析男性顾客和女性顾客谁更慷慨
# 柱状图 
average_tip  = df.groupby('性别')['小费金额'].mean()
average_tip.plot.bar()
plt.show()

在这里插入图片描述
从图中可以看出,男性给的小费会略高于女性

5、分析日期和小费的关系

# 5、分析日期和小费的关系
# 柱状图 
average_tip  = df.groupby('日期')['小费金额'].mean()
average_tip.plot.bar()
plt.show()

在这里插入图片描述
从图中可以看出,周日的小费给的最多

6、分析性别+抽烟的组合因素对慷慨度的影响

# 6、分析性别+抽烟的组合因素对慷慨度的影响

# 构建慷慨度指标
df['慷慨度']=df['小费金额']/(df['总金额']+df['小费金额'])


# 构建性别+抽烟的组合因素 
def trans (x,y):
    if x and y: return '男性抽烟'
    elif x: return '男性不抽烟'
    elif y: return '女性抽烟'
    else :return '女性不抽烟'
mapping = {'Female':False,'Male':True,'No':False,'Yes':True}
five = df[['性别','吸烟','慷慨度']].replace(mapping)
five['影响因素'] = five.apply(lambda x:trans(x['性别'],x['吸烟']),axis=1)

# 绘制柱状图
five = five.groupby('影响因素')['慷慨度'].mean()
five.plot.bar()
plt.show()

在这里插入图片描述
从图中可以看出,抽烟女性平均最慷慨值

7、分析据餐时间段和小费的关系

# 7、分析据餐时间段和小费的关系
# 柱状图 
seven = df.groupby('时间')['小费金额'].mean()
seven.plot.bar()
plt.show()

在这里插入图片描述
从图中可以看出,吃晚餐的时候,给的小费会多一些

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐