提问人:Federico Cozzi 提问时间:10/18/2023 更新时间:10/18/2023 访问量:26
将文本列中带有 NA 的 R 数据帧转换为带有 rpy2 的 Python
Converting R dataframe with NA in text column to Python with rpy2
问:
我想使用 rpy2 将 R 数据帧转换为 python。 我不知道如何将文本列中出现的 NA 转换为 Python 值。
这是一个显示我问题的例子。
import rpy2.robjects as ro
ro.r('n = c(1,2)')
ro.r("b = c(NA,'def')")
ro.r("df = data.frame(n,b)")
rdf = ro.r('df')
from rpy2.robjects.conversion import localconverter
from rpy2.robjects import pandas2ri
with localconverter(ro.default_converter + pandas2ri.converter):
df = ro.conversion.rpy2py(rdf)
生产:
>>> print(df)
n b
1 1.0 NA_character_
2 2.0 def
使用旧版本 rpy2 的类似代码可以工作
import rpy2.robjects as ro
ro.r('n = c(1,2)')
ro.r("b = c(NA,'def')")
ro.r("df = data.frame(n,b)")
rdf = ro.r('df')
from rpy2.robjects import pandas2ri
df = pandas2ri.ri2py(rdf)
产生:
>>> print(df)
n b
0 1.0 NaN
1 2.0 def
我如何找回旧行为?
答: 暂无答案
评论