numpy savetxt只保存到3位有效数字

时间:2016-05-08 10:23:21

标签: python numpy

我有一个代码,它使用np.savetxt来保存其中包含浮点数和字符串的数组。但是当我保存它们时,它们只能保存到3位有效数字。当我打印z时,它会给我完整的花车,所以当我保存它时,问题就出现了。是什么导致了这个?例如z[0]=(55798.879999999997, 14.08, 'NAN'),但当我读到文件时,它会显示557 14. NAN

time=[]
Um=[]
Bm=[]
for j in range(len(h)):
    ee=np.where(h[j]==U[0])
    if len(U[0][ee[0]])!=0:
        time.append(np.mean(U[0][ee[0]].astype(np.float)))
        Um.append(np.mean(U[1][ee[0]].astype(np.float)))
        Bm.append('NAN')
        #print 'U=',U[0][ee[0]],U[1][ee[0]]
    gg=np.where(h[j]==B[0])
    if len(B[0][gg[0]])!=0:
        time.append(np.mean(B[0][gg[0]].astype(np.float)))
        #print 'B=',B[0][gg[0]],B[1][gg[0]]
        Um.append('NAN')
        Bm.append(np.mean(B[1][gg[0]].astype(np.float)))



z=zip(time,U,B)

np.savetxt('file.txt',z,fmt='%.4s')

1 个答案:

答案 0 :(得分:0)

iex(17)> TwoPs.create_ps Received World Received Bob "Hello Bob" 使用类似

的表达式逐行写入数组
savetxt

其中 f.write(fmt % tuple(row)) 来自您的输入参数。在您的示例中,我希望fmt类似于

fmt

如果相反In [179]: '%.3s %.3s %.3s'%(55798.879999999997, 14.08, 'NAN') Out[179]: '557 14. NAN' 包含适用于您的浮动广告的格式:

fmt

阅读In [174]: '%f, %f, %s'%(55798.879999999997, 14.08, 'NAN') Out[174]: '55798.880000, 14.080000, NAN' In [175]: np.save('file.txt', z, fmt='%f, %f, %s') 文档,了解有关格式化的更多信息。