Выбор ответа Junior NumPy: массивы и векторизация обновлено
Сравнение с NaN
Вопрос
Как правильно найти NaN в массиве a?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: np.isnan(a). NaN не равен ничему, даже самому себе, поэтому a == np.nan даёт все False. is сравнивает объекты, а элементы массива не являются тем же объектом np.nan. a == None поэлементно тоже вернёт False для числового массива.
Варианты ответа
a == np.nannp.isnan(a)правильный ответa is np.nana == None
Разбор
NaN не равен ничему, даже самому себе, поэтому a == np.nan даёт все False. is сравнивает объекты, а элементы массива не являются тем же объектом np.nan. a == None поэлементно тоже вернёт False для числового массива. Правильно np.isnan(a) (или pd.isna для данных с None и строками).
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «NumPy: массивы и векторизация»
- Что значит axis=0
- Broadcasting: форма результата
- Обрезка выбросов по перцентилям
- Скользящее среднее через cumsum
- Попарные расстояния через broadcasting
- Стандартизация столбцов матрицы (z-score)
- Запись float в целочисленный массив
- Fancy indexing возвращает копию