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('IQ score')
plt.ylabel('Porbability')
plt.show()
std = iq.std()
std
15.015905990389498
mean
100.82857142857142
对数据的理解:
- 该组数据平均值是100.83,标准差是15.02。
- 大部分的数据集中在85至115之间。
- 离平均值越远,数据越少,也可以理解为平均值与标准差之间的差值(mean-std)越大,数据越少。
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
data = pd.read_csv('stakes.csv')
time = data['time']
len(time)
89
min(time)
146.0
max(time)
153.19999999999999
mean = time.mean()
std = time.std()
x = np.arange(145,155,0.1)
y = normfun(x,mean,std)
plt.rcParams["font.family"] = "SimHei"
plt.plot(x,y)
plt.hist(time, bins = 10, rwidth = 0.9, normed = True)
plt.title('Time')
plt.xlabel(u'时间')
plt.ylabel(u'占比率')
plt.show()
mean
149.22101123595513
std
1.6278164717748154
对数据的理解:
- 读取数据之后,通过len()函数得到整个数据的大小,对获取的数据有一个大概的认识。
- 通过min()/man()函数得到该组数据的最大值和最小值,便于确认数据间距。
- 通过可视化图形和得到的平均值、标准差,可以知道数据集中在147.59——150.85。
- 离平均值越远,数据越少。