删除NA_character_

问题描述 投票:0回答:2

我正在用一些Python代码读取Excel文件。 我使用 R 的 readxl 函数,因为它比 pandas 快得多,然后使用 rpy2py 将其转换为 python 数据帧

任何空白单元格在 python 数据框中都被标识为

"NA_character_"

我尝试使用 python

dropna(subset=['col'])
删除这些行,但没有成功。 单元格仍然显示为
"NA_character_"

提前致谢。

-大耳朵

python r character na
2个回答
0
投票

您可以使用低级接口中定义的 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)

-1
投票

这个怎么样?

import numpy as np

dataframe.replace('NA_character_', np.nan, inplace = True)
dataframe.dropna(axis = 'index', inplace = True)
© www.soinside.com 2019 - 2024. All rights reserved.