Python savetxt如何将类型从float64更改为int或double

Python savetxt如何将类型从float64更改为int或double,python,numpy,scipy,Python,Numpy,Scipy,我一直在尝试在numpy中使用savetxt函数。我遇到的问题是,即使我相应地定义了变量,例如int()或double(),但我得到的文本文件中也有浮动。我怎样才能改变这一点 输入如下:pNoise=[int(i),环绕(pNoise[0],小数=3),环绕(pNoise[1],小数=3),环绕(pNoise[2],小数=3)] savetxt行如下:savetxt(noutF,pNoisetot) 我期望的是:0 1.567 8.865相反,我得到的是0.000000000000e+00 1.

我一直在尝试在numpy中使用
savetxt
函数。我遇到的问题是,即使我相应地定义了变量,例如int()或double(),但我得到的文本文件中也有浮动。我怎样才能改变这一点

输入如下:
pNoise=[int(i),环绕(pNoise[0],小数=3),环绕(pNoise[1],小数=3),环绕(pNoise[2],小数=3)]

savetxt行如下:
savetxt(noutF,pNoisetot)


我期望的是:
0 1.567 8.865
相反,我得到的是
0.000000000000e+00 1.01590999999940e+02 2.60000000000000089e-01

您可以定义如何使用
np.savetxt的
fmt
参数格式化输出,例如:

np.savetxt("file.txt", output, fmt='%10.5f', delimiter='\t')
对于四舍五入为五位小数的浮点,或
fmt='%i'
将输出作为整数

在这里,您可以找到有关
fmt
可能性的更多信息:


如果要指定浮点中的小数位数

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指定dec的数量

float64
double
之间有什么区别?听起来可能是字符串格式错误。向我们展示您完整的
savetxt
调用及其输出示例和您期望的示例。输入如下:pNoise=[int(i),around(pNoise[0],decimals=3),around(pNoise[1],decimals=3),around(pNoise[2],decimals=3)]savetxt行如下:savetxt(noutF,pNoisetot)@GabeThanks我事先阅读了文档,但我的问题是,我实际上在尝试一个类似int(I)double()double()@jorisi的东西如果你想让不同的列有不同的格式,你也可以指定它。在您的情况下,这将是:
fmt='%i%10.3f%10.3f'