我想获取多个 numpy 数组并将它们写入以逗号分隔的文本文件。这是我的原始数据和我试图生成的最终数据的示例:
array([[1., 3., 0., 1.],
[2., 5., 3., 1.]].....
等等。对于四列长度的多个不同数组。我可以使用 write() 获取输出的 txt 文件,但无法将数据转换为如下所示的格式:
1., 3., 0., 1.
2., 5., 3., 1.
另外,我需要第 0 列整数和第 1 到第 3 列是浮点数。
干杯。
这个怎么样?
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
我建议为此使用熊猫:
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')