Generic data frame conversion is an expensive operation since copying is required for some types of columns. A local conversion rule might be better:
from rpy2.robjects import pandas2ri
from rpy2.robjects import default_converter
from rpy2.robjects.conversion import localconverter
print(r.data('iris'))
with localconverter(default_converter + pandas2ri.converter) as cv:
pd_iris = r('iris')
pd_iris
Otherwise, it only works for this purpose (Linux, the default chapter for the rpy2 branch):
import pandas as pd
from rpy2.robjects import r
from rpy2.robjects import pandas2ri
pandas2ri.activate()
pd_iris = r('iris')
pd_iris
, rpy2 Windows ( - rpy2 Windows).