# data[].attributes.attachment_link.readable_text
Historique des données structurées et de leur traitement

Visionner la vidéo suivante :

Répondre à l'aide de la vidéo précédente aux questions suivantes :

1. Quelle invention datant du XVIIe siècle a été mis à profit par les informaticiens pour stocker des données ?

2. En quelle année a été créé le premier disque dur ?

3. En quelle année a été développé le premier modèle permettant de structurer et d'indexer des bases de données ?

4. Comment s'appelle le premier tableur mis à la disposition du grand public ?

5. En quelle année l'Open Government Initiative a t-elle été mise en place ?

6. Quelle est le nom du texte de loi européen qui protège les citoyens européens quant à leurs données personnelles ?

Notions de données structurées / non structurées

Une donnée est une valeur (numérique ou textuelle) représentant une information.

Pour pouvoir utiliser cette donnée d'un point de vue informatique, il va être utile de la "structurer".

Voici quatre sites :

site 1

site 2

site 3

site 4

1. Accéder au premier site en prenant garde à protéger vos données personnelles.
Aidez-vous si besoin de l'information affichable par clic pour apprendre à n'autoriser comme cookies que le strict nécessaire.
Cliquer ici pour gérer les cookies proposés

2. Classer les informations que l'on obtient sur ces sites en deux catégories : données structurées / données non structurées.

3. Sour quelle forme générale est organisée une donnée structurée ?

4. Quels éléments de cette forme sont essentiels pour comprendre le contenu des données présentes ?

Format de données

Une donnée structurées est organisée sous forme d'un tableau appelé table de données.

La première ligne décrit la forme des lignes suivantes ; les éléments de cette ligne donnant la signification portent plusieurs noms possibles : ce sont les noms de champ ou descripteurs ou critères.

Les lignes suivantes sont appelées des objets : elles sont la liste des valeurs de chacun des descripteurs.

Voici ci-dessous une table de données :

Associer à chaque partie encadrée un des mots suivants : "descripteurs", "objets" et "valeurs" en complétant les trois lignes suivantes d'un des mots précédents avant de cliquer sur ce bouton .

La partie entourée en bleu correspond à l'ensemble des .

La partie entourée en rouge correspond à un exemple parmi l'ensemble des .

La partie entourée en vert correspond à un exemple parmi l'ensemble des .

Pour pouvoir stocker, transmettre et exploiter ce type de tableau de valeurs, il peut être représenté sous différentes formes appelées format.

Les principaux formats utilisés pour représenter un ensemble de données sont le CSV , le JSON et le XML.

L'acronyme CSV signifie "Comma Separated Values" c'est-à-dire "valeurs séparées par une virgule".

L'acronyme JSON signifie "JavaScript Object Notation" c'est-à-dire "notation d'objets en Javascript".

L'acronyme XML signifie "eXtensible Markup Language " c'est-à-dire "langage de balisage extensible".

En CSV, les données sont stockées dans un fichier texte :

où la première ligne donne la liste des descripteurs, ,

où chaque autre ligne du tableau correspond à un objet,

