James McCool
commited on
Commit
·
b42fc89
1
Parent(s):
67223dc
Refactor salary, median, and ownership calculations in app.py to use parsed_frame instead of session state, improving data handling consistency and clarity in exposure evaluations.
Browse files
app.py
CHANGED
|
@@ -1349,50 +1349,79 @@ with tab2:
|
|
| 1349 |
if type_var == 'Classic':
|
| 1350 |
if sport_var == 'CS2' or sport_var == 'LOL':
|
| 1351 |
# Calculate salary (CPT uses cpt_salary_map, others use salary_map)
|
| 1352 |
-
|
| 1353 |
lambda row: st.session_state['map_dict']['cpt_salary_map'].get(row.iloc[0], 0) +
|
| 1354 |
sum(st.session_state['map_dict']['salary_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1355 |
axis=1
|
| 1356 |
)
|
| 1357 |
|
| 1358 |
# Calculate median (CPT uses cpt_proj_map, others use proj_map)
|
| 1359 |
-
|
| 1360 |
lambda row: st.session_state['map_dict']['cpt_proj_map'].get(row.iloc[0], 0) +
|
| 1361 |
sum(st.session_state['map_dict']['proj_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1362 |
axis=1
|
| 1363 |
)
|
| 1364 |
|
| 1365 |
# Calculate ownership (CPT uses cpt_own_map, others use own_map)
|
| 1366 |
-
|
| 1367 |
lambda row: st.session_state['map_dict']['cpt_own_map'].get(row.iloc[0], 0) +
|
| 1368 |
sum(st.session_state['map_dict']['own_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1369 |
axis=1
|
| 1370 |
)
|
| 1371 |
|
| 1372 |
elif sport_var != 'CS2' and sport_var != 'LOL':
|
| 1373 |
-
|
| 1374 |
-
|
| 1375 |
-
|
| 1376 |
if 'stack_dict' in st.session_state:
|
| 1377 |
-
st.session_state['
|
| 1378 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1379 |
elif type_var == 'Showdown':
|
| 1380 |
# Calculate salary (CPT uses cpt_salary_map, others use salary_map)
|
| 1381 |
-
|
| 1382 |
lambda row: st.session_state['map_dict']['cpt_salary_map'].get(row.iloc[0], 0) +
|
| 1383 |
sum(st.session_state['map_dict']['salary_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1384 |
axis=1
|
| 1385 |
)
|
| 1386 |
|
| 1387 |
# Calculate median (CPT uses cpt_proj_map, others use proj_map)
|
| 1388 |
-
|
| 1389 |
lambda row: st.session_state['map_dict']['cpt_proj_map'].get(row.iloc[0], 0) +
|
| 1390 |
sum(st.session_state['map_dict']['proj_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1391 |
axis=1
|
| 1392 |
)
|
| 1393 |
|
| 1394 |
# Calculate ownership (CPT uses cpt_own_map, others use own_map)
|
| 1395 |
-
|
| 1396 |
lambda row: st.session_state['map_dict']['cpt_own_map'].get(row.iloc[0], 0) +
|
| 1397 |
sum(st.session_state['map_dict']['own_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1398 |
axis=1
|
|
@@ -1412,50 +1441,79 @@ with tab2:
|
|
| 1412 |
if type_var == 'Classic':
|
| 1413 |
if sport_var == 'CS2' or sport_var == 'LOL':
|
| 1414 |
# Calculate salary (CPT uses cpt_salary_map, others use salary_map)
|
| 1415 |
-
|
| 1416 |
lambda row: st.session_state['map_dict']['cpt_salary_map'].get(row.iloc[0], 0) +
|
| 1417 |
sum(st.session_state['map_dict']['salary_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1418 |
axis=1
|
| 1419 |
)
|
| 1420 |
|
| 1421 |
# Calculate median (CPT uses cpt_proj_map, others use proj_map)
|
| 1422 |
-
|
| 1423 |
lambda row: st.session_state['map_dict']['cpt_proj_map'].get(row.iloc[0], 0) +
|
| 1424 |
sum(st.session_state['map_dict']['proj_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1425 |
axis=1
|
| 1426 |
)
|
| 1427 |
|
| 1428 |
# Calculate ownership (CPT uses cpt_own_map, others use own_map)
|
| 1429 |
-
|
| 1430 |
lambda row: st.session_state['map_dict']['cpt_own_map'].get(row.iloc[0], 0) +
|
| 1431 |
sum(st.session_state['map_dict']['own_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1432 |
axis=1
|
| 1433 |
)
|
| 1434 |
|
| 1435 |
elif sport_var != 'CS2' and sport_var != 'LOL':
|
| 1436 |
-
|
| 1437 |
-
|
| 1438 |
-
|
| 1439 |
if 'stack_dict' in st.session_state:
|
| 1440 |
-
st.session_state['
|
| 1441 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1442 |
elif type_var == 'Showdown':
|
| 1443 |
# Calculate salary (CPT uses cpt_salary_map, others use salary_map)
|
| 1444 |
-
|
| 1445 |
lambda row: st.session_state['map_dict']['cpt_salary_map'].get(row.iloc[0], 0) +
|
| 1446 |
sum(st.session_state['map_dict']['salary_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1447 |
axis=1
|
| 1448 |
)
|
| 1449 |
|
| 1450 |
# Calculate median (CPT uses cpt_proj_map, others use proj_map)
|
| 1451 |
-
|
| 1452 |
lambda row: st.session_state['map_dict']['cpt_proj_map'].get(row.iloc[0], 0) +
|
| 1453 |
sum(st.session_state['map_dict']['proj_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1454 |
axis=1
|
| 1455 |
)
|
| 1456 |
|
| 1457 |
# Calculate ownership (CPT uses cpt_own_map, others use own_map)
|
| 1458 |
-
|
| 1459 |
lambda row: st.session_state['map_dict']['cpt_own_map'].get(row.iloc[0], 0) +
|
| 1460 |
sum(st.session_state['map_dict']['own_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1461 |
axis=1
|
|
|
|
| 1349 |
if type_var == 'Classic':
|
| 1350 |
if sport_var == 'CS2' or sport_var == 'LOL':
|
| 1351 |
# Calculate salary (CPT uses cpt_salary_map, others use salary_map)
|
| 1352 |
+
parsed_frame['salary'] = parsed_frame.apply(
|
| 1353 |
lambda row: st.session_state['map_dict']['cpt_salary_map'].get(row.iloc[0], 0) +
|
| 1354 |
sum(st.session_state['map_dict']['salary_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1355 |
axis=1
|
| 1356 |
)
|
| 1357 |
|
| 1358 |
# Calculate median (CPT uses cpt_proj_map, others use proj_map)
|
| 1359 |
+
parsed_frame['median'] = parsed_frame.apply(
|
| 1360 |
lambda row: st.session_state['map_dict']['cpt_proj_map'].get(row.iloc[0], 0) +
|
| 1361 |
sum(st.session_state['map_dict']['proj_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1362 |
axis=1
|
| 1363 |
)
|
| 1364 |
|
| 1365 |
# Calculate ownership (CPT uses cpt_own_map, others use own_map)
|
| 1366 |
+
parsed_frame['Own'] = parsed_frame.apply(
|
| 1367 |
lambda row: st.session_state['map_dict']['cpt_own_map'].get(row.iloc[0], 0) +
|
| 1368 |
sum(st.session_state['map_dict']['own_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1369 |
axis=1
|
| 1370 |
)
|
| 1371 |
|
| 1372 |
elif sport_var != 'CS2' and sport_var != 'LOL':
|
| 1373 |
+
parsed_frame['salary'] = parsed_frame.apply(lambda row: sum(st.session_state['map_dict']['salary_map'].get(player, 0) for player in row), axis=1)
|
| 1374 |
+
parsed_frame['median'] = parsed_frame.apply(lambda row: sum(st.session_state['map_dict']['proj_map'].get(player, 0) for player in row), axis=1)
|
| 1375 |
+
parsed_frame['Own'] = parsed_frame.apply(lambda row: sum(st.session_state['map_dict']['own_map'].get(player, 0) for player in row), axis=1)
|
| 1376 |
if 'stack_dict' in st.session_state:
|
| 1377 |
+
team_dict = dict(zip(st.session_state['projections_df']['player_names'], st.session_state['projections_df']['team']))
|
| 1378 |
+
if sport_var == 'LOL':
|
| 1379 |
+
parsed_frame['Stack'] = parsed_frame.apply(
|
| 1380 |
+
lambda row: Counter(
|
| 1381 |
+
team_dict.get(player, '') for player in row
|
| 1382 |
+
if team_dict.get(player, '') != ''
|
| 1383 |
+
).most_common(1)[0][0] if any(team_dict.get(player, '') for player in row) else '',
|
| 1384 |
+
axis=1
|
| 1385 |
+
)
|
| 1386 |
+
parsed_frame['Size'] = parsed_frame.apply(
|
| 1387 |
+
lambda row: Counter(
|
| 1388 |
+
team_dict.get(player, '') for player in row
|
| 1389 |
+
if team_dict.get(player, '') != ''
|
| 1390 |
+
).most_common(1)[0][1] if any(team_dict.get(player, '') for player in row) else 0,
|
| 1391 |
+
axis=1
|
| 1392 |
+
)
|
| 1393 |
+
else:
|
| 1394 |
+
parsed_frame['Stack'] = parsed_frame.apply(
|
| 1395 |
+
lambda row: Counter(
|
| 1396 |
+
team_dict.get(player, '') for player in row[2:]
|
| 1397 |
+
if team_dict.get(player, '') != ''
|
| 1398 |
+
).most_common(1)[0][0] if any(team_dict.get(player, '') for player in row[2:]) else '',
|
| 1399 |
+
axis=1
|
| 1400 |
+
)
|
| 1401 |
+
parsed_frame['Size'] = parsed_frame.apply(
|
| 1402 |
+
lambda row: Counter(
|
| 1403 |
+
team_dict.get(player, '') for player in row[2:]
|
| 1404 |
+
if team_dict.get(player, '') != ''
|
| 1405 |
+
).most_common(1)[0][1] if any(team_dict.get(player, '') for player in row[2:]) else 0,
|
| 1406 |
+
axis=1
|
| 1407 |
+
)
|
| 1408 |
elif type_var == 'Showdown':
|
| 1409 |
# Calculate salary (CPT uses cpt_salary_map, others use salary_map)
|
| 1410 |
+
parsed_frame['salary'] = parsed_frame.apply(
|
| 1411 |
lambda row: st.session_state['map_dict']['cpt_salary_map'].get(row.iloc[0], 0) +
|
| 1412 |
sum(st.session_state['map_dict']['salary_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1413 |
axis=1
|
| 1414 |
)
|
| 1415 |
|
| 1416 |
# Calculate median (CPT uses cpt_proj_map, others use proj_map)
|
| 1417 |
+
parsed_frame['median'] = parsed_frame.apply(
|
| 1418 |
lambda row: st.session_state['map_dict']['cpt_proj_map'].get(row.iloc[0], 0) +
|
| 1419 |
sum(st.session_state['map_dict']['proj_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1420 |
axis=1
|
| 1421 |
)
|
| 1422 |
|
| 1423 |
# Calculate ownership (CPT uses cpt_own_map, others use own_map)
|
| 1424 |
+
parsed_frame['Own'] = parsed_frame.apply(
|
| 1425 |
lambda row: st.session_state['map_dict']['cpt_own_map'].get(row.iloc[0], 0) +
|
| 1426 |
sum(st.session_state['map_dict']['own_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1427 |
axis=1
|
|
|
|
| 1441 |
if type_var == 'Classic':
|
| 1442 |
if sport_var == 'CS2' or sport_var == 'LOL':
|
| 1443 |
# Calculate salary (CPT uses cpt_salary_map, others use salary_map)
|
| 1444 |
+
parsed_frame['salary'] = parsed_frame.apply(
|
| 1445 |
lambda row: st.session_state['map_dict']['cpt_salary_map'].get(row.iloc[0], 0) +
|
| 1446 |
sum(st.session_state['map_dict']['salary_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1447 |
axis=1
|
| 1448 |
)
|
| 1449 |
|
| 1450 |
# Calculate median (CPT uses cpt_proj_map, others use proj_map)
|
| 1451 |
+
parsed_frame['median'] = parsed_frame.apply(
|
| 1452 |
lambda row: st.session_state['map_dict']['cpt_proj_map'].get(row.iloc[0], 0) +
|
| 1453 |
sum(st.session_state['map_dict']['proj_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1454 |
axis=1
|
| 1455 |
)
|
| 1456 |
|
| 1457 |
# Calculate ownership (CPT uses cpt_own_map, others use own_map)
|
| 1458 |
+
parsed_frame['Own'] = parsed_frame.apply(
|
| 1459 |
lambda row: st.session_state['map_dict']['cpt_own_map'].get(row.iloc[0], 0) +
|
| 1460 |
sum(st.session_state['map_dict']['own_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1461 |
axis=1
|
| 1462 |
)
|
| 1463 |
|
| 1464 |
elif sport_var != 'CS2' and sport_var != 'LOL':
|
| 1465 |
+
parsed_frame['salary'] = parsed_frame.apply(lambda row: sum(st.session_state['map_dict']['salary_map'].get(player, 0) for player in row), axis=1)
|
| 1466 |
+
parsed_frame['median'] = parsed_frame.apply(lambda row: sum(st.session_state['map_dict']['proj_map'].get(player, 0) for player in row), axis=1)
|
| 1467 |
+
parsed_frame['Own'] = parsed_frame.apply(lambda row: sum(st.session_state['map_dict']['own_map'].get(player, 0) for player in row), axis=1)
|
| 1468 |
if 'stack_dict' in st.session_state:
|
| 1469 |
+
team_dict = dict(zip(st.session_state['projections_df']['player_names'], st.session_state['projections_df']['team']))
|
| 1470 |
+
if sport_var == 'LOL':
|
| 1471 |
+
parsed_frame['Stack'] = parsed_frame.apply(
|
| 1472 |
+
lambda row: Counter(
|
| 1473 |
+
team_dict.get(player, '') for player in row
|
| 1474 |
+
if team_dict.get(player, '') != ''
|
| 1475 |
+
).most_common(1)[0][0] if any(team_dict.get(player, '') for player in row) else '',
|
| 1476 |
+
axis=1
|
| 1477 |
+
)
|
| 1478 |
+
parsed_frame['Size'] = parsed_frame.apply(
|
| 1479 |
+
lambda row: Counter(
|
| 1480 |
+
team_dict.get(player, '') for player in row
|
| 1481 |
+
if team_dict.get(player, '') != ''
|
| 1482 |
+
).most_common(1)[0][1] if any(team_dict.get(player, '') for player in row) else 0,
|
| 1483 |
+
axis=1
|
| 1484 |
+
)
|
| 1485 |
+
else:
|
| 1486 |
+
parsed_frame['Stack'] = parsed_frame.apply(
|
| 1487 |
+
lambda row: Counter(
|
| 1488 |
+
team_dict.get(player, '') for player in row[2:]
|
| 1489 |
+
if team_dict.get(player, '') != ''
|
| 1490 |
+
).most_common(1)[0][0] if any(team_dict.get(player, '') for player in row[2:]) else '',
|
| 1491 |
+
axis=1
|
| 1492 |
+
)
|
| 1493 |
+
parsed_frame['Size'] = parsed_frame.apply(
|
| 1494 |
+
lambda row: Counter(
|
| 1495 |
+
team_dict.get(player, '') for player in row[2:]
|
| 1496 |
+
if team_dict.get(player, '') != ''
|
| 1497 |
+
).most_common(1)[0][1] if any(team_dict.get(player, '') for player in row[2:]) else 0,
|
| 1498 |
+
axis=1
|
| 1499 |
+
)
|
| 1500 |
elif type_var == 'Showdown':
|
| 1501 |
# Calculate salary (CPT uses cpt_salary_map, others use salary_map)
|
| 1502 |
+
parsed_frame['salary'] = parsed_frame.apply(
|
| 1503 |
lambda row: st.session_state['map_dict']['cpt_salary_map'].get(row.iloc[0], 0) +
|
| 1504 |
sum(st.session_state['map_dict']['salary_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1505 |
axis=1
|
| 1506 |
)
|
| 1507 |
|
| 1508 |
# Calculate median (CPT uses cpt_proj_map, others use proj_map)
|
| 1509 |
+
parsed_frame['median'] = parsed_frame.apply(
|
| 1510 |
lambda row: st.session_state['map_dict']['cpt_proj_map'].get(row.iloc[0], 0) +
|
| 1511 |
sum(st.session_state['map_dict']['proj_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1512 |
axis=1
|
| 1513 |
)
|
| 1514 |
|
| 1515 |
# Calculate ownership (CPT uses cpt_own_map, others use own_map)
|
| 1516 |
+
parsed_frame['Own'] = parsed_frame.apply(
|
| 1517 |
lambda row: st.session_state['map_dict']['cpt_own_map'].get(row.iloc[0], 0) +
|
| 1518 |
sum(st.session_state['map_dict']['own_map'].get(player, 0) for player in row.iloc[1:]),
|
| 1519 |
axis=1
|