0
我需要確定數據框中某列(df['some_col']
)的值是否僅包含特定的一組值(例如'a' ,空串和NaN
即["a","",NaN]
)。我可以考慮使用unique
列出所有唯一值並檢查是否有任何值不在預定義集中,但我不確定NaN
是否被視爲值。如何檢查數據框中的列是否只包含一組特定的值
我需要確定數據框中某列(df['some_col']
)的值是否僅包含特定的一組值(例如'a' ,空串和NaN
即["a","",NaN]
)。我可以考慮使用unique
列出所有唯一值並檢查是否有任何值不在預定義集中,但我不確定NaN
是否被視爲值。如何檢查數據框中的列是否只包含一組特定的值
是的,你可以使用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'}