où les valeurs (d'un objet) sont séparées par une virgule.

Voici comment sont écrites les données du tableau de l'exercice précédent au format CSV :

Voici comment sont écrites les données du tableau de l'exercice précédent au format JSON :

Voici comment sont écrites les données du tableau de l'exercice précédent au format XML :

Le format XML avec son système de balises est plus long à écrire mais permet une bonne interopérabilité entre des systèmes d'informations hétérogènes. Il est aussi plus rapide à traiter par la machine.

En SNT, nous n'utiliserons que le format CSV.

Attention ! La virgule est le séparateur standard pour les données anglo-saxonnes, mais pas pour les données aux normes françaises puisque, en français, la virgule est le séparateur des chiffres décimaux ( = "nombres à virgule"). C’est pourquoi on utilise un autre séparateur : le point-virgule (;)

Dans certains cas, le fait d'avoir comme séparateur une virgule ou un point-virgule peut engendrer quelques problèmes. Vous devrez donc rester vigilants sur le type de séparateur utilisé.
Un tableur tel que "Calc" (de Libre Office) est capable de lire les fichiers au format CSV mais d'autres tableurs (comme Excel) gèrent moins bien le séparateur CSV "point-virgule".

Voici ci-dessous le contenu d'un fichier CSV :

1. Quels sont les descripteurs ?

2. Combien d'objets sont présents dans cette collection de données ?

Une donnée est une valeur (numérique ou textuelle) contentant une information.

Une donnée structurées est organisée sous forme d'un tableau appelé table de données.
La première ligne décrit la forme des lignes suivantes : ce sont les noms de champ ou descripteurs. Les lignes suivantes sont appelées des objets : elles sont la liste des valeurs de chacun des descripteurs.

Un format de fichiers définit la manière dont sont rangées les informations dans un fichiers. Le format CSV (Comma Separated Values) est le format le plus simple qui permet de représenter des tableaux de données avec des lignes où les valeurs sont séparées par une virgule (ou un point-virgule).

Données ouvertes

L'open data correspond à une volonté politique d'ouvrir les données jugées d'intérêt public afin d'encourager leur réutilisation par tout un chacun. Cela permet d'encourager la transparence démocratique, de bénéficier de services au quotidien ou de prendre des décisions plus éclairées.

L'État français rend publique les données qu'il a développé dans le cadre de ses missions et qu'il juge non sensibles à l'adresse suivante : https://www.data.gouv.fr.

1. Aller sur le site des données publiques de l'État français : lien direct.

2. Dans le moteur de recherche de ce site tapé le mot secours afin d'obtenir la dernière table de données sur les "Interventions réalisées par les services d'incendie et de secours".

3. Télécharger le fichier le plus récent (au format CSV).

4. Ouvrir ce fichier avec Calc de LibreOffice.

Si des symboles ne sont pas lisibles lors de la prévisualisation, pensez à changer lors de l'importation le jeu de caractères en passant à "Latin 3 (ISO-8859-3)". (premier menu déroulant de la fenêtre de prévisualisation)

Penser à cocher ou décocher les séparateurs proposés afin de prévisualiser un tableau à plusieurs colonnes.

Vous devez voir apparaître à l'ouverture, une fois les réglages faits, quelque chose de proche (à l'année près !) :

L'utilisation de données ouvertes ou rendues publiques est une aide au journalisme d'investigation.
L'OSINT (Open Source INTelligence) ou Recherche d'informations à partir de données ouvertes est un ensemble de méthodes qui permettent d'exploiter des sources en libre accès depuis Internet.
Des exemples de telles données sont des textes, des vidéos ou des photos postés sur des réseaux sociaux, des images satellites, des positions d'avions ou de bateaux, des données de géolocalisation, ...
Plusieurs collectifs de personnes travaillant dans l'OSINT existent.
Bellingcat est un site Web où des journalistes d'investigation citoyens effectue de la vérification de faits et des enquêtes en se servant de renseignements obtenus et de données ouvertes.

Ce site s'est fait connaître au travers de plusieurs enquêtes de qualité. En voici quelques unes :

Le créateur du site démontre que le régime du dictateur syrien Bachar el-Assad utilise des armes chimiques et des armes à sous-munitions contre sa population.
Cette démonstration repose en partie sur l'analyse de vidéos acessibles sur Internet que le journaliste arrive à localiser et qui lui permet d'analyser lmes détails des armes utilisés.

En 2016, le site prouve que lors de la guerre du Donbass la Russie, depuis son territoire, a bombardé une partie du territoire ukrainien à l'été 2014 pour soutenir les rebelles pro-russes des régions de Donetsk et Louhansk.
Cette démonstration repose en partie sur l'analyse d'images satellites publiques disponibles permettant d'étudier la trajectoire des projectile à partir des impacts au sol.
Voici un accès direct à l'article (en anglais).

