a=0.05

excel TINV(a,b)中的结果为2.228138852

from scipy import stats 

result = stats.t.ppf(1 - a, b)

结果是1.7989330052096262

如何在Python中获得与在Excel中使用TINV相同的结果?

推荐答案

我认为有两个因素你需要知道.首先,在Excel TINV Function中截断自由度的数量(来源:微软)

如果deg_freedom不是整数,它将被截断.

所以在Excel中,执行TINV(0.05 , 10.8)TINV(0.05 , 10)将返回相同的值.

第二个因素,Excel TINV函数返回学生t分布的two-tailed个倒数.但在Python中,您只使用了1个尾部:

How to Find the T Critical Value in Python

所以你需要做a/2次.在Python中,您可以执行以下操作:

from scipy import stats
a= 0.05
b= 10 # Integer because Excel truncates degrees of freedom
result = stats.t.ppf(1-a/2, b)
print(result)

2.2281388519649385

正如您所见,ouput 2.2281388519649385与Excel 2,22813884242587上的结果非常接近——不一样(我不知道为什么,我想这是一个十进制问题),但非常接近.

Python相关问答推荐

如何将泛型类类型与函数返回类型结合使用?

当HTTP 201响应包含 Big Data 的POST请求时,应该是什么?  

当我定义一个继承的类时,我可以避免使用`metaclass=`吗?

Polars时间戳同步延迟计算

如何将一个文件的多列导入到Python中的同一数组中?

EST格式的Azure数据库笔记本中的当前时间戳

我怎样才能让深度测试在OpenGL中使用Python和PyGame呢?

如何在Python中实现高效地支持字典和堆操作的缓存?

具有不同坐标的tkinter canvs.cocords()和canvs.moveto()

Scipy.linprog的可行性有问题吗?(A_ub@x0<;=b_ub).all()为True-但是-linprog(np.zeros_like(X0),A_ub=A_ub,b_ub=b_ub)不可行

为什么在更新Pandas 2.x中的列时,数据类型不会更改,而在Pandas 1.x中会更改?

Pandas 数据框自定义排序功能

从`end_date`回溯,如何计算以极为单位的滚动统计量?

使用极轴 Select 一系列柱

真正的Python散布函数

如何在NumPy中从一维时间序列建立3D矩阵?

[]和Expression API的区别是什么?

如何在Python中删除对象

有没有办法一次删除字典里的几个条目?

基于多个条件和未知数的数据抽取算法