python - 乳清使用 numpy.save/numpy.load 将浮点数组的 numpy 数组保存到 .npy 文件,数组的顺序会改变有什么原因吗?
问题描述
我目前有数据,其中每一行都有一个文本段落和一个 numpy 浮点数组。
据我所知,将这两种数据类型保存为一种数据格式效率不高(如果我错了,请纠正我)。所以我将分别保存它们,当我想再次加入它们时,另一列 int 将用于将两个数据集映射在一起。
我无法弄清楚如何在浮点数组旁边附加一列整数(如果有人有解决方案,我很想听听),然后保存 numpy 数组。
但是后来我意识到,如果我可以确认 numpy.save 和 numpy.load 永远不会改变数组的顺序,我可以使用 numpy.save 保存浮点数组而无需额外的 int 列。
这样我就可以将加载的 numpy 浮点数组按原样附加到 pandas 数据帧。
从逻辑上讲,我看不出行的顺序会改变的任何原因,但也许有一些我不知道的优化压缩。
numpy.save 或 numpy.load 会改变浮点数组的 numpy 数组的顺序吗?
解决方案
numpy 保存/加载不会改变顺序。您正在按原样保存 numpy 对象。数组是一个有序的对象。
注意:如果要将多个数据数组保存到同一个文件中,可以使用 np.savez。
>>> np.savez('out.npz', f=array_of_floats, s=array_of_strings)
您可以使用以下方法检索每个:
>>> data = np.load('out.npz')
>>> array_of_floats = data['f']
>>> array_of_strings = data['s']
推荐阅读
- pdf - Chilkat PDF 签名自定义字段
- c++ - 为什么我的设置器不能被激活,尽管我已经为参数做了指针?
- excel - 变量中的工作表名称包括文件路径
- python - 如何修复 Python Gekko 方程错误“m.solve(disp=False)”?
- python-3.x - 如何将字典、列表和 OrderedDicts 嵌套到 DataFrame
- javascript - 如何在 React App 中包含外部 JavaScript?
- apache-spark - 如何将远大的期望结果从 Apache Spark 保存到文件中 - 使用数据文档
- outlook - (Office.js) 从 Microsoft Word 进行邮件合并时,ItemSend 事件未触发
- neo4j - 添加许多节点属性时在NEO4J中加载数据很慢
- python - Docker 容器中的 Producer 需要向本地 topic 发送 mgs