我正在尝试通过以下方式将numpy.array保存到.csv。
with open("resultTR.csv", "wb") as f:
f.write(b'ImageId,Label\n')
numpy.savetxt(f, result, fmt='%i', delimiter=",")
结果是由两列组成的numpy.array,第一列是索引(数字1到n),第二列是(0,9)的值。
不幸的是,我有一个问题,只要第二列中的值为0,那么第二列中的结果.csv文件就不会写入任何内容。
换句话说,数组的前五行如下所示:
[[ 1.00000000e+00 2.00000000e+00]
[ 2.00000000e+00 0.00000000e+00]
[ 3.00000000e+00 9.00000000e+00]
[ 4.00000000e+00 9.00000000e+00]
[ 5.00000000e+00 3.00000000e+00]
.csv文件的前五行是这样的:
ImageId,Label
1,2
2
3,9
4,9
5,3
在我看来,我的代码应该可以工作,因此不保存零在我看来很奇怪。有谁知道我写入.csv文件的代码可能有什么问题?
编辑:
仅用于compleetnes,我的python版本是2.7.2,它在Mac OS X 10.9.2上运行
最佳答案
我会尝试将数组另存为int数组,如result.astype(int)
或完整的:
with open("resultTR.csv", "wb") as f:
f.write(b'ImageId,Label\n')
numpy.savetxt(f, result.astype(int), fmt='%i', delimiter=",")