Bellingcat démontre aussi en novembre 2014 que l'avion de la Malaysia Airlines qui a été abattu le 17 juillet 2014 au-dessus de l'est de l'Ukraine, avec à son bord 298 personnes, a été abattu par un missile russe et incrimine directement une brigade l'armée russe.
Cette démonstration repose en partie sur l'analyse des photos et de vidéos obtenus sur les réseaux sociaux puis sur des images satellitaires.
Voici un accès direct à l'article (en anglais).
Le rapport d'enquête internationnale sur les raisons du crash confirmera ensuite cette affirmation.

En décembre 2020, le site Bellingcat publie une enquête dans laquelle sont identifiés les deux agents des services secrets russes qui ont empoisonnés l'opposant russe Alexis Navalny et affirme que deux instituts russes poursuivent des recherches sur les substances chimiques moretlles.
Cette démonstration repose en partie sur l'analayse de données obtenues en Russie contenant des relevés téléphoniques, des bases de données en lien avec des numéros de passeports, ...
Voici un accès direct à l'article (en anglais ou en russe) sur le site officiel de Bellingcat.

En avril 2021, Bellingcat publie un article dans lequel il démontre l'existence d'un crime de guerre perpétré par l'armée éthiopienne contre des soldats de l'armée rebelle tigréenne (le Tigré est une région "autonome" de l'Éthiopie).
Cette démonstration repose en partie sur l'analayse de photos et de vidéos obtenues sur les réseaux sociaux, en les géolocalisant grâce à des sites comme Google Earth Pro et PeakVisor.
Voici un accès direct à l'article (en anglais ou en russe) sur le site officiel de Bellingcat.

Si vous êtes intéressé.e.s, sachez que le site propose différentes ressources pour apprendre à investiger des données ouvertes. Par exemple :

Voici un accès direct à un des articles (en anglais, en russe ou en espagnol) portant sur un guide pour vérifier des informations trouvées sur des réseaux sociaux.

Voici un accès direct à un des articles (en anglais) permettant d'apprendre à géolocaliser en utilisant la position du Soleil dans le ciel ou des ombres portées.

Si vous voulez découvrir les dernières découvertes de bellingcat, cliquer sur cette image :

Certaines personnes, sans être journalistes, effectuent un travail similaire d'OSINT. L'ingénieur suisse Benjamin Pittet est connu sur tweeter sous @coupsure.

Dans la vidéo ci-dessous, vous pouvez découvrir comment une vidéo diffusée sur les réseaux sociaux comme vraie est en fait un fake produit a des fins de propagande. Bejamin Pittet apparaît d'ailleurs dans cette vidéo diffusée sur France2 le dimanche 3 avril :

La guerre en Ukraine conduit à une "guerre d'information" entre l'Ukraine et la Russie.
Début avril 2022, ces deux pays ont communiqué sur la présence de civils morts dans la ville de Boutcha, près de Kyiv (=Kiev).
Cette ville a été occupée par des troupes russes entre début mars jusqu'au 30 mars 2022. Suite au retrait de ces troupes, l'armée ukrainienne rentre dans la ville le 1 avril 2022. À partir du premier avril, différents documents (vidéos en particulier) montre la présence de corps de civils tués dans plusieurs endroits de la ville.
Dès lors, deux théories concurrentes sont diffusées par les deux pays belligérants :

L'Ukraine accuse la Russie d'avoir perpétrer des crimes de guerre à Boutcha : les troupes russes occupantes ont abattus plusieurs centaines de civils désarmés dans cette ville et ont abandonnés leurs corps plusieurs semaines.

La Russie affirme que les corps trouvés dans les rues de Boutcha ont été déposés après le départ des troupes russes et que l'Ukraine cherche à manipuler l'opinion internationale.

En vous aidant de données ouvertes disponibles sur Internet ou d'articles trouvés ou du site bellingcat ou du compte twitter de @coupsure, quelle thèse est la plus probable ?

Traitements de données

Nous allons utiliser les données (publiques) téléchargées précédemment pour répondre à des questions concrètes :

1. On va chercher à répondre à cette première question : quels sont les 7 départements où il y a eu le plus d'interventions au total l'année pour laquelle vous avez obtenues des données ? Pour cela, vous allez suivre les étapes proposées ci-dessous :

1. Commencez par repérer le descripteur "Total interventions",

2. Sélectionnez la colonne correspondant à ce descripteur,

3. Choisir dans l'onglet Données le menu Trier : une fenêtre apparaît : faites étendre la sélection pour l'intégralité des objets soient triés et pas seulement la colonne sélectionnée.

4. Lire le nom des 7 départements où il y a eu le plus d'interventions l'année considérée.

5. Que remarquez-vous ?

Voici une vidéo où vous trouverez des explications quant aux démarches à suivre et aux réponses aux questions qui précèdent dans le cas de données plus anciennes :

2. Deuxième question : quels sont les 7 départements de catégories C (donc les moins peuplés) ayant connu le plus d'interventions pour des accidents sur les lieux de travail ?

Il y a un tri suivant deux critères à effectuer. Cette fois-ci, lorsque la fenêtre apparaît lors du tri, utiliser deux clés de tris en les choisissant de manière pertinente pour répondre à la question posée.

Voici une vidéo où vous trouverez des explications quant aux démarches à suivre et aux réponses à la question qui précède dans le cas de données plus anciennes :

3. Troisième question : parmi les départements où il y a eu des secours en mer, quels sont ceux où il n'y a pas eu de fausse alerte ?

4. Quatrième question : quel est le nombre total d'interventions pour "secours à victime" sur toute la France ?

Vous pouvez utiliser la fonction SOMME du tableur.

Voici une vidéo où vous trouverez des explications quant aux démarches à suivre et aux réponses aux questions qui précèdent dans le cas de données plus anciennes :

1. Quelle la moyenne du nombre d'interventions pour accident de circulation ?

Vous pouvez utiliser la fonction MOYENNE du tableur.

2. Cinquième question : quel est le nombre de départements ayant un nombre d'interventions inférieur à cette moyenne ?

6. Sixième question : parmi les départements de notre grande région, quels sont ceux où il y a eu plus de feux de locaux industriels que dans la Marne ?

Voici une vidéo où vous trouverez des explications quant aux démarches à suivre et aux réponses aux questions qui précèdent dans le cas de données plus anciennes :

1. Retourner sur le site visité lors de la partie 2. : lien direct

Y télécharger la table de données nommée df_matches.csv.

À l'aide de ce fichier, vous pourrez répondre aux question suivantes :

1. Déterminer le nombre de matches disputés par l'équipe de France en coupe du monde.

2. Déterminer le nombre de buts marqués en moyenne par l'équipe de France.

Vous pouvez utiliser la fonction MOYENNE du tableur.

3. Déterminer le nombre de buts encaissés par l'équipe de France durant l'année 1958.

Vous pouvez utiliser la fonction SOMME du tableur.

4. Déterminer le nombre de match nul obtenu par l'équipe de France contre l'équipe de Suisse.

5. Comparer des valeurs des descripteurs X5, score_france et score adversaire afin de repérer au moins une erreur dans la saisie des données.

6. Donner les années des 9 matches de l'équipe de France où la France à gagner avec le plus grand nombre de buts d'après ce document.

Enquête policière

Une personne vient d’être reversée par une voiture !

Un témoin a vu que le conducteur est un homme blond ayant une voiture de marque Renault de couleur métallisé.

À l’aide des bases de données fournies, déterminer qui est le propriétaire (nom et prénom) de la voiture incriminée dans l’accident.

Pour menez à bien cette enquête, vous pouvez télécharger ce document puis l'ouvrir grâce au logicile libre LibreOffice.

Ce document contient trois feuilles de valeurs :

La première, s'appelant voiture, contient un ensemble de voitures ainsi que le numéro de sécurité social du propriétaire,

La deuxième, s'appelant personne, contient un ensemble d'individus,

La troisième, s'appelant cheveu, contient l'ensemble des références des couleurs de cheveux.

Veuillez saisir le nom et le prénom de la personne que vous incriminez pour cet acccident :

Saisir le nom de la personne :

Saisir le prénom de la personne :

Il est possible d'effectuer un traitement (recherche, tri, calcul) des données structurées en tables. Un tableur permet de faire des traitements basiques. Pour des problèmes plus compliqués des langages informatiques existent.

Format de fichiers

Chaque logiciel a sa manière propre d’encoder les informations, c'est-à-dire de traduire l'information en une succession de 0 et 1. Cette manière s'appelle le format des données.
Certaines manières d’encodage ne sont lisibles que par le logiciel lui-même.
D'autres sont lus par d’autres logiciels du même type, puis quelques formats de fichiers sont lus par tous les logiciels de la famille.

On appelle interopérabilité la possibilité d'échanger des données entre différents logiciels.

On appelle format ouvert un format de fichier dont les spécifications techniques ne sont pas encombrées d'entraves techniques ou légales à son exploitation et ce dans quel que logiciel que ce soit.

On appelle format fermé un format de fichier tout format ne satisfaisant pas à ces exigences.

On reconnaît un format de fichier à son extension, c'est-à-dire le mot de quelques lettres se trouvant après le ".".

1. Dans document.pdf, l'extension est pdf. Cette extension correspond à un document texte non modifiable dont le format est ouvert : il peut être lu par n'importe quel logiciel lisant ce type d'extension sans risque de perte ou de modification de données.

2. Dans document.doc, l'extension est doc. Cette extension correspond à un document texte modifiable dont le format est fermé : il faut possèder une licence du logiciel Word pour pouvoir être certain de pouvoir lire et modidfier le contenu sans perte o umodification de données.

1. Télécharger ce dossier compressé puis décompresser son contenu dans un répertoire de votre ordinateur.

2. Faire apparaître si besoin les extensions des fichiers du répertoire décompessé.

Si besoin, vous pouvez visionner cette vidéo pour découvrir comment faire apparaître automatiquement les extensions sur votre ordinateur :

3. En ouvrant les différents documents, recopier et compléter le tableau suivant :

extension du fichier | domaine d'application(texte modifiable, image, son, tableur, Web) | format ouvert ?
docx | |
html | |
jpg | |
mkv | |
mp3 | |
mp4 | |
ods | |
odt | |
ogg | |
png | |
txt | |
xlsx | |

Les formats ouverts sont à préférer.

Un format de fichier est la façon dont les données sont codées. Le format de fichier désigne la nature d'un fichier et donc le logiciel qui l'a créé, identifiable par son extension à trois ou quatre lettres.

Les formats ouverts, c'est à dire ceux dont les spécifications techniques sont publiques, sont plutôt à privilégier afin de favoriser l'interopérabilité, c'est à dire la possibilité d'échanger des données entre différents logiciels.

# data[].attributes.attachment_link.title
python • Les variables • Ce qu'il faut savoir & erreurs à ne pas faire • int float et string - lycée

# data[].attributes.attachment_link.title
cours python • print() et input() • programmation • tutoriel  • lycée

# data[].attributes.attachment_link.title
cours python • if elif else • condition • programmation • tutoriel • lycée

# data[].attributes.attachment_link.title
Utiliser les fonctions - Tutoriel Python #2/7

# data[].attributes.attachment_link.title
1-Explication - 1 - Internet ! Comment ça marche.mp4

# data[].attributes.attachment_link.title
2-Le Dessous des cartes   Câbles sous marins la guerre invisible.mp4

# data[].attributes.attachment_link.title
SNT_ Chap3_Activité 2-Notion d'image numérique

# data[].attributes.headline
Méthode : Comment convertir des degrés décimaux en degrés, minutes, secondes 

# data[].attributes.subject
Méthode : Comment convertir des degrés décimaux en degrés, minutes, secondes 

# data[].attributes.body
1. Les unités entières de degrés resteront les mêmes (par exemple, si votre chiffre est de 121,135 degrés de longitude, commencez par 121 degrés).

2. Multipliez la partie décimale du chiffre par 60 (par exemple, 0,135 * 60 = 8,1).

Le nombre entier devient les minutes (8).

3. Prenez la décimale restante et multipliez-la par 60 (par exemple, 0,1 * 60 = 6).

Le nombre résultant devient les secondes (6 secondes). Les secondes peuvent rester décimales si nécessaire.

4. Prenez vos trois ensembles de nombres et assemblez-les (par exemple, 121°8'6" de longitude équivaudrait à 121,135 degrés de longitude)

# data[].attributes.attachment_link.title
Activité 3 - Le principe de fonctionnement de la géolocalisation

# data[].attributes.body
https://docs.google.com/document/d/1OokkKbWQFr3OTdc8PwrqaRpzdHQr_Yxo-COqxhEqEjo/edit

# data[].attributes.attachment_link.readable_text
Après avoir vu différents types de données, nous allons maintenant, à l'aide du langage de programmation Python, apprendre à effectuer des traitements sur ces données.

À faire vous-même 1

Ouvrez le logiciel Spyder

Dans un Spyder vous pouvez saisir du code (partie "Editeur de texte") mais aussi, saisir des commandes (nous verrons ce concept de commande plus loin) dans la partie "Console".

Pour traiter des données, nous allons utiliser la bibliothèque Python Pandas. Une bibliothèque Python permet de rajouter des fonctionnalités par rapport au langage de base. La bibliothèque Pandas est donc très utilisée pour tout ce qui touche au traitement des données.

Pour nos premiers pas avec Pandas, nous allons utiliser des données très simples au format CSV : ces données sont contenues dans le fichier ident_virgule.csv.

À faire vous-même 2

Après avoir téléchargé le fichier ident_virgule.csv, placez-le dans le dossier de votre choix (par exemple dans un dossier nommé "act_pandas")

À faire vous-même 3

Dans la partie "Editeur de texte" de Spyder, saisissez le code Python suivant :

 import pandas iden=pandas.read_csv("ident_virgule.csv")

Une fois le code saisi, enregistrer le fichier contenant ce code dans le même répertoire que le fichier "ident_virgule.csv"

Le code ci-dessus est très simple :

Avec la première ligne, nous importons la bibliothèque pandas afin de pouvoir l'utiliser

À la deuxième ligne, nous créons une variable "iden" qui va contenir les données présentes dans le fichier "ident_virgule.csv"

À faire vous-même 4

Dans spyder cliquez sur le triangle vert qui permet d'exécuter le programme que vous venez de saisir. Placez ensuite le curseur de la souris dans la console de spyder juste à côté d'un "In [X]" (avec X égal à 1, 2, 3..., selon les cas, dans l'exemple ci-dessous nous avons "In [3]"). Tapez alors "iden"

Vous devriez voir apparaitre les données contenues dans la variable "iden" rangées sous la forme d'un tableau, un peu comme ce que nous obtenions en ouvrant le fichier "ident_virgule.csv" avec un tableur.

Vous avez peut-être remarqué qu'une colonne a été ajoutée par rapport à ce que nous obtenions avec le tableur :

Les nombres présents dans cette colonne sont appelés des index. Chaque ligne du tableau a un index (première ligne : index 0, deuxième ligne index 1...)

ATTENTION : les index commencent à 0 et pas à 1

Les colonnes possèdes également des index, dans notre exemple ces index correspondent au "nom" (index de la première colonne), au "prenom" (index de la deuxième colonne) et à "date_naissance" (index de la troisième colonne)

En résumé : les lignes possèdent des index (0,1,2..), les colonnes possèdent aussi des index ("nom", "prenom",...)

Il est possible de récupérer certaines données du tableau, par exemple, certaines lignes, certaines colonnes ou bien encore des valeurs uniques. Pour cela, il suffit d'utiliser l'instruction "loc" avec les index des lignes et les index des colonnes. Le principe de fonctionnement de "loc" est relativement simple puisque l'on aura une instruction de la forme "loc[index_ligne,index_colonne]"

À faire vous-même 5

Testez le programme suivant :

 import pandas iden=pandas.read_csv("ident_virgule.csv") info=iden.loc[1,'prenom']

Vérifiez que la variable "info" contient bien le prénom "christophe"

À faire vous-même 6

Modifiez le programme du "À faire vous-même 4" pour que la variable info contienne "12/06/1978"

Il est possible de récupérer toutes les lignes d'une colonne, il suffit de remplacer la partie "index_ligne" de "loc" par ":"

À faire vous-même 7

Testez le programme suivant :

 import pandas iden=pandas.read_csv("ident_virgule.csv") info=iden.loc[:,'nom']

Vérifiez que la variable "info" contient bien toutes les données de la colonne d'index "nom", autrement dit, tous les noms

Il est possible de récupérer toutes les colonnes d'une ligne particulière, cette fois en remplaçant la partie "index_colonne" de "loc" par ":"

À faire vous-même 8

Testez le programme suivant :

 import pandas iden=pandas.read_csv("ident_virgule.csv") info=iden.loc[2,:]

Vérifiez que la variable "info" contient bien toutes les données de la dernière ligne (index 2)

Il est aussi possible de récupérer seulement certaines lignes et certaines colonnes en utilisant la notation suivante : loc[[index_ligne_1,index_ligne_2,...],[index_colonne_1,index_colonne_2,...]]

À faire vous-même 9

Testez le programme suivant :

 import pandas iden=pandas.read_csv("ident_virgule.csv") info=iden.loc[[0,1],['nom','date_naissance']]

Vérifiez que la variable "info" contient bien un tableau avec uniquement les colonnes "nom" et "date_naissance" de la première ligne (index 0) et de la deuxième ligne (index 1).

Afin d'avoir des exemples plus complexes à traiter, dans la suite, nous allons travailler sur les données contenues dans le fichier ville_virgule.csv.

À faire vous-même 10

Testez le programme suivant :

 import pandas info_villes=pandas.read_csv("villes_virgule.csv")

Vérifiez que la variable "info_villes" contient bien les données contenues dans le fichier ville_virgule.csv.

Comme vous pouvez le constater, il manque des données dans le tableau qui s'affiche dans la console spyder (les données manquantes sont symbolisées par des ...), en effet, le tableau contient trop données pour qu'il soit entièrement affiché dans la console spyder. Heureusement, il existe une solution :

Dans spyder, dans la fenêtre située juste au-dessus de la console, vous allez trouver un onglet "Explorateur de variables". Cliquez sur cet onglet, vous devriez alors obtenir ceci :

Double-cliquez sur "info_villes" et vous devriez alors voir apparaitre une nouvelle fenêtre qui contiendra un tableau avec l'ensemble des données.

En explorant le tableau, vous devriez, notamment dans les colonnes l'altitude mini et maxi, voir apparaitre un étrange "nan" pour les dernières villes du tableau. "nan" signifie "not a number", ici, cela veut tout simplement dire que certaines données sont manquantes.

Nous allons maintenant introduire des conditions dans la sélection des villes. Imaginez par exemple que vous désirez obtenir un tableau contenant toutes les villes qui ont une altitude minimum supérieure à 1500 m :

À faire vous-même 11

Analysez et testez le programme suivant :

 import pandas info_villes=pandas.read_csv("villes_virgule.csv") nom_alt=info_villes.loc[info_villes["alt_min"]>1500,["nom","alt_min"]]

Dans le "loc", l'expression "info_villes["alt_min"]>1500" est bien avant la virgule, elle concerne donc les index des lignes du tableau. On sélectionnera uniquement les lignes qui auront la valeur du descripteur "alt_min" supérieure à 1500. Nous allons donc bien sélectionner les villes qui ont une altitude minimum supérieure à 1500 m

À faire vous-même 12

En vous inspirant de ce qui a été fait au "À faire vous-même 11", écrivez un programme qui permettra d'avoir les villes qui ont une densité d'habitant inférieure à 50 (dans le tableau ainsi créé, on aura 3 colonnes : le nom de la ville, la densité de la population et l'altitude minimum)

Il est possible de combiner plusieurs facteurs de sélection en utilisant un "et"("&") ou un "ou"("|").

À faire vous-même 13

Analysez et testez le programme suivant :

 import pandas info_villes=pandas.read_csv("villes_virgule.csv") nom_alt=info_villes.loc[(info_villes["alt_min"]>1500) & (info_villes["dens"]>50),["nom","dens","alt_min"]]

Vous devriez constater qu'il y a, en France, une seule ville avec une densité de population supérieure à 50 et une altitude minimum supérieure à 1500 m.

Il est aussi possible d'effectuer des calculs sur des colonnes, par exemple des moyennes. Il suffit d'utiliser l'instruction "mean" pour effectuer une moyenne :

À faire vous-même 14

Analysez et testez le programme suivant :

 import pandas info_villes=pandas.read_csv("villes_virgule.csv") moyenne_alt_min=info_villes.loc[:,"alt_min"].mean()

Vous devriez constater que l'altitude minimum moyenne est de 193 m en France. Je rappelle que dans "loc[:,"alt_min"]" le ":" signifie que l'on considère toutes les lignes du tableau. De plus le "alt_min" que le calcul de la moyenne porte bien sur les données du descripteur "alt_min".

À faire vous-même 15

Écrivez un programme permettant de calculer le nombre moyen d'habitants en 2012

Pour l'instant nous avons calculé une moyenne sur l'ensemble des lignes, il est aussi possible d'imposer une condition sur les lignes qui seront utilisées pour le calcul.

À faire vous-même 16

Analysez et testez le programme suivant :

 import pandas info_villes=pandas.read_csv("villes_virgule.csv") nbe_hab=info_villes.loc[info_villes["alt_min"]>1500,"nb_hab_2012"].mean() print(nbe_hab)

Vous devriez constater que les villes ayant une altitude minimum supérieure à 1500 m avaient en moyenne 350 habitants en 2012.

Il est aussi possible de trier le tableau en fonction des valeurs d'un descripteur. Il suffit d'utiliser l'instruction "sort_values"

À faire vous-même 17

Analysez et testez le programme suivant :

 import pandas info_villes=pandas.read_csv("villes_virgule.csv") tri_alt_min=info_villes.sort_values(by=["alt_min"])

Vous devriez obtenir un nouveau tableau de données "tri_alt_min" trié dans l'ordre croissant des altitudes minimums. Quelle est la ville ayant l'altitude minimum la plus faible de France ?

Il est aussi possible de trier par ordre décroissant en ajoutant "ascending=False" :

À faire vous-même 18

Analysez et testez le programme suivant :

 import pandas info_villes=pandas.read_csv("villes_virgule.csv") tri_alt_min=info_villes.sort_values(by=["alt_min"], ascending=False)

Quelle est la ville ayant l'altitude minimum la plus importante de France ?

À faire vous-même 19

Écrivez un programme permettant de répondre à la question suivante : quelle est la ville ayant la densité de population la plus forte ?

Auteur : David Roche

# data[].attributes.attachment_link.description
Après avoir vu différents types de données, nous allons maintenant, à l'aide du langage de programmation Python, apprendre à effectuer des traitements sur ces données. À faire vous-même 1 Ouvrez le logiciel Spyder Dans un Spyder vous pouvez saisir du code (partie "Editeur de texte") mais aussi, saisir des commandes (nous verrons ce concept de commande plus loin) dans la partie "Console".

# data[].attributes.headline
Python - Liste - Exercices supplémentaires

# data[].attributes.subject
Python - Liste - Exercices supplémentaires