使用ndarray格式化incosistency

时间:2013-06-24 16:54:20

标签: python numpy

我有一个numpy.ndarray,其中我用大约6位精度浮点数替换所有值。在我做作业的时候,我做的就像这样:

data[i][j]=format(value,'6.f')

data[i][j]如果我现在使用print data[i][j]进行打印,则其格式为234.434567.

当循环结束并且print data现在data[i][j]时,所有值的格式为2.34434567e+something

如何在打印时让ndarray具有我想要的格式?

1 个答案:

答案 0 :(得分:3)

import numpy as np

data = np.array(
    [
        [1.23456789, 2.34567890],
        [0.00000001, 0.22222222]
    ]
)


print data

--output:--
[[  1.23456789e+00   2.34567890e+00]
 [  1.00000000e-08   2.22222220e-01]]



np.set_printoptions(
    precision=6,
    suppress=True,  #get rid of scientific notation(e.g. e+00)
)

print data

--output:--
[[ 1.234568  2.345679]
 [ 0.        0.222222]]