漂亮的打印SciPy阵列

时间:2013-08-09 11:17:38

标签: python scipy

我有一个如下所示的数组:

[[  9.71369349e+02   1.06915603e+03   1.14821723e+03   3.16300000e+02]
 [  1.83700564e+03   1.85500390e+03   1.87149745e+03   7.69400000e+01]
 ...,
 [  1.00000000e+20   5.56290955e+02   7.92477067e+02   4.34600000e+01]]

我怎样才能打印出这个值,以便不对取值进行取幂?

我尝试过使用:

sp.set_printoptions(suppress=True)

这没有效果。

1 个答案:

答案 0 :(得分:3)

要删除所有取幂,您需要调用formatter参数。修改docs中的示例,这样的事情可以解决问题:

sp.set_printoptions(formatter={"float": lambda x: '{:.20f}'.format(x)})

这使用string formatting打印一个带有20个小数位的固定点数(即'f')。因此9.71369349e+02表示为971.36934900000005654874。您需要确切地决定如何处理这个小数位数。