numpy统计分布显示

#加载numpy包
import numpy
#加载sklearn包
from sklearn.datasets import load_iris 
#读出鸢尾花数据集data
data=load_iris()
print(data)

运行结果如下:

#鸢尾花花瓣长度的数据
petal_length=numpy.array(list(len[2] for len in data['data'])) 
print(petal_length)

运行结果如下:

#计算鸢尾花花瓣长度的最大值,平均值,中值,均方差
print(numpy.max(petal_length))
print(numpy.mean(petal_length))
print(numpy.median(petal_length))
print(numpy.std(petal_length))

运行结果如下:

 

#用np.random.normal()产生一个正态分布的随机数组,并显示出来
import numpy as np
import matplotlib.pyplot as plt
mu = 5  #期望为5
sigma = 3  #标准差为3
num = 1000  #个数为1000
normal_data = np.random.normal(mu, sigma, num)
print(normal_data)

运行结果如下:

 

#用np.random.randn()产生一个正态分布的随机数组,并显示出来
a=np.random.random(25)
print(a)

运行结果如下:

 

#显示鸢尾花花瓣长度的正态分布图,曲线图,散点图
import numpy as np
import matplotlib.pyplot as plt

mu=np.mean(petal_length)   
sigma =np.std(petal_length)  
num=1000

normal_data = np.random.normal(mu, sigma, num)
count, bins, ignored = plt.hist(normal_data, 30, normed=True)
plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) *np.exp( - (bins - mu)**2 / (2 * sigma**2)), linewidth=2, color='orange')
plt.show()

运行结果如下:

plt.plot(numpy.linspace(0,150,num=150),petal_length,color='orange')
plt.show()

运行结果如下:

plt.scatter(numpy.linspace(0,150,num=150),petal_length,color='orange')
plt.show()

运行结果如下:

 

posted @ 2018-10-20 21:53  cxseven  阅读(3960)  评论(0编辑  收藏  举报