Introduction aux DataFrames

Manipulation des données avec pandas

Richie Cotton

Data Evangelist at DataCamp

À quoi sert pandas ?

Manipulation des données avec pandas

Plan du cours

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

    • Sous-ensembles avec slicing
    • Index et sous-ensembles via index
  • Chapitre 4 : Création et visualisation

    • Tracé
    • Gestion des valeurs manquantes
    • Lecture des données dans un DataFrame
Manipulation des données avec pandas

pandas s’appuie sur NumPy et Matplotlib

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

Manipulation des données avec pandas

pandas est populaire

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

1 https://pypistats.org/packages/pandas
Manipulation des 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 Saint-bernard Blanc 77 74 2018-02-27
Manipulation des 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 des 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 des 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 des données avec pandas

Explorer un DataFrame : .shape

print(dogs.shape)
(7, 6)
Manipulation des 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 des données avec pandas

Composants 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 des données avec pandas

Composants 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 des données avec pandas

Philosophie de pandas

Il devrait y avoir une — et de préférence une seule — façon é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 des données avec pandas

Passons à la pratique !

Manipulation des données avec pandas

Preparing Video For Download...