Ejemplos Con Un Dataframe Simple

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 21

Ejemplos de análisis estadístico de datos usando

pandas
Fuente principal: https://support.minitab.com/es-mx/minitab/18/help-and-how-
to/statistics/basic-statistics/how-to/display-descriptive-statistics/interpret-the-
results/all-statistics-and-graphs/

Se incluyen adaptaciones para lograr los ejemplos con Pandas.

Índice

1. PRIMERA INDICACIÓN_____________________________________________________________3
PYTHON.........................................................................................................................................................3
2. Q1_____________________________________________________________________________3
PYTHON.........................................................................................................................................................4
3. IQR_____________________________________________________________________________4
INTERPRETACIÓN..............................................................................................................................................4
PYTHON.........................................................................................................................................................4
4. Q3_____________________________________________________________________________5
PYTHON.........................................................................................................................................................5
5. MEDIA__________________________________________________________________________5
INTERPRETACIÓN..............................................................................................................................................6
PYTHON.........................................................................................................................................................6
6. MEDIANA_______________________________________________________________________6
PYTHON.........................................................................................................................................................6
INTERPRETACIÓN..............................................................................................................................................7
7. MODA__________________________________________________________________________7
INTERPRETACIÓN..............................................................................................................................................7
PYTHON.........................................................................................................................................................8
8. MÁXIMO________________________________________________________________________9
INTERPRETACIÓN..............................................................................................................................................9
PYTHON.........................................................................................................................................................9
9. MÍNIMO_________________________________________________________________________9
INTERPRETACIÓN..............................................................................................................................................9
PYTHON.......................................................................................................................................................10
10. RANGO________________________________________________________________________10
INTERPRETACIÓN............................................................................................................................................10
PYTHON.......................................................................................................................................................10
11. N_____________________________________________________________________________11
PYTHON.......................................................................................................................................................11
12. MEDIAREC______________________________________________________________________11
PYTHON.......................................................................................................................................................11
13. SUMA__________________________________________________________________________12
PYTHON.......................................................................................................................................................12
14. NACUM________________________________________________________________________12
PYTHON.......................................................................................................................................................12
15. PCTACUM______________________________________________________________________13
PYTHON.......................................................................................................................................................13
16. PORCENTAJE____________________________________________________________________13
PYTHON.......................................................................................................................................................14
17. CURTOSIS______________________________________________________________________14
INTERPRETACIÓN............................................................................................................................................14
PYTHON.......................................................................................................................................................15
18. ASIMETRÍA_____________________________________________________________________15
INTERPRETACIÓN............................................................................................................................................15
PYTHON.......................................................................................................................................................16
19. DESV.EST.______________________________________________________________________17
INTERPRETACIÓN............................................................................................................................................17
PYTHON.......................................................................................................................................................18
20. VARIANZA______________________________________________________________________18
INTERPRETACIÓN............................................................................................................................................18
PYTHON.......................................................................................................................................................18
21. EE DE LA MEDIA_________________________________________________________________19
INTERPRETACIÓN............................................................................................................................................19
PYTHON.......................................................................................................................................................19
22. COEFVAR_______________________________________________________________________19
INTERPRETACIÓN............................................................................................................................................20
PYTHON.......................................................................................................................................................20
23. MSSD__________________________________________________________________________20
PYTHON.......................................................................................................................................................21
24. SUMA DE LOS CUADRADOS________________________________________________________21
PYTHON.......................................................................................................................................................21
1. Primera indicación
Cargar el siguiente dataframe (crear un archivo df.csv con estos datos):

my_id,sales,department
1,7,MTY
2,9,GDL
3,10,MEX
4,12,GDL
5,10,MTY
6,14,MTY
7,17,PUE
8,18,ZAC
9,19,MTY

Python

import pandas as pd
df = pd.read_csv("df.csv")
# We will work with column 'sales' mainly
a = df.sales

