code: def calc_weight_of_multiple_paths(path_scores, impact_div=12):
      
      number_of_paths = len(path_scores)
      if number_of_paths > 1:
          score_total = 0.0
          highest_score = 0.0
          for score in path_scores.Scores:
              score_total += score
              if highest_score < score:
                  highest_score = score
  
          score_mean = score_total / number_of_paths
          # print "score_total: {}".format(score_total)
          # print "score_mean: {}".format(score_mean)
          # print "number_of_paths: {}".format(number_of_paths)
  
          # Calculate the weight depending on how many ways are found
          weight_count_impact = number_of_paths / float(number_of_paths +
                                                        impact_div)
          # print "weight_count_impact: {}".format(weight_count_impact)
  
          new_score = highest_score + ((1 + weight_count_impact) * score_mean)
          # print "new_score: {}".format(new_score)
  
          return new_score, highest_score, number_of_paths
  
      else:
          return (path_scores.Scores.iloc[0], path_scores.Scores.iloc[0],
                  number_of_paths)
docs: Caluculate the weight of multipe paths.