2017-09-29 4 views
1

パンダのデータフレームを.RDataファイルに保存する方法がわかりました。どのようにしてpandasデータフレームから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ファイルとしてディスクにパンダのデータを保存することができます:私はここで最後のステップにすべてを持っていますか?

答えて

1

私は最終的にここに、答えを考え出したが、あなたはパンダのデータフレームを使用して.RDataファイルに書き込む方法です:

まずRのデータフレームにデータフレームを変換:

r_data = pandas2ri.py2ri(df) 

その後、我々はデータフレームを割り当てる必要があります「Rワークスペース」内の変数:

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

最後に、我々はを呼び出すために名前で変数を参照することができますコマンド:あなたがパンダとpythonで読み取り/ 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) 
関連する問題