2015-02-22 13 views
10

Qual è l'equivalente Python di R's NA?Qual è l'equivalente Python di R's NA?

Per essere più specifici: R ha NaN, NA, NULL, Inf e -Inf. NA viene generalmente utilizzato quando mancano i dati. Qual è l'equivalente di Python?

Come librerie come numpy e panda gestiscono valori mancanti?

In che modo scikit-learn gestisce i valori mancanti?

È diverso per python 2.7 e python 3?

+6

Probabilmente "Nessuno", se ho capito bene. – Makoto

+2

Numpy utilizza [matrici mascherate] (http://docs.scipy.org/doc/numpy/reference/maskedarray.html). – Veedrac

risposta

5

Scikit -learn non gestisce i valori mancanti al momento. Per la maggior parte degli algoritmi di apprendimento automatico, non è chiaro come gestire i valori mancanti e quindi ci affidiamo all'utente per gestirli prima di assegnarli all'algoritmo. Numpy non ha un valore "mancante". Pandas utilizza NaN, ma all'interno di algoritmi numerici che potrebbero portare a confusione. È possibile utilizzare gli array mascherati, ma non lo facciamo in scikit-learn (ancora).

2

per pandas dare un'occhiata a questo.

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

panda utilizza NaN. È possibile verificare i valori nulli utilizzando isnull() o not null(), farli cadere da un frame di dati utilizzando dropna() ecc L'equivalente per datetime oggetti viene NaT

+3

Potrebbe valere la pena notare che il numero intero di '' Panda '(o colonna) deve avere valori. Non c'è modo di rappresentare un valore mancante in una serie intera; la solita alternativa è quella di upconvert a un tipo a virgola mobile che ha 'NaN'. – Paul

8

nan in NumPy è gestita bene con molte funzioni:

>>> 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) 
Problemi correlati