Aller au contenu
Data (pandas / numpy)

pandas — DataFrame

pandas manipule des tableaux (DataFrame) dont chaque colonne est une Series, comme une table SQL en mémoire. Commencez toujours par charger les données, puis inspecter leur forme et leurs types.

  • pandas
  • DataFrame
  • Series
  • csv
  • read_csv
  • info
  • describe
  • dtypes

Syntaxe

Modèle
import pandas as pddf = pd.read_csv(source, sep=";", decimal=",")df.head()   df.info()   df.describe()   df.dtypes   df.shape

Exemple

Exemple concret
import ioimport pandas as pdsource = io.StringIO("""eleve,classe,noteAna,A,14Bob,B,8Chloé,A,17David,B,11""")df = pd.read_csv(source)print(df.shape)                        # → (4, 3)print(df.dtypes.astype(str).to_dict()) # → {'eleve': 'object', 'classe': 'object', 'note': 'int64'}print(df["note"].mean())               # → 12.5print(df["note"].describe()["max"])    # → 17.0df["admis"] = df["note"] >= 10print(df["admis"].sum())               # → 3

À retenir

  1. df.info() résume colonnes, types et valeurs non nulles ; df.describe() donne effectif, moyenne, écart-type et quartiles des colonnes numériques. Ce sont les deux premiers réflexes après un chargement.
  2. read_csv accepte sep=";" et decimal="," pour les exports français, parse_dates=["date"] pour convertir des dates et usecols pour ne charger que certaines colonnes. io.StringIO permet de lire un CSV écrit dans le code.
  3. Piège : une colonne de nombres lue comme du texte (type object, ou str avec pandas 3) trahit une valeur parasite, comme « N/A », « 12,5 » ou un espace. Vérifiez df.dtypes avant tout calcul, puis corrigez avec pd.to_numeric(df["col"], errors="coerce").
  4. df["col"] renvoie une Series, df[["col1", "col2"]] un DataFrame ; une nouvelle colonne se crée par simple affectation, calculée sur toute la colonne d'un coup.
  5. Pour filtrer, agréger ou joindre, voir les fiches pandas dédiées. En notebook, afficher df suffit ; dans un script, utilisez print(df.head()).

Voir aussi