【发布时间】:2019-06-12 12:59:25
【问题描述】:
我有一个熊猫数据框:result,有 2 列。
doy(day_of_year:自变量,值 1,2,3,....365)。
bookings(因变量,279 个数值和 86 个 NaN 值)
请在下面找到部分数据框:
我的目标是使用R (randomForest::rfImpute) 估算缺失值以进行进一步的光谱分析。
所以,我使用rpy2 在 Python 脚本中使用 R 代码。我已经导入了必要的包/库。我也激活了`pandas2ri。
import random
import rpy2.robjects as robjects
from rpy2.robjects.packages import importr
base = importr('base')
utils = importr('utils')
randomForest = importr('randomForest')
from rpy2.robjects import pandas2ri
pandas2ri.activate()
r_df = pandas2ri.py2ri(result)
type(r_df)
print(r_df.head())
print(base.summary(r_df))
random.seed(222)
result.imputed = randomForest.rfImpute('bookings', 'doy', data = r_df)`
但每当我运行代码时,我都会收到错误消息:No NA values found in bookings.
很明显,R 代码无法解释缺失值。
我也尝试过替换R dataFrame中的NaN with NAr_df,
robjects.r('r_df[is.nan(as.numeric(r_df))] = NA')
但是当我运行代码时,我得到了错误:object r_df is not found.
有没有办法解决这个问题?到目前为止,我有点卡住了,似乎找不到有用的文档。
请在下面找到单独代码行的一些其他输出。
【问题讨论】:
标签: python r random-forest rpy2