James McCool commited on
Commit
c7e2afa
·
1 Parent(s): 7a401f2

Add geometric mean calculation in predict_dupes: introduce a new column 'Goemean' to compute the geometric mean of ownership percentages, enhancing portfolio analysis capabilities.

Browse files
Files changed (1) hide show
  1. global_func/predict_dupes.py +2 -0
global_func/predict_dupes.py CHANGED
@@ -3,6 +3,7 @@ import numpy as np
3
  import pandas as pd
4
  import time
5
  from fuzzywuzzy import process
 
6
 
7
  def predict_dupes(portfolio, maps_dict, site_var, type_var, Contest_Size, strength_var):
8
  if strength_var == 'Weak':
@@ -182,6 +183,7 @@ def predict_dupes(portfolio, maps_dict, site_var, type_var, Contest_Size, streng
182
  portfolio['Lineup Edge'] = portfolio.apply(lambda row: row['Lineup Edge'] / (row['Dupes'] + 1) if row['Dupes'] > 0 else row['Lineup Edge'], axis=1)
183
  portfolio['Lineup Edge'] = portfolio['Lineup Edge'] - portfolio['Lineup Edge'].mean()
184
  portfolio['Weighted Own'] = (portfolio['Own'] * ((portfolio[own_columns].max(axis=1) - portfolio[own_columns].min(axis=1)) / 100)) * 200
 
185
  portfolio = portfolio.drop(columns=dup_count_columns)
186
  portfolio = portfolio.drop(columns=own_columns)
187
  portfolio = portfolio.drop(columns=calc_columns)
 
3
  import pandas as pd
4
  import time
5
  from fuzzywuzzy import process
6
+ import math
7
 
8
  def predict_dupes(portfolio, maps_dict, site_var, type_var, Contest_Size, strength_var):
9
  if strength_var == 'Weak':
 
183
  portfolio['Lineup Edge'] = portfolio.apply(lambda row: row['Lineup Edge'] / (row['Dupes'] + 1) if row['Dupes'] > 0 else row['Lineup Edge'], axis=1)
184
  portfolio['Lineup Edge'] = portfolio['Lineup Edge'] - portfolio['Lineup Edge'].mean()
185
  portfolio['Weighted Own'] = (portfolio['Own'] * ((portfolio[own_columns].max(axis=1) - portfolio[own_columns].min(axis=1)) / 100)) * 200
186
+ portfolio['Goemean'] = math.pow((portfolio[own_columns] * 100).product(axis=1), 1 / len(own_columns))
187
  portfolio = portfolio.drop(columns=dup_count_columns)
188
  portfolio = portfolio.drop(columns=own_columns)
189
  portfolio = portfolio.drop(columns=calc_columns)