第七次作业--numpy统计分布显示

计算鸢尾花花瓣长度的最大值,平均值,中值,均方差。

import numpy as np
from sklearn.datasets import load_iris

data=load_iris()
print(type(data))
print(data.keys(),data.feature_names)
iris=data.data
print(iris)

petal_length=iris[:,2]
print(petal_length)
print("鸢尾花花瓣长度的最大值",np.max(petal_length))
print("鸢尾花花瓣长度的平均值",np.mean(petal_length))
print("鸢尾花花瓣长度的中值",np.median(petal_length))
print("鸢尾花花瓣长度的均方差",np.std(petal_length))

用np.random.normal()产生一个正态分布的随机数组,并显示出来。

import numpy as np

mu = 10  #期望为10
sigma = 30  #标准差为30
num = 100  #个数为100

rand_data = np.random.normal(mu, sigma, num)
print(rand_data)

np.random.randn()产生一个正态分布的随机数组,并显示出来。

import numpy as np
a=np.random.randn(4,4) #4行4列的正态分布随机数组
print(a)

显示鸢尾花花瓣长度的正态分布图,曲线图,散点图。

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

mu =  np.mean(petal_length) #花瓣长度的期望值
sigma = np.std(petal_length)  #花瓣长度的标准差
num = 1000  #花瓣个数

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()

#显示鸢尾花花瓣长度的正态曲线图
plt.plot(np.linspace(0,150,num=150),petal_length,'r') 
plt.show()

#显示鸢尾花花瓣长度的散点图
import numpy as np
import matplotlib.pyplot as plt
plt.scatter(np.linspace(0,150,num=150),petal_length,alpha=0.5,marker='x',color='b')
plt.show()

猜你喜欢

转载自www.cnblogs.com/a-zhuanger/p/9815283.html