2. Q1
Los cuartiles son los tres valores –el primer cuartil en 25% (Q1), el segundo cuartil en
50% (Q2 o mediana) y el tercer cuartil en 75% (Q3)– que dividen una muestra de datos
ordenados en cuatro partes iguales.

El primer cuartil es el percentil 25 e indica que 25% de los datos es menor que o igual a
este valor.

Para estos datos ordenados, el primer cuartil (Q1) es 9.5. Es decir, 25% de los datos es
menor que o igual a 9.5.
Python

a.quantile(0.25)

NOTA: el resultado en pandas es ‘10’, porque es similar a la función de Excel


QUARTILE.INC; el resultado de 9.5 es cuando se usa la función QUARTILE.EXC.

3. IQR
El rango intercuartil (IQR) es la distancia entre el primer cuartil (Q1) y el tercer cuartil
(Q3). El 50% de los datos está dentro de este rango.

Para estos datos ordenados, el rango intercuartil es 8 (17.5–9.5 = 8). Es decir, el 50%
intermedio de los datos está entre 9.5 and 17.5.

Interpretación

Utilice el rango intercuartil para describir la dispersión de los datos. A medida que
aumenta la dispersión de los datos, el IQR se hace más grande.

Python

a.quantile(0.75) - a.quantile(0.25)
4. Q3
Los cuartiles son los tres valores –el primer cuartil en 25% (Q1), el segundo cuartil en
50% (Q2 o mediana) y el tercer cuartil en 75% (Q3)– que dividen una muestra de datos
ordenados en cuatro partes iguales.

El tercer cuartil es el percentil 75 e indica que 75% de los datos es menor que o igual a
este valor.

Para estos datos ordenados, el tercer cuartil (Q3) es 17.5. Es decir, 75% de los datos es
menor que o igual a 17.5.

Python

a.quantile(0.75)

NOTA: el resultado en pandas es ‘17’, porque es similar a la función de Excel


QUARTILE.INC; el resultado de 17.5 es cuando se usa la función QUARTILE.EXC.

5. Media
La media es el promedio de los datos, que es la suma de todas las observaciones
dividida entre el número de observaciones.

Por ejemplo, los tiempos de espera (en minutos) de cinco clientes en un banco son: 3, 2,
4, 1 y 2. El tiempo medio de espera se calcula de la siguiente manera:

En promedio, un cliente espera 2.4 minutos para ser atendido en el banco.


Interpretación

Utilice la media para describir la muestra con un solo valor que representa el centro de
los datos. Muchos análisis estadísticos utilizan la media como una medida estándar del
centro de la distribución de los datos.

Python

a.mean()

6. Mediana
La mediana es el punto medio del conjunto de datos. El valor de este punto medio es el
punto en el cual la mitad de las observaciones está por encima del valor y la otra mitad
está por debajo del valor. La mediana se determina jerarquizando las observaciones y
hallando la observación que ocupe el número [N + 1] / 2 en el orden jerarquizado. Si el
número de observaciones es par, entonces la mediana es el valor promedio de las
observaciones jerarquizadas en los números N / 2 y [N / 2] + 1.

Para estos datos ordenados, la mediana es 13. Es decir, la mitad de los valores es menor
que o igual a 13 y la otra mitad de los valores es mayor que o igual a 13. Si usted
agrega otra observación igual a 20, la mediana es 13.5, que es el promedio entre la 5 ta
observación (13) y la 6ta observación (14).

Python

a.median()

Interpretación

Tanto la mediana como la media miden la tendencia central. Sin embargo, valores poco
comunes, llamados valores atípicos, pueden afectar a la mediana menos de lo que
afectan a la media. Si los datos son simétricos, la media y la mediana son similares.
Simétrica No simétrica

En la distribución simétrica, la media (línea azul) y la mediana (línea naranja) son tan
similares que no es fácil distinguir las dos líneas. En cambio, la distribución no simétrica
es asimétrica hacia la derecha.

