【读书笔记】只有浅出没有深入的数据分析(九)

在第九章主要讲解了直方图的使用,直方图主要用来度量数据的“分布,差异,集中趋势等”。

这里是“我们”想要加薪,但是也害怕被“打回原形”,或者被“封存”,这里给出了历年的加薪记录,这里有3000个人的记录。

按照书中的思路,我们先看一下加薪的分布。

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

df = pd.read_csv('./hfda_data/hfda_ch09_employees.csv')

plt.figure(1)

plt.hist(df.iloc[::, 1], bins=np.arange(0, 25, 1), density=1, histtype='bar',
         facecolor='blue', edgecolor='black', rwidth=0.8, alpha=1)
plt.xlim(0, 25)
plt.xticks(np.arange(0, 25, 1))
plt.show()

看到这里作者用了r语言来制作直方图,看来我们之前设置的rwidth有点多此一举了,而且作者这次用了50个bins(breaks=50)

我们这里也更改一下

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

df = pd.read_csv('./hfda_data/hfda_ch09_employees.csv')

plt.figure(1)

plt.hist(df.iloc[::, 1], bins=np.arange(0, 25, 0.5), density=1, histtype='bar',
         facecolor='blue', edgecolor='black', alpha=1)
plt.xlim(0, 25)
plt.show()

同时书中用r语言显示了实际加薪列的汇总值,我们这里用

df.iloc[::, 1].describe()

就可以得到。

书中又将数据分成了不同的子集来制作直方图:

plt.hist(df[df.year == 2007].iloc[::, 1], bins=np.arange(0, 25, 0.5), density=1, histtype='bar',
         facecolor='blue', edgecolor='black', alpha=1)

这里我们只考虑 df.year列等于2007的数据,如果用其他子集方法一致,这里就不进行一一列举了。

书中最后计算了谈判与否两个子集的平均值 标准差等。我们这里也试着计算一下。

df[df.negotiated == True].iloc[::, 1].describe()
df[df.negotiated == False].iloc[::, 1].describe()

得到的结果与数中不一致,这里我又打开numbers表格计算了一遍,答案与pandas结论相符,可能使用的原始数据与作者不一致所致(原书276页)

我们得到的谈判的标准差在3左右,未谈判的在0.965左右。谈判平均增幅8%,未谈判5%,在25%的一栏中谈判加薪的就已经超过了未加薪的,因此谈判还是很有必要的(结论与书中一致)。

 

这是阅读中第二次发现书中的问题(第一次为贝叶斯公式那章),书中也可能存在其他问题,而我没有发现。请各位读书的过程中仔细一些,以免将一些错误当作正确的知识学习了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值