Spaces:
Sleeping
Sleeping
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
|