James McCool commited on
Commit
2d5437b
·
1 Parent(s): b8a4bc2

restructuring of own_rank mapping

Browse files
Files changed (1) hide show
  1. 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
- portfolio.iloc[:,1].map(maps_dict['own_map']),
131
- portfolio.iloc[:,2].map(maps_dict['own_map']),
132
- portfolio.iloc[:,3].map(maps_dict['own_map']),
133
- portfolio.iloc[:,4].map(maps_dict['own_map']),
134
- portfolio.iloc[:,5].map(maps_dict['own_map'])
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'] = portfolio.iloc[:,1].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
141
- portfolio['FLEX2_Own_percent_rank'] = portfolio.iloc[:,2].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
142
- portfolio['FLEX3_Own_percent_rank'] = portfolio.iloc[:,3].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
143
- portfolio['FLEX4_Own_percent_rank'] = portfolio.iloc[:,4].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
144
- portfolio['FLEX5_Own_percent_rank'] = portfolio.iloc[:,5].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
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
- flex_rank = flex_ownerships.rank(pct=True)
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'] = portfolio.iloc[:,1].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
255
- portfolio['FLEX2_Own_percent_rank'] = portfolio.iloc[:,2].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
256
- portfolio['FLEX3_Own_percent_rank'] = portfolio.iloc[:,3].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
257
- portfolio['FLEX4_Own_percent_rank'] = portfolio.iloc[:,4].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
258
- portfolio['FLEX5_Own_percent_rank'] = portfolio.iloc[:,5].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
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'] = portfolio.iloc[:,1].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
307
- portfolio['FLEX2_Own_percent_rank'] = portfolio.iloc[:,2].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
308
- portfolio['FLEX3_Own_percent_rank'] = portfolio.iloc[:,3].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
309
- portfolio['FLEX4_Own_percent_rank'] = portfolio.iloc[:,4].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
310
- portfolio['FLEX5_Own_percent_rank'] = portfolio.iloc[:,5].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
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'] = portfolio.iloc[:,1].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
359
- portfolio['JNG_Own_percent_rank'] = portfolio.iloc[:,2].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
360
- portfolio['MID_Own_percent_rank'] = portfolio.iloc[:,3].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
361
- portfolio['ADC_Own_percent_rank'] = portfolio.iloc[:,4].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
362
- portfolio['SUP_Own_percent_rank'] = portfolio.iloc[:,5].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
363
- portfolio['Team_Own_percent_rank'] = portfolio.iloc[:,6].map(maps_dict['own_map']).map(lambda x: flex_rank[flex_ownerships == x].iloc[0])
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