使用Numpy.savetxt将两个数组保存到.csv文件中,每个数组都有一列

时间:2018-04-04 12:28:28

标签: python arrays numpy

numpy.savetxt遇到了困难。特别是,我有两个B数组由以下命令np.arrrange(2000,5000)创建,而print(A)就像[0 2 1 ... 0 1 2],我想将它们保存在一个csv文件中格式为数组B位于第一列,数组A位于第二列:

2000 0

2001 2

2002 1

我尝试使用np.savetxt('output.csv', np.c_[B,A], delimeter=',')命令,但我得到的是BA都在同一列中:

2000+0

2001+2

2002+1

愿你真诚地告诉我我的错误和可能的解决方案吗?

编辑 我设法得到了一个解决方案,感谢FHTMitchell,现在唯一不起作用的是我没有得到0: 我的输出如下

`2000

2001,2

2002,1`

我试过

res = np.c_[B,A] output = res.astype(int) np.savetxt('out.csv', output, fmt='%d', delimiter=',')

但我仍然没有得到零。

1 个答案:

答案 0 :(得分:0)

您的解决方案对我来说很好,但我需要将fmt说明符设置为'%d'整数。您在使用什么版本的numpy(对我而言np.__version__ == '1.14.1')?

无论如何,这是一个更标准的numpy可能的解决方案:

import numpy as np

A = np.array([0, 2, 1])
B = np.arange(2000, 2003)

np.savetxt('out.csv', np.column_stack((B, A)), fmt='%d', delimiter=',')

输出

2000,0
2001,2
2002,1