我一直在尝试在numpy中使用savetxt
函数。我遇到的问题是,即使我认为我相应地定义了我的变量,即int()或double(),我得到的文本文件也浮在其中。我怎么能改变它?
输入如下:pNoise=[int(i), around(pNoise[0], decimals=3), around(pNoise[1], decimals=3), around(pNoise[2], decimals=3)]
savetxt行如下:savetxt(noutF, pNoisetot)
我的期望是:0 1.567 8.865
而不是0.000000000000000000e+00 1.015909999999999940e+02 2.600000000000000089e-01
答案 0 :(得分:22)
您可以定义如何使用fmt
np.savetxt
关键字格式化输出,例如:
np.savetxt("file.txt", output, fmt='%10.5f', delimiter='\t')
表示浮点数四舍五入到五位小数,或fmt='%i'
表示输出为整数。
您可以在此处找到有关fmt
的可能性的更多信息:
http://docs.scipy.org/doc/numpy/reference/generated/numpy.savetxt.html
答案 1 :(得分:4)
如果你想在float中指定小数位数
np.savetxt("file.txt", output, fmt='%10.5f', delimiter='\t')
本例中为7位小数
np.savetxt("file.txt", output, fmt='%10.7f', delimiter='\t')
基本上,fmt =%10.Yf',其中Y指定decs的数量。