La ciencia de datos: cómo hacer frente a los datos que faltan en pitón

Puede utilizar Python para hacer frente a esa información faltante que a veces aparece en la ciencia de datos. A veces los datos que recibe la información no se encuentra en campos específicos. Por ejemplo, un registro de cliente es posible que falte una edad. Si los registros suficientes faltan entradas, cualquier análisis que realice será sesgada y los resultados del análisis ponderado de una manera impredecible. Tener una estrategia para tratar con datos faltantes es importante.

Encontrar los datos que faltan

Es esencial encontrar los datos que faltan en el conjunto de datos para evitar resultados incorrectos de su análisis. El código siguiente muestra cómo se puede obtener una lista de valores que faltan, sin demasiado esfuerzo.

pandas importación como numpy pdimport como NPS = pd.Series ([1, 2, 3, np.NaN, 5, 6, Ninguno]) s.isnull print () printprint s [s.isnull ()]

Un conjunto de datos podría representar datos que faltan de varias maneras. En este ejemplo, se ve que faltan los datos representados como np.NaN (NumPy Not a Number) y el pitón Ninguna valor.

Utilizar el es nulo() Método para detectar los valores que faltan. Los espectáculos de salida Cierto cuando el valor no se encuentra. Mediante la adición de un índice en el conjunto de datos, se obtiene sólo las entradas que faltan. El ejemplo muestra el resultado siguiente:

0 False1 False2 False3 True4 False5 False6 Truedtype: bool3 NaN6 NaNdtype: float64

missingness codificación

Después de averiguar que el conjunto de datos no se encuentra la información, es necesario considerar qué hacer al respecto. Las tres posibilidades son de ignorar el problema, complete los elementos que faltan, o eliminar (gota) las entradas que faltan en el conjunto de datos. Ignorar el problema podría dar lugar a todo tipo de problemas para su análisis, por lo que es la opción que utiliza menos a menudo. El siguiente ejemplo muestra una técnica para el llenado de los datos que faltan o dejar caer las entradas errantes del conjunto de datos:

pandas importación como numpy pdimport como NPS = pd.Series ([1, 2, 3, np.NaN, 5, 6, Ninguno]) s.fillna de impresión (int (s.mean ())) printprint s.dropna ()

Los dos métodos de interés son fillna (), que llena en las entradas que faltan, y dropna (), que cae de las entradas que faltan. Cuando usas fillna (), debe proporcionar un valor que se utilizará para los datos que faltan. En este ejemplo se utiliza la media de todos los valores, pero se puede elegir un número de otros enfoques. Aquí está la salida de este ejemplo:

0 11 22 33 34 55 66 3dtype: float640 11 22 34 55 6dtype: float64

Trabajar con una serie es sencilla, puesto que el conjunto de datos es tan simple. Cuando se trabaja con una Marco de datos, Sin embargo, el problema se vuelve mucho más complicado. Usted todavía tiene la opción de dejar caer toda la fila. Cuando una columna está escasamente poblada, es posible colocar la columna en su lugar. La cumplimentación de los datos también se vuelve más compleja, ya que debe tener en cuenta el conjunto de datos en su conjunto, además de las necesidades de la característica individual.

La imputación de datos faltantes

La información anterior insinúa el proceso de imputación de datos faltantes (características atribuir en función de cómo se usan los datos). La técnica que se utiliza depende del tipo de datos que está trabajando.

Video: Máster en Ciencia de Datos

Por ejemplo, cuando se trabaja con un conjunto de árboles, puede simplemente reemplazar los valores perdidos con un -1 y confiar en la imputer (un algoritmo de transformador utilizado para completar los valores que faltan) para definir el mejor valor posible para los datos que faltan. El siguiente ejemplo muestra una técnica que puede utilizar para imputar valores de datos faltantes:

pandas importación como numpy pdimport como Imputers importación npfrom sklearn.preprocessing = pd.Series ([1, 2, 3, np.NaN, 5, 6, Ninguno]) imp = imputer (missing_values ​​= `NaN`, la estrategia = `media` , eje = 0) imp.fit ([1, 2, 3, 4, 5, 6, 7]) x = pd.Series (imp.transform (s) .tolist () [0]) de impresión x

En este ejemplo, s no se encuentra algunos valores. El código crea una imputer para reemplazar estos valores perdidos. los valores faltantes parámetro define lo que debe buscar, que es Yaya. Se establece el eje parámetro a 0 a imputar a lo largo de las columnas y de 1 a imputar a lo largo de las filas. los estrategia parámetro define la forma de sustituir los valores que faltan:

  • media: Sustituye los valores mediante el uso de la media a lo largo del eje

    Video: Quién es quién | Entrevista con el Dr. Adolfo de Unánue

  • mediana: Reemplaza los valores utilizando el medio a lo largo del eje

  • más frecuente: Reemplaza los valores usando el valor más frecuente a lo largo del eje

Antes de poder imputar nada, debe proporcionar estadísticas para el imputer utilizar llamando ajuste(). El código llama a continuación, transformar() en s para llenar los valores que faltan. Sin embargo, la salida ya no es una serie. Para crear una serie, debe convertir el imputer salida a una lista y utilizar la lista resultante como entrada a Serie(). Aquí está el resultado del proceso con los valores que faltan rellenaron:

0 11 22 33 44 55 66 7dtype: float64
Artículos Relacionados