Что является эквивалентом 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