0

我想获取多个 numpy 数组并将它们写入以逗号分隔的文本文件。这是我的原始数据和我试图生成的最终数据的示例:

array([[1., 3., 0., 1.],
       [2., 5., 3., 1.]].....

等等。对于四列长度的多个不同数组。我可以使用 write() 获取输出的 txt 文件,但无法将数据转换为如下所示的格式:

1., 3., 0., 1.
2., 5., 3., 1.

另外,我需要第 0 列整数和第 1 到第 3 列是浮点数。

干杯。

4

2 回答 2

2

这个怎么样?

data = array([[1., 3., 0., 1.],
              [2., 5., 3., 1.]].....

with open('output.csv', 'w') as f:
    for x in data:
        f.write('%d,%f,%f,%f\n' % tuple(x))

这输出

1,3.000000,0.000000,1.000000
2,5.000000,3.000000,1.000000

例如,如果您想要两位小数,您可以通过更改%f为来调整浮点输出的精度。%.2f

于 2013-06-24T21:59:00.497 回答
0

我建议为此使用熊猫:

import numpy
import pandas
data = numpy.array([[1., 3., 0., 1.],
   [2., 5., 3., 1.]])
data = pandas.DataFrame(data,columns=['a','b','c','d'])
data['a'] = data['a'].astype(int)
data.to_csv('outfile.csv')
于 2013-06-24T22:12:56.220 回答