【问题标题】:how to check if a column in a data frame contains only a specific set of values如何检查数据框中的列是否仅包含一组特定的值
【发布时间】:2016-04-07 11:31:38
【问题描述】:

我需要确定数据框中某列 (df['some_col']) 的值是否仅包含一组特定值(例如“a”、空字符串和NaN,即["a","",NaN])。我可以考虑使用unique 列出所有唯一值并检查是否有任何值不在预定义集中,但我不确定NaN 是否被视为一个值。

【问题讨论】:

    标签: python-3.x pandas dataframe


    【解决方案1】:

    是的,您可以为此使用unique()

    In [35]: w
    Out[35]:
         word
    0  word03
    1     NaN
    2  word04
    3
    4  word02
    5  word01
    6     NaN
    7  word01
    8  word01
    9  word01
    
    In [36]: w.word.unique()
    Out[36]: array(['word03', nan, 'word04', '', 'word02', 'word01'], dtype=object)
    

    所以使用集合我们可以看到允许/预期字符串和 DF 中的字符串之间的区别:

    In [45]: allowed_words = set(['','word01', np.nan])
    
    In [46]: set(w.word.unique()) - allowed_words
    Out[46]: {'word02', 'word03', 'word04'}
    

    【讨论】:

      猜你喜欢
      • 2015-06-24
      • 2023-03-26
      • 2012-02-11
      • 2016-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多