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