rpy2 / R interface
Warning
Up to pandas 0.19, a pandas.rpy
module existed with functionality to convert between pandas and rpy2
objects. This functionality now lives in the rpy2 project itself. See the updating section of the previous documentation for a guide to port your code from the removed pandas.rpy
to rpy2
functions.
rpy2 is an interface to R running embedded in a Python process, and also includes functionality to deal with pandas DataFrames. Converting data frames back and forth between rpy2 and pandas should be largely automated (no need to convert explicitly, it will be done on the fly in most rpy2 functions). To convert explicitly, the functions are pandas2ri.py2ri()
and pandas2ri.ri2py()
.
See also the documentation of the rpy2 project: https://rpy2.readthedocs.io.
In the remainder of this page, a few examples of explicit conversion is given. The pandas conversion of rpy2 needs first to be activated:
In [1]: from rpy2.robjects import r, pandas2ri --------------------------------------------------------------------------- ModuleNotFoundError Traceback (most recent call last) <ipython-input-1-79b90b86f23f> in <module>() ----> 1 from rpy2.robjects import r, pandas2ri /opt/conda/envs/pandas/lib/python3.6/site-packages/rpy2/robjects/pandas2ri.py in <module>() 20 import numpy 21 import pytz ---> 22 import tzlocal 23 import warnings 24 ModuleNotFoundError: No module named 'tzlocal' In [2]: pandas2ri.activate()
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.23.4/r_interface.html