因违规被拦多久?

使用 pandas 分析警务活动

Kevin Markham

Founder, Data School

分析 object 列

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...