我使用以下代码将 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 以来,在 rpy2
和 pandas
之间来回转换数据帧作为可选模块包含在内。有了它,无需显式转换,它会即时完成。
文档包含示例(也可作为 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/