2018.10.22 作业七
numpy统计分布显示:
计算鸢尾花花瓣长度的最大值,平均值,中值,均方差。
用np.random.normal()产生一个正态分布的随机数组,并显示出来。
用np.random.randn()产生一个正态分布的随机数组,并显示出来。
显示鸢尾花花瓣长度的正态分布图,曲线图,散点图。
1.计算鸢尾花花瓣长度的最大值,平均值,中值,均方差。
import numpy as np from sklearn.datasets import load_iris data = load_iris() ##获取鸢尾花的花瓣长度 petal_length = data['data'][:,2]
print(petal_length) ##计算花瓣长度的最大值 print('鸢尾花花瓣长度的最大值是:',np.max(petal_length)) ##计算花瓣长度的最小值 print('鸢尾花花瓣长度的最小值:',np.min(petal_length)) ##计算花瓣长度的平均值 print('鸢尾花花瓣长度的平均值是:',np.mean(petal_length)) ##计算花瓣长度的均方差 print('鸢尾花花瓣长度的均方差是:',np.std(petal_length)) ##计算花瓣长度的中值 print('鸢尾花花瓣长度的中值是:',np.median(petal_length))
运行结果:

2.用np.random.normal()产生一个正态分布的随机数组,并显示出来。
用np.random.randn()产生一个正态分布的随机数组,并显示出来。
# 用np.random.normal()产生一个正态分布的随机数组,并显示出来 print(np.random.normal(1,5,30)) # np.random.randn()产生一个正态分布的随机数组,并显示出来 print(np.random.randn(7,7))
运行结果:

3.显示鸢尾花花瓣长度的正态分布图,曲线图,散点图。
#显示鸢尾花花瓣长度的正态分布图 import numpy as np import matplotlib.pyplot as plt mu = 4 #期望为4 sigma = 12 #标准差为12 num = 10000 #个数为10000 rand_data = np.random.normal(mu, sigma, num) print(rand_data.shape,type(rand_data)) count, bins, ignored = plt.hist(rand_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='r') plt.show()
运行结果:

#显示鸢尾花花瓣长度的曲线图 import matplotlib.pyplot as plt x=petal_length
y=np.linspace(0,150) plt.plot(np.linspace(0,150,num=150),petal_length,"y") plt.show()
运行结果:

#显示鸢尾花花瓣长度的散点图 import matplotlib.pyplot as plt x=petal_length y=np.linspace(0,150) plt.scatter(np.linspace(0,150,num=150),petal_length,alpha=0.5,marker="^") plt.show()
运行结果:

浙公网安备 33010602011771号