Présentation des DataFrames

Manipulation de données avec pandas

Richie Cotton

Data Evangelist at DataCamp

Quel est l’intérêt de pandas ?

Manipulation de données avec pandas

Plan du cours

  • Chapitre 1 : DataFrames
    • Tri et subdivision
    • Création de nouvelles colonnes
  • Chapitre 2 : Agrégation des données
    • Statistiques récapitulatives
    • Comptage
    • Statistiques récapitulatives groupées
  • Chapitre 3 : Découpage et indexation des données

    • Subdivision à l’aide d’un découpage
    • Index et subdivision à l’aide d’index
  • Chapitre 4 : Création et visualisation de données

    • Tracé de graphiques
    • Traitement des données manquantes
    • Lecture de données dans un DataFrame
Manipulation de données avec pandas

pandas repose sur NumPy et Matplotlib

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

Manipulation de données avec pandas

pandas est populaire

L’émoji représentant un panda, répété des centaines de fois, représente 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 Marron 56 25 2013-07-01
Charlie Caniche Noir 43 23 2016-09-16
Lucy Chow-chow Marron 46 22 2014-08-25
Cooper Schnauzer Gris 49 17 2011-12-11
Max Labrador Noir 59 29 2017-01-20
Stella Chihuahua Brun 18 2 2015-04-20
Bernie Saint-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

Exploration d’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

Exploration d’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

Exploration d’un DataFrame : .shape

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

Exploration d’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

Composants d’un DataFrame : .values

print(dogs.values)
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

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

Philosophie pandas

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

     - Le Zen de Python par 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...