【Python数据分析与可视化】Pandas统计分析-实训

【Python数据分析与可视化】Pandas统计分析-实训

导包

import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']#显示中文标签
plt.rcParams['axes.unicode_minus']=False #显示负号
%matplotlib inline

读取数据

f1=pd.read_excel('tips.xls')
f1.head()
total_billtipsexsmokerdaytimesize
016.991.01FemaleNoSunDinner2
110.341.66MaleNoSunDinner3
221.013.50MaleNoSunDinner3
323.683.31MaleNoSunDinner2
424.593.61FemaleNoSunDinner4

分析数据

1、查看数据的描述和统计信息;

f1.describe()
total_billtipsize
count244.000000244.000000244.000000
mean19.7859432.9982792.569672
std8.9024121.3836380.951100
min3.0700001.0000001.000000
25%13.3475002.0000002.000000
50%17.7950002.9000002.000000
75%24.1275003.5625003.000000
max50.81000010.0000006.000000

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

f1.columns =['总金额','小费金额','性别','吸烟','星期','时间','人数']
f1.head()
总金额小费金额性别吸烟星期时间人数
016.991.01FemaleNoSunDinner2
110.341.66MaleNoSunDinner3
221.013.50MaleNoSunDinner3
323.683.31MaleNoSunDinner2
424.593.61FemaleNoSunDinner4

3、计算人均消费;

f1['人均消费']=round(f1['总金额']/f1['人数'],2)
f1.head()
总金额小费金额性别吸烟星期时间人数人均消费
016.991.01FemaleNoSunDinner28.49
110.341.66MaleNoSunDinner33.45
221.013.50MaleNoSunDinner37.00
323.683.31MaleNoSunDinner211.84
424.593.61FemaleNoSunDinner46.15

4、查询吸烟男性中人均消费大于15的数据;

# f1[ (f1['吸烟']=='Yes') & (f1['性别']=='Male') & (f1['总金额']> 15) ]
f1.query( '吸烟=="Yes" & 性别=="Male" & 总金额>15').head()
总金额小费金额性别吸烟星期时间人数人均消费慷慨度
5638.013.00MaleYesSatDinner49.500.073153
6020.293.21MaleYesSatDinner210.140.136596
6318.293.76MaleYesSatDinner44.570.170522
6915.012.09MaleYesSatDinner27.500.122222
7617.923.08MaleYesSatDinner28.960.146667

5、分析小费金额和消费金额的关系;

f1.plot.scatter(x='总金额', y='小费金额', color='DarkBlue', label='小费金额与总金额的关系')

在这里插入图片描述

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

average_tip  = f1.groupby('性别')['小费金额'].mean()
average_tip.plot.bar()

在这里插入图片描述

7、分析星期和小费数额的关系;

average_tip  = f1.groupby('星期')['小费金额'].mean()
average_tip.plot.bar()

在这里插入图片描述

8、性别+吸烟的组合对慷慨度的影响;

# 构建慷慨度指标
f1['慷慨度']=f1['小费金额']/(f1['总金额']+f1['小费金额'])
r=f1.groupby(['性别','吸烟'])['慷慨度'].mean()
r.plot(kind='bar',x=['性别','吸烟'],y='慷慨度')

在这里插入图片描述

9、分析聚餐时间与小费数额的关系;

time = f1.groupby('时间')['小费金额'].mean()
time.plot.bar()

在这里插入图片描述

  • 11
    点赞
  • 114
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值