我想导出一个在每一行和每一列的开头添加注释的数组。
例如,下面的数组:
[[10,5,2],
[7,2,6],
[8,3,1]]
我希望输出文件看起来像这样(或相似的):
1C 2C 3C
1L 10; 5; 2
2L 7; 2; 6
3L 8; 3; 1
问题是numpy数组不接受不同类型(数组中混合有整数和字符串),因此我不能简单地使用np.savetxt导出。
最佳答案
我不知道直接在numpy
中执行此操作的方法,但是您始终可以遍历数组并将注释和行写到文件中。
a = np.array([[10,5,2],[7,2,6],[8,3,1]])
print(" " + " ".join([str(x+1)+"C" for x in range(a.shape[1])]))
for i, row in enumerate(a):
print("%dL %s" % (i+1, "; ".join(map(str, row))))
# 1C 2C 3C
#1L 10; 5; 2
#2L 7; 2; 6
#3L 8; 3; 1
写入文件:
with(open('path/to/file', 'w') as f):
header = " " + " ".join([str(x+1)+"C" for x in range(a.shape[1])])
f.write(header + "\n")
for i, row in enumerate(a):
line = "%dL %s" % (i+1, "; ".join(map(str, row)))
f.write(line + "\n")
关于python - 使用numpy.savetxt导出数组时,在每行之前添加注释,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48588932/