uda*_*day 9 python rpy2 pandas
我尝试导入rpy2时出错.这是代码和错误.
>>> import pandas.rpy.common
Traceback (most recent call last):
File "C:\PF\WinPython-64bit-3.3.3.3\python-3.3.3.amd64\lib\site-packages\IPython\core\interactiveshell.py", line 2828, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-148-c258a0f70d44>", line 1, in <module>
import pandas.rpy.common
File "C:\PF\WinPython-64bit-3.3.3.3\python-3.3.3.amd64\lib\site-packages\pandas\rpy\common.py", line 14, in <module>
from rpy2.robjects.packages import importr
ImportError: No module named 'rpy2'
Run Code Online (Sandbox Code Playgroud)
可能是什么问题?我正在使用python版本3.3.3和pandas版本0.13.1
编辑
试图单独安装rpy2.
直接使用python setup.py install给了我一个os没有模块的错误popen3.
直接从Christoph Gohlke的网站http://www.lfd.uci.edu/~gohlke/pythonlibs/安装exe(rpy2-2.3.9.win32-py3.3.exe).但是,如果我尝试这样做,import pandas.rpy.common as com我会收到以下错误(加载DLL的问题from rpy2.rinterface._rinterface import *:
Traceback (most recent call last):
File "C:\PF\WinPython-64bit-3.3.3.3\python-3.3.3.amd64\lib\site-packages\IPython\core\interactiveshell.py", line 2828, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-10-63ebebefea80>", line 1, in <module>
import pandas.rpy.common as com
File "C:\PF\WinPython-64bit-3.3.3.3\python-3.3.3.amd64\lib\site- packages\pandas\rpy\common.py", line 14, in <module>
from rpy2.robjects.packages import importr
File "C:\PF\WinPython-64bit-3.3.3.3\python-3.3.3.amd64\lib\site-packages\rpy2\robjects\__init__.py", line 15, in <module>
import rpy2.rinterface as rinterface
File "C:\PF\WinPython-64bit-3.3.3.3\python-3.3.3.amd64\lib\site-packages\rpy2\rinterface\__init__.py", line 103, in <module>
from rpy2.rinterface._rinterface import *
ImportError: DLL load failed: %1 is not a valid Win32 application.
Run Code Online (Sandbox Code Playgroud)编辑
终于解决了.似乎添加R_HOME和R_USER环境变量就可以了.
这可能并不直接适用于您的问题,但是自从 pandas 和 rpy2 升级后,它们的界面就发生了变化。为了设置它,您现在必须:
from rpy2.robjects import r, pandas2ri
pandas2ri.activate()
Run Code Online (Sandbox Code Playgroud)
现在,为了将 Pandas 数据帧更改为 R 数据帧,必须使用pandas2ri.py2ri(),或者pandas2ri.ri2py()如果要将 R 数据帧更改为 Pandas 数据帧,请使用。更多信息可以在https://pandas.pydata.org/pandas-docs/stable/r_interface.html找到。