【问题标题】:rpy2 tests getting "NotImplementedError: Conversion from rpy2 DataFrame to pandas' DataFrame" on ubunturpy2 测试在 ubuntu 上得到“NotImplementedError: Conversion from rpy2 DataFrame to pandas' DataFrame”
【发布时间】:2013-12-10 18:54:47
【问题描述】:

如果有人可以在这里帮助我,我会非常感激。

我在 ubuntu 13.10 上使用 python 2.7、R 3.0.1,并且我已经按照 rpy2 安装指南成功完成了测试。

使用此命令python -m 'rpy2.tests' 通过提示运行测试时,出现以下错误:

rpy2 version: 2.3.8
built against R version: 3-0.1--62743
............................................................................................ ............................................................................................ .........................................................................................................E...........................................................
======================================================================

ERROR: testPandas2ri
(rpy2.robjects.tests.testPandasConversions.PandasConversionsTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/rpy2/robjects/tests/testPandasConversions.py", line 74, in testPandas2ri
    pandas_df = robjects.conversion.ri2py(rdataf)
  File "/usr/local/lib/python2.7/dist-packages/rpy2/robjects/pandas2ri.py", line 63, in ri2pandas
    raise NotImplementedError("Conversion from rpy2 DataFrame to pandas' DataFrame")
NotImplementedError: Conversion from rpy2 DataFrame to pandas' DataFrame

----------------------------------------------------------------------
Ran 349 tests in 4.297s

在 python 解释器中安装时出现同样的错误。我在哪里可以找到这个转换包?

【问题讨论】:

    标签: python r ubuntu rpy2


    【解决方案1】:

    目前看来这段代码有点不稳定。显然,有很多人(包括我自己)使用 rpy2 和 pandas,但是 rpy2 还没有稳定的内置转换器。您可以在当前开发版本的 rpy2 中尝试this module

    from rpy2.robjects.pandas2ri import pands2ri
    rpy2.robjects.pandas2ri.activate()
    

    上面的代码基于源代码中的 cmets 似乎还不稳定,所以您最好根据该模块中的函数编写自己的代码。

    你也可以试试 pandas 的代码。有关 pandas/rpy2 接口的文档(实际上自本文档编写以来已更新),请参见此处:

    http://pandas.pydata.org/pandas-docs/dev/r_interface.html

    及源代码:

    https://github.com/pydata/pandas/blob/master/pandas/rpy/common.py

    例如:

    import pandas.rpy.common as com
    r_dataframe = com.convert_to_r_dataframe(df)
    

    如果您无法弄清楚,请随时就您遇到的具体问题提出问题。

    【讨论】:

    • rpy2-2.4.0-dev 在撰写本文时相对稳定/健壮。不建议将该代码复制到 rpy2-2.3.x 以希望它能正常工作(并且可能不会让您走得太远):通用转换系统已针对 2.4.0 进行了部分重写,以使转换成为可能。
    猜你喜欢
    • 2017-04-10
    • 1970-01-01
    • 2012-06-02
    • 2020-06-22
    • 2016-10-19
    • 2011-06-11
    • 2011-05-20
    • 2022-12-19
    • 2014-01-29
    相关资源
    最近更新 更多