2017-01-31 76 views
0

我在系統中有一個.RData文件,其中包含三個對象 - 全部爲R-DataFrame。我想將它們加載到python中作爲pandas DataFrames。我得到的問題是,這些對象不是通過rpy加載,只是他們的名字:rpy2將一個.RData文件中的多個DataFrame加載到熊貓中

from rpy2.robjects import r 
from rpy2.robjects import pandas2ri 
import pandas as pd 
file="./normalization.RData" 
rf = r.load(file) 
rf 

<StrVector - Python:0x7fdf1a28cb08/R:0x4ce82c8> 
['df1', 'df2', 'df3'] 

f1[2] 

'annodf' 
In [11]: 

要麼只有名稱被加載,否則我不知道如何訪問/從RDATA轉換的話語結構。

有人有解決這個問題嗎?

回答

0

好吧 - 我只是意識到,對象並沒有真正加載到​​變量中,但進入代表R環境的rpy2.rojbects.r ..這很棘手!

因此以下工作:

import pandas as pd 
from rpy2.robjects import r 
import rpy2.robjects.pandas2ri as pandas2ri 


#load into the env 
file="./normalization.RData" 
rf=r['load'](file) 
rf 

<StrVector - Python:0x7fdf1a28cb08/R:0x4ce82c8> 
['df1', 'df2', 'df3'] 

#acces file in env and convert 
df2=pandas2ri.ri2py_dataframe(r['df2']) 
type(df2) 

pandas.core.frame.DataFrame 
相關問題