Notebook Articles

Take notes and save or share what you have learned

Articles: 660

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)

Comment télécharger un fichier pdf du web à partir de son url en python ?

Pour télécharger un fichier pdf du web à partir de son url en python il existe le module [urllib](https://docs.python.org/2/library/urllib.html) et la fonction urlretrieve. Soit par exemple le fichier pdf en ligne suivant: http://math.univ-toulouse.fr/~besse/Wikistat/pdf/st-intro.pdf Pour télécharger on peut alors faire comme ceci: >>> import urllib >>> urllib.urlretrieve('http://math.univ-toulouse.fr/~besse/Wikistat/pdf/st-intro.pdf', "st-intro.pdf") Note: on peut aussi

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],

Selection aléatoire d'un échantillon à partir d'un tableau de données sous Numpy

Dans cet article on va voir comment sélectionner aléatoirement un échantillon à partir de données stockées dans une matrice. Pour cela, supposons que les données sont dans une matrice m de dimension (5,2). Pour sélectionner aléatoirement les données il existe plusieurs possibilités ([voir](http://stackoverflow.com/questions/13335407/create-numpy-array-with-random-elements-from-list)), on va ici utiliser la méthode [random.shuffle](http://docs.scipy.org/doc/numpy/reference/generated/numpy.rand

Utiliser Matplotlib avec Django

### Figure Matplotlib avec Django **urls.py** url(r'^_Matplotlib/Bar/$', 'visualization.views.GraphsViewBar'), **views.py** [image:430 size:100 caption:Matplotlib avec Django (Exemple simple)] # -*- coding: utf-8 -*- from django.shortcuts import render_to_response from django.template import RequestContext from django.http import HttpResponseRedirect from wiki.models import Article, ArticleRevision, URLPath from django.http import HttpResponse from matplotlib.backends.back

Comment obtenir l'adresse IP d'un visiteur avec django ?

Exemple de comment obtenir l'adresse ip d'un visiteur sous django: [TOC] ### Obtenir l'adresse ip du visteur def visitor_ip_address(request): x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') if x_forwarded_for: ip = x_forwarded_for.split(',')[0] else: ip = request.META.get('REMOTE_ADDR') return ip ### Verifier si l'adresse ip est valide On peut ensuite vérifier si l'adresse ip est valide

Remplacer / Supprimer un mot dans une phrase en python

Pour remplacer / supprimer un mot dans une phrase en python il existe la méthode [replace](https://docs.python.org/2/library/string.html). Exemple: >>> s = 'Bonjour, comment ca va ?' >>> s = s.replace('Bonjour','Salut') >>> s 'Salut, comment ca va ?' >>> s = s.replace('Salut','') >>> s ', comment ca va ?' >>> s = 'Salut, comment ca va, Salut' >>> s = s.replace('Salut','') >>> s ', comment ca va, ' >>> ### Recherches associées Liens | Site ----

Comment barrer du texte en HTML

Pour barrer du texte en HTML il existe la balise: [del](http://www.w3schools.com/tags/tag_del.asp). Exemple: [image:436 size:100 caption:Comment barrer du texte en HTML] <!DOCTYPE html> <html> <body> Mon sport prefere est le <del>football</del>, tennis ! </body> </html> ### Recherches associées Liens | Site ------------- | ------------- [Balise del](http://www.w3schools.com/tags/tag_del.asp) | w3schools [del](https://developer.mozilla.org/fr/docs/Web/HTML/Element/del) | devel

Obtenir une liste des sous-répertoires en python

Avec python il est possible d'obtenir une liste des sous-répertoires composant un répertoire donné à l'aide de la méthode [walk](https://docs.python.org/2/library/os.html). A titre d'exemple considérons la configuration suivante: FolderRoot: -> F1: -> F11 -> F12 -> F2 -> F3 Si on se place au niveau du répertoire "FolderRoot" et qu'on lance python puis la commande [x[0] for x in os.walk('FolderRoot')] on obtient bien la liste de tous les ré

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: