python - 如何使用 rpy2 将 R 数据帧转换回 Pandas?

标签 python r pandas

我使用以下代码将 pandas 数据帧转换为 R:

import pandas as pd
import pandas.rpy.common as com
import rpy2.robjects as ro
from rpy2.robjects.packages import importr

rdf = com.convert_to_r_dataframe(df)

如何将 rdf 转换回 pandas.DataFrame

df = f(rdf)

最佳答案

自 rpy2 发布 2.4.0 以来,在 rpy2pandas 之间来回转换数据帧作为可选模块包含在内。有了它,无需显式转换,它会即时完成。

文档包含示例(也可作为 Jupyter 笔记本 - 页面顶部附近提供链接): https://rpy2.github.io/doc/latest/html/pandas.html#interoperability-with-pandas

注意:此问题的原始答案建议如下。

from rpy2.robjects import pandas2ri
pandas2ri.activate()

如果出于任何原因希望显式转换,函数是 pandas2ri.py2ri()pandas2ri.ri2py()(它们是 pandas2ri.pandas2ri( )pandas2ri.ri2pandas())。

注意:由于rpy2 release 3.3.0,显式转换如下

import rpy2.robjects as ro

dt = pd.DataFrame()
# To R DataFrame
r_dt = ro.conversion.py2rpy(dt)
# To pandas DataFrame
pd_dt = ro.conversion.rpy2py(r_dt)

欲了解更多详情,请查看 link .

关于python - 如何使用 rpy2 将 R 数据帧转换回 Pandas?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20630121/

相关文章:

python - 在 python 中调用一个函数,得到 '(function) is not defined' ?

python - 类型错误 : _transform() takes 2 positional arguments but 3 were given

r - 在 Wiki 的网球 table 上使用 Rvest 进行网页抓取

python - 如何从 python 字典创建 pandas 数据框?

python - 对可能是也可能不是多索引的 pandas 数据帧进行操作

python - pyomo环境下添加约束

python - 在 python 中选择简单数据库中的项目时需要帮助

r - 如何在 data.table 中使用 OR 条件连接表

r - 在 R : how do I draw many curves using parameter values in a data table? 中绘制函数

python - 使用 Pandas 将一列字典拆分/分解为单独的列