我不确定你尝试了什么,但是你需要在np.savetxt
中使用header
参数。此外,你需要正确地连接你的数组。最简单的方法是使用np.c_
,它将你的1D数组强制转换为2D数组,并按照你的期望方式连接它们。
>>> time = np.array([0,60,120,180])
>>> operation1 = np.array([12,23,68,26])
>>> operation2 = np.array([100,123,203,301])
>>> np.savetxt('example.txt', np.c_[time, operation1, operation2],
header='Filexy\ntime operation1 operation2', fmt='%d',
delimiter='\t')
example.txt
现在包含:
0 12 100
60 23 123
120 68 203
180 26 301
此外要注意使用
fmt='%d'
来获得输出中的整数值。
savetxt
默认情况下会保存为浮点数,即使是整数数组。
关于分隔符,只需使用
delimiter
参数即可。在这里不太清楚,但实际上,在列之间有制表符。例如,
vim
用点显示制表符:
0· 12· 100
60· 23· 123
120·68· 203
180·26· 301
补充说明:
如果您想要添加标题并在数组前添加额外的一行,那么最好创建一个自定义标题,并使用自己的注释字符。使用comment
参数可以防止savetxt
添加额外的#
。
>>> extra_text = 'Answer to life, the universe and everything = 42'
>>> header = '# Filexy\n# time operation1 operation2\n' + extra_text
>>> np.savetxt('example.txt', np.c_[time, operation1, operation2],
header=header, fmt='%d', delimiter='\t', comments='')
产生了什么
Answer to life, the universe and everything = 42
0 12 100
60 23 123
120 68 203
180 26 301
delimiter='\t'
。 - juanpa.arrivillaga