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

如何在Python中复现Excel的T.INV.2T函数计算结果

调用出错的核心原因

scipy.stats.t.ppf和Excel T.INV.2T的概率参数对应分布区间的逻辑不一致,你的参数传法不符合双尾t分布逆函数的计算要求。

两个函数的定义差异

  • Excel T.INV.2T(probability, degs_Freedom)是双尾t分布逆函数,返回满足P(|T| > x) = probability的正临界值,输入的概率是双侧尾部的总概率。
  • scipy.stats.t.ppf(q, df)是单尾t分布的百分位函数,返回满足P(T ≤ x) = q的分位值,你直接传入q=0.05实际是求左尾累积概率为5%的分位值,得到的-1.672是左尾临界值,自然和Excel返回的双尾正临界值不符。
正确调用方法

把传入ppf的概率参数调整为1 - 概率/2即可,示例代码如下:

from scipy.stats import t
# 对应Excel T.INV.2T(0.05, 58)
print(t.ppf(1 - 0.05/2, 58))

运行输出结果约为2.0017,四舍五入后和Excel返回的2.002完全一致。
你也可以通过abs(t.ppf(0.05/2, 58))得到相同结果,两种写法逻辑等价。

补充参考

如果需要复现Excel单尾逆t函数T.INV(probability, degs_Freedom),直接调用scipy.stats.t.ppf(probability, df)即可,无需调整概率参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:54:02