PythonAM3_统计量分析

Python实现数据统计计量

form_future_ import print_function
import pandas as pd

catering_sale = '../../data/3/catering_sale.xls'
#读取数据 指定‘日期’为索引列
data = pd.read_excel(catering_sale, index_col = u'日期')
#过滤异常数据 只获取400-5000的值 其他值抛弃
data = data[(data[u'销量'] > 400)&(data[u'销量'] < 5000)]
#保存基本统计量 dataFrame对象的describute给出了基本统计量
statistics = data.describe()

#极差
statistics.loc['range'] = statistics.loc['max']-statistics.loc['min']
#变异系数
#标准差相对于均值的离中趋势 CV= s/x
#用来比较多个不同单位或不同波动幅度的数据集的离中趋势
statistic.loc['var'] = statistic.loc['std']/statistic.loc['mean']
#四分位数间距
statistic.loc['dis'] = statistic.loc['75%'] - statistic.loc['25%']

print(statistic)

输出内容

                销量
count   195.000000
mean   2744.595385
std     424.739407
min     865.000000
25%    2460.600000
50%    2655.900000
75%    3023.200000
max    4065.200000
range  3200.200000
var       0.154755
dis     562.600000

Process finished with exit code 0

贡献度分析

2/8定律

80%的利润来源于20%畅销产品
#菜单盈利数据 帕累托图
from __future__ import print_function
import pandas as pd

#初始化参数
#餐饮盈利数据
dish_profit = '../../data/3/catering_dish_profit.xls'
data = pd.read_excel(dish_profit,index_col = u'菜单名')
data = data[u'盈利'].copy()
data.sort_valuse(ascending = False)

#导入图像库
import matplotlib.pyplot as plt
#用来显示正常的中文标签
plt.rcParam['font.sans-serif'] = ['SimHei']
#正常显示负号
plt.rcParam['axes.unicode_minus'] = False

plt.figure()
data.plot(kind = 'bar')
plt.ylabel(u'盈利(元)')
p = 1.0*data.cumsum()/data.sum()
p.plot(color = 'r',serondary_y = True,style = '-o',linewidth = 2)
#添加注释,在85%处,包含了指定样式的箭头
plt.annotate(format(p[6],'.4%'),xy = (6,p[6]),xytext=6*0.9,p[6]*0.9),arrowprops=dict(arrowstyle="->",connectionstyle="arc3,red=.2")
plt.ylabel(u'盈利(比例)')

这里写图片描述

计算相关系数

准确地描述变量之间线性相关程度

  • Pearson相关系数
  • Spearman秩相关系数
  • 判定系数
    实例分析
from __futrue__ import print_function
import pandas as pd

#餐饮数据,含有其他属性
catering_sale = '../../data/3/cating_sale_all.xls'
#读取数据 指定日期为索引列
data = pd.read_excel(catering_sale,index_col = u'日期')

#相关系数矩阵 给出相关两菜品之间的相关系数
data.corr()
#只拿百合酱蒸凤爪这道菜与其他才对比
#1.显示酱蒸凤爪与其他各个才相关系数
print(data.corr()[u'百合酱蒸凤爪'])
#2.显示酱蒸凤爪和翡翠蒸香茜饺的相关系数
print(data[u'酱蒸凤爪'].corr(data[u'翡翠蒸香茜饺']))
#1.显示酱蒸凤爪与其他各个才相关系数
百合酱蒸凤爪     1.000000
翡翠蒸香茜饺     0.009206
金银蒜汁蒸排骨    0.016799
乐膳真味鸡      0.455638
蜜汁焗餐包      0.098085
生炒菜心       0.308496
铁板酸菜豆腐     0.204898
香煎韭菜饺      0.127448
香煎罗卜糕     -0.090276
原汁原味菜心     0.428316
Name: 百合酱蒸凤爪, dtype: float64

Process finished with exit code 0
#2.显示酱蒸凤爪和翡翠蒸香茜饺的相关系数
0.009205803051836475

猜你喜欢

转载自blog.csdn.net/weixin_39381833/article/details/80793519