Présentation des DataFrames

Manipulation de données avec pandas

Richie Cotton

Data Evangelist at DataCamp

À quoi sert pandas ?

Manipulation de données avec pandas

Plan du cours

  • Chapitre 1 : DataFrames
    • Trier et sous-ensembles
    • Créer de nouvelles colonnes
  • Chapitre 2 : Agréger les données
    • Statistiques récapitulatives
    • Comptage
    • Statistiques groupées
  • Chapitre 3 : Découpage et indexation des données

    • Sous-ensembles par découpage
    • Index et sous-ensembles avec index
  • Chapitre 4 : Créer et visualiser des données

    • Tracer des graphiques
    • Gérer les données manquantes
    • Lire des données dans un DataFrame
Manipulation de données avec pandas

pandas repose sur NumPy et Matplotlib

Un triangle posé sur deux rectangles. Le triangle représente le paquet pandas, et les rectangles représentent les paquets NumPy et matplotlib.

Manipulation de données avec pandas

pandas est populaire

L'émoji d'un panda, répété des centaines de fois, représentant les nombreux utilisateurs de pandas.

1 https://pypistats.org/packages/pandas
Manipulation de données avec pandas

Données rectangulaires

Nom Race Couleur Taille (cm) Poids (kg) Date de naissance
Bella Labrador Brun 56 25 2013-07-01
Charlie Caniche Noir 43 23 2016-09-16
Lucy Chow Chow Brun 46 22 2014-08-25
Cooper Schnauzer Gris 49 17 2011-12-11
Max Labrador Noir 59 29 2017-01-20
Stella Chihuahua Fauve 18 2 2015-04-20
Bernie St. Bernard Blanc 77 74 2018-02-27
Manipulation de données avec pandas

DataFrames pandas

print(dogs)
      name        breed  color  height_cm  weight_kg date_of_birth
0    Bella     Labrador  Brown         56         24    2013-07-01
1  Charlie       Poodle  Black         43         24    2016-09-16
2     Lucy    Chow Chow  Brown         46         24    2014-08-25
3   Cooper    Schnauzer   Gray         49         17    2011-12-11
4      Max     Labrador  Black         59         29    2017-01-20
5   Stella    Chihuahua    Tan         18          2    2015-04-20
6   Bernie  St. Bernard  White         77         74    2018-02-27
Manipulation de données avec pandas

Explorer un DataFrame : .head()

print(dogs.head())
      name        breed  color  height_cm  weight_kg date_of_birth
0    Bella     Labrador  Brown         56         24    2013-07-01
1  Charlie       Poodle  Black         43         24    2016-09-16
2     Lucy    Chow Chow  Brown         46         24    2014-08-25
3   Cooper    Schnauzer   Gray         49         17    2011-12-11
4      Max     Labrador  Black         59         29    2017-01-20
Manipulation de données avec pandas

Explorer un DataFrame : .info()

print(dogs.info())
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 7 entries, 0 to 6
Data columns (total 6 columns):
 #   Column         Non-Null Count  Dtype 
 --  ------         --------------  ----- 
 0   name           7 non-null      object
 1   breed          7 non-null      object
 2   color          7 non-null      object
 3   height_cm      7 non-null      int64 
 4   weight_kg      7 non-null      int64 
 5   date_of_birth  7 non-null      object
dtypes: int64(2), object(4)
memory usage: 464.0+ bytes
Manipulation de données avec pandas

Explorer un DataFrame : .shape

print(dogs.shape)
(7, 6)
Manipulation de données avec pandas

Explorer un DataFrame : .describe()

print(dogs.describe())
       height_cm  weight_kg
count   7.000000   7.000000
mean   49.714286  27.428571
std    17.960274  22.292429
min    18.000000   2.000000
25%    44.500000  19.500000
50%    49.000000  23.000000
75%    57.500000  27.000000
max    77.000000  74.000000
Manipulation de données avec pandas

Composantes d'un DataFrame : .to_numpy()

print(dogs.to_numpy())
array([['Bella', 'Labrador', 'Brown', 56, 24, '2013-07-01'],
       ['Charlie', 'Poodle', 'Black', 43, 24, '2016-09-16'],
       ['Lucy', 'Chow Chow', 'Brown', 46, 24, '2014-08-25'],
       ['Cooper', 'Schnauzer', 'Gray', 49, 17, '2011-12-11'],
       ['Max', 'Labrador', 'Black', 59, 29, '2017-01-20'],
       ['Stella', 'Chihuahua', 'Tan', 18, 2, '2015-04-20'],
       ['Bernie', 'St. Bernard', 'White', 77, 74, '2018-02-27']],
      dtype=object)
Manipulation de données avec pandas

Composantes d'un DataFrame : .columns et .index

print(dogs.columns)
Index(['name', 'breed', 'color', 'height_cm', 'weight_kg', 'date_of_birth'],
dtype='object')
dogs.index
RangeIndex(start=0, stop=7, step=1)
Manipulation de données avec pandas

Philosophie de pandas

Il devrait y avoir une — et de préférence une seule — manière évidente de le faire.

 - _Le Zen de Python_ de Tim Peters, point 13

Un couteau suisse vert

1 https://www.python.org/dev/peps/pep-0020/
Manipulation de données avec pandas

Passons à la pratique !

Manipulation de données avec pandas

Preparing Video For Download...