我正在尝试将 R-dataframe 转换为 Python Pandas DataFrame。我使用以下代码:
from rpy2.robjects import pandas2ri
pandas2ri.activate()
r_dataframe = r_function(my_dataframe['Numbers'])
print(r_dataframe)
python_dataframe = pandas2ri.ri2py(r_dataframe)
Run Code Online (Sandbox Code Playgroud)
上面的代码在 Jupyter Notebook (Anaconda) 中运行良好。但是,如果我my_program.py通过终端通过文件运行此代码,则会出现错误:
:~$ python3 my_program.py
Traceback (most recent call last):
File "my_program.py", line 223, in <module>
python_dataframe = pandas2ri.ri2py(r_dataframe)
AttributeError: module 'rpy2.robjects.pandas2ri' has no attribute 'ri2py'
Run Code Online (Sandbox Code Playgroud)
代码行:print(r_dataframe)在终端中显示正确的结果。
如果我尝试print(dir(pandas2ri))在 Jupyter Notebook 中使用代码,我会得到 ( 'ri2py'):
['DataFrame', 'FactorVector', 'FloatSexpVector', 'INTSXP', 'ISOdatetime', 'IntSexpVector', 'IntVector', 'ListSexpVector', 'ListVector', 'OrderedDict', 'POSIXct', 'PandasDataFrame', 'PandasIndex', 'PandasSeries', 'SexpVector', 'StrSexpVector', 'StrVector', 'Vector', '__builtins__', …Run Code Online (Sandbox Code Playgroud)