numpy - 读写numpy嵌套数组
问题描述
我正在尝试将嵌套数组(每行数组的数组)写入文本文件并成功读回,但我不确定我做对了,因为读回数组似乎永远不会起作用。
所以,我这样写整数数组:
tmp_data = np.empty(shape=[len(tmp_list),3], dtype=np.object)
for idx, item in enumerate(tmp_list):
tmp_data[idx] = item[0][0], item[0][1], item[1]
结果数组的第一行如下所示:
[array([1,2,3]), array([1,2,3]), array([1])]
我可以这样写:
np.savetxt(some_filename, tmp_data, fmt="%s)
..但是当我阅读它时使用:
np.genfromtxt(some_filename)
我得到类似的东西Line #89737 (got 36 columns instead of 25)
。事实上,如果我查看写入的文本文件,看起来数组被分成几行,如下所示:
[[ 3 4 3 0 4 4 5 5 5 3 4 4 3 5 6 4 3 5 4 4 0 4 5 4
3 4 3 0 4 4 5 5 5 3 4 4 3 5 6 4 3 5 4 4 0 4 5 4
4 4 3 5 6 4 3 5 4 4 0 4 5 4]] [[....]] [[1]]
....
这不是故意的。
总之,我想逐行写出一个数组矩阵数组,然后在 numpy.xml 中读回它。
解决方案
除非您死心塌地使用文本格式,否则您可以这样使用numpy.ndarray.dump
:
tmp_data.dump(some_filename.npy)
推荐阅读
- swiftui - SWIFTUI - 自定义颜色集
- matlab - DIPimage 测量缺少参数
- reactjs - React Js 中的路由器问题(用于显示的组件)
- node.js - 将解析函数从 GraphQLObjectType 回滚到另一个
- python - Flask 中的占位符出现 SQL OFFSET 错误
- javascript - 代码战主要差距实施上的 RangeError
- javascript - document.querySelector 跳过不存在的元素
- django - 获取“未提供身份验证凭据。” 尝试访问我的 ModelViewSet URL 时的消息
- flutter - 返回页面时如何处理graphql查询的重建(Flutter)?
- python - 基于groupby拆分csv文件千次