def get_div_winners(df_sim):
  """Calculate division winners with summarised simulation data

  :param df_sim: data frame with simulated scores summarised by iteration
  :return: data frame with division winners per iteration
  """
  return (
    df_sim
    .sort_values(by=['tot_wins', 'tot_pts'], ascending=[False, False])
    .groupby(['iteration', 'divisionId'])
    .head(1)
    .sort_values(by=['divisionId', 'iteration'])
    .reset_index(drop=True)
  )