Python中是否有类似.rdata的功能?
我刚开始学习用Python进行数据分析。
在R语言中,你可以把数据加载到内存中,然后把变量保存到一个.rdata
文件里。
我想创建一个分析“项目”,这样我就可以加载数据,存储脚本,然后保存输出,以便需要的时候可以再查看。
在Python中有没有类似的功能呢?
谢谢!
2 个回答
15
你要找的是二进制序列化。在Python中,最常用的功能就是pickle
。如果你有一些标准的科学数据结构,可以考虑使用HDF5。JSON也能处理很多对象,但它不是二进制序列化,而是基于文本的。
如果你愿意拓宽选择,还有很多其他的序列化选项,比如谷歌的协议缓冲(Protocol Buffers),开发Rprotobuf
的那位在StackOverflow上是关于r标签的顶级回答者,还有Avro、Thrift等等。
虽然有一些通用的序列化选项,比如pickle
和.Rdat
,但仔细考虑你的使用场景会对提高输入输出的速度和满足你的需求很有帮助,特别是当你需要随机访问、可移植性、并行访问、工具重用等功能时。例如,我现在倾向于避免对大对象使用.Rdat
。