Spaces:
Running
Running
James McCool
commited on
Commit
·
0fd7f83
1
Parent(s):
fc6e107
Refactor FD lineup data retrieval in app.py to streamline logic for handling priority variables and slate types. This update consolidates the data fetching process, ensuring consistent DataFrame creation and enhancing overall code readability and maintainability.
Browse files
app.py
CHANGED
|
@@ -278,104 +278,107 @@ def init_DK_lineups(type_var, slate_var, prio_var, prio_mix):
|
|
| 278 |
|
| 279 |
@st.cache_data(ttl = 60)
|
| 280 |
def init_FD_lineups(type_var,slate_var, prio_var, prio_mix):
|
| 281 |
-
|
| 282 |
-
|
| 283 |
-
|
| 284 |
-
collection = db['FD_MLB_name_map']
|
| 285 |
-
cursor = collection.find()
|
| 286 |
-
raw_data = pd.DataFrame(list(cursor))
|
| 287 |
-
names_dict = dict(zip(raw_data['key'], raw_data['value']))
|
| 288 |
-
|
| 289 |
-
collection = db['FD_MLB_seed_frame']
|
| 290 |
-
if prio_var == None:
|
| 291 |
-
cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
|
| 292 |
-
cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
|
| 293 |
-
raw_display = pd.concat([pd.DataFrame(list(cursor1)), pd.DataFrame(list(cursor2))])
|
| 294 |
-
else:
|
| 295 |
-
cursor = collection.find().sort(prio_var, -1).limit(10000)
|
| 296 |
-
raw_display = pd.DataFrame(list(cursor))
|
| 297 |
-
|
| 298 |
-
raw_display = raw_display[['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
|
| 299 |
-
dict_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL']
|
| 300 |
-
# Map names
|
| 301 |
-
raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
|
| 302 |
-
elif slate_var == 'Secondary':
|
| 303 |
-
collection = db['FD_MLB_Secondary_name_map']
|
| 304 |
-
cursor = collection.find()
|
| 305 |
-
raw_data = pd.DataFrame(list(cursor))
|
| 306 |
-
names_dict = dict(zip(raw_data['key'], raw_data['value']))
|
| 307 |
-
|
| 308 |
-
collection = db['FD_MLB_Secondary_seed_frame']
|
| 309 |
-
if prio_var == None:
|
| 310 |
-
cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
|
| 311 |
-
cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
|
| 312 |
-
raw_display = pd.concat([pd.DataFrame(list(cursor1)), pd.DataFrame(list(cursor2))])
|
| 313 |
-
else:
|
| 314 |
-
cursor = collection.find().sort(prio_var, -1).limit(10000)
|
| 315 |
-
raw_display = pd.DataFrame(list(cursor))
|
| 316 |
-
|
| 317 |
-
raw_display = raw_display[['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
|
| 318 |
-
dict_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL']
|
| 319 |
-
# Map names
|
| 320 |
-
raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
|
| 321 |
-
elif slate_var == 'Auxiliary':
|
| 322 |
-
collection = db['FD_MLB_Turbo_name_map']
|
| 323 |
-
cursor = collection.find()
|
| 324 |
-
raw_data = pd.DataFrame(list(cursor))
|
| 325 |
-
names_dict = dict(zip(raw_data['key'], raw_data['value']))
|
| 326 |
-
|
| 327 |
-
collection = db['FD_MLB_Turbo_seed_frame']
|
| 328 |
-
if prio_var == None:
|
| 329 |
-
cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
|
| 330 |
-
cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
|
| 331 |
-
raw_display = pd.concat([pd.DataFrame(list(cursor1)), pd.DataFrame(list(cursor2))])
|
| 332 |
-
else:
|
| 333 |
-
cursor = collection.find().sort(prio_var, -1).limit(10000)
|
| 334 |
-
raw_display = pd.DataFrame(list(cursor))
|
| 335 |
-
|
| 336 |
-
raw_display = raw_display[['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
|
| 337 |
-
dict_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL']
|
| 338 |
-
# Map names
|
| 339 |
-
raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
|
| 340 |
-
|
| 341 |
-
elif type_var == 'Showdown':
|
| 342 |
-
if slate_var == 'Main':
|
| 343 |
-
collection = db['FD_MLB_SD1_seed_frame']
|
| 344 |
-
if prio_var == None:
|
| 345 |
-
cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
|
| 346 |
-
cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
|
| 347 |
-
raw_display = pd.concat([pd.DataFrame(list(cursor1)), pd.DataFrame(list(cursor2))])
|
| 348 |
-
else:
|
| 349 |
-
cursor = collection.find().sort(prio_var, -1).limit(10000)
|
| 350 |
-
raw_display = pd.DataFrame(list(cursor))
|
| 351 |
-
|
| 352 |
-
raw_display = raw_display[['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4', 'FLEX5', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
|
| 353 |
-
elif slate_var == 'Secondary':
|
| 354 |
-
collection = db['FD_MLB_SD2_seed_frame']
|
| 355 |
-
if prio_var == None:
|
| 356 |
-
cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
|
| 357 |
-
cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
|
| 358 |
-
cursor = pd.concat([cursor1, cursor2])
|
| 359 |
-
else:
|
| 360 |
-
cursor = collection.find().sort(prio_var, -1).limit(10000)
|
| 361 |
-
raw_display = pd.DataFrame(list(cursor))
|
| 362 |
-
|
| 363 |
-
raw_display = raw_display[['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4', 'FLEX5', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
|
| 364 |
-
elif slate_var == 'Auxiliary':
|
| 365 |
-
collection = db['FD_MLB_SD3_seed_frame']
|
| 366 |
-
if prio_var == None:
|
| 367 |
-
cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
|
| 368 |
-
cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
|
| 369 |
-
raw_display = pd.concat([pd.DataFrame(list(cursor1)), pd.DataFrame(list(cursor2))])
|
| 370 |
-
else:
|
| 371 |
-
cursor = collection.find().sort(prio_var, -1).limit(10000)
|
| 372 |
-
raw_display = pd.DataFrame(list(cursor))
|
| 373 |
-
|
| 374 |
-
raw_display = raw_display[['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4', 'FLEX5', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
|
| 375 |
|
| 376 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 377 |
|
| 378 |
-
|
| 379 |
|
| 380 |
@st.cache_data
|
| 381 |
def convert_df_to_csv(df):
|
|
|
|
| 278 |
|
| 279 |
@st.cache_data(ttl = 60)
|
| 280 |
def init_FD_lineups(type_var,slate_var, prio_var, prio_mix):
|
| 281 |
+
|
| 282 |
+
if prio_var == 'Mix':
|
| 283 |
+
prio_var = None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 284 |
|
| 285 |
+
if type_var == 'Regular':
|
| 286 |
+
if slate_var == 'Main':
|
| 287 |
+
collection = db['FD_MLB_name_map']
|
| 288 |
+
cursor = collection.find()
|
| 289 |
+
raw_data = pd.DataFrame(list(cursor))
|
| 290 |
+
names_dict = dict(zip(raw_data['key'], raw_data['value']))
|
| 291 |
+
|
| 292 |
+
collection = db['FD_MLB_seed_frame']
|
| 293 |
+
if prio_var == None:
|
| 294 |
+
cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
|
| 295 |
+
cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
|
| 296 |
+
raw_display = pd.concat([pd.DataFrame(list(cursor1)), pd.DataFrame(list(cursor2))])
|
| 297 |
+
else:
|
| 298 |
+
cursor = collection.find().sort(prio_var, -1).limit(10000)
|
| 299 |
+
raw_display = pd.DataFrame(list(cursor))
|
| 300 |
+
|
| 301 |
+
raw_display = raw_display[['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
|
| 302 |
+
dict_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL']
|
| 303 |
+
# Map names
|
| 304 |
+
raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
|
| 305 |
+
elif slate_var == 'Secondary':
|
| 306 |
+
collection = db['FD_MLB_Secondary_name_map']
|
| 307 |
+
cursor = collection.find()
|
| 308 |
+
raw_data = pd.DataFrame(list(cursor))
|
| 309 |
+
names_dict = dict(zip(raw_data['key'], raw_data['value']))
|
| 310 |
+
|
| 311 |
+
collection = db['FD_MLB_Secondary_seed_frame']
|
| 312 |
+
if prio_var == None:
|
| 313 |
+
cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
|
| 314 |
+
cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
|
| 315 |
+
raw_display = pd.concat([pd.DataFrame(list(cursor1)), pd.DataFrame(list(cursor2))])
|
| 316 |
+
else:
|
| 317 |
+
cursor = collection.find().sort(prio_var, -1).limit(10000)
|
| 318 |
+
raw_display = pd.DataFrame(list(cursor))
|
| 319 |
+
|
| 320 |
+
raw_display = raw_display[['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
|
| 321 |
+
dict_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL']
|
| 322 |
+
# Map names
|
| 323 |
+
raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
|
| 324 |
+
elif slate_var == 'Auxiliary':
|
| 325 |
+
collection = db['FD_MLB_Turbo_name_map']
|
| 326 |
+
cursor = collection.find()
|
| 327 |
+
raw_data = pd.DataFrame(list(cursor))
|
| 328 |
+
names_dict = dict(zip(raw_data['key'], raw_data['value']))
|
| 329 |
+
|
| 330 |
+
collection = db['FD_MLB_Turbo_seed_frame']
|
| 331 |
+
if prio_var == None:
|
| 332 |
+
cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
|
| 333 |
+
cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
|
| 334 |
+
raw_display = pd.concat([pd.DataFrame(list(cursor1)), pd.DataFrame(list(cursor2))])
|
| 335 |
+
else:
|
| 336 |
+
cursor = collection.find().sort(prio_var, -1).limit(10000)
|
| 337 |
+
raw_display = pd.DataFrame(list(cursor))
|
| 338 |
+
|
| 339 |
+
raw_display = raw_display[['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
|
| 340 |
+
dict_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL']
|
| 341 |
+
# Map names
|
| 342 |
+
raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
|
| 343 |
+
|
| 344 |
+
elif type_var == 'Showdown':
|
| 345 |
+
if slate_var == 'Main':
|
| 346 |
+
collection = db['FD_MLB_SD1_seed_frame']
|
| 347 |
+
if prio_var == None:
|
| 348 |
+
cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
|
| 349 |
+
cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
|
| 350 |
+
raw_display = pd.concat([pd.DataFrame(list(cursor1)), pd.DataFrame(list(cursor2))])
|
| 351 |
+
else:
|
| 352 |
+
cursor = collection.find().sort(prio_var, -1).limit(10000)
|
| 353 |
+
raw_display = pd.DataFrame(list(cursor))
|
| 354 |
+
|
| 355 |
+
raw_display = raw_display[['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4', 'FLEX5', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
|
| 356 |
+
elif slate_var == 'Secondary':
|
| 357 |
+
collection = db['FD_MLB_SD2_seed_frame']
|
| 358 |
+
if prio_var == None:
|
| 359 |
+
cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
|
| 360 |
+
cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
|
| 361 |
+
cursor = pd.concat([cursor1, cursor2])
|
| 362 |
+
else:
|
| 363 |
+
cursor = collection.find().sort(prio_var, -1).limit(10000)
|
| 364 |
+
raw_display = pd.DataFrame(list(cursor))
|
| 365 |
+
|
| 366 |
+
raw_display = raw_display[['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4', 'FLEX5', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
|
| 367 |
+
elif slate_var == 'Auxiliary':
|
| 368 |
+
collection = db['FD_MLB_SD3_seed_frame']
|
| 369 |
+
if prio_var == None:
|
| 370 |
+
cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
|
| 371 |
+
cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
|
| 372 |
+
raw_display = pd.concat([pd.DataFrame(list(cursor1)), pd.DataFrame(list(cursor2))])
|
| 373 |
+
else:
|
| 374 |
+
cursor = collection.find().sort(prio_var, -1).limit(10000)
|
| 375 |
+
raw_display = pd.DataFrame(list(cursor))
|
| 376 |
+
|
| 377 |
+
raw_display = raw_display[['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4', 'FLEX5', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
|
| 378 |
+
|
| 379 |
+
FD_seed = raw_display.to_numpy()
|
| 380 |
|
| 381 |
+
return FD_seed
|
| 382 |
|
| 383 |
@st.cache_data
|
| 384 |
def convert_df_to_csv(df):
|