Stanford Open Policing Project 資料集

使用 pandas 分析警方執法活動

Kevin Markham

Founder, Data School

資料集簡介

  • 警方攔查紀錄

Stanford Open Policing Project 地圖

使用 pandas 分析警方執法活動

準備資料

  • 檢視資料
  • 清理資料
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
  • 每列代表一次攔查
  • NaN 表示遺漏值
使用 pandas 分析警方執法活動

定位遺漏值(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       
...
使用 pandas 分析警方執法活動

定位遺漏值(2)

ri.isnull().sum()
state                     0
stop_date                 0
stop_time                 0
county_name           91741
driver_gender          5205
...
  • .sum() 會計算各欄的總和
  • True = 1False = 0
使用 pandas 分析警方執法活動

刪除欄位

ri.isnull().sum()
state                     0
stop_date                 0
stop_time                 0
county_name           91741
driver_gender          5205
driver_race            5202
...
ri.shape
(91741, 15)
  • county_name 欄全為遺漏值
  • .drop() 刪除 county_name
ri.drop('county_name', 
  axis='columns', inplace=True)
使用 pandas 分析警方執法活動

刪除列

  • .dropna():依遺漏值刪除列
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)
使用 pandas 分析警方執法活動

一起來練習吧!

使用 pandas 分析警方執法活動

Preparing Video For Download...