7. Moda
La moda es el valor que ocurre con más frecuencia en un conjunto de observaciones.
Minitab también muestra cuántos puntos de los datos son iguales a la moda.

La media y la mediana requieren un cálculo, pero la moda se determina contando el


número de veces que cada valor ocurre en un conjunto de datos.

Interpretación

La moda se puede utilizar con la media y la mediana para proporcionar una


caracterización general de la distribución de los datos. La moda también se puede usar
para identificar problemas en los datos.

Por ejemplo, una distribución que tiene más de una moda puede identificar que la
muestra incluye datos de dos poblaciones. Si los datos contienen dos modas, la
distribución es bimodal. Si los datos contienen más de dos modas, la distribución es
multimodal.

Por ejemplo, un gerente de banco recolecta datos de tiempo de espera de clientes que
desean cobrar cheques y de clientes que desean solicitar un préstamo hipotecario.
Debido a que se trata de dos servicios muy diferentes, los datos de tiempo de espera
incluyen dos modas. Los datos de cada servicio se deben recoger y analizar por
separado.
Unimodal

Solo hay una moda, 8, que ocurre con más frecuencia.

Bimodal

Hay dos modas, 4 y 16. Los datos parecen representar 2 poblaciones diferentes.

Python

a.mode()

8. Máximo
El máximo es el valor más grande de los datos.

En estos datos, el máximo es 19.

13 17 18 19 12 10 7 9 14
Interpretación

Utilice el máximo para identificar un posible valor atípico o error de entrada de datos.
Una de las maneras más sencillas de evaluar la dispersión de los datos consiste en
comparar el mínimo y el máximo. Si el valor máximo es muy alto, incluso cuando
considere el centro, la dispersión y la forma de los datos, investigue la causa del valor
extremo.

Python

a.max()

# A more interesting exercise for the whole dataframe


print("Max by department")
df.groupby(['department'], as_index=False)['sales'].max()

9. Mínimo
El mínimo es el valor más pequeño de los datos.

En estos datos, el mínimo es 7.

13 17 18 19 12 10 7 9 14

Interpretación

Utilice el mínimo para identificar un posible valor atípico o un error de entrada de datos.
Una de las maneras más sencillas de evaluar la dispersión de los datos consiste en
comparar el mínimo y el máximo. Si el valor mínimo es muy bajo, incluso cuando
considere el centro, la dispersión y la forma de los datos, investigue la causa del valor
extremo.
Python

a.min()

# A more interesting exercise for the whole dataframe


print("Min by department")
df.groupby(['department'], as_index=False)['sales'].min()

10. Rango
El rango es la diferencia entre los valores más grande y más pequeño de los datos. El
rango representa el intervalo que contiene todos los valores de los datos.

Interpretación

Utilice el rango para entender la cantidad de dispersión en los datos. Un valor de rango
grande indica mayor dispesión en los datos. Un valor de rango pequeño indica que hay
menos dispersión en los datos. Puesto que el rango se calcula usando solo dos valores
de los datos, es más útil con conjuntos de datos pequeños.

Python

[a.min(),a.max()]
11. N
El número de valores presentes en la muestra.

En este ejemplo, hay 141 observaciones registradas.


Conteo
total N N*

149 141 8

Python

a.count()

12. MediaRec
La media de los datos sin el 5% superior ni el 5% inferior de los valores.

Utilice la media recortada para eliminar el impacto de los valores muy grandes o muy
pequeños sobre la media. Cuando los datos contienen valores atípicos, la media
recortada puede ser una mejor medida de la tendencia central que la media.

Python

from scipy.stats import tmean, scoreatpercentile


def trimmean(arr, percent):
lower_limit = scoreatpercentile(arr, percent)
upper_limit = scoreatpercentile(arr, 100-percent)
return tmean(arr, limits=(lower_limit, upper_limit), inclusive=(False, False))

trimmean(a.values,5)
13. Suma
La suma es el total de todos los valores de los datos. La suma también se utiliza en
cálculos estadísticos, como por ejemplo la media y la desviación estándar.

