我正在用一些Python代码读取Excel文件。 我使用 R 的 readxl 函数,因为它比 pandas 快得多,然后使用 rpy2py 将其转换为 python 数据帧
任何空白单元格在 python 数据框中都被标识为
"NA_character_"
。
我尝试使用 python
dropna(subset=['col'])
删除这些行,但没有成功。 单元格仍然显示为 "NA_character_"
提前致谢。
-大耳朵
您可以使用低级接口中定义的 rpy2 的 NACharacterType 来处理 pandas DataFrame 中的 R NA 值 https://rpy2.github.io/doc/latest/html/rinterface.html 。以下是如何将 R 的 NA 值正确转换为 Python 的 np.nan:
import numpy as np
from rpy2 import rinterface_lib
# Convert R's NA to Python's np.nan
dataframe = dataframe.applymap(lambda x: np.nan if isinstance(x, rinterface_lib.sexp.NACharacterType) else x)
这个怎么样?
import numpy as np
dataframe.replace('NA_character_', np.nan, inplace = True)
dataframe.dropna(axis = 'index', inplace = True)