怎么把rpy2.robjects.vectors.DataFrame转换成csv?

时间:2019-01-02 05:40:03

标签: python rpy2

执行我的python文件后,结果为:

R object with classes: ('data.frame',) mapped to:
<DataFrame - Python:0x7f3f3c05a388 / R:0x563006a79ea8>
[DataFrame, DataFrame, DataFrame, DataFrame, ..., DataFrame, DataFrame, DataFrame, DataFrame]
R object with classes: ('data.frame',) mapped to:
<DataFrame - Python:0x7f3f3c05a388 / R:0x563006a79ea8>
[DataFrame, DataFrame, DataFrame, DataFrame, ..., DataFrame, DataFrame, DataFrame, DataFrame]
R object with classes: ('data.frame',) mapped to:
<DataFrame - Python:0x7f3f3c05a388 / R:0x563006a79ea8>
[DataFrame, DataFrame, DataFrame, DataFrame, ..., DataFrame, DataFrame, DataFrame, DataFrame]
...
R object with classes: ('data.frame',) mapped to:
<DataFrame - Python:0x7f3f3c05a388 / R:0x563006a79ea8>
[DataFrame, DataFrame, DataFrame, DataFrame, ..., DataFrame, DataFrame, DataFrame, DataFrame]


len(a)=12
type(a)=rpy2.robjects.vectors.DataFrame

我正在尝试通过a.to_csv('filename.csv')将结果数据帧转换为csv 但这对当前结果不起作用。任何人都对如何转换'rpy2.robjects.vectors.DataFrame csv'有任何想法。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用pandas2ri将数据框传递给R的全局环境(您可能需要为此安装tzlocal),然后将整个命令作为字符串传递,其中R本身将值作为数据框返回。在下面寻找参考

rdf = pandas2ri.py2ri(self.data)
ro.globalenv['r_timeseries'] = rdf
prediction=ro.r('as.data.frame(stlf(ts(r_timeseries,frequency = 12),h=4,level=c(90)))')

通过代码运行您:我首先创建一个名为r_timeseries的globalenv数据帧,并将其作为字符串命令传递到下面,通常也需要在R中传递该字符串。在这里,我使用rpy2通过STLF获取4个周期的预测。

亲自尝试一下,希望对您有所帮助。