登录
首页 >  文章 >  python教程

Python统计分析:scipy与numpy实战技巧

时间:2026-01-27 15:48:40 223浏览 收藏

哈喽!今天心血来潮给大家带来了《Python统计分析实战:scipy与numpy技巧详解》,想必大家应该对文章都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习文章,千万别错过这篇文章~希望能帮助到你!

Python统计分析首选numpy与scipy组合:numpy高效计算均值、标准差、分位数、相关系数;scipy.stats提供t检验、卡方检验、Shapiro-Wilk正态性检验等成熟统计方法。

Python统计分析函数使用案例_scipy与numpy实战【技巧】

Python中做统计分析,scipynumpy是最常用、最可靠的组合。numpy负责高效数值计算与数据组织,scipy则提供成熟的统计模型、检验方法和分布工具。掌握它们的典型用法,能快速完成从数据清洗到假设检验、参数估计的全流程分析。

用numpy快速计算基础统计量

面对一维数组或二维表格数据,无需循环,直接调用numpy内置方法即可获得均值、标准差、分位数等关键指标:

  • np.mean(a)np.std(a, ddof=1)(样本标准差,ddof=1启用贝塞尔校正)
  • np.quantile(a, [0.25, 0.5, 0.75])一次性获取四分位数
  • np.corrcoef(x, y)[0, 1]计算两变量皮尔逊相关系数(返回的是相关矩阵,取[0,1]位置)

用scipy.stats做常见统计检验

实际分析中常需判断差异是否显著。scipy.stats模块封装了大量检验函数,接口统一、结果清晰:

  • 独立样本t检验:scipy.stats.ttest_ind(group_a, group_b),自动处理方差齐性(默认不假设方差相等)
  • 配对样本t检验:scipy.stats.ttest_rel(before, after)
  • 卡方检验(频数表):scipy.stats.chi2_contingency(observed_table),返回卡方值、p值、自由度和期望频数
  • Shapiro-Wilk正态性检验:scipy.stats.shapiro(data),适合小样本(n

用scipy.stats生成/拟合概率分布

模拟数据或检验分布假设时,scipy.stats的rv_continuous类非常实用:

  • 生成服从某分布的随机数:scipy.stats.norm.rvs(loc=170, scale=10, size=1000)(模拟1000个身高数据)
  • 计算PDF/CDF值:scipy.stats.norm.pdf(180, loc=170, scale=10)得密度值;scipy.stats.norm.cdf(180, loc=170, scale=10)得累积概率
  • 拟合分布参数:scipy.stats.norm.fit(data)返回最优的loc(均值)和scale(标准差)估计

结合使用:一个完整的单样本检验流程

例如检验某批零件直径是否符合标称均值25.4mm:

  • 先用np.meannp.std查看样本中心与离散趋势
  • scipy.stats.shapiro检查是否近似正态(决定能否用t检验)
  • 执行单样本t检验:scipy.stats.ttest_1samp(measurements, popmean=25.4)
  • 根据返回的p值(如p=0.032)在α=0.05水平下拒绝原假设,说明均值显著偏离25.4

不复杂但容易忽略:所有scipy.stats检验函数都默认双侧检验,若需单侧,可手动处理t值或z值的CDF;另外注意输入数据应为1D array,DataFrame列需先用.values.to_numpy()转换。

理论要掌握,实操不能落!以上关于《Python统计分析:scipy与numpy实战技巧》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

前往漫画官网入口并下载 ➜
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>