python统计分析——操作案例(模拟抽样)

发布时间:2024年01月15日

参考资料:用python动手学统计学

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
import seaborn as sns

data_set=pd.read_csv(r"C:\python统计学\3-4-1-fish_length_100000.csv")['length']    #此处将文件路径改为自己的路径即可

1、抽样

? ? ? ? 为了保证数据分析的可复现性,使用了随机种子。

? ? ? ? np.random.choice()的用法参考:https://blog.csdn.net/maizeman126/article/details/135572042

2、计算样本均值

?3、计算总体统计量

? ? ? ? ?相关函数用法参照:python统计分析——单变量描述统计-CSDN博客

mean_t=np.mean(data_set)
std_t=np.std(data_set,ddof=0)
var_t=np.var(data_set,ddof=0)
max_t=np.max(data_set)
min_t=np.min(data_set)

print('总体均值:',mean_t)
print('总体标准差:',std_t)
print('总体方差:',var_t)
print('最大值:',max_t)
print('最小值:',min_t)

4、绘制总体的直方图:

? ? ? ? 直方图的绘制参照:

python统计分析——直方图(plt.hist)_python统计直方图-CSDN博客

python统计分析——直方图(sns.histplot)-CSDN博客

python统计分析——直方图(df.hist)_python df.hist()-CSDN博客

sns.set()
sns.histplot(data_set,kde=False,color='black')

? ? ? ? 根据总体统计量计算和直方图直观查看,目前可以暂时认为:总体的概率分布服从均值为4,方差为0.64的正态分布,数值的分布范围基本在1-7之间。

5、绘制均值为4,方差为0.64,数据范围为1-7的正态分布的概率密度曲线

5.1 准备1-7上以0.1为公差的等差数列。(注意np.arange函数应用中仍然遵循包左不包右的原则)

x=np.arange(start=1,stop=7.1,step=0.1)

5.2 用stats.norm.pdf计算概率密度。

? ? ? ??stats.norm.pdf()函数中,x为分位数,loc表示均值,scale表示标准差(注意不是方差),结果表示取值x时对应的概率密度。

from scipy import stats
pro_d=stats.norm.pdf(x=x,loc=4,scale=0.8)
pro_d

5.3 绘制概率密度曲线

plt.plot(x,pro_d,color='k')   #k表示颜色black的简写

5.4 将总体直方图和正态分布概率密度函数放到一个中显示:

sns.histplot(data_set,stat='density',kde=False)
plt.plot(x,pro_d,color='k')

? ? ? 根据上图可以看出:正态分布的概率密度和总体分布的概率密度几乎吻合,因此可以认为总体服从正态分布。

文章来源:https://blog.csdn.net/maizeman126/article/details/135572704
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。