Pandas, Plotly et Jupyter : De l'analyse de données à l'application en ligne (1/3)
modification date: 2022-02-04T17:07:00.265045+00:00
type: siocBlogPost
entry of: https://www.logilab.fr/3792644
creation date: 2022-02-04T16:51:12.912814+00:00
heading: Nous proposons une série de quelques articles où nous allons analyser les licences sportives en France à l’aide de Pandas, et nous réaliserons une interface utilisateur avec des widgets.
content format: text/markdown
in state: beta.logilab.fr1339
has creator: https://www.logilab.fr/19794100
cw source: beta.logilab.fr1
content: _Temps de lecture estimé 10 minutes._ Nous proposons une série de quelques articles où nous allons utiliser la bibliothèque Pandas pour analyser les licences sportives en France. En chemin, nous réaliserons une interface utilisateur avec des widgets. Cette série sera découpée en trois articles. Dans le premier, nous allons explorer le jeu de données à notre disposition en utilisant la bibliothèque Pandas. Dans le second, nous introduirons *Jupyter* et les *ipywidgets* qui nous permettront de faire une interface utilisateur. Nous terminerons la série en présentant *Voilà* ainsi que le thème *jupyter-flex*. # *Pandas, jupyter, ipywidgets, voilà* ? De quoi parle-t-on ? - [Pandas](https://pandas.pydata.org/) est une bibliothèque Python très connue, qui permet d’analyser et d’étudier des jeux de données. Elle est conçue pour traiter des jeux de données tabulaires (ceux pouvant être lus par un tableur). Les données peuvent être de différents types (nombres, dates, chaînes de caractères, etc). Pandas est, comme nous le verrons, très efficace. Les fonctions coûteuses de Pandas sont généralement écrites en C, et Python est utilisé pour manipuler et appeler ces fonctions. - [Jupyter](https://jupyter.org/) est une plateforme, utilisable dans un navigateur web qui permet d’exécuter des calepins (*notebooks*). Un calepin est un fichier qui combine des cellules de différents types : du code exécutable, du texte, des visualisations, etc. - Les [Ipywidgets](https://ipywidgets.readthedocs.io/en/latest/) sont des éléments graphiques interactifs que l’on peut ajouter à des calepins *Jupyter*. Ils vont nous permettre de proposer aux utilisateurs de choisir un fichier, choisir un élément dans une liste, cliquer sur un bouton, etc. Chacune des actions de l’utilisateur peut être associée à une fonction Python, et donc rendre le calepin interactif. - [Voilà](https://github.com/voila-dashboards/voila) est une application qui permet d’exécuter des calepins, mais sans afficher le code source …
type: BlogEntry
word count: 1957
sioccontent: _Temps de lecture estimé 10 minutes._ Nous proposons une série de quelques articles où nous allons utiliser la bibliothèque Pandas pour analyser les licences sportives en France. En chemin, nous réaliserons une interface utilisateur avec des widgets. Cette série sera découpée en trois articles. Dans le premier, nous allons explorer le jeu de données à notre disposition en utilisant la bibliothèque Pandas. Dans le second, nous introduirons *Jupyter* et les *ipywidgets* qui nous permettront de faire une interface utilisateur. Nous terminerons la série en présentant *Voilà* ainsi que le thème *jupyter-flex*. # *Pandas, jupyter, ipywidgets, voilà* ? De quoi parle-t-on ? - [Pandas](https://pandas.pydata.org/) est une bibliothèque Python très connue, qui permet d’analyser et d’étudier des jeux de données. Elle est conçue pour traiter des jeux de données tabulaires (ceux pouvant être lus par un tableur). Les données peuvent être de différents types (nombres, dates, chaînes de caractères, etc). Pandas est, comme nous le verrons, très efficace. Les fonctions coûteuses de Pandas sont généralement écrites en C, et Python est utilisé pour manipuler et appeler ces fonctions. - [Jupyter](https://jupyter.org/) est une plateforme, utilisable dans un navigateur web qui permet d’exécuter des calepins (*notebooks*). Un calepin est un fichier qui combine des cellules de différents types : du code exécutable, du texte, des visualisations, etc. - Les [Ipywidgets](https://ipywidgets.readthedocs.io/en/latest/) sont des éléments graphiques interactifs que l’on peut ajouter à des calepins *Jupyter*. Ils vont nous permettre de proposer aux utilisateurs de choisir un fichier, choisir un élément dans une liste, cliquer sur un bouton, etc. Chacune des actions de l’utilisateur peut être associée à une fonction Python, et donc rendre le calepin interactif. - [Voilà](https://github.com/voila-dashboards/voila) est une application qui permet d’exécuter des calepins, mais sans afficher le code source …

