Introduction aux notebooks Jupyter

  • Prérequis:

    • Aucun apprentissage préalable n’est requis, car ce document est conçu pour un utilisateur novice de l’environnement Jupyter

Mots-clés guide du débutant ; jupyter notebook, jupyter notebook ; guide du débutant, jupyter notebook ; cellule markdown, jupyter notebook ; cellule brute, jupyter notebook ; cellule de code

Aperçu

L’accès aux implémentations de Open Data Cube telles que Digital Earth Africa et Digital Earth Australia est obtenu grâce à l’utilisation de code Python et de Jupyter Notebooks. Le Jupyter Notebook (également appelé notebook à partir de maintenant) est une application Web interactive qui permet la visualisation, la création et la documentation de code en direct. Les applications de notebook incluent la transformation, la visualisation, la modélisation et l’apprentissage automatique des données. L’interface Web par défaut pour accéder aux notebooks lors de l’utilisation de Digital Earth Africa est JupyterLab.

Description

Ce bloc-notes est conçu pour présenter aux utilisateurs les bases de l’utilisation du code Python dans les blocs-notes Jupyter via JupyterLab.

Les sujets abordés comprennent :

  • Comment exécuter une cellule Jupyter Notebook

  • Les différents types de cellules Jupyter Notebook

  • Arrêter un processus ou redémarrer un Jupyter Notebook

  • Sauvegarder et exporter votre travail

  • Démarrer un nouveau bloc-notes Jupyter


Commencer

Exécution d’une cellule

Les notebooks Jupyter permettent de séparer le code en sections pouvant être exécutées indépendamment les unes des autres. Ces sections sont appelées « cellules ».

Le code Python est écrit dans des cellules individuelles qui peuvent être exécutées en plaçant le curseur dans la cellule et en tapant « Maj-Entrée » sur le clavier ou en sélectionnant le bouton ► « Exécuter » dans le ruban en haut du bloc-notes. Ces options exécuteront une seule cellule à la fois.

Si vous souhaitez exécuter automatiquement toutes les cellules d’un bloc-notes, accédez à l’onglet « Exécuter » de la barre de menu en haut de JupyterLab et sélectionnez « Exécuter toutes les cellules » (ou l’option qui correspond le mieux à vos besoins). Lorsque vous exécutez une cellule, vous exécutez le contenu de cette cellule. Toute sortie produite à partir de l’exécution de la cellule apparaîtra directement en dessous.

Exécutez la cellule ci-dessous :

[1]:
print ("I ran a cell!")
I ran a cell!

État de la cellule

Le symbole « [ ] : » à gauche de chaque cellule de code décrit l’état de la cellule :

  • « [ ] : » signifie que la cellule n’a pas encore été exécutée.

  • [*]: signifie que la cellule est actuellement en cours d’exécution.

  • « [1] : » signifie que la cellule a terminé son exécution et a été la première cellule exécutée.

Le numéro indique l’ordre dans lequel les cellules ont été exécutées.

Remarque : vous pouvez également savoir si une cellule est en cours d’exécution dans un bloc-notes Jupyter en inspectant le petit cercle en haut à droite de la fenêtre. Le cercle devient gris (« Kernel busy ») lorsque la cellule est en cours d’exécution et redevient vide (« Kernel idle ») lorsque le processus est terminé.

Types de cellules du bloc-notes Jupyter

Les cellules sont identifiées comme étant du type Code, Markdown ou Raw. Cette désignation peut être modifiée à l’aide du ruban en haut du bloc-notes.

Coder les cellules

Toutes les opérations de code sont effectuées dans des cellules de code. Les cellules de code peuvent être utilisées pour modifier et écrire du nouveau code, et pour effectuer des tâches telles que le chargement de données, le traçage de données et l’exécution d’analyses.

Cliquez sur la cellule ci-dessous. Notez que le ruban en haut du bloc-notes la décrit comme une cellule de code.

[2]:
print("This is a code cell")
This is a code cell

Cellules Markdown

Placez le curseur dans cette cellule en double-cliquant.

Le format de la cellule a été modifié pour permettre son édition. Notez que le ruban en haut du bloc-notes décrit cela comme une cellule Markdown.

Exécutez cette cellule pour renvoyer la version formatée.

Les cellules Markdown fournissent le récit d’un bloc-notes. Elles sont utilisées pour le texte et sont utiles pour décrire les opérations de code dans les cellules suivantes. Pour voir certaines des options de formatage du texte dans une cellule Markdown, accédez à l’onglet « Aide » de la barre de menu en haut de JupyterLab et sélectionnez « Référence Markdown ». Vous y verrez un large éventail d’options de formatage de texte, notamment les titres, les points, l’italique, les liens hypertexte et la création de tableaux.

Cellules brutes

Les informations contenues dans les cellules brutes sont stockées dans les métadonnées du bloc-notes et peuvent être utilisées pour restituer différents formats de code en HTML ou en LaTeX. Il existe toute une gamme de formats de cellules brutes disponibles qui diffèrent selon la manière dont elles doivent être restituées. Dans le cadre de ce guide pour débutants, les cellules brutes sont rarement utilisées par les auteurs et ne sont pas nécessaires pour la plupart des utilisateurs de blocs-notes.

Arrêter un processus ou redémarrer un Jupyter Notebook

