我一直在尝试在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

最佳答案

您可以定义输出必须如何使用fmt关键字格式化,例如:

np.savetxt("file.txt", output, fmt='%10.5f', delimiter='\t')

对于四舍五入到五位小数的浮点数,或np.savetxt将输出作为整数。
在这里,您可以找到有关fmt='%i'的可能性的更多信息:
http://docs.scipy.org/doc/numpy/reference/generated/numpy.savetxt.html

07-28 08:08