Как проверить значения NaN при использовании оператора if в Python

#python #pandas #dataframe

Вопрос:

Я пытаюсь выполнить несколько условных операторов If, если условие выполняется, то может быть выполнен только дальнейший процесс.

Я использую И для объединения двух условий, но это приводит к ошибке.

Сценарий, который я использую до сих пор

 if df['state']=='Delhi India' and df['contact'].notna():
   if df['status']= True:
      Print("Updated")
   else:
      print("Not Updated")
 

Любое предложение, как выполнить.

Используя эту строку

 if df['state']=='Delhi India' and df['contact'].notna():
 

Ошибка:

 ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
 

Ответ №1:

Вместо этого нам нужно использовать побитовые операции.

Вместо:

 if df['state']=='Delhi India' and df['contact'].notna():
 

Писать:

 if df['state']=='Delhi India' amp; df['contact'].notna():
 

Комментарии:

1. Не работает Я также пытался использовать df[‘контакт’].str.len(), все еще не работает

2. Попробуйте это: if df.iloc[0]['state']=='Delhi India' and df.iloc[0]['contact'].notna():

3. — Это выдает ошибку «»AttributeError: объект ‘str’ не имеет атрибута ‘notna’