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

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

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博客

python 复制代码
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博客

python 复制代码
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函数应用中仍然遵循包左不包右的原则)

python 复制代码
x=np.arange(start=1,stop=7.1,step=0.1)

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

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

python 复制代码
from scipy import stats
pro_d=stats.norm.pdf(x=x,loc=4,scale=0.8)
pro_d

5.3 绘制概率密度曲线

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

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

python 复制代码
sns.histplot(data_set,stat='density',kde=False)
plt.plot(x,pro_d,color='k')

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

相关推荐
金銀銅鐵2 小时前
[Python] 从《千字文》中随机挑选汉字
后端·python
cup116 小时前
[技术复盘] Windows Python 打包实战:Nuitka 环境踩坑总结与 CI 自动化构建全指南
python·ai·环境变量·ci·nuitka·skill
aqi009 小时前
15天学会AI应用开发(七)有了大模型为什么还要引入RAG
人工智能·python·大模型·ai编程·ai应用
金銀銅鐵10 小时前
用 Python 实现 Take-Away 游戏
python·游戏
copyer_xyf11 小时前
Agent 流程编排
后端·python·agent
copyer_xyf12 小时前
Agent RAG
后端·python·agent
copyer_xyf12 小时前
【RAG】向量数据库:milvus
后端·python·agent
copyer_xyf12 小时前
Agent 记忆管理
后端·python·agent
星云穿梭1 天前
用Python写一个带图形界面的学生管理系统——完整教程
python