我想在每行和每列的开头导出一个添加注释的数组。
例如,使用以下数组:
[[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导出。
答案 0 :(得分:1)
我不知道直接在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")