如何使用一列int值和另一个float将数组写入文件

时间:2014-01-29 21:06:46

标签: python numpy

我编写的代码用于绘制两个光谱的平均值,但我还需要将平均值写入文本文件。我使用以下命令来执行此操作(x3和y3是包含平均x和y值的数组):

np.savetxt('averaged_spectra.txt', np.transpose([x3,y3]))

这很好用,但是数组x3中的值实际上是四位和五位整数,而我得到的18位浮点输出看起来很糟糕,并且与我开始使用的光谱文件有点不协调。如何将x3数组的元素写为整数值,同时将y3的元素保持为float?

1 个答案:

答案 0 :(得分:0)

快速方法是将参数fmt="%g"添加到savetxt调用:

np.savetxt('averaged_spectra.txt', np.transpose([x3,y3]), fmt="%g")

告诉savetxt使用"%g"作为每个号码的格式。它将整数值浮点数打印为整数。

您还可以使用包含两个字段规范的格式字符串。这使您可以控制每列的​​格式。例如,

np.savetxt('averaged_spectra.txt', np.transpose([x3,y3]), fmt="%6d  %26.18e")