Exercice 62 / 100

Pandas — DataFrame

Crée un DataFrame avec les colonnes 'nom, age, ville et salaire' (['Paris','Lyon','Paris','Marseille']). Affiche le DataFrame puis sa forme (shape)

Récapitulatif sur le DataFrame, l'objet 2D central de pandas. Un tableau de Series partageant le même index.

Créer depuis un dict

Chaque clé = nom de colonne, chaque valeur = liste de la colonne :

data = { 'nom': ['Alice', 'Bob', 'Charlie', 'Diana'], 'age': [25, 30, 35, 28], 'ville': ['Paris', 'Lyon', 'Paris', 'Marseille'], 'salaire': [45000, 52000, 48000, 55000] } df = pd.DataFrame(data)

Toutes les listes doivent avoir la même longueur, sinon ValueError.

Explorer la structure

df.shape → (lignes, colonnes) ex : (4, 4) df.columns → Index(['nom', 'age', 'ville', 'salaire']) list(df.columns) → ['nom', 'age', 'ville', 'salaire'] df.index → RangeIndex(start=0, stop=4) par défaut df.dtypes → type de chaque colonne df.size → nombre total de cellules (lignes × colonnes) df.info() → résumé : nb non-null, dtypes, mémoire df.head(n) / df.tail(n) → n premières/dernières lignes (5 par défaut)

Autres modes de création

# depuis une liste de dicts (un dict = une ligne) pd.DataFrame([ {'nom':'Alice', 'age':25}, {'nom':'Bob', 'age':30} ])
# depuis une liste de listes pd.DataFrame([['Alice',25],['Bob',30]], columns=['nom','age'])
Trois façons de bâtir un DataFrame, et la question qui les distingue : une entrée est-elle une colonne ou une ligne, et d'où viennent les noms de colonnes
# depuis un fichier pd.read_csv('data.csv') pd.read_excel('data.xlsx')

Index personnalisé

df.set_index('nom') → utilise 'nom' comme index (au lieu de 0,1,2,3) df.reset_index() → remet un RangeIndex et restaure la colonne

Un bon index facilite les jointures (merge) et les sélections (df.loc['Alice']). Pour des données temporelles, indexer par date est presque toujours la bonne idée.

exercise.py

Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →