我在一个R magic单元格中使用以下代码:
%%R -o df
library(tibble)
df <- tibble(x = c("a", "b", NA))
然而,当我在另一个单元格(Python单元格)中运行时:
df.isna()
我得到
x
1 False
2 False
3 False
实际上,导入的 Dataframe 是
x
1 a
2 b
3 NA_character_
如何将NA_character_
转换为Python NaN
?
我试过了
df.replace('NA_character_', np.nan)
但没有成功。
1条答案
按热度按时间ykejflvf1#
正如您在注解中所指出的,R
NA_character_
值没有转换为np.nan
,而是具有不同的类型rpy2.rinterface_lib.sexp.NACharacterType
,在这种情况下,解决方案只是迭代该列并将此类型转换为np.nan
:至于这是否是一个bug,3.3.0版的changes声明:
panda Series中的值nan现在转换为R NA(问题#668)。
然而,相反的情况似乎并没有发生,我不知道这是否意味着它是一个bug,一个设计决策,或者仅仅是它还没有被实现。