python DataFrame怎么转换成R语言中的data.frame数据框

比如python中的DataFrame:

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}, index=["one", "two", "three"])

怎么将它转换成R语言中的数据框

先安装rpy2(pip install rpy2),然后使用下列代码:

from rpy2.robjects import pandas2ri
pandas2ri.activate()

from rpy2.robjects.packages import importr

base = importr('base')
# call an R function on a Pandas DataFrame
df_in_r = base.summary(df)

R语言中读取python的数据框的代码是:

import pandas as pd
import rpy2.robjects as ro
from rpy2.robjects.packages import importr
from rpy2.robjects import pandas2ri

from rpy2.robjects.conversion import localconverter

with localconverter(ro.default_converter + pandas2ri.converter):
  r_from_pd_df = ro.conversion.py2rpy(df)

 

x <- data.frame(A = c(1,2,3), B = c(4,5,6), C=c(7,8,9),  index = c("one", "two", "tree"))

参考:

https://github.com/rstudio/reticulate/issues/319

devtools::install_github("rstudio/reticulate")

py_to_r()