2016-04-07 20 views
0

Veri çerçevesindeki belirli bir sütunun (df['some_col']) değerlerinin yalnızca belirli bir değerler kümesine sahip olup olmadığına karar vermem gerekiyor (ör. 'A' boş dize ve NaN yani ["a","",NaN]). Tüm benzersiz değerleri listelemek ve ön tanımlı kümede olmayan herhangi bir değer olup olmadığını kontrol etmek için unique kullanmayı düşünebilirim, ancak NaN'un bir değer olarak kabul edilip edilmediğinden emin değilim.Bir veri çerçevesindeki bir sütunun yalnızca belirli bir değerler kümesini içerip içermediğini kontrol etme

cevap

2

evet, bunun için unique() kullanabilirsiniz:

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) 

yüzden kullanarak setleri biz DF izin/beklenen dizeleri ve dizeleri arasındaki farkı görebilirsiniz:

In [45]: allowed_words = set(['','word01', np.nan]) 

In [46]: set(w.word.unique()) - allowed_words 
Out[46]: {'word02', 'word03', 'word04'} 
İlgili konular