3.2 -3.4 数据特征分析
2016-12-05 10:01
357 查看
demo/data/catering_fish_congee
这个文件是“捞起生鱼片”的销售数据,书上的文件名写错了,注意改一下。
内容主要是这个菜从 2014/4/1 到 2014/6/30 的销售额。
其实这里没给代码,给的结果,看起来这里用 Excel 也能很好完成的。
同时给了很多分析方法。不过本文主要是代码实践,就不写了。
针对餐饮销量数据有一个统计分析代码:
这段代码里面需要说一下的就是 Pandas 中的 .loc 方法。
整个代码运行结果:
==========================================================================================
接下来对菜品贡献度进行分析。
比如餐馆有很多菜品,如何确定重点改善盈利度最高的菜品,砍掉盈利度低的菜品?
代码:
注意我自己添加的关于画图的注释,都是自己试出来的。
这里的代码有个“未来警告”:sort is deprecated,use sort_values(inplace = True) for INPLACE sorting
data.sort(ascending = False)
懒得管了。
结果如下:
==========================================================================================
相关性分析
SPSS里面其实也能做,但是要试试Python
理论的Pearson和Spearman就不介绍了,以前数学建模接触过。
主要是给代码:
注意书上没有那一行 print,而且我试了试 print 只能用 Python 3 的格式,也就是带括号。
运行结果如下:
多试试,把最后的代码改一改:
或者是:
结果也不错。
======================================================================
3.4
讲了很多函数,见书,就不赘述了。
给个小例子
实际输出是 1.0 不知道有什么问题。
====================================================================================
另外讲了 画图方法 和 统计特征函数 的方法。
主要有二维线图plot,饼图pie,条形直方图hist,箱图boxplot,对数图plot(logx = True)
之类的很多...
这个文件是“捞起生鱼片”的销售数据,书上的文件名写错了,注意改一下。
内容主要是这个菜从 2014/4/1 到 2014/6/30 的销售额。
其实这里没给代码,给的结果,看起来这里用 Excel 也能很好完成的。
同时给了很多分析方法。不过本文主要是代码实践,就不写了。
针对餐饮销量数据有一个统计分析代码:
#-*- coding: utf-8 -*- #餐饮销量数据统计量分析 from __future__ import print_function import pandas as pd catering_sale = 'data/catering_sale.xls' #餐饮数据 data = pd.read_excel(catering_sale, index_col = u'日期') #读取数据,指定“日期”列为索引列 data = data[(data[u'销量'] > 400)&(data[u'销量'] < 5000)] #过滤异常数据 statistics = data.describe() #保存基本统计量 statistics.loc['range'] = statistics.loc['max']-statistics.loc['min'] #极差 statistics.loc['var'] = statistics.loc['std']/statistics.loc['mean'] #变异系数 statistics.loc['dis']= statistics.loc['75%']-statistics.loc['25%'] #四分位数间距 print(statistics)
这段代码里面需要说一下的就是 Pandas 中的 .loc 方法。
statistics.loc['dis']这个代码的意思就是选择一列进行操作,这里就是 dis 列。
整个代码运行结果:
==========================================================================================
接下来对菜品贡献度进行分析。
比如餐馆有很多菜品,如何确定重点改善盈利度最高的菜品,砍掉盈利度低的菜品?
代码:
#-*- coding: utf-8 -*- #菜品盈利数据 帕累托图 from __future__ import print_function import pandas as pd #初始化参数 dish_profit = 'data/catering_dish_profit.xls' #餐饮菜品盈利数据 data = pd.read_excel(dish_profit, index_col = u'菜品名') data = data[u'盈利'].copy() data.sort(ascending = False) # sort_values(inplace = True) import matplotlib.pyplot as plt #导入图像库 plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号 plt.figure() data.plot(kind='bar') # 条状图 plt.ylabel(u'盈利(元)') # Y轴 p = 1.0*data.cumsum()/data.sum() p.plot(color = 'r', secondary_y = True, style = '-o',linewidth = 2) # 那条曲线的样式 plt.annotate(format(p[6], '.3%'), xy = (6, p[6]), xytext=(6*0.9, p[6]*0.9), arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2")) # 添加注释,即85%处的标记。这里包括了指定箭头样式。第一个点记为编号0,这里就是编号6的点。 # plt.annotate() 是一个文本注释方法,xy 是被注释的地方,xytext 是插入文本的地方。 # format(p[6], '.4%') 中,p[6]应该是计算的编号6的点,'.4%'是百分比化,.4 是小数点后4位的意思 plt.ylabel(u'盈利(比例)') plt.show()
注意我自己添加的关于画图的注释,都是自己试出来的。
这里的代码有个“未来警告”:sort is deprecated,use sort_values(inplace = True) for INPLACE sorting
data.sort(ascending = False)
懒得管了。
结果如下:
==========================================================================================
相关性分析
SPSS里面其实也能做,但是要试试Python
理论的Pearson和Spearman就不介绍了,以前数学建模接触过。
主要是给代码:
#-*- coding: utf-8 -*- #餐饮销量数据相关性分析 from __future__ import print_function import pandas as pd catering_sale = 'data/catering_sale_all.xls' #餐饮数据,含有其他属性 data = pd.read_excel(catering_sale, index_col = u'日期') #读取数据,指定“日期”列为索引列 data.corr() #相关系数矩阵,即给出了任意两款菜式之间的相关系数 data.corr()[u'百合酱蒸凤爪'] #只显示“百合酱蒸凤爪”与其他菜式的相关系数 data[u'百合酱蒸凤爪'].corr(data[u'翡翠蒸香茜饺']) #计算“百合酱蒸凤爪”与“翡翠蒸香茜饺”的相关系数 print(data.corr()[u'百合酱蒸凤爪'])
注意书上没有那一行 print,而且我试了试 print 只能用 Python 3 的格式,也就是带括号。
运行结果如下:
多试试,把最后的代码改一改:
print(data[u'百合酱蒸凤爪'].corr(data[u'翡翠蒸香茜饺']))
或者是:
print(data.corr())
结果也不错。
======================================================================
3.4
讲了很多函数,见书,就不赘述了。
给个小例子
#-*- coding:utf-8 -*- import pandas as pd D = pd.DataFrame([range(1,8), range(2,9)]) # 生成样本 D.corr(method = 'pearson') # 计算相关矩阵 S1 = D.loc[0] # 提取第一行 S2 = D.loc[1] # 提取第二行 S1.corr(S2, method = 'pearson') # 计算相关系数 print(S1.corr(S2, method = 'pearson'))
实际输出是 1.0 不知道有什么问题。
====================================================================================
另外讲了 画图方法 和 统计特征函数 的方法。
主要有二维线图plot,饼图pie,条形直方图hist,箱图boxplot,对数图plot(logx = True)
之类的很多...
相关文章推荐
- MATLAB数据分析与挖掘实战-数据探索-3.2 数据特征分析
- 微博特征与行为的大数据挖掘分析
- 使用storm实现实时GPS数据客流特征分析系统:源码分析
- 基于100,000篇演讲的分析数据科学家发现了最佳演讲者的特征——及时解释听众不懂的词语,必要时提高10%的音调,正确和恰当的手势,氛围的营造
- Pandas数据特征分析
- 数据分析脚本&分析特征跟label的关系&缺失特征&缺失交叉特征&相关性热图
- 雷击风险评估之--地闪数据时空特征分析 V3.0中国版 使用说明
- 来学学数据分析吧(二)第一章 预测和关联数量特征
- 数据分析脚本学习-从数据中,分析出哪些特征的组合能更好的预测label
- 数据分析脚本&分析特征跟label的关系&缺失特征&缺失交叉特征&相关性热图
- 机器学习 数据特征分析 特征工程
- 基于storm的实时GPS数据客流特征分析系统 源码分析之(一):GPSReceiverSpout
- 宽带离网用户分析(2) 数据预处理和特征抽取
- MATLAB 数据分析一: 描述样本数据的几个基本特征
- 数据分析、数据挖掘之特征分解、特征分析
- 上网行为、应用层协议数据特征与流量特征分析(招商合作)
- 基于storm的实时GPS数据客流特征分析系统 源码分析之(二):DistrictMatchingBolt
- 数据特征分析
- 数据质量与特征分析笔记
- 机器学习 数据特征分析 特征工程