Pandas - how to convert r dataframe back to pandas?

前端 未结 4 2149
广开言路
广开言路 2020-12-24 01:43

I converted a pandas df to r using the the below:

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


        
4条回答
  •  无人及你
    2020-12-24 02:08

    Since rpy2 release 2.4.0 converting data frames back and forth between rpy2 and pandas is included as an optional module. With it, no need to convert explicitly, it will be done on the fly.

    The documentation contains examples (also available as a Jupyter notebook - link available near the top of the page): https://rpy2.github.io/doc/latest/html/pandas.html#interoperability-with-pandas

    Note: The original answer to this question recommended the following.

    from rpy2.robjects import pandas2ri
    pandas2ri.activate()
    

    If wishing to convert explicitly for any reason, the functions are pandas2ri.py2ri() and pandas2ri.ri2py() (they were pandas2ri.pandas2ri() and pandas2ri.ri2pandas()).

    Note: Since rpy2 release 3.3.0 explicit conversion is done as follows

    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)
    

    For more details check out this link.

提交回复
热议问题