返回介绍

第29单元 数组的保存和读取

发布于 2024-01-28 22:01:16 字数 789 浏览 0 评论 0 收藏 0

随着学习的深入,你以后可能不会单独使用numpy,而是把它作为pandas(第6章)、networkx(第7章)和机器学习工具(第10章)的强大后端。通常的做法是,基于低级的数据处理工具提供的数据创建numpy数组,再将它们提交给更高级的分析工具。因此,你未必需要直接保存或读取numpy数组。

如果非要单独使用numpy也是可以的,numpy提供了内置的函数,能够将数组保存到.npy文件(函数save(file,arr)),并从.npy文件中读取以前保存的数组(函数load(file))。.npy文件是二进制格式的,只有numpy可以处理它们。

也许你已经意识到,这是两个没什么用处的函数,不过它们还是非常友好的:传入的file参数可以是打开的文件句柄或字符串形式的文件名。如果文件名不存在.npy扩展也没关系,函数能自动添加扩展。

# 一种愚蠢的数组复制方法
np.save("sap.npy", sap)
sap_copy = np.load("sap")

另一对函数loadtxt()和savetxt()能从文本文件加载表格数据,并将数组保存到文本文件。numpy会自动创建文件,而且必要时可以将其自动打开。如果文件名以.gz结尾,numpy甚至可以自动压缩和解压文件。你还可以设定numpy处理注释行与分隔符的方式,并跳过不需要的行:

arr = np.loadtxt(fname, comments="#", delimiter=None, skiprows=0,
                 dtype=float)
np.savetxt(fname, arr, comments="#", delimiter=" ", dtype=float)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文