AFPYRo du 16 mars 2023
content: Les AFPYRo reprennent et le prochain aura lieu dans nos locaux parisiens entre Denfert Rochereau et la Place d'Italie ! Un AFPYRo est un événement organisé par l’[AFPy](https://www.afpy.org/) − Association Francophone Python − pour regrouper des personnes souhaitant discuter du langage de programmation Python dans un cadre convivial. Après une ou deux présentations (vous pouvez [proposer la vôtre](https://discuss.afpy.org/t/pour-les-parisiens-afpyro-chez-logilab-le-16-mars/1384)), nous échangerons autour de quelques pizzas. Le prochain AFPYRo sera donc à Logilab, au 104 Boulevard Auguste Blanqui 75013 Paris, le 16 mars 2023 de 19h à 21h et nous offrirons les pizzas. N’hésitez pas à [vous inscrire](https://discuss.afpy.org/t/pour-les-parisiens-afpyro-chez-logilab-le-16-mars/1384) et à passer nous voir !
modification date: 2023-02-27T17:09:52.077200+00:00
cw source: beta.logilab.fr1
type: BlogEntry
sioccontent: Les AFPYRo reprennent et le prochain aura lieu dans nos locaux parisiens entre Denfert Rochereau et la Place d'Italie ! Un AFPYRo est un événement organisé par l’[AFPy](https://www.afpy.org/) − Association Francophone Python − pour regrouper des personnes souhaitant discuter du langage de programmation Python dans un cadre convivial. Après une ou deux présentations (vous pouvez [proposer la vôtre](https://discuss.afpy.org/t/pour-les-parisiens-afpyro-chez-logilab-le-16-mars/1384)), nous échangerons autour de quelques pizzas. Le prochain AFPYRo sera donc à Logilab, au 104 Boulevard Auguste Blanqui 75013 Paris, le 16 mars 2023 de 19h à 21h et nous offrirons les pizzas. N’hésitez pas à [vous inscrire](https://discuss.afpy.org/t/pour-les-parisiens-afpyro-chez-logilab-le-16-mars/1384) et à passer nous voir !
creation date: 2023-02-27T17:09:05.523939+00:00
content format: text/markdown
type: siocBlogPost
heading: Les AFPYRo reprennent et le prochain aura lieu dans nos locaux parisiens entre Denfert Rochereau et la Place d'Italie !
entry of: beta.logilab.fr1377
word count: 101
in state: beta.logilab.fr1339
has creator: https://www.logilab.fr/19794100

