違反で停車される時間はどのくらいか?

pandasで警察活動を分析する

Kevin Markham

Founder, Data School

オブジェクト列の分析

apple
date_and_time         price    volume  change      
2018-01-08 16:00:00  174.35  20567800    down
...                     ...       ...     ...
2018-03-09 16:00:00  179.98  32185200      up
  • ブール列を作成する:価格が上がった場合は True、それ以外は False
  • 列の平均を取ることで、価格が上昇した頻度を計算する
apple.change.dtype
dtype('O')
  • この場合、.astype() は使用できない
pandasで警察活動を分析する

値のマッピング

  • 辞書で現在の値を目的の値にマッピングする
mapping = {'up':True, 'down':False}

apple['is_up'] = apple.change.map(mapping)
apple
date_and_time         price    volume change  is_up
2018-01-08 16:00:00  174.35  20567800   down  False
...                     ...       ...    ...    ...
2018-03-09 16:00:00  179.98  32185200     up   True
apple.is_up.mean()
0.5
pandasで警察活動を分析する

捜索率の計算

  • 違反種別ごとに捜索が行われた頻度を可視化する
ri.groupby('violation').search_conducted.mean()
violation
Equipment              0.064280
Moving violation       0.057014
Other                  0.045362
Registration/plates    0.093438
Seat belt              0.031513
Speeding               0.021560
search_rate = ri.groupby('violation').search_conducted.mean()
pandasで警察活動を分析する

棒グラフの作成

search_rate.plot(kind='bar')
plt.show()

違反種別ごとの捜索率:棒グラフ

pandasで警察活動を分析する

棒グラフの並べ替え(1)

  • 棒グラフを大きさ順(左から右)に並べる
search_rate.sort_values()
violation
Speeding               0.021560
Seat belt              0.031513
Other                  0.045362
Moving violation       0.057014
Equipment              0.064280
Registration/plates    0.093438
Name: search_conducted, dtype: float64
pandasで警察活動を分析する

棒グラフの並べ替え(2)

search_rate.sort_values().plot(kind='bar')
plt.show()

違反種別ごとの捜索率:順序付き棒グラフ

pandasで警察活動を分析する

棒グラフの回転

search_rate.sort_values().plot(kind='barh')
plt.show()

違反種別ごとの捜索率:水平棒グラフ

pandasで警察活動を分析する

練習しましょう!

pandasで警察活動を分析する

Preparing Video For Download...