Jupyter中如何将R生成的dataframe读取为Python可用的Pandas对象
Jupyter环境下读取R生成对象至Python环境的解决方案
方法1:使用%Rget魔法命令手动拉取
直接对%Rget的返回结果赋值即可,搭配rpy2的转换能力直接得到Pandas DataFrame:
# 按需导入转换工具(新版rpy2可省略) from rpy2.robjects import pandas2ri pandas2ri.activate() # 直接拉取R环境的df_new并赋值给Python变量 df_new_py = %Rget df_new # 此时df_new_py为标准Pandas DataFrame,可直接用于后续Python逻辑 print(df_new_py.head())
方法2:R单元格执行时直接自动导出(更推荐)
在%%R魔法参数中添加-o 待导出对象名,R单元格运行完成后对象会自动同步到Python环境:
%%R -i df -o df_new # -i df 表示从Python导入df到R环境,-o df_new 表示运行完成后把df_new导出回Python df$time = 1 df_new = df
运行完上述R单元格后,在Python中可直接调用df_new,无需额外拉取代码。
常见问题处理
- 若返回对象为R原生格式未自动转换,可手动执行转换:
import rpy2.robjects as ro df_new_py = ro.conversion.rpy2py(%Rget df_new) - 建议使用rpy2 3.0及以上版本,避免版本差异导致的转换异常。
内容的提问来源于stack exchange,提问作者msh855
相关产品推荐
相关产品推荐

