数据分析实战一——探索数据

仓库代码

1.导入包

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

2.加载数据

data1=pd.read_excel('E:\jupyter_lab\leetcode\数据分析实战\chapter3\data\catering_sale.xls',index_col='日期')
data1.head()
1.png

3.绘制箱线图data.boxplot()

boxplot方法只是用于DataFrame,return_type='dict'
whiskers: 延伸到不大于异常值的点的垂线
caps: 边界线
fliers: 所有的异常值点
means: 代表均值的点或者线

plt.figure()
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签

p=data1.boxplot(return_type='dict')

x=p['fliers'][0].get_xdata()
y=p['fliers'][0].get_ydata()
y=np.sort(y)

for i in range(len(x)):
# 处理临界情况, i=0时
    temp = y[i] - y[i - 1] if i != 0 else -78 / 3
# 添加注释, xy指定标注数据,xytext指定标注的位置(所以需要特殊处理)
    plt.annotate(y[i], xy=(x[i], y[i]), xytext=(x[i] + 0.05 - 0.8 / temp, y[i]))
plt.show()
2.png

4计算统计量data.describe()

方差

(每个样本-均值)的平方的累加和除以总数 反应个体与均值的偏离程度

标准差(std)=方差开根号

statistics['std']计算的是n-1样本标准差,numpy计算的是n总体标准差,在数据量较大时,推荐使用numpy

CV(Coefficient of Variance) 变异系数:

变异系数又称“标准差率”,是衡量资料中各观测值变异程度的另一个统计量.
当进行两个或多个资料变异程度的比较时,如果度量单位与平均数相同,可以直接利用标准差来比较.如果单位和(或)平均数不同时,比较其变异程度就不能采用标准差,而需采用标准差与平均数的比值(相对值)来比较.

data = data1[(data1['销量'] > 400) & data1['销量'] < 5000]
statistics = data.describe()['销量']

#极差
statistics['range'] = statistics['max'] - statistics['min']
#变异系数
statistics['var'] = statistics['std'] / statistics['mean']
#四分位距
statistics['dis'] = statistics['75%'] - statistics['25%']

print(statistics)
4.png

5盈利图data.plot(kind='bar')

比例计算data.cumsum()/data.sum(),累加求和cumsum()。

data2=pd.read_excel('E:\jupyter_lab\leetcode\数据分析实战\chapter3\data\catering_dish_profit.xls',index_col='菜品名')
data2.head()
3.png
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签

plt.figure()

data.plot(kind='bar')
plt.ylabel('盈利(元)')

p = 1.0 * data.cumsum() / data.sum()
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()
5.png

6计算成对相关性

data.corr()-->dataframe中相互之间的相关性
data.corr()['百合酱蒸凤爪'] -->dataframe某一项与其他项的相关性

data3=pd.read_excel('E:\jupyter_lab\leetcode\数据分析实战\chapter3\data\catering_sale_all.xls',index_col='日期')
data3.head()
6.png
data3.corr()
7.png
data3.corr()[''百合酱蒸凤爪']

相关性表中[''百合酱蒸凤爪']列。


8.png
data3['百合酱蒸凤爪'].corr(data3['翡翠蒸香茜饺'])

['百合酱蒸凤爪']与['翡翠蒸香茜饺']的相关性。


9.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,835评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,598评论 1 295
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,569评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,159评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,533评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,710评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,923评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,674评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,421评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,622评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,115评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,428评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,114评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,097评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,875评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,753评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,649评论 2 271