<?xml version="1.0" encoding="UTF-8"?>

<upm-export>
	<title>Enseignement de l&#039;informatique et du numérique au lycée Boissy d&#039;Anglas</title>
	<link>https://icn-isn-boissy.yj.fr/wp</link>
	<description></description>
	<pubDate>Wed May 6 12:52:43 2026 / +0000  GMT</pubDate>
	<generator>Universal Post Manager 1.1.2 [ www.ProfProjects.com ] </generator>
	<language></language>
	
			<item>
			<title>Traitement de données structurées</title>
			<link>https://icn-isn-boissy.yj.fr/wp/?page_id=1417</link>
			<pubDate>Wed May 6 12:52:43 2026 / +0000  GMT</pubDate>
			<guid isPermaLink="false">https://icn-isn-boissy.yj.fr/wp/?page_id=1417</guid>
			<content-encoded><![CDATA[<!-- wp:paragraph -->
<p>
			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.
		</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>À faire vous-même 1</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p> Ouvrez le logiciel Pyzo </p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1677} -->
<figure class="wp-block-image"><img src="https://icn-isn-boissy.yj.fr/wp/wp-content/uploads/2019/08/Capture-d'écran-de-2019-08-27-11-33-08-1-1024x526.png" alt="" class="wp-image-1677"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p> DansPyzo 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". </p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:paragraph -->
<p>
			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.
		</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>
			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 <a href="https://pixees.fr/informatiquelycee/n_site/asset/ident_virgule.csv">ident_virgule.csv</a>.
		</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>À faire vous-même 2</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>
			Après avoir téléchargé le fichier <a href="https://pixees.fr/informatiquelycee/n_site/asset/ident_virgule.csv">ident_virgule.csv</a>, placez-le dans le dossier de votre choix (par exemple dans un dossier nommé "act_pandas")
		</p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:heading {"level":4} -->
<h4>À faire vous-même 3</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p> Dans la partie "Editeur de texte" de Pyzo, saisissez le code Python suivant : </p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>import pandas
iden=pandas.read_csv("ident_virgule.csv")		</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>
			Une fois le code saisi, enregistrer le fichier contenant ce code dans le même répertoire que le fichier "ident_virgule.csv"
		</p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:paragraph -->
<p>
			Le code ci-dessus est très simple :
		</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><li>
				Avec la première ligne, nous importons la bibliothèque pandas afin de pouvoir l'utiliser
			</li><li>
				À la deuxième ligne, nous créons une variable "iden" qui va contenir
 les données présentes dans le fichier "ident_virgule.csv"
			</li></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":4} -->
<h4>À faire vous-même 4</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p> Dans Pyzo 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  Pyzo  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" </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>
			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.
		</p>
<!-- /wp:paragraph -->

<!-- wp:image -->
<figure class="wp-block-image"><img src="https://pixees.fr/informatiquelycee/n_site/img/iden.png" alt=""/></figure>
<!-- /wp:image -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:paragraph -->
<p>
			Vous avez peut-être remarqué qu'une colonne a été ajoutée par rapport à ce que nous obtenions avec le tableur :
		</p>
<!-- /wp:paragraph -->

<!-- wp:image -->
<figure class="wp-block-image"><img src="https://pixees.fr/informatiquelycee/n_site/img/idenb.png" alt=""/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>
			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...)
		</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>
			ATTENTION : les index commencent à 0 et pas à 1
		</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>
			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)
		</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>
			En résumé : les lignes possèdent des index (0,1,2..), les colonnes possèdent aussi des index ("nom", "prenom",...)
		</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>
			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]"
		</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>À faire vous-même 5</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>
			Testez le programme suivant :
		</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>import pandas
iden=pandas.read_csv("ident_virgule.csv")
info=iden.loc[1,'prenom']		</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>
			Vérifiez que la variable "info" contient bien le prénom "christophe"
		</p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:heading {"level":4} -->
<h4>À faire vous-même 6</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>
			Modifiez le programme du "À faire vous-même 4" pour que la variable info contienne "12/06/1978"
		</p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:paragraph -->
<p>
			Il est possible de récupérer toutes les lignes d'une colonne, il suffit de remplacer la partie "index_ligne" de "loc" par ":"
		</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>À faire vous-même 7</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>
			Testez le programme suivant :
		</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>import pandas
iden=pandas.read_csv("ident_virgule.csv")
info=iden.loc[:,'nom']		</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>
			Vérifiez que la variable "info" contient bien toutes les données de la colonne d'index "nom", autrement dit, tous les noms
		</p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:paragraph -->
<p>
			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 ":"
		</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>À faire vous-même 8</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>
			Testez le programme suivant :
		</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>import pandas
iden=pandas.read_csv("ident_virgule.csv")
info=iden.loc[2,:]		</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>
			Vérifiez que la variable "info" contient bien toutes les données de la dernière ligne (index 2)
		</p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:paragraph -->
