数据集
数据集:资料,提取码: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' 123456789101112
1、查看数据的描述信息
# 1、查看数据的描述信息 # 查看数据的统计情况 print(df.describe()) # 查看数据的行列属性 print(df.info()) 123456
2、修改列名为汉字 并显示前5条数据
# 2、修改列名为汉字 并显示前5条数据 df.columns=['总金额','小费金额','性别','吸烟','日期','时间','尺寸'] print(df.head(5)) 123
3、分析小费金额和总金额的关系
# 3、分析小费金额和总金额的关系 # 散点图 df.plot.scatter(x='总金额', y='小费金额', color='DarkBlue', label='小费金额与总金额的关系'); plt.show() 1234
从图中可以看出,小费金额与消费金额存在着正相关的关系,即消费的金额越多,给的小费也越多。
4、分析男性顾客和女性顾客谁更慷慨
# 4、分析男性顾客和女性顾客谁更慷慨 # 柱状图 average_tip = df.groupby('性别')['小费金额'].mean() average_tip.plot.bar() plt.show() 12345
从图中可以看出,男性给的小费会略高于女性
5、分析日期和小费的关系
# 5、分析日期和小费的关系 # 柱状图 average_tip = df.groupby('日期')['小费金额'].mean() average_tip.plot.bar() plt.show() 12345
从图中可以看出,周日的小费给的最多
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()
1234567891011121314151617181920
从图中可以看出,抽烟女性平均最慷慨值
7、分析据餐时间段和小费的关系
# 7、分析据餐时间段和小费的关系 # 柱状图 seven = df.groupby('时间')['小费金额'].mean() seven.plot.bar() plt.show() 12345
从图中可以看出,吃晚餐的时候,给的小费会多一些