性別は捜索時のボディチェックに影響するか?

pandasで警察活動を分析する

Kevin Markham

Founder, Data School

ri.search_conducted.value_counts()
False    83229
True      3307
ri.search_type.value_counts(dropna=False)
NaN                               83229
Incident to Arrest                 1290
Probable Cause                      924
Inventory                           219
Reasonable Suspicion                214
Protective Frisk                    164
Incident to Arrest,Inventory        123
...
  • .value_counts() はデフォルトで欠損値を除外する
  • dropna=False で欠損値を表示する
pandasで警察活動を分析する

捜索タイプの確認

ri.search_type.value_counts()
Incident to Arrest                           1290
Probable Cause                                924
Inventory                                     219
Reasonable Suspicion                          214
Protective Frisk                              164
Incident to Arrest,Inventory                  123
Incident to Arrest,Probable Cause             100
...
  • 複数の値はカンマで区切られる
  • 「Inventory」のみの捜索は219件
  • 複数の捜索タイプ中から「Inventory」を検索する
pandasで警察活動を分析する

文字列の検索(1)

ri['inventory'] = ri.search_type.str.contains('Inventory', na=False)
  • str.contains() は文字列が見つかれば True、見つからなければ False を返す
  • na=False は欠損値に対して False を返す
pandasで警察活動を分析する

文字列の検索(2)

ri.inventory.dtype
dtype('bool')
  • True は持ち物検査が実施されたこと、False は未実施を意味する
ri.inventory.sum()
441
pandasで警察活動を分析する

持ち物検査率の計算

ri.inventory.mean()
0.0050961449570121106
  • 全交通停止の0.5%で持ち物検査が実施された
searched = ri[ri.search_conducted == True]
searched.inventory.mean()
0.13335349259147264
  • 捜索の13.3%に持ち物検査が含まれていた
pandasで警察活動を分析する

練習しましょう!

pandasで警察活動を分析する

Preparing Video For Download...