You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中根据p-value与df计算双侧t-score的实现方法

Python计算与R语言qt结果一致的双侧t-score实现

已知条件

  • 双侧检验对应单侧分位点p=0.005
  • 自由度df=120
  • 要求计算结果和R执行以下命令的输出完全匹配:
T1 = qt(0.005, 120)
T2 = -qt(0.005, 120)

之前的误区

之前查阅的scipy.stats.nct是非中心t分布的实现接口,和R中qt默认调用的中心t分布分位数计算不是同一场景,因此找不到对应用法。

正确实现代码

直接使用scipy.stats.t(中心t分布)的ppf方法即可,ppf是累积分布函数的逆函数,和R语言中qt的功能完全对应:

from scipy import stats

df = 120
p = 0.005

# 对应R中T1 = qt(0.005, 120)
T1 = stats.t.ppf(p, df=df)
# 对应R中T2 = -qt(0.005, 120),也可直接写为stats.t.ppf(1-p, df=df)
T2 = -stats.t.ppf(p, df=df)

结果验证

运行上述代码得到的输出为:

  • T1 ≈ -2.6174
  • T2 ≈ 2.6174
    和R语言qt命令计算的结果精度完全一致。

内容的提问来源于stack exchange,提问作者Youngun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 21:09:25