site sans réclame PythonCont@ctS'abonner

Modules externe Numpy pour python - www.jchr.be

À

côté des modules internes pour python, c'est-à-dire installés automatiquement avec l'application Python, d'autres modules doivent être installés en supplément de python, comme s'il s'agissait d'applications extérieures. Il se peut que les noms de paquet diffèrent des noms de module à charger. Sur une distribution Debian, ces modules installés se trouvent à une adresse qui ressemble à /usr/lib/python2.7/dist-packages/

Voyez ici pour les généralités concernant les modules.

apt-get install python-numpy installe numpy sur un système Debian

Module numpy (tableaux et matrices)

Voir impérativement la page modules pour les généralités.

Ce module, apparu sur Debian à partir de la version 4.0 Etch (Python2.4?), est destinée à remplacer les modules externes Numeric et numarray. Il prend également en charge les fonctionnalités des modules internes (c)math et random.

Tableaux

array([[2,4],[9,7],[3,5]) définit in extenso un tableau de trois rangées de deux éléments
array([[2]*3]*4) produit un tableau de quatre rangées de trois éléments, intialisés à 2
arange() produit un tableau unidimensionnel avec la suite précisée (voir range(), "réels" acceptés)
empty((d1,d2,...),'type') construit un tableau à n dimensions, chacune ayant d1,d2... éléments; ces éléments ne sont pas initialisés, mais un type peut être défini: 'i'=entiers, 'f'=float32, 'd'=floatdouble, 'c'=caractères

zeros((d1,d2,...),'type') construit un tableau à n dimensions, chacune ayant d1,d2... éléments; chaque élément est initialisé à 0
ones((d1,d2,...),'type') construit un tableau à n dimensions, chacune ayant d1,d2... éléments; chaque élément est initialisé à 1

reshape(a,(n,m...)) remet les éléments d'un tableau dans un autre redimensionnement (cela doit tomber juste):

>>> reshape([1,2,3,4,5,6],(2,3))
array([[1, 2, 3],
       [4, 5, 6]])

À suivre...

numpy: fonctions mathématiques

Vous trouverez quelques informations sur ces fonctions en math

fonctions unaires: absolute, negative, sign, fabs, fmod, conjugate, floor, ceil
exp, log, log2, log10, sqrt
invert, left_shift, right_shift, logical_not
sin, cos, tan, sinh, cosh, tanh
arcsin, arccos, arctan, arcsinh, arccosh, arctanh

fonctions binaires: add, subtract, multiply, divide, divide_safe, power
greater, greater_equal, less_equal, less, equal, not_equal
bitwise_and, bitwise_or, bitwise_xor
logical_and, logical_or, logical_xor
maximum, minimum, hypot(c1,c2)
around(reel,n) arrondissement d'un réel à la nième décimale
arctan2(y,x) donne la pente à partir de deux nombres, réponses de -PI à PI selon les signes respectifs de y et x

numpy: sous-module random

Ce sous-module peut remplacer le module interne random.

bytes(n) donne une chaîne de n caractères au hasard.

randint(n) ou random_integers(n) retourne un entier de 1 à n non inclus
randint(n,m) ou random_integers(n,m) retourne un entier de n à m non inclus
permutation(n) donne un tableau mélangé à une dimension de la série de 0 à n-1.

>>> import random.numpy
>>> print random.numpy.permutation(6)
[5 1 0 4 2 3]

ranf, random, sample ou random_sample() retourne un réel dans l'intervalle [0,1[
ranf, random, sample ou random_sample(n) retourne un tableau de n réels dans l'intervalle [0,1[
rand(d0,d1...) retourne un tableau à plusieurs dimensions, chaque élément est initialisé dans l'intervalle [0,1[

shuffle() mélange le contenu d'une liste ou tableau à une dimension:

>>> a=[1,2,3,4]
numpy.random.shuffle(a); print a

Les fonctions suivantes renvoient un nombre aléatoire selon une loi de distribution, que vous connaissez probablement si vous en avez besoin:

beta()
binomial()
chisquare()
exponential() 
f()
gamma()
geometric()
gumbel()
hypergeometric() 
laplace()
logistic()
lognormal()
logseries()
multinomial()
multivariate_normal()
negative_binomial()
noncentral_chisquare() 
noncentral_f()
normal()
pareto()
poisson()
power()
randn()
rayleigh()
standard_cauchy()
standard_exponential() 
standard_gamma()
standard_normal()
standard_t()
triangular()
uniform()
vonmises()
wald()
weibull()
zipf()

Par exemple, numpy.random.normal(2,1.3) retourne un réel selon la probabilité décrite par la répartition d'une courbe normale de centre 2 et d'écart-type 1.3.