如何在Quarto的R代码块中可视化Pandas DataFrame?
在Quarto的R代码块中使用Python创建的Pandas DataFrame进行可视化
要实现这个需求,核心是通过reticulate包打通R与Python的变量传递,同时保证Quarto的执行逻辑正确。以下是完整可行方案:
完整可运行代码
--- title: "How to use Pandas Dataframe in R chunk" format: html engine: knitr --- ### Python代码块创建DataFrame ```{python} import pandas as pd df = pd.DataFrame(data = [[1,2],[2,3],[3,3]], columns = ['v1', 'v2']) print(df)
R代码块调用并可视化
library(reticulate) library(ggplot2) # 从Python环境导入DataFrame并转为R格式的data.frame r_df <- py$df # 使用ggplot2生成可视化 ggplot(data = r_df, aes(x = v1, y = v2)) + geom_point()
## 关键注意事项 - 必须加载`reticulate`包,它是R与Python交互的核心依赖 - 使用`py$df`获取Python环境中的变量,显式赋值为R的`data.frame`可避免隐式转换的潜在问题 - 若`py$df`无法获取变量,排查以下点: - 确保Python代码块在R代码块之前执行(Quarto默认按代码块顺序运行) - 通过`reticulate::py_config()`检查当前Python环境配置是否正确 - 避免变量名冲突,比如R环境中不要存在同名的`df`函数或变量 内容的提问来源于stack exchange,提问作者Quinten
相关产品推荐
相关产品推荐

