« Python pour le calcul scientifique/Statistiques » : différence entre les versions

On peut générer une matrice aléatoire avec les fonctions <code>random.rand()</code>, qui utilise une loi uniforme sur [0 ; 1], et <code>random.randn()</code> qui utilise une loi normale centrée réduite.
 
Lorsque l'on dispose d'une série de données aléatoires, qu'elles aient été mesurées ou bien générées par une fonction aléatoire, on peut ensuite les mettre dans des classes ''({{lang|en|bins}})''. Les classes sont définies par un vecteur (ou une liste, un n-uplet) <code>[c1, c2,c3, …, cn]</code>. La classe 0 désigne les valeurs inférieures à ''c''<codesub>c11</codesub> ; la classe 1 désigne les valeurs ''c''<codesub>c11</codesub> ≤ ''x'' &lt; ''c''<codesub>c22</codesub> ; la classe ''n'' (<code>n ==len(classes)</code>) désigne les valeurs supérieures à ''c<codesub>cnn</codesub>''.
 
La fonction <code>digitize()</code> indique dans quelle classe se trouve un nombre. Si on lui donne une matrice (ou un vecteur, une liste, un n-uplet), il renvoie une matrice de même dimension, <code>digitize(M, classes)[i, j]</code> étant la classe de l'élément <code>M[i, j]</code>. Par exemple :
print(np.digitize(M, classes))
</source>
On peut changer la « largeur » des inégalités avec le paramètre <code>right = True</code> : ''{{lang|en|right}}'', « droite », est vrai ''({{lang|en|true}})'' lorsque l'inégalité large est à droite, la classe ''i'' désigne les valeurs ''c<sub>i</sub''> &lt; ''x'' ≤ ''c''<sub>''i'' + 1</sub>. La syntaxe est alors <code>np.digitize(M, classes, True)</code> ou bien <code>np.digitize(M, classes, right = True)</code>. Le sens de l'inégalité ne dépend pas du sens du vecteur de classes ; ainsi, ''{{lang|en|right}}'' disigne la valeur supérieure de l'intervalle même si le vecteur de classes est classé par ordre décroissant.
 
La fonction <code>bincount()</code> travaille sur les listes de nombre entiers. Elle renvoie un n-uplet, <code>np.bincount(M)[i]</code> est le nombre de fois que le nombre ''i'' revient dans la matrice M — rappel, le premier élément du n-uplet <code>np.bincount(M)</code> a l'indice 0 donc correspond au nombre de fois que le nombre 0 apparaît dans la matrice M.
 
 
[[Fichier:Histogramme loi normale 50 ech numpy pyplot.png|vignette|Histogramme de la loi centrée réduite tracé avec Python/Numpy/Matplotlib.]]
13 604

modifications