我正在尝试使用
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。
如果您想显示 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