Chr*_*neB 4 python arrays numpy text-files number-formatting
问题
所以我有一个2D数组(151行,52列)我想使用np.savetxt保存为文本文件.但是,我希望第一列的数字保存为整数(1950,1951等),而其余数据保存为精度5(如果舍入为4)浮点数(2.7419,2.736等).我无法弄清楚如何做到这一点.
代码
当我打印数组输出的前4行和3列时,它看起来像这样.
[[1950. 2.7407 2.7396]
[1951. 2.7419 2.736]
[1952. 2.741 2.7374]
[1953. 2.7417 2.7325]]
当我使用以下...
np.savetxt('array.txt',data,fmt="%1.4f")
Run Code Online (Sandbox Code Playgroud)
该数组将第一列保存为精度为5的浮点数,如其余数据(1950.0000,1951.0000等).当我尝试指定不同的格式时......
np.savetxt('array.txt',data,fmt="%i %1.4f")
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:"ValueError:fmt%格式错误:%i%1.4f"
问题
有没有办法我把第一列保存为整数,其余列保存为浮点数?
wfl*_*nny 11
data有3列,所以你需要供应3 '%format'秒.例如:
np.savetxt('array.txt', data, fmt='%i %1.4f %1.4f')
Run Code Online (Sandbox Code Playgroud)
应该管用.如果你有超过3列,你可以尝试类似的东西:
np.savetxt('array.txt', data, fmt=' '.join(['%i'] + ['%1.4f']*N))
Run Code Online (Sandbox Code Playgroud)
其中N是需要浮点格式化的列数.