Daoudaboye19@[Link] M.
BOYE
TP — NumPy & Pandas
Importer et manipuler des bibliothèques scientifiques en Python
Objectifs du TP
À la fin de ce TP, vous serez capables de :
• Importer les bibliothèques NumPy et Pandas.
• Créer et manipuler des tableaux NumPy (arrays, matrices, séquences).
• Effectuer des opérations vectorielles et des statistiques de base.
• Créer et explorer des structures Pandas (Series, DataFrame).
• Sélectionner, filtrer et modifier des données dans un DataFrame.
Partie 1 — NumPy
Commencez par importer les deux bibliothèques :
import numpy as np
import pandas as pd
1.1 Créer des tableaux
NumPy propose plusieurs façons de créer des tableaux (arrays) :
# Depuis une liste Python
a = [Link]([1, 2, 3, 4, 5])
print("array :", a)
print("shape :", [Link]) # (5,) -> 1 dimension, 5 elements
print("dtype :", [Link]) # int64 par defaut
# Tableau de zeros ou de uns
zeros = [Link]((2, 3)) # matrice 2 lignes x 3 colonnes remplie de 0
uns = [Link]((2, 3)) # idem remplie de 1
print("\nzeros :\n", zeros)
print("uns :\n", uns)
# Sequences
seq1 = [Link](0, 10, 2) # de 0 a 9, pas de 2 -> [0 2 4 6 8]
seq2 = [Link](0, 1, 5) # 5 valeurs entre 0 et 1 -> [0. 0.25 0.5 0.75 1.]
print("\narange :", seq1)
print("linspace:", seq2)
1.2 Opérations vectorielles
Les opérations s'appliquent élément par élément sans boucle — c'est le principe de la
vectorisation.
Page 1 / 4
Daoudaboye19@[Link] [Link]
x = [Link]([1, 2, 3, 4, 5])
print(x + 10) # [11 12 13 14 15]
print(x * 2) # [ 2 4 6 8 10]
print(x ** 2) # [ 1 4 9 16 25]
print([Link](x)) # racines carrees
# Statistiques de base
print("\nmoyenne :", [Link]())
print("somme :", [Link]())
print("min / max :", [Link](), [Link]())
print("ecart-type:", [Link]())
Partie 2 — Pandas
Pandas s'appuie sur NumPy et ajoute deux structures de données clés : la Series et le
DataFrame.
2.1 La Series
Une Series est un tableau à une dimension avec des étiquettes (index).
# Creer une Series
s = [Link]([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])
print(s)
print("\nValeur en 'b' :", s['b']) # acces par etiquette
print("Valeur en index 2:", [Link][2]) # acces par position
print("Moyenne :", [Link]())
2.2 Créer et explorer un DataFrame
Un DataFrame est un tableau à deux dimensions (lignes et colonnes), similaire à une feuille Excel.
df = [Link]({
'prenom': ['Alice', 'Bob', 'Chloe', 'David'],
'age': [22, 25, 21, 28],
'note': [15.5, 11.0, 18.0, 9.5]
})
print(df) # affiche tout le DataFrame
print("\n--- head(2) ---")
print([Link](2)) # 2 premieres lignes
print("\n--- info ---")
[Link]() # types, valeurs non-nulles
print("\n--- describe ---")
print([Link]()) # statistiques descriptives
2.3 Sélection de données
Pandas offre deux façons d'accéder aux données :
Syntaxe Accès par Exemple
Page 2 / 4
Daoudaboye19@[Link] [Link]
[Link][label] étiquette (nom de [Link][0, 'note']
ligne/colonne)
[Link][position] position entière (comme [Link][0, 2]
NumPy)
# Selection de colonnes
print(df['prenom']) # une colonne -> Series
print()
print(df[['prenom', 'note']]) # plusieurs colonnes -> DataFrame
# Filtrage conditionnel
print("\nnote >= 14 :")
print(df[df['note'] >= 14])
print("\nage < 25 ET note >= 14 :")
print(df[(df['age'] < 25) & (df['note'] >= 14)])
print("\nnote < 10 OU note >= 18 :")
print(df[(df['note'] < 10) | (df['note'] >= 18)])
2.4 Modifier un DataFrame
Bonne pratique : toujours travailler sur une copie avec [Link]() pour ne pas modifier le DataFrame
original.
df2 = [Link]() # toujours travailler sur une copie !
# Ajouter une colonne calculee
df2['mention'] = df2['note'].apply(lambda n: 'Recu' if n >= 10 else 'Ajourne')
# Renommer une colonne
df2 = [Link](columns={'prenom': 'nom'})
# Trier par note decroissante
df2 = df2.sort_values('note', ascending=False)
print(df2)
Page 3 / 4
Daoudaboye19@[Link] [Link]
Récapitulatif des fonctions clés
Bibliothèque Fonction Rôle
NumPy [Link]() Créer un tableau
NumPy [Link]() / [Link]() Tableaux de 0 ou de 1
NumPy [Link]() / Séquences
[Link]()
NumPy .mean() / .sum() / .std() Statistiques
Pandas [Link]() Tableau 1D avec index
Pandas [Link]() Tableau 2D
(lignes/colonnes)
Pandas [Link]() / [Link]() Explorer un DataFrame
Pandas [Link][] / [Link][] Sélection par label /
position
Pandas df[condition] Filtrage conditionnel
Pandas [Link]() Copier sans modifier
l'original
Pandas [Link]() Renommer des colonnes
Pandas df.sort_values() Trier les données
Bon travail ! 🐍
Page 4 / 4