Arrondir les éléments d'une matrice avec numpy sous python

Pour arrondir les éléments d'une matrice avec numpy il existe la fonction [around](http://docs.scipy.org/doc/numpy/reference/generated/numpy.around.html#numpy.around), exemple: >>> import numpy as np >>> A = np.array((0.4, 1.6, 2.1, -0.7, 0.9)) >>> np.around(A) array([ 0., 2., 2., -1., 1.]) On peut aussi imposer le nombre de chiffres après la virgule en utilisant l'argument 'decimals' : >>> A = np.array((0.04, 1.06, 2.1, -0.7, 0.09)) >>> np.around(A,

Créer une image de couleur quelconque avec PIL sous python

Avec PIL on peut facilement créer une image avec un background de couleur quelconque, illustration: >>> from PIL import Image >>> new_im = Image.new('RGB', (100,200)) >>> new_im.save("MonImage.png", "PNG") ici l'image (codée avec le code RGB) va être de taille (100,200) et par défaut la couleur de fond (background) est noire. Pour avoir une image avec un fond de couleur donné il faut donner en argument le code RGB de la couleur (voir: [RGB Color Codes Chart](http://www.rapidtables

Comment transformer une liste en matrice sous python ?

Sous python vous pouvez facilement transformer une liste de nombres en matrice en passant par la fonction numpy: [asarray()](http://docs.scipy.org/doc/numpy/reference/generated/numpy.asarray.html): illustration: >>> l = [4,1,7,3,2] >>> type(l) <type 'list'> >>> import numpy as np >>> A = np.asarray(l) >>> A array([4, 1, 7, 3, 2]) >>> type(A) <type 'numpy.ndarray'> >>> len(l) 5 >>> A.shape (5,) >>> A.dtype dtype('int32')

Comment tracer un simple histogramme avec matplotlib de python ?

Exemple de comment tracer rapidement un histogramme avec matplotlib à partir d'un ensemble de données: [TOC] ### Tracer un simple histogramme avec matplotlib Pour tracer un histogramme (Note: ne pas confondre [histogramme](http://fr.wikipedia.org/wiki/Histogramme) et [diagramme en bâtons](http://en.wikipedia.org/wiki/Bar_chart)) avec matplotlib il existe la fonction [hist()](http://matplotlib.org/1.3.1/api/pyplot_api.html#matplotlib.pyplot.hist) du module pyplot, exemple: [image:522

Changer l'intervalle des x ou des y d'une figure matplotlib

Avec matplotlib vous pouvez facilement changer l'intervalle des x [xmin,xmax] et des y [ymin,ymax] en utilisant [xlim](http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.xlim) et [ylim](http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.ylim) respectivement, illustration: [image:521 size:100 caption:Changer l'intervalle des x ou des y d'une figure matplotlib] import matplotlib.pyplot as plt x = [1,2,3,4,5,6,7,8,9] y = [10,9,8,7,6,5,4,3,2] plt.scatter(x,y,s=100) p

Exécuter une simple commande externe avec python

Avec python il est possible d'executer une simple commande externe en utilisant la fonction [system()](https://docs.python.org/2/library/os.html#os.system) du module os, comme dans cet exemple >>> import os >>> os.system('ls -l') total 8 drwxr-xr-x 6 toto staff 204 Oct 27 20:17 HomeWork drwxr-xr-x 42 toto staff 1428 Nov 22 11:26 WorkSpace drwxr-xr-x 7 toto staff 238 Nov 11 18:41 Desktop drwxr-xr-x 22 toto staff 748 Nov 17 19:03 Documents 0 >

Rotation des labels des axes d'une figure matplotlib

Avec matplotlib il est possible de tourner les labels correspondant aux axes d'une figure en utilisant [xticks](http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.xticks) et/ou [yticks](http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.yticks) avec l'argument "rotation". Exemple avec [image:519 size:100 caption:Rotation des labels sur les axes d'une figure matplotlib (exemple 1)] import matplotlib.pyplot as plt x = [1,2,3,4,5,6,7,8,9] y = [10,9,8,7,6,5,4,3,2] plt

Comment définir une échelle de couleur discrète pour imshow sous matplotlib ?

> Avec matplotlib il est possible de définir une échelle de couleur discrète pour imshow, illustration: [image:516 size:100 caption:Définir une échelle de couleur discrète pour imshow sous matplotlib (1/3)] from matplotlib import mpl,pyplot import numpy as np Data = np.random.rand(100,100)*100 cmap = mpl.colors.ListedColormap(['blue','black','red']) bounds=[0,25,75,100] norm = mpl.colors.BoundaryNorm(bounds, cmap.N) img = pyplot.imshow(Data,interpolation='nearest', cmap = cmap,

Modifier la valeur d'une colonne avec SQlite et python

Pour mettre-à-jour la valeur d'une colonne avec sqlite il faut utiliser la commande Sqlite: [UPDATE](http://www.tutorialspoint.com/sqlite/sqlite_update_query.htm): UPDATE {NomTable} SET {NomColonne} = {Valeur} WHERE {NomColonne} = {Valeur} En reprenant l'exemple de [Créer une base de données et une table avec sqlite3 de python](http://www.science-emergence.com/Python/PythonFAQ/CreateDataBaseTablePythonSqlite3/), voici un exemple simple sur comment modifier la valeur d'une colonne donnée av

Ajouter une colonne à une table existante avec sqlite et python

> Pour ajouter une colonne à une table existante avec sqlite il faut utiliser la commande Sqlite: [ALTER TABLE](http://www.tutorialspoint.com/sqlite/sqlite_alter_command.htm): ALTER TABLE NomTable ADD COLUMN NomNouvelleColonne ColonneType > En reprenant l'exemple de [Créer une base de données et une table avec sqlite3 de python](http://www.science-emergence.com/Python/PythonFAQ/CreateDataBaseTablePythonSqlite3/), voici un exemple simple de modification d'une table en passant par python et

Accents qui ne s'affichent pas correctement dans ma page HTML

> Si vous n'avez pas les accents qui s'affichent correctement dans votre page HTML, comme dans cet exemple qui va donner l'image ci-contre: [image:512 size:100 caption:Accents qui ne s'affichent pas correctement dans ma page HTML (1/2)] <!DOCTYPE html> <html> <body> Téléchargement </body> </html> > c'est que vous avez oublié la balise <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> > exemple qui marche correctement: [image:513 size:100 caption:Accents

Animer une barre de progression avec JQuery

> Avec [JQuery](http://jquery.com/) on peut rapidement animer une barre de progression. Pour cela, rappelons tout d'abord qu'avec HTML5 on peut facilement créer une barre de progression comme ceci: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <progress max="100" value="60"> <strong>Téléchargement: 60%</strong> </progress> </body> </html> > Il suffit alors d'animer celle-ci en passant par JQuery comme dans cet e

Interpolation numérique avec python

> Avec python il est possible de faire une interpolation numérique en utilisant [interp1d](http://docs.scipy.org/doc/scipy-0.14.0/reference/tutorial/interpolate.html) de scipy, illustration: [image:509 size:100 caption:Interpolation numérique avec python] from scipy.interpolate import interp1d import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 20, 20) y = np.cos(-x**2/8.0) y = np.cos(x) f = interp1d(x, y) f2 = interp1d(x, y, kind='cubic') xnew = np.linspace

Générer des nombres aléatoires depuis une loi normale multidimensionnelle avec python et numpy

Exemple simple sur comment générer des nombres aléatoires depuis une loi normale multidimensionnelle en passant par [numpy.random.multivariate_normal()](http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.multivariate_normal.html): [image:python-rn-multivariate-normal-dist size:100 caption:Générer des nombres aléatoires suivant une loi normale multidimensionnelle (python)] import numpy as np import matplotlib.pyplot as plt mean = [5,20] cov = [[10,5],[5,4]] x,y = np.random

Résoudre une équation du second degré avec python

> Avec python on peut trouver les racines d'une équation polynomiale de degré 2 ($ax^2+bx+c$) en utilisant la fonction numpy: [roots](http://docs.scipy.org/doc/numpy/reference/generated/numpy.roots.html#numpy-roots). Considérons par exemple l'équation polynomiale de degré 2 suivante $x^2+3x-4$ avec les coefficients $a=1$, $b=3$ et $c=-4$, on trouve alors: >>> import numpy as np >>> coeff = [1,3,-4] >>> np.roots(coeff) array([-4., 1.]) > que cette équation admet 2 racines réels

Générer une image à partir d'une page web sous python

> Si vous voulez créer une image d'une page web il existe plusieurs solution. Le plus simple avec python est d'utiliser le script webkit2png.py de [webkit2png](http://www.paulhammond.org/webkit2png/) développé par Paul Hammond: webkit2png.py http://www.google.com/ > le script webkit2png.py: [image:507 size:100 caption:Générer une image à partir d'une page web sous python] #!/usr/bin/python # webkit2png - makes screenshots of web pages # http://www.paulhammond.org/webkit2png __

Simple diagramme circulaire (en camembert) avec matplotlib

Avec matplotlib on peut facilement tracer un simple diagramme circulaire (Pie Chart) en utilisant [pyplot.pie](http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.pie), exemple: [image:505 size:100 caption:Simple diagramme circulaire avec matplotlib (exemple 1)] import matplotlib.pyplot as plt labels = 'Allemagne', 'France', 'Belgique', 'Espagne' sizes = [15, 80, 45, 40] colors = ['yellowgreen', 'gold', 'lightskyblue', 'lightcoral'] plt.pie(sizes, labels=labels, colors=color

Comment passer une liste ou une matrice en argument d'une fonction sous python ?

Exemples de comment passer une liste ou une matrice en argument d'une fonction sous python: [TOC] ### Matrice en argument d'une fonction Avec python il est possible d'avoir une matrice comme argument d'une fonction, exemple: >>> import numpy as np >>> def function( x ): ... return 0.5 * x + 2 ... >>> x = np.arange(0,10,0.1) >>> y = function(x) >>> y array([ 2. , 2.05, 2.1 , 2.15, 2.2 , 2.25, 2.3 , 2.35, 2.4 , 2.45,

Utiliser des variables globales pour une fonction sous python

> Sous python il est possible (mais pas vraiment recommandé) de définir des variables globales que l'on peut ensuite par exemple utiliser dans des fonctions. Pour déclarer une variable global: global a > Exemple d'utilisation pour définir une fonction affine: >>> global a,b >>> a = 0.5 >>> b = 2 >>> def function( x ): ... return a * x + b ... >>> function(1) 2.5 >>> b = 4 >>> function(1) 4.5 ### Recherches associées Liens | Sit

Vérifier si un point et au dessus ou au dessous d'une droite avec python

Dans cet article on va voir comment créer un algorithme pour vérifier si un point et au dessus ou au dessous d'une droite en mathématiques. Pour cela considérons la droite définie par l'équation y=f(x)=a*x+b, on dit qu'un point P de coordonnées (xp,yp) est au dessous de la droite si (voir figure 1): yp - ( a * xp + b ) < 0 qu'on peut aussi pour simplifier écrire: yp - f(xp) < 0 De même on dit qu'un point P de coordonnées (xp,yp) est au dessus de la droite si (voir figure 2)

Tracer une boîte à moustaches avec matplotlib

Avec matplotlib on peut facilement tracer une boîte à moustaches avec la fonction [boxplot](http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.boxplot), illustration: [image:500 size:100 caption:Tracer une boîte à moustaches avec matplotlib (exemple 1)] import matplotlib.pyplot as plt data = [1,2,3,4,5,6,7,8,9] plt.boxplot(data) plt.ylim(0,10) plt.savefig('SimpleBoxPlot.png') plt.show() **Note:** par défaut sous matplotlib les extrémités ('caps' en anglais) des mous

Créer et écrire dans un fichier sous python ?

Sous python pour créer un fichier il suffit d'utiliser la commande suivante: >>> f = open('MonFichier.txt','w') **Attention:** si le fichier existe déjà il va écraser celui-ci. Il est donc conseillé de verifier au préalable si le fichier existe déjà dans votre répertoire courant. Pour cela vous pouvez procéder comme suit: >>> import os.path >>> os.path.isfile('test.txt') False >>> os.path.isfile('MonFichier.txt') True >>> if not os.path.isfile('myfile.txt'

Comment générer une image aléatoire par défaut pour les visiteurs (Django/Python)

Quand vous créer un site web avec Django il peut être intéressant de savoir comment générer une image aléatoire par défaut pour les visiteurs ou membres de votre site (pour le forum, l'espace membre, etc). Dans ce cas vous pouvez créer des "[Identicons](http://fr.wikipedia.org/wiki/Identicon)" comme sur la figure ci-contre qui est une représentation visuelle d'un hash, généralement à partir d'une adresse IP, d'un pseudo, d'une adresse email, ..., permettant d'identifier un utilisateur. Ou alors

Diagramme en bâtons (changer la couleur d'un ou de plusieurs bâtons) sous Matplotlib

Avec matplotlib vous pouvez changer la couleur d'un bâton d'un diagramme en bâtons pour mettre ce dernier en évidence comme dans cet exemple: [image:496 size:100 caption:Diagramme en bâtons (changer la couleur d'un ou de plusieurs bâtons) sous Matplotlib (exemple 1)] import matplotlib.pyplot as plt fig = plt.figure() x = [1,2,3,4,5,6,7,8,9] y = [2,3,5,7,8,5,4,3,2] bars = plt.bar(x, y, color='blue' ) bars[6].set_facecolor('red') plt.savefig('BarHighlight.png') plt.show() Un

Comment ajouter un nombre à tous les éléments d'une liste en python ?

Exemples de comment ajouter un nombre à tous les éléments d'une liste en python: [TOC] ### Ajouter un nombre à une liste de nombres entiers: Ajouter +10 à tous les entiers d'une liste avec une "list comprehension": >>> l2 = [i+10 for i in l] >>> l2 [13, 11, 15, 18, 14] Incrémenter une liste de nombres entiers: >>> l = [3,1,5,8,4] >>> l2 = [i+1 for i in l] >>> l2 [4, 2, 6, 9, 5] ### Ajouter un nombre à une liste de nombres réels Exemple de