【问题标题】:How do I check if set of values are (including nans) are present in a pandas series?如何检查熊猫系列中是否存在一组值(包括 nans)?
【发布时间】:2020-06-24 13:44:05
【问题描述】:

我有一个特殊值列表,例如 [-999, np.nan],我想检查它们是否在 pd.Series 中可用,例如 pd.Series([1, 2, np.nan, -999])

以下代码按预期工作:

-999 in pd.Series([1, 2, np.nan, -999]).values
>>> True

但是,下面的代码返回 False,而我原本以为它是 True:

np.nan in pd.Series([1, 2, np.nan, -999]).values
>>> False

如何在不使用 isnull() 或任何 null 特定函数的情况下评估 np.nan 是否在系列中?

【问题讨论】:

    标签: python pandas numpy series


    【解决方案1】:

    给你:

    In [3]: pd.Series([1, 2, np.nan, -999]).isna().any()                            
    Out[3]: True
    

    如果要检查特定值,可以使用isin。这是一个例子:

    In [4]: pd.Series([1, 2, np.nan, -999]).isin([np.nan, -999]).any()             
    Out[4]: True
    
    
    

    【讨论】:

    • 我想避免所有特定于 null 的函数,因为我还想检查是否存在诸如 -999 之类的值。
    猜你喜欢
    • 2017-06-27
    • 2021-07-12
    • 2021-10-14
    • 2014-08-30
    • 2021-09-02
    • 1970-01-01
    • 1970-01-01
    • 2019-01-14
    • 1970-01-01
    相关资源
    最近更新 更多