首页 > 解决方案 > 如何映射 pandas._libs.missing.NAType 类型的 NA 值

问题描述

在我的工作流程NaN中,Pandas DataFrame 中的某个值(使用 填充np.Nan)已经变成了<NA>值。(我仍在试图弄清楚这是怎么发生的。从 CSV 重新导入数据集可能是负责任的?)pandas.DataFrame.dropna工作正常。但是pandas.DataFrame.isna只有地图

NA 值,例如 None 或 numpy.NaN [...] 其他所有内容都映射到 False 值。

有没有办法映射类型的 NA 值pandas._libs.missing.NAType

虚构样本

In [1]: import numpy as np
        import pandas as pd

        dictionary = {'environment': ['test', 'prod', 'test', 'prod'], 
                      'event': ['add_rd', 'add_rd', 'add_env', 'add_env'], 
                      'entry': ['yes', np.NaN, 'no', np.NaN]
                     }

        df = pd.DataFrame(dictionary, columns= ['environment', 'event', 'entry'])

NaN(将值转换<NA>为 type 的值的事情发生了pandas._libs.missing.NAType

In [3]: print(df)

          environment    event entry
        0        test   add_rd   yes
        1        prod   add_rd   <NA>
        2        test  add_env    no
        3        prod  add_env   <NA>


预期输出:

In [4]: df["entry"].isna()

Out[4]  0    False
        1     True
        2    False
        3     True
        Name: entry, dtype: bool

标签: pythonpandasnan

解决方案


推荐阅读