Académique Documents
Professionnel Documents
Culture Documents
en 10 minutes
janvier 2017
Python pour le calcul scientifique et l’analyse de
données 1
I Calcul scientifique
NumPy manipulation de tableaux à N-dimension
Matplotlib graphes 2D (similaire à Matlab)
SciPy calcul scientifique (algèbre linéaire, intégration
numérique, optimisation, etc.)
np . ones ((3 ,4) ) # np . array ([1. , 1. , 1.] ,[1. , 1. , 1.] ,[1. , 1. , 1.])
N = int(1e7)
from random import normalvariate
%timeit [normalvariate(0,1) for i in range(N)]
10.9 s
N = int(1e7)
%timeit np.random.randn(N)
376 ms
• NumPy offre de nombreuses façons d’extraire des données à partir des tableaux
• Changement de type :
I Pour se faire une idée de ce qu’on peut faire avec Matplotlib, voir la
page :
http://matplotlib.org/1.3.1/gallery.html
i m p o r t numpy as np
i m p o r t matplotlib . pyplot as plt # or from pylab import *
Tracé d’histogrammes
50
40
30
20
10
0
0.0 0.2 0.4 0.6 0.8 1.0
100
80
60
40
20
0
4 3 2 1 0 1 2 3 4
Farah AIT SALAHT | Numpy, Matplotlib et Scipy en 10 minutes
Graphiques 2D en utilisant Matplotlib
14
Pour voir ce que l’on peut faire avec Scipy, consulter la page :
http://docs.scipy.org/doc/scipy/reference/
Bibliothèque Scipy :
I Représente ensemble très complet de modules d’algèbre linéaire,
statistiques et autres algorithmes numériques
I Étend le panel de fonction de numpy (Quelques fonctions redondantes
avec celles de NumPy)
I scipy.linalg = extension de numpy.linalg
I scipy.stats : accès à l’ensemble des distributions statistiques /tests ...
i m p o r t numpy as np
from scipy i m p o r t linalg
# Compute eigenvalues
linalg . eigvals (a)
i m p o r t numpy as np
i m p o r t scipy . stats as stat
d = np . array ([0.553 ,0.57 ,0.576 ,0.601 ,0.606 ,0.606 ,0.609 ,0.611 ,0.615 ,
0.628 ,0.654 ,0.662 ,0.668 ,0.67 ,0.672 ,0.69 ,0.693 ,0.749])
# mediane de NumPy
p r i n t ( np . median (d)) # 0.6215
x = np . linspace ( -5 , 3 , 100)
plt . plot (x , f(x) )
À vous de jouer