Python

a.sum()

14. NAcum
N acumulado es un total acumulado del número de observaciones en categorías
sucesivas. Por ejemplo, una escuela primaria registra el número de estudiantes de
primero a sexto grado. La columna NAcum contiene el conteo acumulado de la
población estudiantil:

Nivel de
grado Conteo Nacum Cálculo

1 49 49 49
2 58 107 49 + 58

3 52 159 49 + 58 + 52
4 60 219 49 + 58 + 52 + 60

5 48 267 49 + 58 + 52 + 60 + 48
6 55 322 49 + 58 + 52 + 60 + 48 + 55

Python

a.cumsum()

# A more interesting exercise for the whole dataframe


print("Cumulative sum by department")
df.groupby(['department','my_id']).sum().groupby(level=[0]).cumsum()
15. PctAcum
El porcentaje acumulado es la suma acumulada de los porcentajes para cada grupo de
la Por variable. En el siguiente ejemplo, la Por variable tiene 4 grupos: Línea 1, Línea 2,
Línea 3 y Línea 4.

Porcentaj
Grupo (por variable) e PctAcum

Línea 1 16 16
Línea 2 20 36

Línea 3 36 72
Línea 4 28 100

Python

a.cumsum()/a.sum()

# A more interesting exercise for the whole dataframe


print("Cumulative percent by department")
b = df.groupby(['department','my_id']).sum().groupby(level=[0])
b.cumsum()/b.sum()

16. Porcentaje
El porcentaje de observaciones en cada grupo de la Por variable. En el siguiente
ejemplo, hay cuatro grupos: Línea 1, Línea 2, Línea 3 y Línea 4.

Grupo (por
variable) Porcentaje
Línea 1 16

Línea 2 20
Grupo (por
variable) Porcentaje

Línea 3 36
Línea 4 28

Python

a.cumsum()/a.sum()

# A more interesting exercise for the whole dataframe


print("Cumulative percent by department")
b = df.groupby(['department','my_id']).sum().groupby(level=[0])
b.cumsum()/b.sum()

17. Curtosis
La curtosis indica la manera en que las colas de una distribución difieren de la
distribución normal.

Interpretación

Utilice la curtosis para lograr entender inicialmente las características generales de la


distribución de los datos.

Línea de base: Valor de curtosis de 0 (distribucióin normal)

Los datos normalmente distribuidos establecen la línea de base para la curtosis. Un


valor de curtosis de 0 indica que los datos siguen perfectamente la distribución normal.
Un valor de curtosis que se desvía significativamente de 0 puede indicar que los datos
no están distribuidos normalmente.
Curtosis positiva Curtosis negativa

Una distribución que tiene un valor positivo de curtosis indica que la distribución tiene
colas más pesadas que la distribución normal. Por ejemplo, los datos que siguen una
distribución t tienen un valor positivo de curtosis. La línea continua indica la distribución
normal y la línea de puntos indica una distribución que tiene un valor positivo de
curtosis.

Una distribución con un valor negativo de curtosis indica que la distribución tiene colas
más livianas que la distribución normal. Por ejemplo, los datos que siguen una
distribución beta con el primer y el segundo parámetro de forma iguales a 2 tienen un
valor negativo de curtosis. La línea continua indica la distribución normal y la línea de
puntos indica una distribución que tiene un valor negativo de curtosis.

Python

a.kurtosis()

18. Asimetría
La asimetría es el grado en que los datos no son simétricos.

Interpretación

Utilice la asimetría como ayuda para lograr entender inicialmente los datos. A medida
que los datos se vuelven más simétricos, el valor de su asimetría se acerca a cero. La
figura A muestra datos distribuidos normalmente, que por definición exhiben
relativamente poca asimetría. Al dibujar una línea por debajo de la mitad de este
histograma de datos normales, se puede ver fácilmente que un lado es el reflejo del
otro. Pero la falta de asimetría por sí sola no implica normalidad. La figura B muestra
una distribución en la que ambos lados siguen siendo un reflejo el uno del otro, a pesar
de que la distribución de los datos dista mucho de ser normal.

