Python 有没有办法从csv文件中查看我的图形是否具有正态分布?

Python 有没有办法从csv文件中查看我的图形是否具有正态分布?,python,pandas,dataframe,matplotlib,distribution,Python,Pandas,Dataframe,Matplotlib,Distribution,所以我用python做了一个直方图,频率非常不规则,但看起来仍然是正态分布。为了证实这一点,我想知道95%的数据是否在[μ-2σ,μ+2σ]范围内。但我一直在寻找一些有用的东西,但什么也找不到。我尝试了一些事情,但没有成功 data_athle = df[df['Sport']=='Athletics'] height= data_athle['Height'].dropna() plt.hist(height, bins=50) plt.grid() plt.xlabel('Partic

所以我用python做了一个直方图,频率非常不规则,但看起来仍然是正态分布。为了证实这一点,我想知道95%的数据是否在[μ-2σ,μ+2σ]范围内。但我一直在寻找一些有用的东西,但什么也找不到。我尝试了一些事情,但没有成功

data_athle = df[df['Sport']=='Athletics']
height= data_athle['Height'].dropna()

plt.hist(height, bins=50)

plt.grid()

plt.xlabel('Participant height in cm')
plt.ylabel('Frequency')
plt.title('Height of athletisism participants')
plt.show()

这是代码,希望有人能帮我弄清楚怎么做这更像是一个数据科学、统计学的问题,而不是直接编程

首先,如果你认为这是一个正态分布,但直方图看起来很难看,尝试不同数量的垃圾箱。特别是如果您没有那么多数据点,那么如果容器太小,则很难看到底层分布

不管怎么说,你可以这样想:正态分布是由它的平均值和标准偏差唯一定义的,所以只需计算数据的μ和σ,然后在柱状图上用这些参数绘制一个正态分布,看看它是什么样子

至于“检查……是否在……范围内”,这是一个简单的过滤操作

您可以使用pandas功能获取大于mu-2sigma和小于mu+2sigma的所有高度,然后计算它们的数量

heights\u in\u 2sigma=高度[高度mu+2*sigma]
百分比=长度(高度单位为英寸)/长度(高度)

至少是这样;我还没有检查语法是否完全正确。但这就是我的想法

需要95%以上的数据在平均值+/-2西格玛范围内才能正常。一个常见的诊断工具是生成。