Python - Medindo a tendência central

Tendência matematicamente central significa medir o centro ou distribuição de localização de valores de um conjunto de dados. Ele dá uma ideia do valor médio dos dados no conjunto de dados e também uma indicação de quão amplamente os valores estão espalhados no conjunto de dados. Isso, por sua vez, ajuda a avaliar as chances de um novo ajuste de entrada no conjunto de dados existente e, portanto, a probabilidade de sucesso.

Existem três medidas principais de tendência central que podem ser calculadas usando os métodos da biblioteca pandas python.

  • Média - é o valor médio dos dados que é uma divisão da soma dos valores com o número de valores.

  • Mediana - É o valor médio na distribuição quando os valores são organizados em ordem crescente ou decrescente.

  • Modo - é o valor que ocorre mais comumente em uma distribuição.

Calculando a média e a mediana

As funções do pandas podem ser usadas diretamente para calcular esses 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()

Está output é o seguinte -

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

O modo pode ou não estar disponível em uma distribuição, dependendo se os dados são contínuos ou se há valores com frequência máxima. Pegamos uma distribuição simples abaixo para descobrir o modo. Aqui temos um valor que possui frequência máxima na distribuição.

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()

Está output é o seguinte -

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