Notebook Articles

Take notes and save or share what you have learned

Articles: 641

Importer son module personnel sous python ?

Dans cet article on va voir comment importer son ou ses module(s) avec Python. Pour rappel, les [modules](https://docs.python.org/2/tutorial/modules.html) sont importants pour pouvoir ensuite construire des "packages" et aussi pour éviter de se répéter (DRY principle). ### Script et module(s) sous le même répertoire Pour ce premier exemple on suppose que le programme principal "MyScript.py" et le module MyModule.py sont sous le même répertoire. Voici alors comment importer le module dans le pr

Comment lire un fichier audio avec le HTML ?

Avec le langage HTML5, il est possible de lire des fichiers audio dans votre page HTML, en passant par la balise HTML5 intitulée: "audio" (voir le site [w3schools](http://www.w3schools.com/html/html_sounds.asp) pour plus de détails). Pour que le lecteur audio marche dans la majorité des navigateurs internet (i.e. firefox, chrome, safari, ...) le fichier audio doit être enregistré sous le format mp3. Exemple: [image:455 size:100 caption:Lecteur audio avec HTML5.] <!DOCTYPE html> <html> <

Retrouver l'adresse URL dans views.py sous Django

> Pour retrouver l'adresse URL dans le fichier views.py il faut utiliser la fonction django: [reverse](https://docs.djangoproject.com/en/dev/topics/http/urls/#reverse). Comme dans cet exemple test: > views.py from django.core.urlresolvers import reverse def MyView(request): print reverse('MyApp.views.MyView') > urls.py: url(r'^/Forum/01/$', 'MyApp.views.MyView') > donne alors: /Forum/01/ ### Recherches associées Liens | Site ------------- | ------------- [UR

Mettre une grille sur une figure avec Matplotlib

Avec matplotlib il est possible de rajouter une grille de fond sur votre figure en utilisant la fonction grid (voir la documentation de matplotlib [matplotlib.pyplot.grid()](http://matplotlib.org/api/pyplot_api.html) pour connaitre l'ensemble des arguments possibles). Exemple simple: [image:454 size:100 caption:Mettre une grille sur une figure avec Matplotlib] import matplotlib.pyplot as plt import numpy as np x = np.arange(-5,5, .01) y = np.sin(2*np.pi*x) plt.xlim(-5,5) plt.ylim(-

Augmenter / Ajuster l'espace entre les labels des axes et la figure avec Matplotlib

Avec matplotlib on peut facilement ajuster l'espace entre les labels et la figure en utilisant l'argument "labelpad" avec xlabel et/ou ylabel. Exemple avec labelpad=20: [image:452 size:100 caption:Exemple (1/2) avec labelpad=20: Comment augmenter l'espace entre les labels des abscisses et la figure sous Matplotlib.] import matplotlib.pyplot as plt import numpy as np def f(x): return 0.4 * x + 2 fig, ax = plt.subplots() plt.plot([0.0, 10.0], [0.0, 10.0], 'r-', lw=2) # Red st

Tracer une ligne droite avec matplotlib

Pour tracer une simple ligne droite avec matplotlib il existe la fonction plot du module [pyplot](http://matplotlib.org/api/pyplot_api.html#module-matplotlib.pyplot) dont voici un exemple simple d'utilisation: [image:450 size:100 caption:Tracer une simple ligne droite avec matplotlib (1/2)] import matplotlib.pyplot as plt import numpy as np plt.plot([0.0, 10.0], [0.0, 10.0], 'r-', lw=2) # Red straight line plt.plot([2.0, 6.0], [0.0, 10.0], 'b--', lw=2) # Blue dashed straight line

Sélectionner le dernier élément d'une liste python

Avec python il est facile de retrouver le dernier élément d'une liste, illustration: >>> a = [5,2,7,8] >>> a[-1] # dernier élément de la liste a 8 >>> a[-2] # avant dernier élément de la liste a 7 ### Recherches associées Liens | Site ------------- | ------------- [Data Structures](https://docs.python.org/2/tutorial/datastructures.html) | Python Doc [How to get the last element of a list?](http://stackoverflow.com/questions/930397/how-to-get-the-last-element-of-a-list)

Télécharger un fichier pdf du web avec python

Avec python il est possible de télécharger un fichier pdf du web sur votre ordinateur en deux lignes de commande en passant par le module [urllib](https://docs.python.org/2/library/urllib.html), comme dans cet exemple: >>> import urllib >>> urllib.urlretrieve('http://math.univ-toulouse.fr/~besse/Wikistat/pdf/st-intro.pdf', "st-intro.pdf") ### Recherches associées Liens | Site ------------- | ------------- [urllib](https://docs.python.org/2/library/urllib.html) | Python Doc [Python

Obtenir une liste des liens d'une page HTML en python

Avec python il est possible d'obtenir une liste des liens provenant d'une page HTML en passant par le module [beautifulsoup4](https://pypi.python.org/pypi/beautifulsoup4/4.3.2). Dans cet exemple, on récupère tous les liens sur la page wikipedia sur Alan Turing: # -*- coding: utf-8 -*- from bs4 import BeautifulSoup import urllib2 import re html_page = urllib2.urlopen("http://fr.wikipedia.org/wiki/Alan_Turing") soup = BeautifulSoup(html_page) LinksList = [] for link in soup.findAll(

Vérifier si une adresse url existe avec python

Avec python il est possible de vérifier si une adresse url existe ou pas grâce aux modules [httplib](https://docs.python.org/2/library/httplib.html) et [urlparse](https://docs.python.org/2/library/urlparse.html). Voici un exemple de mise en pratique ([source](http://stackoverflow.com/questions/6471275/python-script-to-see-if-a-web-page-exists-without-downloading-the-whole-page)): # -*- coding: utf-8 -*- import httplib from urlparse import urlparse def checkUrl(url): p = urlparse(url

Boucle "for" sur 2 ou plusieurs "queryset" dans le template

Considérons, tout d'abord, le cas simple, où on veut dans le template créer un tableau en utilisant une boucle "for" à partir d'un "queryset", on procède alors généralement comme ceci, dans views.py : def MyView(request): MyQuerySet = Article.objects.order_by('-modified') return render_to_response("MyApp/exemple.html", {'MyQuerySet':MyQuerySet}, context_instance=RequestContext(request)) et dans le template (intitulé ici exemple.html) <table class="table table-striped

Requête avec un filtre utilisant une liste (Django)

Avec django il est possible de mettre en place une requête avec un filtre utilisant une liste, voir exemple ([source](http://stackoverflow.com/questions/4916851/django-get-a-queryset-from-array-of-ids-in-specific-order)) id_list = [1, 5, 7] objects = Foo.objects.filter(id__in=id_list) ### Recherches associées Liens | Site ------------- | ------------- [The pk lookup shortcut](https://docs.djangoproject.com/en/dev/topics/db/queries/#the-pk-lookup-shortcut) | Django Doc [in](https://d

Créer une liste de nombres avec python

Avec python il est possible de créer une liste de nombres en utilisant la fonction "build-in" [range](https://docs.python.org/2/library/functions.html#range), exemple: >>> a = range(1,10) >>> a [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a = range(10) >>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a = range(4,10) >>> a [4, 5, 6, 7, 8, 9] >>> a = range(0,10,1) >>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a = range(0,-10,-1) >>> a [0, -1, -2, -3, -4, -5, -6,

Changer la taille de la police dans la légende (matplotlib)

Pour changer la taille de la police dans une légende sous matplotlib il suffit d'ajouter le mot clé "prop" (i.e. plt.legend(prop={'size':12}) dans la fonction pyplot: [legend](http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.legend) comme dans cette exemple [image:448 size:100 caption:Changer la taille de la police dans la légende sous matplotlib (Exemple avec plt.legend())] [image:449 size:100 caption:Changer la taille de la police dans la légende sous matplotlib (Exemple avec pl

Boucle simultanée sur 2 ou plusieurs listes en python

Avec python il est possible de faire une boucle simultanée sur 2 ou plusieurs listes en même temps avec la fonction [zip](https://docs.python.org/2/library/functions.html#zip). Exemple basique d'utilisation: >>> a = [1,7,2] >>> b = [8,9,4] >>> for i,j in zip(a,b): ... print i,j ... 1 8 7 9 2 4 >>> c = [121,143,876] >>> for i,j,k in zip(a,b,c): ... print i,j,k ... 1 8 121 7 9 143 2 4 876 ### Recherches associées Liens | Sit

Comment avoir la colorbar de la même taille que la figure avec matplotlib ?

Exemple de comment ajuster la taille de la colorbar à la figure avec matplotlib : [TOC] ### Colorbar de meme taille que la figure avec matplotlib Un problème récurrent avec matplotlib est de vouloir adapter la taille de la colorbar au graphique comme dans l'exemple ci-dessous: [image:446 size:50 caption:Adapter la taille de la colorbar au graphique (matplotlib) (1/2)] import matplotlib.pyplot as plt from mpl_toolkits.axes_grid1 import make_axes_locatable import numpy as np

Limiter le nombre de requêtes avec Django

Considérons le cas où on veut, par exemple, avec django seulement afficher les 10 derniers membres inscrits sur notre site. Pour cela, il est intéressant de pourvoir limiter le nombre de requêtes. Dans ce cas, il suffit d'ajouter à la fin de la requête [:10] comme dans cet [exemple](http://stackoverflow.com/questions/6574003/django-limiting-query-results) (dans le fichier views.py): User.objects.all().order_by('-id')[:10] ### Recherches associées Liens | Site ------------- | ---

Message d'erreur ou informatif dans le HTML avec Django

Avec Django il est possible de mettre automatiquement des [messages](https://docs.djangoproject.com/en/dev/ref/contrib/messages/)d'erreurs/informatifs dans le template html. Considérons un exemple simple: on souhaite mettre un message dans le html si quelque chose ne s'est pas bien passé en voulant afficher la page. Pour cela, dans le fichier views.py il suffit d'ajouter, au minimum, les quelques lignes suivantes: [image:444 size:100 caption:Figure 1: Message d'erreur ou informatif dans le HT

Trouver le plus grand élément dans une liste (python)

Avec python pour trouver la valeur maximum dans une liste de nombre il existe la fonction "build-in": max. Un exemple simple d'utilisation: >>> a = [3,8,3,5,9,1,4] >>> max(a) 9 Pour trouver l'indice (ou les indices sir la valeur maximum est présente plusieurs fois dans la liste) vous pouvez utiliser l'approche suivante: >>> a = [3,8,3,5,9,1,4] >>> m = max(a) >>> [i for i, j in enumerate(a) if j == m] [4] Note: dans le cas où la liste comprend des nombres et des

Générer un nombre aléatoire dans un intervalle donné (python)

Pour générer un nombre aléatoire avec python il existe le module [random](https://docs.python.org/2/library/random.html). Par exemple, si on veut générer un nombre entier aléatoire dans un intervalle donné [2,9] il faut utiliser la fonction randint comme ceci: >>> from random import randint >>> randint(2,9) 6 >>> for i in range(10): ... print randint(2,9) ... 2 9 2 9 9 7 4 5 3 6 Pour un nombre réel, il faut utiliser la fon

Concaténer deux matrices avec c_ (numpy)

L'instance de classe [c_](http://docs.scipy.org/doc/numpy/reference/generated/numpy.c_.html) est assez populaire sous numpy et permet rapidement de concaténer deux matrices sur le dernier axe. On utilise le plus souvent cette instance pour concaténer des matrices de dimension (n*1): >>> import numpy as np >>> a = np.array([5,2,1,7]) >>> b = np.array([9,0,8,6]) >>> c = np.c_[a,b] >>> c array([[5, 9], [2, 0], [1, 8], [7, 6]]) Un autre exe

Extraire le code RGB à partir d'une colormap de Matplotlib

Présentation du problème: On dispose par exemple d'un graphique réalisé avec matplotlib (dans notre exemple on a utilisé le code [suivant](http://scikit-learn.org/stable/auto_examples/svm/plot_separating_hyperplane.html) qui est un nuage de points avec deux classes de couleurs différentes) et on souhaite utiliser les mêmes couleurs pour construire un autre graphique comme un histogramme. Avec python et matplotlib il est relativement simple de récupérer le code RGB pour une colormap donnée ([voir

Ajuster les bords d'une figure Matplotlib

### Cas général [image:185 size:100 caption:Image No Tight Layout] [image:186 size:100 caption:Image With Tight Layout] #!/usr/bin/env python from numpy import * import numpy as np import matplotlib.pyplot as plt x = np.arange(10) h = [0,1,2,3,5,6,4,2,1,0] fig = plt.figure() plt.title('Title') plt.xlim(0, 10) plt.ylim(0, 8) plt.xlabel('x label') plt.ylabel('y label') bar1 = plt.bar(x,h,width=1.0,bottom=0,color='Green',alpha=0.65,label='Legend') plt.

Afficher une matrice avec des virgules comme séparateur entre les éléments (Numpy)

Quand on veut imprimer à l'écran une matrice avec 'print' on obtient une représentation de celle-ci relativement simple de type [[ 0 1 2 ]] avec les éléments séparés par des espaces. Si on veut afficher une matrice avec des virgules comme séparateur entre les éléments, il faut passer par [repr](https://docs.python.org/2/library/repr.html) ou [pprint](https://docs.python.org/2/library/pprint.html) comme dans cet exemple: import numpy as np import pprint m = np.arange(15).reshape((5, 3))

Estimation par noyau 2d (scipy + matplotlib)

Exemple d'estimation par noyau 2d utilisant scipy et matplotlib: [image:441 size:100 caption:Estimation par noyau 2d (scipy + matplotlib)] from scipy import stats, mgrid, c_, reshape, random, rot90 import numpy as np import matplotlib.pyplot as plt import matplotlib.cm as cm values = np.array([[ 0.04810362, 0.02606397], [ 0.21804558, 0.19724609], [ 0.02868612, 0.00172462], [ 0.40554094, 0.35376897], [ 0.43878371, 0.19474262], [ 0.37266064, 0.37235034],

About


An article helps to save or share information. After creating an article it is possible to add multiple authors and manage the permissions

Create an article

Search


Use the following form to retrieve an article: