我有一堆.RData时间序列文件,想将它们直接加载到Python中,而无需先将文件转换为其他扩展名(例如.csv)。对实现此目标的最佳方法有任何想法吗?
人们在R-help和R-dev列表上问这种事情,通常的答案是代码是.RData
文件格式的文档。因此,任何其他语言的任何其他实现都是hard ++。
我认为唯一合理的方法是安装RPy2并从中使用R的load
功能,并随即转换为适当的python对象。该.RData
文件可以包含结构化对象以及普通表,因此请当心。
友情链接:http: //rpy.sourceforge.net/rpy2/doc-2.4/html/
速成:
>>> import rpy2.robjects as robjects
>>> robjects.r['load'](".RData")
现在将对象加载到R工作区中。
>>> robjects.r['y']
<FloatVector - Python:0x24c6560 / R:0xf1f0e0>
[0.763684, 0.086314, 0.617097, ..., 0.443631, 0.281865, 0.839317]
那是一个简单的标量,d是一个数据帧,我可以子集化以得到列:
>>> robjects.r['d'][0]
<IntVector - Python:0x24c9248 / R:0xbbc6c0>
[ 1, 2, 3, ..., 8, 9, 10]
>>> robjects.r['d'][1]
<FloatVector - Python:0x24c93b0 / R:0xf1f230>
[0.975648, 0.597036, 0.254840, ..., 0.891975, 0.824879, 0.870136]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句