Figura A: distribución simétrica Figura B: distribución simétrica

Distribuciones asimétricas positivas o hacia la derecha

Los datos con asimetría positiva o asimétricos hacia la derecha se llaman así porque la
"cola" de la distribución apunta hacia la derecha y porque el valor de asimetría es mayor
que 0 (es decir, positivo). Los datos sobre salarios suelen ser asimétricos de esta manera:
muchos empleados de una empresa ganan relativamente poco, mientras que cada vez
menos personas ganan salarios muy elevados.

Distribuciones asimétricas negativas o hacia la izquierda

Los datos asimétricos hacia la izquierda o con asimetría negativa se llaman así porque la
"cola" de la distribución apunta hacia la izquierda y porque producen un valor de
asimetría negativo. Los datos de tasas de fallas suelen ser asimétricos a la izquierda.
Consideremos el caso de las bombillas: muy pocas se quemarán inmediatamente, la
gran mayoría dura un tiempo considerablemente largo.

Distribución asimétrica positiva o hacia la Distribución asimétrica negativa o hacia la


derecha izquierda

Python

a.skew()
19. Desv.Est.
La desviación estándar es la medida de dispersión más común, que indica qué tan
dispersos están los datos alrededor de la media. El símbolo σ (sigma) se utiliza
frecuentemente para representar la desviación estándar de una población, mientras que
s se utiliza para representar la desviación estándar de una muestra. La variación que es
aleatoria o natural de un proceso se conoce comúnmente como ruido.

Debido a que la desviación estándar utiliza las mismas unidades que los datos,
generalmente es más fácil de interpretar que la varianza.

Interpretación

Utilice la desviación estándar para determinar qué tan dispersos están los datos con
respecto a la media. Un valor de desviación estándar más alto indica una mayor
dispersión de los datos. Una buena regla empírica para una distribución normal es que
aproximadamente 68% de los valores se ubican a no más de una desviación estándar de
la media, 95% de los valores se ubican a no más de dos desviaciones estándar y 99.7%
de los valores se ubican a no más de tres desviaciones estándar.

La desviación estándar también se puede utilizar para establecer un valor de referencia


para estimar la variación general de un proceso.

Tiempos de egreso de un hospital

Los administradores dan seguimiento al tiempo de egreso de los pacientes que son
tratados en las áreas de urgencia de dos hospitales.

Hospital 1 Hospital 2
Aunque los tiempos de egreso promedio son aproximadamente iguales (35 minutos),
las desviaciones estándar son significativamente diferentes. La desviación estándar del
hospital 1 es de aproximadamente 6. En promedio, el tiempo para dar de alta a un
paciente se desvía de la media (línea discontinua) aproximadamente 6 minutos. La
desviación estándar del hospital 2 es de aproximadamente 20. En promedio, el tiempo
para dar de alta a un paciente se desvía de la media (línea discontinua)
aproximadamente 20 minutos.

Python

a.std()

20. Varianza
La varianza mide qué tan dispersos están los datos alrededor de su media. La varianza
es igual a la desviación estándar elevada al cuadrado.

Interpretación

Mientras mayor sea la varianza, mayor será la dispersión de los datos.

Puesto que la varianza (σ2) es una cantidad elevada al cuadrado, sus unidades también
están elevadas al cuadrado, lo que puede dificultar el uso de la varianza en la práctica.
La desviación estándar generalmente es más fácil de interpretar porque utiliza las
mismas unidades que los datos. Por ejemplo, una muestra del tiempo de espera en una
parada de autobuses puede tener una media de 15 minutos y una varianza de 9
minutos2. Debido a que la varianza no está en las mismas unidades que los datos, la
varianza suele mostrarse con su raíz cuadrada, la desviación estándar. Una varianza de 9
minutos2 es equivalente a una desviación estándar de 3 minutos.

