Что является эквивалентом Python для NA?

Что является эквивалентом Python для NA?

Чтобы быть более конкретным: R имеет NaN, NA, NULL, Inf и -Inf. NA обычно используется, когда отсутствуют данные. Что такое эквивалент Python?

Как библиотеки, такие как numpy и pandas, обрабатывают пропущенные значения?

Как scikit-learn обрабатывает пропущенные значения?

Отличается ли он для python 2.7 и python 3?

3 ответа

Решение

Scikit-learn в настоящее время не обрабатывает пропущенные значения. Для большинства алгоритмов машинного обучения неясно, как обрабатывать пропущенные значения, поэтому мы полагаемся на то, что пользователь обработает их, прежде чем передать их в алгоритм. Numpy не имеет "пропущенного" значения. Панды используют NaN, но внутри числовых алгоритмов, которые могут привести к путанице. Можно использовать маскированные массивы, но мы не делаем это в scikit-learn (пока).

nan в numpy хорошо справляется со многими функциями:

>>> import numpy as np
>>> a = [1, np.nan, 2, 3]
>>> np.nanmean(a)
2.0
>>> np.nansum(a)
6.0
>>> np.isnan(a)
array([False,  True, False, False], dtype=bool)

За pandas Взгляни на это.

http://pandas.pydata.org/pandas-docs/dev/missing_data.html

панды использует NaN, Вы можете проверить нулевые значения, используя isnull() или же not null()удалите их из фрейма данных, используя dropna() и т.д. эквивалент для datetime объекты NaT

Другие вопросы по тегам