Il peut parfois être utile d’arrêter l’exécution d’une cellule avant qu’elle ne se termine (par exemple si un processus prend trop de temps à se terminer ou si vous réalisez que vous devez modifier du code avant d’exécuter la cellule). Pour interrompre l’exécution d’une cellule, vous pouvez cliquer sur le bouton ■ « stop » dans le ruban au-dessus du bloc-notes ou sélectionner « Interrompre le noyau » dans le menu Noyau.

Pour tester cela, exécutez la cellule de code suivante. Cela exécutera un morceau de code qui prendra 20 secondes à s’exécuter. Pour interrompre ce code, appuyez sur le bouton ■ « stop ». Le bloc-notes devrait arrêter d’exécuter la cellule.

[3]:
import time
time.sleep(20)

Si l’approche ci-dessus ne fonctionne pas (par exemple si le bloc-notes est bloqué ou refuse de répondre), vous pouvez également essayer de redémarrer l’ensemble du bloc-notes. Pour ce faire, accédez à l’onglet « Noyau » de la barre de menu, puis sélectionnez « Redémarrer le noyau ». Vous pouvez également cliquer sur le bouton ↻ « Redémarrer le noyau » dans le ruban au-dessus du bloc-notes.

Le redémarrage d’un bloc-notes peut également être utile pour tester si votre code fonctionnera correctement la première fois qu’un nouvel utilisateur essaiera d’exécuter le bloc-notes. Pour redémarrer puis exécuter chaque cellule d’un bloc-notes, accédez à l’onglet « Noyau », puis sélectionnez « Redémarrer et exécuter toutes les cellules ».

Sauvegarder et exporter votre travail

Les modifications apportées aux notebooks Jupyter sont automatiquement enregistrées toutes les quelques minutes. Cependant, vous pouvez forcer l’enregistrement d’un notebook en accédant à « Fichier » dans la barre de menu, puis en sélectionnant « Enregistrer le notebook ». Vous pouvez également cliquer sur l’icône 💾 « Enregistrer » à gauche du ruban au-dessus du notebook.

Exporter des notebooks Jupyter vers des scripts Python

L’extension de fichier standard pour un Jupyter Notebook est « .ipynb ».

Il existe une gamme d’options d’exportation qui vous permettent d’enregistrer votre travail pour y accéder en dehors de l’environnement Jupyter. Le code Python, par exemple, peut facilement être enregistré sous forme de scripts Python « .py » en accédant à l’onglet « Fichier » de la barre de menus de JupyterLab et en sélectionnant « Exporter le bloc-notes sous » puis « Exporter le bloc-notes vers un script exécutable ».

Commencer un nouveau carnet de notes

Pour créer votre propre nouveau bloc-notes, utilisez d’abord le navigateur de fichiers de JupyterLab pour accéder au répertoire dans lequel vous souhaitez que le bloc-notes soit créé (si le navigateur de fichiers n’est pas visible, rouvrez-le en cliquant sur l’icône 📁 « Navigateur de fichiers » en haut à gauche de l’écran).

Une fois que vous avez accédé à l’emplacement souhaité, appuyez sur le bouton ✚ « Nouveau lanceur » au-dessus du navigateur. Cela fera apparaître la page « Lanceur » de JupyterLab qui vous permet de lancer une gamme de nouveaux fichiers ou utilitaires. Sous le titre « Bloc-notes », cliquez sur le gros bouton « Python 3 ». Cela créera un nouveau bloc-notes intitulé « Untitled.ipynb » dans votre répertoire.

Pour renommer ce bloc-notes en quelque chose de plus utile, faites un clic droit dessus dans le navigateur de fichiers et sélectionnez « Renommer ».

Étapes suivantes recommandées

Pour des informations plus avancées sur l’utilisation de Jupyter Notebooks ou JupyterLab, vous pouvez explorer la page de documentation de JupyterLab.

Pour continuer à travailler sur les cahiers de ce guide du débutant, les cahiers suivants sont conçus pour être travaillés dans l’ordre suivant :

  1. Carnets Jupyter (ce carnet)

  2. Produits et mesures

  3. Chargement des données

  4. Tracé

  5. Effectuer une analyse de base

  6. Introduction à numpy

  7. Introduction à xarray

  8. Traitement parallèle avec Dask

Une fois que vous avez terminé les six didacticiels ci-dessus, rejoignez les utilisateurs avancés pour explorer :

  • Le répertoire « Datasets » du référentiel, où vous pouvez explorer en profondeur les produits DE Africa.

  • Le répertoire « Code fréquemment utilisé », qui contient un livre de recettes de techniques et méthodes courantes pour l’analyse des données DE Africa.

  • Le répertoire « Exemples du monde réel », qui fournit des flux de travail plus complexes et des études de cas d’analyse.


Informations Complémentaires

Licence : Le code de ce carnet est sous licence Apache, version 2.0 <https://www.apache.org/licenses/LICENSE-2.0>. Les données de Digital Earth Africa sont sous licence Creative Commons par attribution 4.0 <https://creativecommons.org/licenses/by/4.0/>.

Contact : Si vous avez besoin d’aide, veuillez poster une question sur le canal Slack Open Data Cube <http://slack.opendatacube.org/>`__ ou sur le GIS Stack Exchange en utilisant la balise open-data-cube (vous pouvez consulter les questions posées précédemment ici). Si vous souhaitez signaler un problème avec ce bloc-notes, vous pouvez en déposer un sur Github.

Dernier test :

[4]:
from datetime import datetime
datetime.today().strftime('%Y-%m-%d')
[4]:
'2023-08-11'