Pandas, Plotly et Jupyter : De l’analyse de données à l’application en ligne (2/3)
content format: text/markdown
word count: 860
modification date: 2022-06-27T13:11:13.019559+00:00
type: BlogEntry
heading: Dans un article prédécent nous vous proposions une analyse de données à l’aide de la bibliothèque Pandas. Nous y avions construit une série de graphiques simples pour réaliser cette analyse. Dans cet épisode, nous allons aborder les widgets qui vont nous permettre de rendre ces graphiques dynamiques
sioccontent: Temps de lecture estimé 10 minutes. Dans un [article précédent](https://www.logilab.fr/blogentry/13252264) nous vous proposions une analyse de données à l’aide de la bibliothèque Pandas. Nous y avions construit une série de graphiques simples pour réaliser cette analyse. Dans cet épisode, nous allons aborder les *widgets* qui vont nous permettre de rendre ces graphiques dynamiques. Il est conseillé d’avoir lu l’article précédent qui détaille la structure des données utilisées. ## Qu’est-ce qu’un *widget* ? Dans un calepin jupyter, le code peut facilement être édité et rejoué. Il est donc assez simple d’effectuer des changements. Il est toutefois possible que les utilisateurs finaux de l’application ne sachent pas programmer ou simplement qu’on préfère avoir un moyen simple d'interagir (sans avoir à relire le code Python et à le modifier). Dans de tels cas, les *widgets* constituent une bonne solution. Les *widgets* sont des objets qui sont rendus dynamiquement dans les calepins Jupyter, et avec lesquels il est possible d’interagir. La bibliothèque de base pour construire ces *widgets* est [`ipywidgets`](https://ipywidgets.readthedocs.io/en/latest/). Dans l’exemple ci-dessous, la bibliothèque est importée puis un curseur glissant est construit. ```ipython >>> import ipywidgets as ipw >>> ipw.IntSlider(min=0, max=20, step=2) ``` À l’exécution de la cellule Jupyter, le *widget* est affiché. ![](https://www.logilab.fr/file/19793781/raw/e852cfbe7238489c4ae60251c.png) La connexion entre le *widget* affiché dans la page Web et l’objet python a été automatiquement définie. Cela signifie que si l’objet python est modifié, le rendu du *widget* est modifié et vice-versa. Dans le cas présent, l’attribut ``value`` du *widget* vaut ``6``. À titre d’exemple, on peut construire un curseur glissant comme ceci : ```ipython >>> slider = ipw.IntSlider(min=0, max=20, step=2) >>> slider ``` puis modifier dynamiquement la valeur de cet objet. Le rendu sera alors mis à jour. ```ipython >>>…
in state: beta.logilab.fr1339
has creator: https://www.logilab.fr/19794100
type: siocBlogPost
entry of: https://www.logilab.fr/3792644
content: Temps de lecture estimé 10 minutes. Dans un [article précédent](https://www.logilab.fr/blogentry/13252264) nous vous proposions une analyse de données à l’aide de la bibliothèque Pandas. Nous y avions construit une série de graphiques simples pour réaliser cette analyse. Dans cet épisode, nous allons aborder les *widgets* qui vont nous permettre de rendre ces graphiques dynamiques. Il est conseillé d’avoir lu l’article précédent qui détaille la structure des données utilisées. ## Qu’est-ce qu’un *widget* ? Dans un calepin jupyter, le code peut facilement être édité et rejoué. Il est donc assez simple d’effectuer des changements. Il est toutefois possible que les utilisateurs finaux de l’application ne sachent pas programmer ou simplement qu’on préfère avoir un moyen simple d'interagir (sans avoir à relire le code Python et à le modifier). Dans de tels cas, les *widgets* constituent une bonne solution. Les *widgets* sont des objets qui sont rendus dynamiquement dans les calepins Jupyter, et avec lesquels il est possible d’interagir. La bibliothèque de base pour construire ces *widgets* est [`ipywidgets`](https://ipywidgets.readthedocs.io/en/latest/). Dans l’exemple ci-dessous, la bibliothèque est importée puis un curseur glissant est construit. ```ipython >>> import ipywidgets as ipw >>> ipw.IntSlider(min=0, max=20, step=2) ``` À l’exécution de la cellule Jupyter, le *widget* est affiché. ![](https://www.logilab.fr/file/19793781/raw/e852cfbe7238489c4ae60251c.png) La connexion entre le *widget* affiché dans la page Web et l’objet python a été automatiquement définie. Cela signifie que si l’objet python est modifié, le rendu du *widget* est modifié et vice-versa. Dans le cas présent, l’attribut ``value`` du *widget* vaut ``6``. À titre d’exemple, on peut construire un curseur glissant comme ceci : ```ipython >>> slider = ipw.IntSlider(min=0, max=20, step=2) >>> slider ``` puis modifier dynamiquement la valeur de cet objet. Le rendu sera alors mis à jour. ```ipython >>>…
cw source: beta.logilab.fr1
creation date: 2022-06-27T12:33:43.519231+00:00

Resourcecode
content: 400 mots - Temps de lecture 2 min ![](https://www.logilab.fr/file/16368263/raw/748bab1cd694a1a4fa0703996_200px.png) Le 10 mars 2022 a eu lieu le lancement de la « boite-à-outils Resourcecode » devant plus d’une centaine de partenaires du projet. Logilab est fière d’avoir pu participer à ce projet. [Resourcecode](http://resourcecode.info/) est un projet visant à soutenir les investissements et la croissance dans le secteur de l’énergie houlomotrice et maréomotrice par la création d’une boîte à outils intégrée de données marines. Concrètement, des données décrivant l’état de la mer (vitesse du vent, hauteur des vagues, direction du courant, etc) sont enregistrées par des bouées de l’[IFREMER](https://ifremer.fr/) (*Institut Français de Recherche pour l'Exploitation de la Mer*) et de ses partenaires. Des données de 1994 à 2020 sont disponibles pour des milliers de points de l’océan Atlantique et de la mer du Nord avec une résolution temporelle de l’ordre de l’heure. Une fois ces données enregistrées, elles peuvent être interpolées sur les points d’un maillage triangulaire. Logilab a remporté un appel d’offre, déposé par l’Ifremer, dans le cadre de ce projet. Nous avons eu la charge de réaliser : - une application web [resourcecode.ifremer.fr](https://resourcecode.ifremer.fr) permettant la visualisation des points où les données sont accessibles et proposant des outils statiques ou interactifs basés sur des calepins [Jupyter](jupyter.org/) afin d’étudier la mer au point considéré. - produire une bibliothèque python [resourcecode](https://pypi.org/project/resourcecode) permettant de télécharger localement les données d’un point sous forme de `DataFrame` Pandas. L'intégration continue de la forge GitLab de l'IFREMER génère avec Sphinx la [documentation](https://resourcecode.gitlab-pages.ifremer.fr/resourcecode/) de cette bibliothèque. - intégrer à cette bibliothèque des codes de calculs écrits par l’IFREMER et ses partenaires (codes écrits en R, MATLAB ou Python) - mettre…
title: Resourcecode
cw source: beta.logilab.fr1
heading: Le 10 mars 2022, l'IFREMER a présenté les résultats du projet http://resourcecode.info/ devant plus d’une centaine de parties prenantes.
modification date: 2022-04-12T15:29:50.904539+00:00
type: BlogEntry
sioccontent: 400 mots - Temps de lecture 2 min ![](https://www.logilab.fr/file/16368263/raw/748bab1cd694a1a4fa0703996_200px.png) Le 10 mars 2022 a eu lieu le lancement de la « boite-à-outils Resourcecode » devant plus d’une centaine de partenaires du projet. Logilab est fière d’avoir pu participer à ce projet. [Resourcecode](http://resourcecode.info/) est un projet visant à soutenir les investissements et la croissance dans le secteur de l’énergie houlomotrice et maréomotrice par la création d’une boîte à outils intégrée de données marines. Concrètement, des données décrivant l’état de la mer (vitesse du vent, hauteur des vagues, direction du courant, etc) sont enregistrées par des bouées de l’[IFREMER](https://ifremer.fr/) (*Institut Français de Recherche pour l'Exploitation de la Mer*) et de ses partenaires. Des données de 1994 à 2020 sont disponibles pour des milliers de points de l’océan Atlantique et de la mer du Nord avec une résolution temporelle de l’ordre de l’heure. Une fois ces données enregistrées, elles peuvent être interpolées sur les points d’un maillage triangulaire. Logilab a remporté un appel d’offre, déposé par l’Ifremer, dans le cadre de ce projet. Nous avons eu la charge de réaliser : - une application web [resourcecode.ifremer.fr](https://resourcecode.ifremer.fr) permettant la visualisation des points où les données sont accessibles et proposant des outils statiques ou interactifs basés sur des calepins [Jupyter](jupyter.org/) afin d’étudier la mer au point considéré. - produire une bibliothèque python [resourcecode](https://pypi.org/project/resourcecode) permettant de télécharger localement les données d’un point sous forme de `DataFrame` Pandas. L'intégration continue de la forge GitLab de l'IFREMER génère avec Sphinx la [documentation](https://resourcecode.gitlab-pages.ifremer.fr/resourcecode/) de cette bibliothèque. - intégrer à cette bibliothèque des codes de calculs écrits par l’IFREMER et ses partenaires (codes écrits en R, MATLAB ou Python) - mettre…
creation date: 2022-04-12T14:57:13.521377+00:00
entry of: https://www.logilab.fr/3792644
type: siocBlogPost
word count: 378
content format: text/markdown
in state: beta.logilab.fr1339
has creator: https://www.logilab.fr/19794100