Каков правильный синтаксис при использовании.notnull() в Пандах?
Я хочу использовать .notnull() на нескольких столбцах фрейма данных, чтобы исключить строки, содержащие значения "NaN".  
скажем у меня есть следующие df:
  A   B   C
0 1   1   1
1 1   NaN 1
2 1   NaN NaN
3 NaN 1   1
Я пытался использовать этот синтаксис, но это не работает? знаешь, что я делаю не так?
df[[df.A.notnull()],[df.B.notnull()],[df.C.notnull()]]
Я получаю эту ошибку:
TypeError: 'Series' objects are mutable, thus they cannot be hashed
что я должен сделать, чтобы получить следующие результаты?
  A   B   C
0 1   1   1
есть идеи?
2 ответов
вы можете сначала выбрать подмножество столбцов по df[['A','B','C']], а затем применить notnull и выбрать all значения в маски True:
print (df[['A','B','C']].notnull())
       A      B      C
0   True   True   True
1   True  False   True
2   True  False  False
3  False   True   True
print (df[['A','B','C']].notnull().all(1))
0     True
1    False
2    False
3    False
dtype: bool
print (df[df[['A','B','C']].notnull().all(1)])
     A    B    C
0  1.0  1.0  1.0
другое решение-с Ayhan комментарий dropna:
print (df.dropna(subset=['A', 'B', 'C']))
     A    B    C
0  1.0  1.0  1.0
что же, что:
print (df.dropna(subset=['A', 'B', 'C'], how='any'))
и означает падение всех строк, где есть хотя бы один NaN значение.