Python

a.var()
21. EE de la media
El error estándar de la media (EE de la media) estima la variabilidad entre las medias de
las muestras que usted obtendría si tomara muestras repetidas de la misma población.
Mientras que el error estándar de la media estima la variabilidad entre las muestras, la
desviación estándar mide la variabilidad dentro de una misma muestra.

Por ejemplo, usted tiene un tiempo de entrega medio de 3.80 días, con una desviación
estándar de 1.43 días, de una muestra aleatoria de 312 tiempos de entrega. Estos
números producen un error estándar de la media de 0.08 días (1.43 dividido entre la raíz
cuadrada de 312). De haber tomado múltiples muestras aleatorias del mismo tamaño y
de la misma población, la desviación estándar de esas medias diferentes de las muestras
habría sido aproximadamente 0.08 días.

Interpretación

Utilice el error estándar de la media para determinar el grado de precisión con el que la
media de la muestra estima la media de la población.

Un valor del error estándar de la media más bajo indica una estimación más precisa de
la media de la población. Por lo general, una desviación estándar más grande se
traducirá en un mayor error estándar de la media y una estimación menos precisa de la
media de la población. Un tamaño de muestra más grande dará como resultado un
menor error estándar de la media y una estimación más precisa de la media de la
población.

Python

a.sem()
22. CoefVar
El coeficiente de variación (CoefVar) es una medida de dispersión que describe la
variación en los datos en relación con la media. El coeficiente de variación se ajusta de
manera que los valores estén en una escala sin unidades. Gracias a este ajuste, usted
puede utilizar el coeficiente de variación en lugar de la desviación estándar para
comparar la variación de los datos que tienen unidades diferentes o medias muy
diferentes.

Interpretación

Mientras mayor sea el coeficiente de variación, mayor será la dispersión en los datos.

Por ejemplo, usted es el inspector de control de calidad de una planta embotelladora de


leche que embotella el producto en recipientes pequeños y grandes. Usted toma una
muestra de cada producto y observa que el volumen medio de los recipientes pequeños
es de una 1 taza, con una desviación estándar de 0.08 tazas, y el volumen medio de los
recipientes grandes es de 1 galón (16 tazas) con una desviación estándar de 0.4 tazas.
Aunque la desviación estándar del recipiente de un galón es cinco veces mayor que la
desviación estándar del recipiente pequeño, los coeficientes de variación apoyan una
conclusión diferente.

Recipiente grande Recipiente pequeño

CoefVar = 100 * 0.4 tazas / 16 tazas = 2.5 CoefVar = 100 * 0.08 tazas / 1 taza = 8

El coeficiente de variación del recipiente pequeño es más de tres veces mayor que el
coeficiente de variación del recipiente grande. En otras palabras, aunque el recipiente
grande tiene una mayor desviación estándar, el recipiente pequeño presenta una
variabilidad mucho mayor con respecto a su media.

Python

a.std()/a.mean()
23. MSSD
La MSSD es la media de las diferencias sucesivas cuadráticas. La MSSD es una
estimación de la varianza. Un posible uso de la MSSD es para probar si una secuencia de
observaciones es aleatoria. En control de calidad, un posible uso de la MSSD es para
estimar la varianza cuando el tamaño del subgrupo = 1.

Python

(a.diff() ** 2).mean()

24. Suma de los cuadrados


La suma de los cuadrados no corregida se calcula elevando al cuadrado cada uno de los
valores de la columna y sumando luego esos valores elevados al cuadrado. Por ejemplo,
si la columna contiene x1, x2, ... , xn, entonces la suma de los cuadrados calcula (x 12 + x22 +
... + xn2). A diferencia de la suma de los cuadrados corregida, la suma de los cuadrados
no corregida incluye el error. Los valores de datos se elevan al cuadrado sin antes restar
la media.

Python

(a ** 2).sum()

También podría gustarte