<p>
			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,...]]
		</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>À faire vous-même 9</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>
			Testez le programme suivant :
		</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>import pandas
iden=pandas.read_csv("ident_virgule.csv")
info=iden.loc[[0,1],['nom','date_naissance']]		</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>
			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).
		</p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:paragraph -->
<p>
			Afin d'avoir des exemples plus complexes à traiter, dans la suite, 
nous allons travailler sur les données contenues dans le fichier <a href="https://pixees.fr/informatiquelycee/n_site/asset/villes_virgule.csv">ville_virgule.csv</a>.
		</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>À faire vous-même 10</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>
			Testez le programme suivant :
		</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>import pandas
info_villes=pandas.read_csv("villes_virgule.csv")		</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>
			Vérifiez que la variable "info_villes" contient bien les données contenues dans le fichier <a href="https://pixees.fr/informatiquelycee/n_site/asset/villes_virgule.csv">ville_virgule.csv</a>.
		</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p> Comme vous pouvez le constater, il manque des données dans le tableau  qui s'affiche dans la console Pyzo (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 Pyzo. Heureusement, il existe une solution : </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p> Dans Pyzo, 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 : </p>
<!-- /wp:paragraph -->

<!-- wp:image -->
<figure class="wp-block-image"><img src="https://pixees.fr/informatiquelycee/n_site/img/info_villes.png" alt=""/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>
			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.
		</p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:paragraph -->
<p>
			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.
		</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>
			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 :
		</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>À faire vous-même 11</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>
			Analysez et testez le programme suivant :
		</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>import pandas
info_villes=pandas.read_csv("villes_virgule.csv")
nom_alt=info_villes.loc[info_villes["alt_min"]>1500,["nom","alt_min"]]		</code></pre>
<!-- /wp:code -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:paragraph -->
<p>
			Dans le "loc", l'expression "info_villes["alt_min"]&gt;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
		</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>À faire vous-même 12</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>
			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)
		</p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:paragraph -->
<p>
			Il est possible de combiner plusieurs facteurs de sélection en utilisant un "et"("&amp;") ou un "ou"("|").
		</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>À faire vous-même 13</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>
			Analysez et testez le programme suivant :
		</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>import pandas
info_villes=pandas.read_csv("villes_virgule.csv")
nom_alt=info_villes.loc[(info_villes["alt_min"]>1500) &amp; (info_villes["dens"]>50),["nom","dens","alt_min"]]		</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>
			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.
		</p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:paragraph -->
<p>
			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 :
		</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>À faire vous-même 14</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>
			Analysez et testez le programme suivant :
		</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>import pandas
info_villes=pandas.read_csv("villes_virgule.csv")
moyenne_alt_min=info_villes.loc[:,"alt_min"].mean()		</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>
			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".
		</p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:heading {"level":4} -->
<h4>À faire vous-même 15</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>
			Écrivez un programme permettant de calculer le nombre moyen d'habitants en 2012
		</p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:paragraph -->
<p>
			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.
		</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>À faire vous-même 16</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>
			Analysez et testez le programme suivant :
		</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>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)		</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>
			Vous devriez constater que les villes ayant une altitude minimum 
supérieure à 1500 m avaient en moyenne 350 habitants en 2012.
		</p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:paragraph -->
<p>
			Il est aussi possible de trier le tableau en fonction des valeurs 
d'un descripteur. Il suffit d'utiliser l'instruction "sort_values"
		</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>À faire vous-même 17</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>
			Analysez et testez le programme suivant :
		</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>import pandas
info_villes=pandas.read_csv("villes_virgule.csv")
tri_alt_min=info_villes.sort_values(by=["alt_min"])		</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>
			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 ?
		</p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:paragraph -->
<p>
			Il est aussi possible de trier par ordre décroissant en ajoutant "ascending=False" :
		</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>À faire vous-même 18</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>
			Analysez et testez le programme suivant :
		</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>import pandas
info_villes=pandas.read_csv("villes_virgule.csv")
tri_alt_min=info_villes.sort_values(by=["alt_min"], ascending=False)		</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>
			Quelle est la ville ayant l'altitude minimum la plus importante de France ?
		</p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:heading {"level":4} -->
<h4>À faire vous-même 19</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>
			Écrivez un programme permettant de répondre à la question suivante : 
quelle est la ville ayant la densité de population la plus forte ?
		</p>
<!-- /wp:paragraph -->]]></content-encoded>
			<excerpt-encoded><![CDATA[]]></excerpt-encoded>
			<wp-post_id>1417</wp-post_id>
			<wp-post_date>2019-06-06 13:40:05</wp-post_date>
			<wp-post_date_gmt>2019-06-06 11:40:05</wp-post_date_gmt>
				</item>
</upm-export>
