python - Numpy.savetxt 格式问题:添加字符串列
问题描述
我已将我的问题缩小到以下几点:
import numpy as np
out_file = "results.txt"
results = [[1,2,3,.4,"5"]] # just one row for testing
format = ['%i', '%i', '%i', '%f', '%s']
np.savetxt(out_file, results, format, '\t')
我只是想保存 5 列数据:3 个整数、1 个浮点数和一个字符串。当我尝试这样做时,我收到错误:
File ".\npyio.py", line 1391, in savetxt
% (str(X.dtype), format))
TypeError: Mismatch between array dtype ('<U32') and format specifier ('%i %i %i %f %s')
如果我删除字符串格式和数组中的相应值,代码就可以正常工作。
这感觉就像我只是在做一些非常愚蠢的事情,但经过几个小时无果的谷歌搜索后,我认为我需要帮助。
解决方案
普通的 numpy 数组只有一种数据类型。您可以使用 Object 类型初始化数组,dtype='O'
但它仍然无法使用savetxt()
.
推荐阅读
- docker - no matching manifest for windows/amd64 10.0.16299 in the manifest list entries error on pulling hello-world image
- python - 等待两个计算完成,然后收集两个输出并用它们做一些事情
- arm - 调试一些Armv5汇编代码时出现奇怪的内容
- c++ - 互斥锁混乱
- mysql - 如何为唯一用户名检查编写更新查询
- three.js - 三.js 渲染质量
- javascript - 未捕获的类型错误:$.confirm 不是函数
- javascript - ngIf 不更新 DOM
- c# - 来自 ASP.NET Core API 的 JSON 结果中未包含的继承类和属性
- php - 从 PHP 发布到 Node Js