Python: medición de la tendencia central

Tendencia matemáticamente central significa medir el centro o distribución de ubicación de valores de un conjunto de datos. Da una idea del valor promedio de los datos en el conjunto de datos y también una indicación de cuán ampliamente se distribuyen los valores en el conjunto de datos. Eso, a su vez, ayuda a evaluar las posibilidades de que una nueva entrada se ajuste al conjunto de datos existente y, por lo tanto, la probabilidad de éxito.

Hay tres medidas principales de tendencia central que se pueden calcular utilizando los métodos de la biblioteca pandas python.

  • Media: es el valor promedio de los datos que es una división de la suma de los valores con el número de valores.

  • Mediana: es el valor medio en la distribución cuando los valores se organizan en orden ascendente o descendente.

  • Modo: es el valor más común en una distribución.

Calcular la media y la mediana

Las funciones de pandas se pueden utilizar directamente para calcular estos valores.

import pandas as pd

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','Chanchal','Gasper','Naviya','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])}

#Create a DataFrame
df = pd.DataFrame(d)
print "Mean Values in the Distribution"
print df.mean()
print "*******************************"
print "Median Values in the Distribution"
print df.median()

Sus output es como sigue -

Mean Values in the Distribution
Age       31.833333
Rating     3.743333
dtype: float64
*******************************
Median Values in the Distribution
Age       29.50
Rating     3.79
dtype: float64

Modo de cálculo

El modo puede estar disponible o no en una distribución dependiendo de si los datos son continuos o si hay valores que tienen la frecuencia máxima. Tomamos una distribución simple a continuación para averiguar el modo. Aquí tenemos un valor que tiene máxima frecuencia en la distribución.

import pandas as pd

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','Chanchal','Gasper','Naviya','Andres']),
   'Age':pd.Series([25,26,25,23,30,25,23,34,40,30,25,46])}
#Create a DataFrame
df = pd.DataFrame(d)

print df.mode()

Sus output es como sigue -

Age      Name
0   25.0    Andres
1    NaN  Chanchal
2    NaN    Gasper
3    NaN      Jack
4    NaN     James
5    NaN       Lee
6    NaN    Naviya
7    NaN     Ricky
8    NaN     Smith
9    NaN     Steve
10   NaN       Tom
11   NaN       Vin