如何判断数据分布为正太分布

from scipy import stats
import pandas as pd
import numpy as np
import matplotlib.pylab as plt
# scipy包是一个高级的科学计算库,它和Numpy联系很密切,Scipy一般都是操控Numpy数组来进行科学计算

data = [87,77,92,68,80,78,84,77,81,80,80,77,92,86,
       76,80,81,75,77,72,81,72,84,86,80,68,77,87,
       76,77,78,92,75,80,78]
# 样本数据,35位健康男性在未进食之前的血糖浓度

df = pd.DataFrame(data, columns =['value'])
u = df['value'].mean()  # 计算均值
std = df['value'].std()  # 计算标准差
ks_result = stats.kstest(df['value'], 'norm', (u, std))
print('ks_res:',ks_result)
p_value = ks_result[1]
if p_value>0.05:
    print('为正太分布')
# .kstest方法:KS检验,参数分别是:待检验的数据,检验方法(这里设置成norm正态分布),均值与标准差
# 结果返回两个值:statistic → D值,pvalue → P值
# p值大于0.05,为正态分布

df['value'].plot(kind='kde', grid=True, style='-k', title='密度曲线')
plt.title('destiny')
plt.show()



plt.scatter(df.index, df['value'], color='r', marker='.', alpha=0.5)
plt.grid()
plt.title('分布')
plt.show()

分布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值