python - numpy.savetxt - 保存具有不同类型的 np.array
问题描述
这个问题与其他已经存在的问题(例如this)有关,但我无法按照那里提供的解决方案来解决。所以我试着再问一次。
我有 7 个参数,比如a1
, a2
, b1
, b2
, b3
,b4
和b5
。'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
请你告诉我我的错误是什么?
解决方案
使用 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()
推荐阅读
- c# - 如何构建包含列表的新对象
作为属性? - python - 尝试使用“django-admin startproject website”在 Django 上启动新项目时出错
- rust - 在 T 和 UnsafeCell 之间转换是否安全且已定义的行为
? - wso2 - 如何修复有关 WSO2-am 2.2.0 数据库的此错误?
- asp.net - MVC 自定义登录认证
- javascript - 不允许我更改数据,因为标签返回为 null
- java - FileNotFoundException:创建子文件夹而不是文件
- scala - 纯函数式编程中的“价值”是什么?
- excel - Powerquery 识别属于跨越两个连续日期的班次的时间戳
- java - 使用 java 中的方法验证课程代码