1. 程式人生 > >第七次作業 numpy統計分佈顯示

第七次作業 numpy統計分佈顯示

import numpy as np
from sklearn.datasets import load_iris
#1.計算鳶尾花花瓣長度的最大值,平均值,中值,均方差。
data=load_iris()
print(data)
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.min(petal_length))
print("均方差",np.std(petal_length))
print("中值",np.median(petal_length))

  結果:

 

#2.用np.random.normal()產生一個正態分佈的隨機陣列,並顯示出來。
import numpy as np
import matplotlib.pyplot as plt
mu = 5  
sigma = 5  
num = 1000  
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()

#3.np.random.randn()產生一個正態分佈的隨機陣列,並顯示出來。
Data=np.random.randn(30)
print(Data)

結果:

#4.顯示鳶尾花花瓣長度的正態分佈圖
import numpy as np
import matplotlib.pyplot as plt

mu = np.mean(petal_length)  # 期望值
sigma = np.std(petal_length)  # 標準差
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()

#曲線圖
plt.plot(np.linspace(0,150,num=150),petal_length,'y')
plt.show()

#散點圖
plt.scatter(np.linspace(0,160,num=150),petal_length,alpha=1,marker='x',color='red')
plt.show()