Cómo validar sus datos con los datos de python para la ciencia

Cuando se trata de datos, nadie sabe realmente lo que contiene una gran base de datos. Python puede ayudar a los científicos de datos con ese tema. Debe validar los datos antes de usarlo para asegurar que los datos son al menos cerca de lo que usted espera que sea.

Lo que hace es la validación asegura que puede realizar un análisis de los datos y esperar razonablemente que el análisis tenga éxito. Más tarde, es necesario realizar el masaje adicional de los datos para obtener el tipo de resultados que usted necesita para llevar a cabo su tarea.

Averiguar lo que está en sus datos

Búsqueda de duplicados de los datos es importante porque se termina

  • Pasar más tiempo de cálculo para procesar duplicados, lo que ralentiza sus algoritmos abajo.

  • La obtención de resultados falsos debido a los duplicados de forma implícita sobrepeso los resultados. Debido a que algunas entradas aparecen más de una vez, el algoritmo considera estas entradas más importante.

Como científico de datos, usted desea que sus datos cautivar a usted, así que es hora de conseguir que hablar con usted a través de las maravillas de los pandas, como se muestra en el siguiente ejemplo:

Video: Estructura de Datos Python 3.5

LXML de pandas objectifyimport importación como pdxml = objectify.parse (abierta ( ``) XMLData2.xml) root = xml.getroot () df = pd.DataFrame (columnas = ( `Número`, `Cadena`, `booleano`)) para i en el rango de (0,4): obj = root.getchildren () [i] .getchildren () fila = dict (zip ([ `Número`, `cadena`, `Boolean`], [obj [0]. texto, obj [1] .text, obj [2] .text])) row_s = pd.Series (fila) row_s.name = idf = df.append (row_s) búsqueda = pd.DataFrame.duplicated (df) dfprintprint de impresión buscar [Búsqueda == true]

Este ejemplo muestra cómo encontrar las filas duplicadas. Se basa en una versión modificada de la XMLData.xml archivo, XMLData2.xml, que contiene una fila repetida simple en él. Un archivo de datos reales contiene miles (o más) de los registros y posiblemente cientos de repeticiones, pero este sencillo ejemplo hace el trabajo. El ejemplo comienza por leer el archivo de datos en la memoria. A continuación, coloca los datos en una Marco de datos.

Video: video 12 - Curso Python - Métodos de Validación

En este punto, sus datos está dañada, ya que contiene una fila duplicada. Sin embargo, usted puede deshacerse de la fila duplicada por la búsqueda de ella. La primera tarea es crear un objeto de búsqueda que contiene una lista de filas duplicadas llamando pd.DataFrame.duplicated (). Las filas duplicadas contienen una Cierto junto a su número de fila.

Por supuesto, ahora usted tiene una lista desordenada de filas que están y no están duplicados. La forma más fácil de determinar qué filas se duplican es crear un índice en el que se utiliza Búsqueda == true como la expresión. Lo que sigue es la salida que se ve en este ejemplo. Tenga en cuenta que la fila 1 se duplica en el Marco de datos salida y que la fila 1 también se llama a cabo en el buscar resultados:

Número de cuerdas Boolean0 1 Primera Verdadero1 1 Primera True2 2 Segundo Tercero False3 3 Verdadero1 Truedtype: bool

la eliminación de duplicados

Para obtener un conjunto de datos limpia, que desea eliminar los duplicados de ella. Afortunadamente, los pandas lo hace por usted, como se muestra en el siguiente ejemplo:

LXML de pandas objectifyimport importación como pdxml = objectify.parse (abierta ( ``) XMLData2.xml) root = xml.getroot () df = pd.DataFrame (columnas = ( `Número`, `Cadena`, `booleano`)) para i en el rango de (0,4): obj = root.getchildren () [i] .getchildren () fila = dict (zip ([ `Número`, `cadena`, `Boolean`], [obj [0]. texto, obj [1] .text, obj [2] .text])) row_s = pd.Series (filas) row_s.name = idf = df.append (row_s) df.drop_duplicates de impresión ()

Al igual que en el ejemplo anterior, se empieza por la creación de una trama de datos que contiene el registro duplicado. Para eliminar el registro andante, todo lo que tiene que hacer es llamar drop_duplicates (). Aquí está el resultado que se obtiene.

 Número de cuerdas Boolean0 1 Primera True2 2 Segundo Tercero False3 3 Verdadero

Crear un mapa de datos y los datos del plan

Lo que necesita saber acerca de su conjunto de datos. UN los datos de mapa es una visión general del conjunto de datos. Se utiliza para detectar posibles problemas en sus datos, tales como

  • las variables redundantes

    Video: Tutorial de C++ en Español # 42 - Validación de Entradas

  • posibles errores

  • Valores faltantes

  • transformaciones variables

La comprobación de estos problemas va a una plan de datos, que es una lista de las tareas que tienen que llevar a cabo para garantizar la integridad de los datos. El siguiente ejemplo muestra un mapa de datos, A, con dos conjuntos de datos, B y C:

pandas importación como Pddf = pd.DataFrame ({ `A`: [0,0,0,0,0,1,1], `B`: [1,2,3,5,4,2,5], `C`:. [5,3,4,1,1,2,3]}) a_group_desc = df.groupby ( `A`) describe () a_group_desc de impresión

En este caso, el mapa de datos utiliza 0s para la primera serie y 1s para la segunda serie. los agrupar por() función coloca los conjuntos de datos, B y C, en grupos. Para determinar si el mapa de datos es viable, se obtiene utilizando las estadísticas describir(). Lo que usted termina con un conjunto de datos B, la serie de 0 y 1, y el conjunto de datos C, la serie de 0 y 1, como se muestra en la siguiente salida.

Video: 34.- Aprender programación para niños con Python. ¿Quién le tiene miedo a la POO?

B CA0 cuenta 5.000000 3.000000 5.000000mean 2.800000std 1.581139 1.000000 1.788854min 1,00000025 1,00000050% 2.000000 3.000000% 3,00000075% 4.000000 5.000000 5.0000001 4.000000max recuento 2.000000 3.500000 2.000000mean 2.500000std 2.121320 2.000000 0.707107min 2,00000025 2,25000050% 2.750000 3.500000% 2,50000075% 4.250000 5.000000 3.000000 2.750000max

La desintegración de los dos conjuntos de datos utilizando casos específicos es la plan de datos. Como se puede ver, las estadísticas que dicen que este plan de datos puede no ser viable debido a que algunas estadísticas son relativamente muy separados.

La salida de describir() puede ser difícil de leer, pero se puede romperlo, como se muestra aquí:

= A_group_desc.unstack () print unstacked desapilar

Utilizando desapilar () crea una nueva presentación para que pueda ver mejor:

 Bcount significar min std 25% 50% 75% maxA0 5 3,0 1,581139 1 2,00 3,0 4,00 51 2 3,5 2,121320 2 2,75 3,5 4,25 5Ccount significa std min 25% 50% 75% maxA0 5 2,8 1,788854 1 1,00 3,0 4,00 51 2 2,5 0,707107 2 2,25 2,5 2,75 3

Por supuesto, puede que no quiera todos los datos que describir() proporciona. He aquí cómo se reduce el tamaño de la salida de información:

imprimir unstacked.loc [:, (slice (Ninguno), [ ‘count’,’media’]),]

Utilizando loc le permite obtener columnas específicas. Aquí está la salida final del ejemplo que muestra sólo la información que sea absolutamente necesario para tomar una decisión:

 B cCount significa contar meanA0 5 3,0 5 2,81 2 3,5 2 2,5
Artículos Relacionados