import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
%config InlineBackend.figure_format='retina'
def normfun(x,mu,sigma):
pdf=np.exp(-((x-mu)**2)/(2*sigma**2))/(sigma*np.sqrt(2*np.pi))
return pdf
iq_data=pd.read_csv('IQscore.csv')
iq=iq_data['IQ']
len(iq)
70
max(iq)
140
min(iq)
69
mean=iq.mean()
std=iq.std()
x=np.arange(60,150,1)
y=normfun(x,mean,std)
plt.plot(x,y)
plt.hist(iq,bins=10,rwidth=0.9,normed=True)
plt.title('IQ distribution')
plt.xlabel('Porbability')
plt.show()
std=iq.std()
std
15.015905990389502
mean
100.82857142857142
peng=pd.read_csv('stakes.csv')
peng.head(5)
len(peng)
89
time=peng['time']
mean=time.mean()
mean
149.22101123595507
std=time.std()
std
1.627816471774816
max=time.max()
max
153.19999999999999
min=time.min()
min
146.0
def normfun(x,mu,sigma):
pdf=np.exp(-((x-mu)**2)/(2*sigma**2))/(sigma*np.sqrt(2*np.pi))
return pdf
x=np.arange(140,160,1)#140和160是起点和终点,根据最大、最小、均值设置;
#0.3表示线的弯曲角度(步长)
y=normfun(x,mean,std)
plt.plot(x,y)
plt.hist(time,bins=10,rwidth=0.9,normed=True)#time表示数据,bins表示显示的组数
#rwidth表示每组宽度,normed表示显示曲线
plt.title("time")
plt.xlabel("stakes")
plt.ylabel("Probability")
plt.show()
3、结果分析:
历届赛马冠军的平均时间是149.22:说明如果你成绩控制在149.22的话就有一半的概率得冠军
标准差是1.62:说明波动性较小
成绩最好的是146:你合理的追求成绩是146-149.22
最差的成绩是153:如果你想得冠军,成绩又没有153好,那么建议你比赛的同时买几张彩票,至少她们的概率上来说差不多的,买张彩票多个机会哈
[参考文章](http://www.jianshu.com/p/cc3b5d76c587)