Выбор ответа Junior NumPy: массивы и векторизация обновлено

Сравнение с NaN

Вопрос

Как правильно найти NaN в массиве a?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: np.isnan(a). NaN не равен ничему, даже самому себе, поэтому a == np.nan даёт все False. is сравнивает объекты, а элементы массива не являются тем же объектом np.nan. a == None поэлементно тоже вернёт False для числового массива.

Варианты ответа

  1. a == np.nan
  2. np.isnan(a)правильный ответ
  3. a is np.nan
  4. a == None

Разбор

NaN не равен ничему, даже самому себе, поэтому a == np.nan даёт все False. is сравнивает объекты, а элементы массива не являются тем же объектом np.nan. a == None поэлементно тоже вернёт False для числового массива. Правильно np.isnan(a) (или pd.isna для данных с None и строками).

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.