Python Pandas - Fonctions statistiques

Les méthodes statistiques aident à comprendre et à analyser le comportement des données. Nous allons maintenant apprendre quelques fonctions statistiques, que nous pouvons appliquer sur les objets Pandas.

Percent_change

Série, DatFrames et Panel, tous ont la fonction pct_change(). Cette fonction compare chaque élément avec son élément précédent et calcule le pourcentage de changement.

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

Ses output est comme suit -

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

Par défaut, le pct_change()fonctionne sur des colonnes; si vous souhaitez appliquer la même ligne par ligne, utilisezaxis=1() argument.

Covariance

La covariance est appliquée aux données de série. L'objet Series a une méthode cov pour calculer la covariance entre les objets série. NA sera automatiquement exclu.

Série Cov

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)

Ses output est comme suit -

-0.12978405324

Méthode de covariance lorsqu'elle est appliquée à un DataFrame, calcule cov entre toutes les colonnes.

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

Ses output est comme suit -

-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

Note - Observez le cov entre a et b colonne dans la première instruction et la même chose est la valeur retournée par cov sur DataFrame.

Corrélation

La corrélation montre la relation linéaire entre deux tableaux de valeurs (séries). Il existe plusieurs méthodes pour calculer la corrélation, comme pearson (par défaut), spearman et 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()

Ses output est comme suit -

-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

Si une colonne non numérique est présente dans le DataFrame, elle est automatiquement exclue.

Classement des données

Le classement des données produit un classement pour chaque élément du tableau d'éléments. En cas d'égalité, attribue le rang moyen.

import pandas as pd
import numpy as np

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

Ses output est comme suit -

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

Rank prend éventuellement un paramètre croissant qui par défaut est vrai; lorsqu'il est faux, les données sont classées inversement, avec des valeurs plus élevées affectées à un rang plus petit.

Rank prend en charge différentes méthodes de départage, spécifiées avec le paramètre method -

  • average - rang moyen du groupe à égalité

  • min - rang le plus bas du groupe

  • max - rang le plus élevé du groupe

  • first - les rangs attribués dans l'ordre d'apparition dans le tableau