Module externe Numpy pour python (présentation rapide)
À 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.
Voyez ici pour les généralités concernant les modules.
apt install python3-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 remplace les anciens modules externes Numeric et numarray. Il prend également en charge les fonctionnalités des modules internes (c)math et random.
Tableaux
Les tableaux sont des objets plus contraignants que les listes : il n’admettent pas la mixité de type, et leurs «sous-listes» ont nécessairement le même nombre d’éléments.
numpy.array([[2,4],[9,7],[3,5]]) définit in extenso un tableau de trois rangées de deux éléments
numpy.array([[2]*3]*4) produit un tableau de quatre rangées de trois éléments, intialisés à 2
numpy.arange() produit un tableau unidimensionnel avec la suite précisée (voir range(), "réels" acceptés)
numpy.empty((d1, d2, …), type) construit un tableau à plusieurs 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).
numpy.zeros((d1 ,d2, …), type) construit un tableau à n dimensions, chacune ayant d1, d2… éléments; chaque élément est initialisé à 0
numpy.ones((d1,d2,…), type) construit un tableau à n dimensions, chacune ayant d1, d2… éléments; chaque élément est initialisé à 1
Note : l'accès à une cellule d’un tableau tab à deux dimensions peut se faire avec tab[n, m] ou tab[n][m]
numpy.reshape(a, (n, m…)) remet les éléments d’un tableau dans un autre redimensionnement (cela doit tomber juste):
>>> numpy.reshape([1,2,3,4,5,6], (2,3)) array([[1, 2, 3], [4, 5, 6]])
type(numpy.zeros((2,3), "i")) renvoie <class 'numpy.ndarray'>
À suivre…
Fonctions mathématiques
Vous trouverez quelques informations sur ces fonctions en math
Fonctions unaires
absolute(), negative(), sign(), fabs(), conjugate(), floor(), ceil()
exp(), log(), log2(), log10(), sqrt()
invert(), left_shift(), right_shift(), logical_not()
Fonctions binaires
add(), subtract(), multiply(), divide(), divide_safe(), power(), fmod()
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)
numpy.around(reel, n) arrondit un réel à la nième décimale
Fonctions trigonométriques
sin(), cos(), tan(), sinh(), cosh(), tanh()
arcsin(), arccos(), arctan(), arcsinh(), arccosh(), arctanh()
numpy.arctan2(y,x) donne la pente à partir de deux nombres, réponses de -PI à PI selon les signes respectifs de y et x
sous-module random
numpy:
Ce sous-module peut remplacer le module interne random.
numpy.random.bytes(n) donne une chaîne de n caractères au hasard.
numpy.random.randint(n) ou random_integers(n) retourne un entier de 1 à n non inclus
numpy.random.randint(n, m) ou random_integers(n,m) retourne un entier de n à m non inclus
numpy.random.permutation(n) donne un tableau mélangé à une dimension de la série de 0 à n-1.
>>> numpy.random.permutation(6) [5 1 0 4 2 3]
ranf(), random(), sample() ou random_sample() retourne un réel dans l’intervalle [0,1[
shuffle() mélange le contenu d’une liste ou tableau à une dimension (la fonction retourne None) :
Les fonctions suivantes renvoient un ou plusieurs nombres aléatoires selon une loi de distribution, que vous connaissez probablement si vous en avez besoin:
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.
ranf(n), random(n), sample() ou random_sample(n) retourne un tableau de n réels dans l’intervalle [0,1[
rand(d1, d2, …) retourne un tableau à plusieurs dimensions, chaque élément est initialisé dans l’intervalle [0,1[
>>> numpy.random.shuffle(a :=[1,2,3,4]) ; print(a)
[4, 5, 1, 2, 3]
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()
rayleigh()
standard_cauchy()
standard_exponential()
standard_gamma()
standard_normal()
standard_t()
triangular()
uniform()
vonmises()
wald()
weibull()
zipf()