English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Funções Estatísticas do Pandas

Exemplo de operação de função estatística Pandas

Métodos estatísticos ajudam a entender e analisar o comportamento dos dados. Agora, vamos aprender algumas funções estatísticas que podem ser aplicadas a objetos Pandas.

Variação em Percentual

Series, DataFrames e Panes possuem a função pct_change() . Esta função compara cada elemento com o elemento anterior e calcula a porcentagem de variação.

 import pandas as pd
 import numpy as np
 s = pd.Series([1,2,3,4,5,4]
 print(s.pct_change()
 df = pd.DataFrame(np.random.randn(5, 2))
 print(df.pct_change())

Resultados da Execução:

 0  NaN
1   1.000000
2   0.500000
3   0.333333
4   0.250000
5  -0.200000
dtype: float64
          0          1
0  NaN  NaN
1  -15.151902   0.174730
2  -0.746374   -1.449088
3  -3.582229   -3.165836
4   15.601150  -1.860434

Por padrão, pct_change() opera nas colunas; se desejar aplicar o mesmo ao mesmo linha, use axis = 1() parâmetros.

Covariância

A covariância é aplicada aos dados de séries. O objeto de série possui o método cov para calcular a covariância entre objetos de série. O valor NA será automaticamente excluído.

Série Covariância

 import pandas as pd
 import numpy as np
 s1 = pd.Series(np.random.randn(10))
 s2 = pd.Series(np.random.randn(10))
 print(s1.cov(s2))

Resultados da Execução:

   -0.12978405324

Quando o método de covariância é aplicado ao DataFrame, ele calculará a covariância entre todas as colunas.

 import pandas as pd
 import numpy as np
 frame = pd.DataFrame(np.random.randn(10, 5), columns=['a', 'b', 'c', 'd', 'e'])
 print(frame['a'].cov(frame['b']))
 print(frame.cov())

Resultados da Execução:

 -0.58312921152741437
           a  b  c  d  e
a   1.780628   -0.583129   -0.185575    0.003679    -0.136558
b  -0.583129    1.297011    0.136530   -0.523719     0.251064
c  -0.185575    0.136530  0.915227   -0.053881    -0.058926
d 0.003679   -0.523719   -0.053881    1.521426    -0.487694
e  -0.136558    0.251064   -0.058926   -0.487694     0.960761

Observar o valor cov entre as colunas a e b na primeira linha de comando, que é o mesmo que o cov retornado no DataFrame.

Correlação

A correlação mostra a relação linear entre qualquer dois arrays de valores ( séries ) . Existem várias maneiras de calcular correlação, por exemplo, pearson ( padrão ), spearman e kendall.

 import pandas as pd
 import numpy as np
 frame = pd.DataFrame(np.random.randn(10, 5), columns=['a', 'b', 'c', 'd', 'e'])
 print(frame['a'].corr(frame['b']))
 print(frame.corr())

Resultados da Execução:

 -0.383712785514
           a         b         c         d           e
a   1.000000  -0.383713  -0.145368   0.002235   -0.104405
b  -0.383713   1.000000 0.125311  -0.372821    0.224908
c  -0.145368   0.125311   1.000000  -0.045661   -0.062840
d 0.002235  -0.372821  -0.045661   1.000000   -0.403380
e  -0.104405   0.224908  -0.062840  -0.403380    1.000000

Se o DataFrame contiver qualquer coluna não numérica, será excluída automaticamente.

Ranking de dados

Ranking de dados realiza a classificação de cada elemento do array de elementos. Se houver empate, atribui-se a classificação média.

 import pandas as pd
 import numpy as np
 s = pd.Series(np.random.np.random.randn(5), index=list('abcde'))
 s['d'] = s['b'] # there's a tie
 print(s.rank())

Resultados da Execução:

 a  1.0
b  3.5
c  2.0
d  3.5
e  5.0
dtype: float64

Rank pode optar por ordem crescente do parâmetro, por padrão é true; se for false, a classificação dos dados é inversa, os valores maiores são distribuídos como classificação menor.

Rank suporta o uso do parâmetro method:

average − A média do nível dos grupos paralelos. min − A classificação mais baixa no grupo. max − O nível mais alto no grupo. first − A distribuição de linhas e colunas está na ordem dos arrays onde eles aparecem.