James McCool
commited on
Commit
·
2d5437b
1
Parent(s):
b8a4bc2
restructuring of own_rank mapping
Browse files- global_func/predict_dupes.py +58 -53
global_func/predict_dupes.py
CHANGED
@@ -125,23 +125,25 @@ def predict_dupes(portfolio, maps_dict, site_var, type_var, Contest_Size, streng
|
|
125 |
calc_columns = ['own_product', 'own_average', 'own_sum', 'avg_own_rank', 'dupes_calc', 'low_own_count', 'own_ratio', 'Ref_Proj', 'Max_Proj', 'Min_Proj', 'Avg_Ref', 'own_ratio']
|
126 |
# Get the original player columns (first 5 columns excluding salary, median, Own)
|
127 |
player_columns = [col for col in portfolio.columns[:5] if col not in ['salary', 'median', 'Own']]
|
128 |
-
|
|
|
|
|
129 |
flex_ownerships = pd.concat([
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
flex_rank = flex_ownerships.rank(pct=True)
|
137 |
|
138 |
# Assign ranks back to individual columns using the same rank scale
|
139 |
portfolio['CPT_Own_percent_rank'] = portfolio.iloc[:,0].map(maps_dict['cpt_own_map']).rank(pct=True)
|
140 |
-
portfolio['FLEX1_Own_percent_rank'] =
|
141 |
-
portfolio['FLEX2_Own_percent_rank'] =
|
142 |
-
portfolio['FLEX3_Own_percent_rank'] =
|
143 |
-
portfolio['FLEX4_Own_percent_rank'] =
|
144 |
-
portfolio['FLEX5_Own_percent_rank'] =
|
145 |
|
146 |
portfolio['CPT_Own'] = portfolio.iloc[:,0].map(maps_dict['cpt_own_map']).astype('float32') / 100
|
147 |
portfolio['FLEX1_Own'] = portfolio.iloc[:,1].map(maps_dict['own_map']).astype('float32') / 100
|
@@ -212,15 +214,33 @@ def predict_dupes(portfolio, maps_dict, site_var, type_var, Contest_Size, streng
|
|
212 |
calc_columns = ['own_product', 'own_average', 'own_sum', 'avg_own_rank', 'dupes_calc', 'low_own_count', 'Ref_Proj', 'Max_Proj', 'Min_Proj', 'Avg_Ref', 'own_ratio']
|
213 |
# Get the original player columns (first 6 columns excluding salary, median, Own)
|
214 |
player_columns = [col for col in portfolio.columns[:6] if col not in ['salary', 'median', 'Own']]
|
|
|
|
|
|
|
215 |
if sport_var == 'GOLF':
|
216 |
flex_ownerships = pd.concat([
|
217 |
-
portfolio.iloc[:,0].map(maps_dict['own_map']),
|
218 |
portfolio.iloc[:,1].map(maps_dict['own_map']),
|
219 |
portfolio.iloc[:,2].map(maps_dict['own_map']),
|
220 |
portfolio.iloc[:,3].map(maps_dict['own_map']),
|
221 |
portfolio.iloc[:,4].map(maps_dict['own_map']),
|
222 |
-
portfolio.iloc[:,5].map(maps_dict['own_map'])
|
|
|
223 |
])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
224 |
else:
|
225 |
flex_ownerships = pd.concat([
|
226 |
portfolio.iloc[:,1].map(maps_dict['own_map']),
|
@@ -229,33 +249,14 @@ def predict_dupes(portfolio, maps_dict, site_var, type_var, Contest_Size, streng
|
|
229 |
portfolio.iloc[:,4].map(maps_dict['own_map']),
|
230 |
portfolio.iloc[:,5].map(maps_dict['own_map'])
|
231 |
])
|
232 |
-
|
233 |
-
|
234 |
-
# Assign ranks back to individual columns using the same rank scale
|
235 |
-
if sport_var == 'GOLF':
|
236 |
-
portfolio['FLEX1_Own_percent_rank'] = portfolio.iloc[:,0].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
|
237 |
-
portfolio['FLEX2_Own_percent_rank'] = portfolio.iloc[:,1].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
|
238 |
-
portfolio['FLEX3_Own_percent_rank'] = portfolio.iloc[:,2].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
|
239 |
-
portfolio['FLEX4_Own_percent_rank'] = portfolio.iloc[:,3].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
|
240 |
-
portfolio['FLEX5_Own_percent_rank'] = portfolio.iloc[:,4].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
|
241 |
-
portfolio['FLEX6_Own_percent_rank'] = portfolio.iloc[:,5].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
|
242 |
-
|
243 |
-
portfolio['FLEX1_Own'] = portfolio.iloc[:,0].map(maps_dict['own_map']).astype('float32') / 100
|
244 |
-
portfolio['FLEX2_Own'] = portfolio.iloc[:,1].map(maps_dict['own_map']).astype('float32') / 100
|
245 |
-
portfolio['FLEX3_Own'] = portfolio.iloc[:,2].map(maps_dict['own_map']).astype('float32') / 100
|
246 |
-
portfolio['FLEX4_Own'] = portfolio.iloc[:,3].map(maps_dict['own_map']).astype('float32') / 100
|
247 |
-
portfolio['FLEX5_Own'] = portfolio.iloc[:,4].map(maps_dict['own_map']).astype('float32') / 100
|
248 |
-
portfolio['FLEX6_Own'] = portfolio.iloc[:,5].map(maps_dict['own_map']).astype('float32') / 100
|
249 |
-
else:
|
250 |
-
print(portfolio.head(10))
|
251 |
-
print(flex_ownerships.head(10))
|
252 |
-
print(flex_rank.head(10))
|
253 |
portfolio['CPT_Own_percent_rank'] = portfolio.iloc[:,0].map(maps_dict['cpt_own_map']).rank(pct=True)
|
254 |
-
portfolio['FLEX1_Own_percent_rank'] =
|
255 |
-
portfolio['FLEX2_Own_percent_rank'] =
|
256 |
-
portfolio['FLEX3_Own_percent_rank'] =
|
257 |
-
portfolio['FLEX4_Own_percent_rank'] =
|
258 |
-
portfolio['FLEX5_Own_percent_rank'] =
|
259 |
|
260 |
portfolio['CPT_Own'] = portfolio.iloc[:,0].map(maps_dict['cpt_own_map']).astype('float32') / 100
|
261 |
portfolio['FLEX1_Own'] = portfolio.iloc[:,1].map(maps_dict['own_map']).astype('float32') / 100
|
@@ -291,7 +292,9 @@ def predict_dupes(portfolio, maps_dict, site_var, type_var, Contest_Size, streng
|
|
291 |
calc_columns = ['own_product', 'own_average', 'own_sum', 'avg_own_rank', 'dupes_calc', 'low_own_count', 'Ref_Proj', 'Max_Proj', 'Min_Proj', 'Avg_Ref', 'own_ratio']
|
292 |
# Get the original player columns (first 6 columns excluding salary, median, Own)
|
293 |
player_columns = [col for col in portfolio.columns[:6] if col not in ['salary', 'median', 'Own']]
|
294 |
-
|
|
|
|
|
295 |
flex_ownerships = pd.concat([
|
296 |
portfolio.iloc[:,1].map(maps_dict['own_map']),
|
297 |
portfolio.iloc[:,2].map(maps_dict['own_map']),
|
@@ -300,14 +303,14 @@ def predict_dupes(portfolio, maps_dict, site_var, type_var, Contest_Size, streng
|
|
300 |
portfolio.iloc[:,5].map(maps_dict['own_map'])
|
301 |
])
|
302 |
flex_rank = flex_ownerships.rank(pct=True)
|
303 |
-
|
304 |
# Assign ranks back to individual columns using the same rank scale
|
305 |
portfolio['CPT_Own_percent_rank'] = portfolio.iloc[:,0].map(maps_dict['cpt_own_map']).rank(pct=True)
|
306 |
-
portfolio['FLEX1_Own_percent_rank'] =
|
307 |
-
portfolio['FLEX2_Own_percent_rank'] =
|
308 |
-
portfolio['FLEX3_Own_percent_rank'] =
|
309 |
-
portfolio['FLEX4_Own_percent_rank'] =
|
310 |
-
portfolio['FLEX5_Own_percent_rank'] =
|
311 |
|
312 |
portfolio['CPT_Own'] = portfolio.iloc[:,0].map(maps_dict['cpt_own_map']).astype('float32') / 100
|
313 |
portfolio['FLEX1_Own'] = portfolio.iloc[:,1].map(maps_dict['own_map']).astype('float32') / 100
|
@@ -343,6 +346,8 @@ def predict_dupes(portfolio, maps_dict, site_var, type_var, Contest_Size, streng
|
|
343 |
# Get the original player columns (first 6 columns excluding salary, median, Own)
|
344 |
player_columns = [col for col in portfolio.columns[:7] if col not in ['salary', 'median', 'Own']]
|
345 |
|
|
|
|
|
346 |
flex_ownerships = pd.concat([
|
347 |
portfolio.iloc[:,1].map(maps_dict['own_map']),
|
348 |
portfolio.iloc[:,2].map(maps_dict['own_map']),
|
@@ -355,12 +360,12 @@ def predict_dupes(portfolio, maps_dict, site_var, type_var, Contest_Size, streng
|
|
355 |
|
356 |
# Assign ranks back to individual columns using the same rank scale
|
357 |
portfolio['CPT_Own_percent_rank'] = portfolio.iloc[:,0].map(maps_dict['cpt_own_map']).rank(pct=True)
|
358 |
-
portfolio['TOP_Own_percent_rank'] =
|
359 |
-
portfolio['JNG_Own_percent_rank'] =
|
360 |
-
portfolio['MID_Own_percent_rank'] =
|
361 |
-
portfolio['ADC_Own_percent_rank'] =
|
362 |
-
portfolio['SUP_Own_percent_rank'] =
|
363 |
-
portfolio['Team_Own_percent_rank'] =
|
364 |
|
365 |
portfolio['CPT_Own'] = portfolio.iloc[:,0].map(maps_dict['cpt_own_map']).astype('float32') / 100
|
366 |
portfolio['TOP_Own'] = portfolio.iloc[:,1].map(maps_dict['own_map']).astype('float32') / 100
|
|
|
125 |
calc_columns = ['own_product', 'own_average', 'own_sum', 'avg_own_rank', 'dupes_calc', 'low_own_count', 'own_ratio', 'Ref_Proj', 'Max_Proj', 'Min_Proj', 'Avg_Ref', 'own_ratio']
|
126 |
# Get the original player columns (first 5 columns excluding salary, median, Own)
|
127 |
player_columns = [col for col in portfolio.columns[:5] if col not in ['salary', 'median', 'Own']]
|
128 |
+
|
129 |
+
n_rows = len(portfolio)
|
130 |
+
|
131 |
flex_ownerships = pd.concat([
|
132 |
+
portfolio.iloc[:,1].map(maps_dict['own_map']),
|
133 |
+
portfolio.iloc[:,2].map(maps_dict['own_map']),
|
134 |
+
portfolio.iloc[:,3].map(maps_dict['own_map']),
|
135 |
+
portfolio.iloc[:,4].map(maps_dict['own_map']),
|
136 |
+
portfolio.iloc[:,5].map(maps_dict['own_map'])
|
137 |
+
])
|
138 |
flex_rank = flex_ownerships.rank(pct=True)
|
139 |
|
140 |
# Assign ranks back to individual columns using the same rank scale
|
141 |
portfolio['CPT_Own_percent_rank'] = portfolio.iloc[:,0].map(maps_dict['cpt_own_map']).rank(pct=True)
|
142 |
+
portfolio['FLEX1_Own_percent_rank'] = flex_rank.iloc[0:n_rows].values
|
143 |
+
portfolio['FLEX2_Own_percent_rank'] = flex_rank.iloc[n_rows:2*n_rows].values
|
144 |
+
portfolio['FLEX3_Own_percent_rank'] = flex_rank.iloc[2*n_rows:3*n_rows].values
|
145 |
+
portfolio['FLEX4_Own_percent_rank'] = flex_rank.iloc[3*n_rows:4*n_rows].values
|
146 |
+
portfolio['FLEX5_Own_percent_rank'] = flex_rank.iloc[4*n_rows:5*n_rows].values
|
147 |
|
148 |
portfolio['CPT_Own'] = portfolio.iloc[:,0].map(maps_dict['cpt_own_map']).astype('float32') / 100
|
149 |
portfolio['FLEX1_Own'] = portfolio.iloc[:,1].map(maps_dict['own_map']).astype('float32') / 100
|
|
|
214 |
calc_columns = ['own_product', 'own_average', 'own_sum', 'avg_own_rank', 'dupes_calc', 'low_own_count', 'Ref_Proj', 'Max_Proj', 'Min_Proj', 'Avg_Ref', 'own_ratio']
|
215 |
# Get the original player columns (first 6 columns excluding salary, median, Own)
|
216 |
player_columns = [col for col in portfolio.columns[:6] if col not in ['salary', 'median', 'Own']]
|
217 |
+
n_rows = len(portfolio)
|
218 |
+
|
219 |
+
# Assign ranks back to individual columns using the same rank scale
|
220 |
if sport_var == 'GOLF':
|
221 |
flex_ownerships = pd.concat([
|
|
|
222 |
portfolio.iloc[:,1].map(maps_dict['own_map']),
|
223 |
portfolio.iloc[:,2].map(maps_dict['own_map']),
|
224 |
portfolio.iloc[:,3].map(maps_dict['own_map']),
|
225 |
portfolio.iloc[:,4].map(maps_dict['own_map']),
|
226 |
+
portfolio.iloc[:,5].map(maps_dict['own_map']),
|
227 |
+
portfolio.iloc[:,6].map(maps_dict['own_map'])
|
228 |
])
|
229 |
+
flex_rank = flex_ownerships.rank(pct=True)
|
230 |
+
|
231 |
+
portfolio['FLEX1_Own_percent_rank'] = flex_rank.iloc[0:n_rows].values
|
232 |
+
portfolio['FLEX2_Own_percent_rank'] = flex_rank.iloc[n_rows:2*n_rows].values
|
233 |
+
portfolio['FLEX3_Own_percent_rank'] = flex_rank.iloc[2*n_rows:3*n_rows].values
|
234 |
+
portfolio['FLEX4_Own_percent_rank'] = flex_rank.iloc[3*n_rows:4*n_rows].values
|
235 |
+
portfolio['FLEX5_Own_percent_rank'] = flex_rank.iloc[4*n_rows:5*n_rows].values
|
236 |
+
portfolio['FLEX6_Own_percent_rank'] = flex_rank.iloc[5*n_rows:6*n_rows].values
|
237 |
+
|
238 |
+
portfolio['FLEX1_Own'] = portfolio.iloc[:,0].map(maps_dict['own_map']).astype('float32') / 100
|
239 |
+
portfolio['FLEX2_Own'] = portfolio.iloc[:,1].map(maps_dict['own_map']).astype('float32') / 100
|
240 |
+
portfolio['FLEX3_Own'] = portfolio.iloc[:,2].map(maps_dict['own_map']).astype('float32') / 100
|
241 |
+
portfolio['FLEX4_Own'] = portfolio.iloc[:,3].map(maps_dict['own_map']).astype('float32') / 100
|
242 |
+
portfolio['FLEX5_Own'] = portfolio.iloc[:,4].map(maps_dict['own_map']).astype('float32') / 100
|
243 |
+
portfolio['FLEX6_Own'] = portfolio.iloc[:,5].map(maps_dict['own_map']).astype('float32') / 100
|
244 |
else:
|
245 |
flex_ownerships = pd.concat([
|
246 |
portfolio.iloc[:,1].map(maps_dict['own_map']),
|
|
|
249 |
portfolio.iloc[:,4].map(maps_dict['own_map']),
|
250 |
portfolio.iloc[:,5].map(maps_dict['own_map'])
|
251 |
])
|
252 |
+
flex_rank = flex_ownerships.rank(pct=True)
|
253 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
254 |
portfolio['CPT_Own_percent_rank'] = portfolio.iloc[:,0].map(maps_dict['cpt_own_map']).rank(pct=True)
|
255 |
+
portfolio['FLEX1_Own_percent_rank'] = flex_rank.iloc[0:n_rows].values
|
256 |
+
portfolio['FLEX2_Own_percent_rank'] = flex_rank.iloc[n_rows:2*n_rows].values
|
257 |
+
portfolio['FLEX3_Own_percent_rank'] = flex_rank.iloc[2*n_rows:3*n_rows].values
|
258 |
+
portfolio['FLEX4_Own_percent_rank'] = flex_rank.iloc[3*n_rows:4*n_rows].values
|
259 |
+
portfolio['FLEX5_Own_percent_rank'] = flex_rank.iloc[4*n_rows:5*n_rows].values
|
260 |
|
261 |
portfolio['CPT_Own'] = portfolio.iloc[:,0].map(maps_dict['cpt_own_map']).astype('float32') / 100
|
262 |
portfolio['FLEX1_Own'] = portfolio.iloc[:,1].map(maps_dict['own_map']).astype('float32') / 100
|
|
|
292 |
calc_columns = ['own_product', 'own_average', 'own_sum', 'avg_own_rank', 'dupes_calc', 'low_own_count', 'Ref_Proj', 'Max_Proj', 'Min_Proj', 'Avg_Ref', 'own_ratio']
|
293 |
# Get the original player columns (first 6 columns excluding salary, median, Own)
|
294 |
player_columns = [col for col in portfolio.columns[:6] if col not in ['salary', 'median', 'Own']]
|
295 |
+
|
296 |
+
n_rows = len(portfolio)
|
297 |
+
|
298 |
flex_ownerships = pd.concat([
|
299 |
portfolio.iloc[:,1].map(maps_dict['own_map']),
|
300 |
portfolio.iloc[:,2].map(maps_dict['own_map']),
|
|
|
303 |
portfolio.iloc[:,5].map(maps_dict['own_map'])
|
304 |
])
|
305 |
flex_rank = flex_ownerships.rank(pct=True)
|
306 |
+
|
307 |
# Assign ranks back to individual columns using the same rank scale
|
308 |
portfolio['CPT_Own_percent_rank'] = portfolio.iloc[:,0].map(maps_dict['cpt_own_map']).rank(pct=True)
|
309 |
+
portfolio['FLEX1_Own_percent_rank'] = flex_rank.iloc[0:n_rows].values
|
310 |
+
portfolio['FLEX2_Own_percent_rank'] = flex_rank.iloc[n_rows:2*n_rows].values
|
311 |
+
portfolio['FLEX3_Own_percent_rank'] = flex_rank.iloc[2*n_rows:3*n_rows].values
|
312 |
+
portfolio['FLEX4_Own_percent_rank'] = flex_rank.iloc[3*n_rows:4*n_rows].values
|
313 |
+
portfolio['FLEX5_Own_percent_rank'] = flex_rank.iloc[4*n_rows:5*n_rows].values
|
314 |
|
315 |
portfolio['CPT_Own'] = portfolio.iloc[:,0].map(maps_dict['cpt_own_map']).astype('float32') / 100
|
316 |
portfolio['FLEX1_Own'] = portfolio.iloc[:,1].map(maps_dict['own_map']).astype('float32') / 100
|
|
|
346 |
# Get the original player columns (first 6 columns excluding salary, median, Own)
|
347 |
player_columns = [col for col in portfolio.columns[:7] if col not in ['salary', 'median', 'Own']]
|
348 |
|
349 |
+
n_rows = len(portfolio)
|
350 |
+
|
351 |
flex_ownerships = pd.concat([
|
352 |
portfolio.iloc[:,1].map(maps_dict['own_map']),
|
353 |
portfolio.iloc[:,2].map(maps_dict['own_map']),
|
|
|
360 |
|
361 |
# Assign ranks back to individual columns using the same rank scale
|
362 |
portfolio['CPT_Own_percent_rank'] = portfolio.iloc[:,0].map(maps_dict['cpt_own_map']).rank(pct=True)
|
363 |
+
portfolio['TOP_Own_percent_rank'] = flex_rank.iloc[0:n_rows].values
|
364 |
+
portfolio['JNG_Own_percent_rank'] = flex_rank.iloc[n_rows:2*n_rows].values
|
365 |
+
portfolio['MID_Own_percent_rank'] = flex_rank.iloc[2*n_rows:3*n_rows].values
|
366 |
+
portfolio['ADC_Own_percent_rank'] = flex_rank.iloc[3*n_rows:4*n_rows].values
|
367 |
+
portfolio['SUP_Own_percent_rank'] = flex_rank.iloc[4*n_rows:5*n_rows].values
|
368 |
+
portfolio['Team_Own_percent_rank'] = flex_rank.iloc[5*n_rows:6*n_rows].values
|
369 |
|
370 |
portfolio['CPT_Own'] = portfolio.iloc[:,0].map(maps_dict['cpt_own_map']).astype('float32') / 100
|
371 |
portfolio['TOP_Own'] = portfolio.iloc[:,1].map(maps_dict['own_map']).astype('float32') / 100
|