What violations are caught in each district?

Phân tích hoạt động của cảnh sát với 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)
Phân tích hoạt động của cảnh sát với 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']
Phân tích hoạt động của cảnh sát với pandas

Creating a line plot

table.plot()
plt.show()

Line plot of race and gender frequency table

Phân tích hoạt động của cảnh sát với pandas

Creating a bar plot

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

Bar plot of race and gender frequency table

Phân tích hoạt động của cảnh sát với pandas

Stacking the bars

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

Stacked bar plot of race and gender frequency table

Phân tích hoạt động của cảnh sát với pandas

Let's practice!

Phân tích hoạt động của cảnh sát với pandas

Preparing Video For Download...