【发布时间】:2012-01-07 20:59:29
【问题描述】:
我开始学习用 Python 进行数据分析。
在 R 中,您可以将数据加载到内存中,然后将变量保存到 .rdata 文件中。
我正在尝试创建一个分析“项目”,这样我就可以加载数据、存储脚本,然后保存输出,以便我可以在需要时调用它。
Python中有没有等价的函数?
谢谢
【问题讨论】:
我开始学习用 Python 进行数据分析。
在 R 中,您可以将数据加载到内存中,然后将变量保存到 .rdata 文件中。
我正在尝试创建一个分析“项目”,这样我就可以加载数据、存储脚本,然后保存输出,以便我可以在需要时调用它。
Python中有没有等价的函数?
谢谢
【问题讨论】:
您正在寻找的是二进制序列化。 Python 中最显着的功能是pickle。如果你有一些标准的科学数据结构,你可以看看 HDF5。 JSON 也适用于很多对象,但它不是二进制序列化 - 它是基于文本的。
如果您扩展选项,还有很多其他的序列化选项。例如 Google 的 Protocol Buffers(Rprotobuf 的开发者是 SO 上r 标签的顶级回答者)、Avro、Thrift 等等。
虽然有通用的序列化选项,例如 pickle 和 .Rdat,但仔细考虑您的使用情况将有助于使 I/O 快速并适合您的需求,特别是如果您需要随机访问、可移植性、并行访问、工具重用等。例如,我现在倾向于避免使用.Rdat 处理大型对象。
【讨论】: