numpy统计分布显示

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(4, 10, 100))
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()

  

posted on 2018-10-21 09:50  095邓俊威  阅读(174)  评论(0编辑  收藏  举报