Ensemble de données du Stanford Open Policing Project

Analyse de l'activité policière avec pandas

Kevin Markham

Founder, Data School

Introduction à l'ensemble de données

  • Interceptions routières par des policières et policiers

Carte du Stanford Open Policing Project

Analyse de l'activité policière avec pandas

Préparer les données

  • Examiner les données
  • Nettoyer les données
import pandas as pd
ri = pd.read_csv('police.csv')
ri.head(3)
  state   stop_date stop_time  county_name driver_gender driver_race
0    RI  2005-01-04     12:55          NaN             M       White
1    RI  2005-01-23     23:15          NaN             M       White
2    RI  2005-02-17     04:15          NaN             M       White
  • Chaque ligne représente une interception routière
  • NaN indique une valeur manquante
Analyse de l'activité policière avec pandas

Repérer les valeurs manquantes (1)

ri.isnull()
   state stop_date stop_time county_name driver_gender
0  False     False     False        True         False       
1  False     False     False        True         False       
2  False     False     False        True         False       
...
Analyse de l'activité policière avec pandas

Repérer les valeurs manquantes (2)

ri.isnull().sum()
state                     0
stop_date                 0
stop_time                 0
county_name           91741
driver_gender          5205
...
  • .sum() calcule la somme de chaque colonne
  • True = 1, False = 0
Analyse de l'activité policière avec pandas

Supprimer une colonne

ri.isnull().sum()
state                     0
stop_date                 0
stop_time                 0
county_name           91741
driver_gender          5205
driver_race            5202
...
ri.shape
(91741, 15)
  • La colonne county_name ne contient que des valeurs manquantes
  • Supprimez county_name avec la méthode .drop()
ri.drop('county_name', 
  axis='columns', inplace=True)
Analyse de l'activité policière avec pandas

Supprimer des lignes

  • .dropna() : supprimer des lignes selon la présence de valeurs manquantes
ri.head()
  state   stop_date stop_time driver_gender driver_race
0    RI  2005-01-04     12:55             M       White
1    RI  2005-01-23     23:15             M       White
2    RI  2005-02-17     04:15             M       White
3    RI  2005-02-20     17:15             M       White
4    RI  2005-02-24     01:20             F       White
ri.dropna(subset=['stop_date', 'stop_time'], inplace=True)
Analyse de l'activité policière avec pandas

Passons à la pratique !

Analyse de l'activité policière avec pandas

Preparing Video For Download...