对ch08.csv-消费账单进行简单的分析及可视化
2016-04-17 18:15
232 查看
#需要研究的内容
男性和女性的小费
去吃饭的人数对小费的影响
男女抽烟的人数和所占比例--禁烟对餐厅消费有正向/负向影响
抽烟的人和不抽烟的人,谁消费水平更高
周末用餐人数较多?
午餐和晚餐 平时和周末 卖出数量比较
午餐和晚餐 平时和周末 人均消费水平 小费水平
男女比例---这家餐厅是男性口味还是女性口味--需要更多数据
代码:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
tips = pd.readcsv('tips.csv')
party_counts = pd.crosstab(tips.day,tips.size)
///
周几 几个人的台子开了几个
In [11]: party_counts
Out[11]:
size 1 2 3 4 5 6
day
Fri 1 16 1 1 0 0
Sat 2 53 18 13 1 0
Sun 0 39 15 18 3 1
Thur 1 48 4 5 1 3
发现一人台和6人台都很少,于是切片:
///
party_counts=party_counts.ix[:,2:5]
///
In [13]: party_counts
Out[13]:
size 2 3 4 5
day
Fri 16 1 1 0
Sat 53 18 13 1
Sun 39 15 18 3
Thur 48 4 5 1
把1人台和6人台的去掉并作图
///
party_counts.plot(kind = 'bar')
///
进行规格化,使各行和为1
///
party_pcts = party_counts.div(party_counts.sum(1).astype(float),axis = 0)
发现周末的聚会规模变大
我们再来生成“小费占总消费比值”的图
tips['tip_pct']= tips['tip']/tips['total_bill']
tips['tip_pct'].hist(bins = 50)//直方图
tips['tip_pct'].plot(kind = 'kde')//KDE图
男性和女性的小费
去吃饭的人数对小费的影响
男女抽烟的人数和所占比例--禁烟对餐厅消费有正向/负向影响
抽烟的人和不抽烟的人,谁消费水平更高
周末用餐人数较多?
午餐和晚餐 平时和周末 卖出数量比较
午餐和晚餐 平时和周末 人均消费水平 小费水平
男女比例---这家餐厅是男性口味还是女性口味--需要更多数据
代码:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
tips = pd.readcsv('tips.csv')
party_counts = pd.crosstab(tips.day,tips.size)
///
周几 几个人的台子开了几个
In [11]: party_counts
Out[11]:
size 1 2 3 4 5 6
day
Fri 1 16 1 1 0 0
Sat 2 53 18 13 1 0
Sun 0 39 15 18 3 1
Thur 1 48 4 5 1 3
发现一人台和6人台都很少,于是切片:
///
party_counts=party_counts.ix[:,2:5]
///
In [13]: party_counts
Out[13]:
size 2 3 4 5
day
Fri 16 1 1 0
Sat 53 18 13 1
Sun 39 15 18 3
Thur 48 4 5 1
把1人台和6人台的去掉并作图
///
party_counts.plot(kind = 'bar')
///
进行规格化,使各行和为1
///
party_pcts = party_counts.div(party_counts.sum(1).astype(float),axis = 0)
发现周末的聚会规模变大
我们再来生成“小费占总消费比值”的图
tips['tip_pct']= tips['tip']/tips['total_bill']
tips['tip_pct'].hist(bins = 50)//直方图
tips['tip_pct'].plot(kind = 'kde')//KDE图
相关文章推荐
- 2016金山WPS春季实习招聘笔试&面试问题回忆
- Android Task任务栈
- 团队计划会议(二)——WBS
- 20145215《Java程序设计》第7周学习总结
- Spring阅读方法
- 如何计算冲突域和广播域-图解分析
- 字符串的左旋转
- [后端人员耍前端系列]KnockoutJs篇:快速掌握KnockoutJs
- Java Timer 定时器的使用
- PAT 1055
- java计时器
- static
- string,number类型转换的快捷方法
- 为什么很多人炒芹菜都要把叶子摘掉
- Simple:Flexible Model for MVP and MVVM(附技术分享ppt)
- 奇怪的问题,InvalidateRect最后一个参数在XP下无效
- ARM内部大家族详解---嵌入式回归第四篇
- 复习笔记之矩阵快速幂(不定时更新)
- char*,string,char a[], const char *,之间的转换
- java程序员面试中的多线程问题