Python数据正态拟合

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

import matplotlib.mlab as mlab
import seaborn as sns
#%matplotlib inline
sns.set(context='notebook',font='simhei',style='whitegrid')#设置风格尺度和显示中文

import warnings
warnings.filterwarnings('ignore')#不发出警告
#直方图
from scipy.stats import norm#使用直方图和最大似然高斯分布拟合绘制分布
#rs=np.random.RandomState(50)#设置随机数种子
#s=pd.Series(rs.randn(100)*100)
s=np.loadtxt('D:/dis.txt')

mu =np.mean(s) #计算均值 
sigma =np.std(s) 
num_bins = 50 #直方图柱子的数量 
n, bins, patches = plt.hist(s, num_bins,normed=1, facecolor='blue', alpha=0.5) 
#直方图函数,x为x轴的值,normed=1表示为概率密度,即和为一,绿色方块,色深参数0.5.返回n个概率,直方块左边线的x值,及各个方块对象 
y = norm.pdf(bins, mu, sigma)#拟合一条最佳正态分布曲线y 
str='Histogram : $\mu=5.8433$'+str(mu)+',$\sigma=0.8253$';

plt.plot(bins, y, 'r--') #绘制y的曲线 
plt.xlabel('sepal-length') #绘制x轴 
plt.ylabel('Probability') #绘制y轴 
plt.title(r'Histogram : $\mu={}$,$\sigma={}$'.format(mu,sigma))#在题目中显示mu与sigma

plt.subplots_adjust(left=0.15)#左边距 
plt.show()

 

你可能感兴趣的:(Python)