2017-09-29 5 views
1

팬더 데이터 프레임을 .RData 파일로 저장하는 방법을 궁금합니다. 팬더 데이터 프레임에서 RData에 어떻게 저장할 수 있습니까?rpy2 - RData 파일로 데이터 프레임을 디스크에 저장하는 방법은 무엇입니까?

import pandas as pd 
import rpy2 
from rpy2 import robjects 
from rpy2.robjects import pandas2ri 
pandas2ri.activate() 

# load RData file 
df = pandas2ri.ri2py(robjects.r['get'](robjects.r['load'](path_to_rdata_file))) 

.... do some processing to df ... 

# save df as RData file 
r_df = pandas2ri.py2ri(df) 
?????????? 

어떻게 내가 .RData 파일로 디스크에 팬더의 데이터를 저장할 수 있습니다 : 여기 마지막 단계로 모든 것을 가지고? 우리가 할 수있는 dataframe을 할당해야 다음

r_data = pandas2ri.py2ri(df) 

:

먼저 변환 dataframe R의 dataframe에 :

답변

1

나는 마침내 여기 당신이 팬더 dataframe를 사용하여 .RData 파일에 기록하는 방법이다, 답을 알아 냈어 은 "R 작업 공간"에서 변수 : 마지막으로

robjects.r.assign("my_df", r_data) 

, 우리는를 호출하기 위해 이름으로 변수를 참조 할 수 있습니다명령은 팬더와 파이썬 RData에 파일 만 작업을 읽기/쓰기 할 경우 다음

robjects.r("save(my_df, file='{}')".format(filename)) 

2 개 도우미 기능은 다음과 같습니다

# read .RData file as a pandas dataframe 
def load_rdata_file(filename): 
    r_data = robjects.r['get'](robjects.r['load'](filename)) 
    df = pandas2ri.ri2py(r_data) 
    return df 

# write pandas dataframe to an .RData file 
def save_rdata_file(df, filename): 
    r_data = pandas2ri.py2ri(df) 
    robjects.r.assign("my_df", r_data) 
    robjects.r("save(my_df, file='{}')".format(filename)) 
    os.chmod(filename, 0o777) 
관련 문제