数据探索

3.1数据质量分析

1、使用pandas读取excel中的数据,并使用describe()函数 查看数据的基本情况

import pandas as pd
catering_sale='data/catering_sale.xls'
data=pd.read_excel(catering_sale,index_col=u'日期')#返回值DataFrame or dict of DataFrames
print(data)
print(data.describe())

2、餐饮销售额数据异常值检测的代码

                画箱线图

import pandas as  pd
import matplotlib.pyplot as plt
import pprint
catering_sale='data/catering_sale.xls'
data=pd.read_excel(catering_sale,index_col=u"日期")
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
#rcParams().....>rc是resouse configuration的缩写
plt.figure()
p=data.boxplot(return_type='dict')#datat.boxplot()//直接使用DataFrame,画箱线图
x = p['fliers'][0].get_xdata()#'flies'异常值标签
y = p['fliers'][0].get_ydata()
y.sort()
for i in range(len(x)):
    if i>0:
        plt.annotate(y[i],xy=(x[i],y[i]),xytext=[x[i]+0.05-0.8/(y[i]-y[i-1]),y[i]])
        #参数分别代表,注释的内容、注释那一个点、放置注释的位置
    else:
        plt.annotate(y[i],xy=(x[i],y[i]),xytext=(x[i]+0.08,y[i]))
plt.show()

在这里插入图片描述

3.2数据的统计量分析

1、集中趋势度量

均值、中位数、众数

2、离中趋势度量

极差、标准差、变异系数、四分位数间距

3、代码3-2 餐饮数据销量数据统计量分析代码


import pandas as  pd
import matplotlib.pyplot as plt
import pprint
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)

在这里插入图片描述

3、数据的贡献度分析

又称为帕累托分析

import pandas as  pd
import matplotlib.pyplot as plt
dish_frofit='data/catering_dish_profit.xls'
data=pd.read_excel(dish_frofit,index_col=u'菜品名')
data=data[u'盈利'].copy()
data.sort_values(ascending=False)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

plt.figure()
data.plot(kind='bar')
plt.ylabel(u'盈利(元)')
p=1.0*data.cumsum()/data.sum()#cumsum()求累加和
p.plot(color='r',secondary_y=True,style='-o',linewidth=2)
#注解
plt.annotate(format(p[6],'.4%'),xy=[6,p[6]],xytext=(6*0.9,p[6]*0.9),
            arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))

plt.ylabel(u'盈利(比例)')
plt.show()

在这里插入图片描述

4、数据的相关性分析

import  pandas as  pd
catering_sale='data/catering_sale_all.xls'
data=pd.read_excel(catering_sale,index_col=u'日期')
#corr()计算相关系数
print(data.corr())
print(data.corr()[u'百合酱蒸凤爪'])#只显示该菜品与其他所有菜品的相关系数
print(data[u'百合酱蒸凤爪'].corr(data[u'翡翠蒸香茜饺']))

5、python主要数据探索函数

pandas主要的统计特征函数:
sum()-----------------------------------------------------------求和
mean()------------------------------------------------------算术平均数
var()---------------------------------------------------------方差
std()----------------------------------------------------------标准差
correct()-----------------------------------------------------pearson(或者 ‘kendall’, ‘spearman’)相关系数
cov()----------------------------------------------------------协方差矩阵
skew()--------------------------------------------------------样本值的偏度(三阶矩)
kurt()----------------------------------------------------------样本值的峰度(四阶矩)
describe()----------------------------------------------------给出样本的基本描述

===========================================================
cumsum()-----------------------------------------------------依次给出前1,2,3…n个数的和
cumprod()-----------------------------------------------------依次给出前1,2,3…n个数的积
cummax()------------------------------------------------------依次给出前1,2,3…n个数的最大值
cummin()-------------------------------------------------------依次给出前1,2,3…n个数的最小值

rolling_系列是pandas的函数,不是DataFrame或Series对象的方法===================
rolling_sum()--------------------------------------------------计算样本数据总和(按列计算)
rolling_mean()------------------------------------------------数据样本的算术平均数
rolling_var()----------------------------------------------------方差
rolling_std------------------------------------------------------标准差
rolling_corr()---------------------------------------------------相关系数
rolling_cov()-----------------------------------------------------协方差
rolling_skew()--------------------------------------------------偏度
rolling_kurt()----------------------------------------------------峰度

主要统计作图函数===

plot()----------------------------------------------------------绘制线性二维图,折线图
pie()-----------------------------------------------------------绘制饼型图
hist()----------------------------------------------------------直方图
boxplot()----------------------------------------------------箱型图
plot(logy=True)-------------------------------------------绘制y轴的对数图形
plot(yerr=error)-------------------------------------------绘制误差条形图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值