首页 > 解决方案 > numpy.savetxt - 保存具有不同类型的 np.array

问题描述

这个问题与其他已经存在的问题(例如this)有关,但我无法按照那里提供的解决方案来解决。所以我试着再问一次。

我有 7 个参数,比如a1, a2, b1, b2, b3,b4b5。'a' 参数是整数,而 'b' 参数是浮点数。举个例子,取

a1=1, a2=500, b1=1.0, b2=1.0, b3=-0.866025, b4=0.0, b5=-0.1.

我想将这些参数保存到文件中。执行此操作的代码如下:

f = open("params.txt",'w')
arr=np.array((a1,a2,b1,b2,b3,b4,b5))
arrform=' '.join(['%d']*2 + ['%f']*5)
np.savetxt(f,arr,fmt=arrform)
f.close()

执行此代码时,我收到以下错误消息:

fmt has wrong number of % formats: %d %d %f %f %f %f %f

请你告诉我我的错误是什么?

标签: pythonarraysnumpyformatsave

解决方案


使用 column_stack 代替数组

f = open("params.txt",'w')
arr=np.column_stack((a1,a2,b1,b2,b3,b4,b5))
arrform=' '.join(['%d']*2 + ['%f']*5)
np.savetxt(f,arr,fmt=arrform)
f.close()

推荐阅读