What violations are caught in each district?

Analyzing Police Activity with pandas

Kevin Markham

Founder, Data School

Computing a frequency table

pd.crosstab(ri.driver_race,
            ri.driver_gender)
driver_gender      F      M
driver_race                
Asian            551   1838
Black           2681   9604
Hispanic        1953   7774
Other             53    212
White          18536  43334
  • Frequency table: Tally of how many times each combination of values occurs
ri[(ri.driver_race == 'Asian') &
   (ri.driver_gender == 'F')
  ].shape
(551, 14)
  • driver_race is along the index, driver_gender is along the columns
table = pd.crosstab(
  ri.driver_race,
  ri.driver_gender)
Analyzing Police Activity with pandas

Selecting a DataFrame slice

  • .loc[] accessor: Select from a DataFrame by label
table
driver_gender      F      M
driver_race                
Asian            551   1838
Black           2681   9604
Hispanic        1953   7774
Other             53    212
White          18536  43334
table.loc['Asian':'Hispanic']
driver_gender     F     M
driver_race              
Asian           551  1838
Black          2681  9604
Hispanic       1953  7774
table = 
   table.loc['Asian':'Hispanic']
Analyzing Police Activity with pandas

Creating a line plot

table.plot()
plt.show()

Line plot of race and gender frequency table

Analyzing Police Activity with pandas

Creating a bar plot

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

Bar plot of race and gender frequency table

Analyzing Police Activity with pandas

Stacking the bars

table.plot(kind='bar', stacked=True)
plt.show()

Stacked bar plot of race and gender frequency table

Analyzing Police Activity with pandas

Let's practice!

Analyzing Police Activity with pandas

Preparing Video For Download...