Python numpy科学记数法限制小数

Dar*_*uth 6 python numpy scientific-notation string-formatting

我试图减少一些计算后得到的小数位数.print()我的问题出现在哪里看起来像这样:

print("Mean resistivity: {res} Ohm m".format(res=np.mean(resistivity)))
Run Code Online (Sandbox Code Playgroud)

它输出这个:

Mean resistivity: 1.6628449915450776e-08 Ohm m
Run Code Online (Sandbox Code Playgroud)

现在我想减少打印到3的小数位数.我尝试用字符串格式化,如下所示:

print("Mean resistivity: {res:.3f} Ohm m".format(res=np.mean(resistivity)))
Run Code Online (Sandbox Code Playgroud)

但是,此代码打印:

Mean resistivity: 0.000 Ohm m
Run Code Online (Sandbox Code Playgroud)

我真正想要的是这个:

Mean resistivity: 1.663e-8 Ohm m
Run Code Online (Sandbox Code Playgroud)

如何将格式化res为仅显示为科学记数法,但只有3位小数?

M. *_*sik 6

这是python3?如果是这样,这应该工作:{res:.3E}

@edit它也适用于python2 - spec