簡體   English   中英

為什么我收到“模塊'rpy2.robjects.conversion'沒有屬性'py2rpy'”錯誤?

[英]Why am I getting “module 'rpy2.robjects.conversion' has no attribute 'py2rpy'” error?

我正在嘗試使用此處的指南將 pandas dataframe 轉換為 R Z6A8064B5DF479450550053。 我到目前為止的代碼是:

import pandas as pd
import rpy2.robjects as ro
from rpy2.robjects import pandas2ri

from rpy2.robjects.conversion import localconverter

pd_df = pd.DataFrame({'int_values': [1, 2, 3],
                      'str_values': ['abc', 'def', 'ghi']})

with localconverter(ro.default_converter + pandas2ri.converter):
  r_from_pd_df = ro.conversion.py2rpy(pd_df)

但是,這給了我以下錯誤:

Traceback (most recent call last):
  File <my_file_ref>, line 13, in <module>
    r_from_pd_df = ro.conversion.py2rpy(pd_df)
AttributeError: module 'rpy2.robjects.conversion' has no attribute 'py2rpy'

我發現了這個相關問題,其中 OP 指的是 function 名稱正在更改,但沒有解釋更改是什么。 我試過看這個模塊,但我還不夠先進,無法理解它。

接受的答案是指檢查我已經完成的版本,並且我肯定使用的是 rpy2 v3.3.3,這與我正在遵循的指南相同。

有沒有人遇到這個錯誤並找到了解決方案?

您指出的 rpy2 文檔部分是通過運行代碼示例構建的。 這意味着該示例確實適用於相應版本的 rpy2。

我不確定您在運行時使用的是該版本的 rpy2 嗎? 例如,添加print(rpy2.__version__)以檢查是否是這種情況。

值得一提的是,rpy2 3.3.x 系列的最新版本是 3.3.6,可能沒有充分的理由繼續使用 3.3.3。 否則 rpy2 3.4.0 剛剛發布; if using R 4.0 or greater, or the latest release of the R packages dplyr or ggplot2 together with their rpy2 wrapper, I would recommend to use that release.

[PS:我剛剛用 rpy2-3.4.0 試過你的例子,它運行沒有錯誤]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM