第七次作业——numpy统计分布显示
用np.random.normal()产生一个正态分布的随机数组,并显示出来。
np.random.randn()产生一个正态分布的随机数组,并显示出来。
显示鸢尾花花瓣长度的正态分布图,曲线图,散点图。
import numpy as np # 导入鸢尾花数据 from sklearn.datasets import load_iris data = load_iris() pental_len = data.data[:,2] # 计算鸢尾花花瓣长度最大值,平均值,中值,均方差 print("最大值:",np.max(pental_len)) print("平均值:",np.mean(pental_len)) print("中值:",np.median(pental_len)) print("均方差:",np.std(pental_len)) # 用np.random.normal()产生一个正态分布的随机数组,并显示出来 print(np.random.normal(1,4,50)) print('============================================================================') # np.random.randn()产生一个正态分布的随机数组,并显示出来 print(np.random.randn(50)) # 显示鸢尾花花瓣长度的正态分布图 import matplotlib.pyplot as plt mu = np.mean(pental_len) sigma = np.std(pental_len) num = 10000 rand_data=np.random.normal(mu,sigma,num) 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() # 显示鸢尾花花瓣长度曲线图 plt.plot(np.linspace(1,160,num=150),pental_len,'g') plt.show() # 显示鸢尾花花瓣长度散点图 plt.scatter(np.linspace(1,160,num=150),pental_len,alpha=1,marker='x') plt.show()
运行结果