如何在R Markdown的Python代码块中使用R代码块处理的数据框
解决R Markdown中R与Python代码块共享数据框的问题
方案:使用reticulate包实现内存中数据传递
无需将数据存到本地文件,直接在R和Python环境间传递数据框:
- 在R代码块中转换并传递数据
先加载reticulate包,将R数据框转为Python可识别的pandas DataFrame,并注入Python环境:
# 安装包(首次运行时执行) # install.packages("reticulate") library(reticulate) # 将R数据框women_personal_data传递到Python环境 py$women_personal_data <- r_to_py(women_personal_data)
- 在Python代码块中直接调用数据
此时Python环境已能直接读取该变量,可直接执行同事的处理代码:
# 验证数据是否可用 print(women_personal_data.head()) # 此处插入你同事的Python处理代码
注意事项
- 如果你的系统有多个Python环境,可通过
use_python()或use_condaenv()指定目标环境,例如:# 指定系统Python路径 use_python("/usr/local/bin/python3") # 或指定conda环境 use_condaenv("your_conda_env_name") r_to_py()会自动将R的data.frame转为Python的pandas.DataFrame,无需手动处理数据格式转换
内容的提问来源于stack exchange,提问作者Amandine
相关产品推荐
相关产品推荐

