如何使用 scipy.stats.t.sf 打印 p 值时显示更多小数位

问题描述 投票:0回答:1

我正在尝试使用

z
分数
=59.016345
和观察数
N=8960
来打印 p 值。

p = scipy.stats.t.sf(abs(z), df=N-1,)*2
print(p)
[0.]

我希望它显示更多的小数,例如

0.00000
。 我尝试过使用
np.round
但它仍然只给出相同的结果。

p = np.round(scipy.stats.t.sf(abs(z), df=N-1,)*2, 5)
print(p)
[0.]

我尝试使用

format
它确实给了我更多的小数位,但我不想打印字符串,我怀疑它显示实际的p值,但只需将其读为0并打印0.00000。

python scipy p-value
1个回答
0
投票

如果您想显示 p 值更多的小数位数而不将其转换为字符串,则可以在使用 f 字符串打印时控制输出的格式,如下所示:

import scipy.stats
z = 17.14275973
N = 8960

# Calculate the p-value
p = scipy.stats.t.sf(abs(z), df=N-1) * 2

# Print with formatting
print(f"{p}")

输出将以科学格式

7.650583391648916e-65
© www.soinside.com 2019 - 2024. All rights reserved.