Spaces:
Sleeping
Sleeping
James McCool
commited on
Commit
·
9bc6a1f
1
Parent(s):
b0f7669
Refactor salary and ID dictionary handling in app.py: update variable names for clarity and ensure consistent mapping for Draftkings and Fanduel exports, enhancing data accuracy during player data processing.
Browse files
app.py
CHANGED
|
@@ -369,9 +369,12 @@ def convert_pm_df(array):
|
|
| 369 |
return array.to_csv(index=False).encode('utf-8')
|
| 370 |
|
| 371 |
dk_raw, fd_raw, dk_raw_sec, fd_raw_sec, roo_raw, sd_raw, dk_sd_raw, fd_sd_raw, timestamp = load_overall_stats('NBA')
|
| 372 |
-
|
| 373 |
-
|
| 374 |
-
|
|
|
|
|
|
|
|
|
|
| 375 |
dk_id_dict_sd = dict(zip(dk_sd_raw.Player, dk_sd_raw.player_ID))
|
| 376 |
fd_id_dict_sd = dict(zip(fd_sd_raw.Player, fd_sd_raw.player_ID))
|
| 377 |
|
|
@@ -399,9 +402,12 @@ with reset_col:
|
|
| 399 |
if st.button("Load/Reset Data", key='reset1'):
|
| 400 |
st.cache_data.clear()
|
| 401 |
dk_raw, fd_raw, dk_raw_sec, fd_raw_sec, roo_raw, sd_raw, dk_sd_raw, fd_sd_raw, timestamp = load_overall_stats('NBA')
|
| 402 |
-
|
| 403 |
-
|
| 404 |
-
|
|
|
|
|
|
|
|
|
|
| 405 |
dk_id_dict_sd = dict(zip(dk_sd_raw.Player, dk_sd_raw.player_ID))
|
| 406 |
fd_id_dict_sd = dict(zip(fd_sd_raw.Player, fd_sd_raw.player_ID))
|
| 407 |
dk_nba_lineups = pd.DataFrame(columns=dk_nba_columns)
|
|
@@ -527,9 +533,12 @@ with tab2:
|
|
| 527 |
if st.button("Load/Reset Data", key='reset2'):
|
| 528 |
st.cache_data.clear()
|
| 529 |
dk_raw, fd_raw, dk_raw_sec, fd_raw_sec, roo_raw, sd_raw, dk_sd_raw, fd_sd_raw, timestamp = load_overall_stats('NBA')
|
| 530 |
-
|
| 531 |
-
|
| 532 |
-
|
|
|
|
|
|
|
|
|
|
| 533 |
dk_id_dict_sd = dict(zip(dk_sd_raw.Player, dk_sd_raw.player_ID))
|
| 534 |
fd_id_dict_sd = dict(zip(fd_sd_raw.Player, fd_sd_raw.player_ID))
|
| 535 |
dk_nba_lineups = pd.DataFrame(columns=dk_nba_columns)
|
|
@@ -611,7 +620,7 @@ with tab2:
|
|
| 611 |
map_columns = ['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4', 'FLEX5']
|
| 612 |
for col_idx in map_columns:
|
| 613 |
if slate_type_var1 == 'Regular':
|
| 614 |
-
data_export[col_idx] = data_export[col_idx].map(
|
| 615 |
elif slate_type_var1 == 'Showdown':
|
| 616 |
data_export[col_idx] = data_export[col_idx].map(dk_id_dict_sd)
|
| 617 |
elif site_var2 == 'Fanduel':
|
|
@@ -624,7 +633,7 @@ with tab2:
|
|
| 624 |
map_columns = ['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4']
|
| 625 |
for col_idx in map_columns:
|
| 626 |
if slate_type_var1 == 'Regular':
|
| 627 |
-
data_export[col_idx] = data_export[col_idx].map(
|
| 628 |
elif slate_type_var1 == 'Showdown':
|
| 629 |
data_export[col_idx] = data_export[col_idx].map(fd_id_dict_sd)
|
| 630 |
|
|
@@ -670,6 +679,11 @@ with tab2:
|
|
| 670 |
map_columns = ['G1', 'G2', 'F1', 'F2', 'F3', 'UTIL']
|
| 671 |
elif slate_type_var1 == 'Showdown':
|
| 672 |
map_columns = ['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4', 'FLEX5']
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 673 |
elif site_var2 == 'Fanduel':
|
| 674 |
if slate_type_var1 == 'Regular':
|
| 675 |
if league_var == 'NBA':
|
|
@@ -678,11 +692,11 @@ with tab2:
|
|
| 678 |
map_columns = ['G1', 'G2', 'G3', 'F1', 'F2', 'F3', 'F4']
|
| 679 |
elif slate_type_var1 == 'Showdown':
|
| 680 |
map_columns = ['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4']
|
| 681 |
-
|
| 682 |
-
|
| 683 |
-
|
| 684 |
-
|
| 685 |
-
|
| 686 |
data_export = data_export[data_export['salary'] >= salary_min_var]
|
| 687 |
data_export = data_export[data_export['salary'] <= salary_max_var]
|
| 688 |
|
|
@@ -756,14 +770,14 @@ with tab2:
|
|
| 756 |
if site_var2 == 'Draftkings':
|
| 757 |
if slate_type_var1 == 'Regular':
|
| 758 |
for col_idx in range(8):
|
| 759 |
-
export_file.iloc[:, col_idx] = export_file.iloc[:, col_idx].map(
|
| 760 |
elif slate_type_var1 == 'Showdown':
|
| 761 |
for col_idx in range(6):
|
| 762 |
export_file.iloc[:, col_idx] = export_file.iloc[:, col_idx].map(dk_id_dict_sd)
|
| 763 |
elif site_var2 == 'Fanduel':
|
| 764 |
if slate_type_var1 == 'Regular':
|
| 765 |
for col_idx in range(9):
|
| 766 |
-
export_file.iloc[:, col_idx] = export_file.iloc[:, col_idx].map(
|
| 767 |
elif slate_type_var1 == 'Showdown':
|
| 768 |
for col_idx in range(6):
|
| 769 |
export_file.iloc[:, col_idx] = export_file.iloc[:, col_idx].map(fd_id_dict_sd)
|
|
@@ -1036,12 +1050,20 @@ with tab2:
|
|
| 1036 |
percentages = (value_counts / lineup_num_var * 100).round(2)
|
| 1037 |
|
| 1038 |
# Create a DataFrame with the results
|
| 1039 |
-
|
| 1040 |
-
|
| 1041 |
-
|
| 1042 |
-
|
| 1043 |
-
|
| 1044 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1045 |
|
| 1046 |
# Sort by frequency in descending order
|
| 1047 |
summary_df = summary_df.sort_values('Frequency', ascending=False)
|
|
@@ -1087,13 +1109,20 @@ with tab2:
|
|
| 1087 |
|
| 1088 |
percentages = (value_counts / len(st.session_state.working_seed) * 100).round(2)
|
| 1089 |
# Create a DataFrame with the results
|
| 1090 |
-
|
| 1091 |
-
|
| 1092 |
-
|
| 1093 |
-
|
| 1094 |
-
|
| 1095 |
-
|
| 1096 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1097 |
# Sort by frequency in descending order
|
| 1098 |
summary_df = summary_df.sort_values('Frequency', ascending=False)
|
| 1099 |
|
|
|
|
| 369 |
return array.to_csv(index=False).encode('utf-8')
|
| 370 |
|
| 371 |
dk_raw, fd_raw, dk_raw_sec, fd_raw_sec, roo_raw, sd_raw, dk_sd_raw, fd_sd_raw, timestamp = load_overall_stats('NBA')
|
| 372 |
+
dk_salary_dict = dict(zip(dk_raw.Player, dk_raw.Salary))
|
| 373 |
+
fd_salary_dict = dict(zip(fd_raw.Player, fd_raw.Salary))
|
| 374 |
+
dk_id_dict = dict(zip(dk_raw.Player, dk_raw.player_ID))
|
| 375 |
+
fd_id_dict = dict(zip(fd_raw.Player, fd_raw.player_ID))
|
| 376 |
+
dk_salary_dict_sd = dict(zip(dk_sd_raw.Player, dk_sd_raw.Salary))
|
| 377 |
+
fd_salary_dict_sd = dict(zip(fd_sd_raw.Player, fd_sd_raw.Salary))
|
| 378 |
dk_id_dict_sd = dict(zip(dk_sd_raw.Player, dk_sd_raw.player_ID))
|
| 379 |
fd_id_dict_sd = dict(zip(fd_sd_raw.Player, fd_sd_raw.player_ID))
|
| 380 |
|
|
|
|
| 402 |
if st.button("Load/Reset Data", key='reset1'):
|
| 403 |
st.cache_data.clear()
|
| 404 |
dk_raw, fd_raw, dk_raw_sec, fd_raw_sec, roo_raw, sd_raw, dk_sd_raw, fd_sd_raw, timestamp = load_overall_stats('NBA')
|
| 405 |
+
dk_salary_dict = dict(zip(dk_raw.Player, dk_raw.Salary))
|
| 406 |
+
fd_salary_dict = dict(zip(fd_raw.Player, fd_raw.Salary))
|
| 407 |
+
dk_id_dict = dict(zip(dk_raw.Player, dk_raw.player_ID))
|
| 408 |
+
fd_id_dict = dict(zip(fd_raw.Player, fd_raw.player_ID))
|
| 409 |
+
dk_salary_dict_sd = dict(zip(dk_sd_raw.Player, dk_sd_raw.Salary))
|
| 410 |
+
fd_salary_dict_sd = dict(zip(fd_sd_raw.Player, fd_sd_raw.Salary))
|
| 411 |
dk_id_dict_sd = dict(zip(dk_sd_raw.Player, dk_sd_raw.player_ID))
|
| 412 |
fd_id_dict_sd = dict(zip(fd_sd_raw.Player, fd_sd_raw.player_ID))
|
| 413 |
dk_nba_lineups = pd.DataFrame(columns=dk_nba_columns)
|
|
|
|
| 533 |
if st.button("Load/Reset Data", key='reset2'):
|
| 534 |
st.cache_data.clear()
|
| 535 |
dk_raw, fd_raw, dk_raw_sec, fd_raw_sec, roo_raw, sd_raw, dk_sd_raw, fd_sd_raw, timestamp = load_overall_stats('NBA')
|
| 536 |
+
dk_salary_dict = dict(zip(dk_raw.Player, dk_raw.Salary))
|
| 537 |
+
fd_salary_dict = dict(zip(fd_raw.Player, fd_raw.Salary))
|
| 538 |
+
dk_id_dict = dict(zip(dk_raw.Player, dk_raw.player_ID))
|
| 539 |
+
fd_id_dict = dict(zip(fd_raw.Player, fd_raw.player_ID))
|
| 540 |
+
dk_salary_dict_sd = dict(zip(dk_sd_raw.Player, dk_sd_raw.Salary))
|
| 541 |
+
fd_salary_dict_sd = dict(zip(fd_sd_raw.Player, fd_sd_raw.Salary))
|
| 542 |
dk_id_dict_sd = dict(zip(dk_sd_raw.Player, dk_sd_raw.player_ID))
|
| 543 |
fd_id_dict_sd = dict(zip(fd_sd_raw.Player, fd_sd_raw.player_ID))
|
| 544 |
dk_nba_lineups = pd.DataFrame(columns=dk_nba_columns)
|
|
|
|
| 620 |
map_columns = ['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4', 'FLEX5']
|
| 621 |
for col_idx in map_columns:
|
| 622 |
if slate_type_var1 == 'Regular':
|
| 623 |
+
data_export[col_idx] = data_export[col_idx].map(dk_id_dict)
|
| 624 |
elif slate_type_var1 == 'Showdown':
|
| 625 |
data_export[col_idx] = data_export[col_idx].map(dk_id_dict_sd)
|
| 626 |
elif site_var2 == 'Fanduel':
|
|
|
|
| 633 |
map_columns = ['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4']
|
| 634 |
for col_idx in map_columns:
|
| 635 |
if slate_type_var1 == 'Regular':
|
| 636 |
+
data_export[col_idx] = data_export[col_idx].map(fd_id_dict)
|
| 637 |
elif slate_type_var1 == 'Showdown':
|
| 638 |
data_export[col_idx] = data_export[col_idx].map(fd_id_dict_sd)
|
| 639 |
|
|
|
|
| 679 |
map_columns = ['G1', 'G2', 'F1', 'F2', 'F3', 'UTIL']
|
| 680 |
elif slate_type_var1 == 'Showdown':
|
| 681 |
map_columns = ['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4', 'FLEX5']
|
| 682 |
+
for col_idx in map_columns:
|
| 683 |
+
if slate_type_var1 == 'Regular':
|
| 684 |
+
data_export[col_idx] = data_export[col_idx].map(dk_id_dict)
|
| 685 |
+
elif slate_type_var1 == 'Showdown':
|
| 686 |
+
data_export[col_idx] = data_export[col_idx].map(dk_id_dict_sd)
|
| 687 |
elif site_var2 == 'Fanduel':
|
| 688 |
if slate_type_var1 == 'Regular':
|
| 689 |
if league_var == 'NBA':
|
|
|
|
| 692 |
map_columns = ['G1', 'G2', 'G3', 'F1', 'F2', 'F3', 'F4']
|
| 693 |
elif slate_type_var1 == 'Showdown':
|
| 694 |
map_columns = ['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4']
|
| 695 |
+
for col_idx in map_columns:
|
| 696 |
+
if slate_type_var1 == 'Regular':
|
| 697 |
+
data_export[col_idx] = data_export[col_idx].map(fd_id_dict)
|
| 698 |
+
elif slate_type_var1 == 'Showdown':
|
| 699 |
+
data_export[col_idx] = data_export[col_idx].map(fd_id_dict_sd)
|
| 700 |
data_export = data_export[data_export['salary'] >= salary_min_var]
|
| 701 |
data_export = data_export[data_export['salary'] <= salary_max_var]
|
| 702 |
|
|
|
|
| 770 |
if site_var2 == 'Draftkings':
|
| 771 |
if slate_type_var1 == 'Regular':
|
| 772 |
for col_idx in range(8):
|
| 773 |
+
export_file.iloc[:, col_idx] = export_file.iloc[:, col_idx].map(dk_id_dict)
|
| 774 |
elif slate_type_var1 == 'Showdown':
|
| 775 |
for col_idx in range(6):
|
| 776 |
export_file.iloc[:, col_idx] = export_file.iloc[:, col_idx].map(dk_id_dict_sd)
|
| 777 |
elif site_var2 == 'Fanduel':
|
| 778 |
if slate_type_var1 == 'Regular':
|
| 779 |
for col_idx in range(9):
|
| 780 |
+
export_file.iloc[:, col_idx] = export_file.iloc[:, col_idx].map(fd_id_dict)
|
| 781 |
elif slate_type_var1 == 'Showdown':
|
| 782 |
for col_idx in range(6):
|
| 783 |
export_file.iloc[:, col_idx] = export_file.iloc[:, col_idx].map(fd_id_dict_sd)
|
|
|
|
| 1050 |
percentages = (value_counts / lineup_num_var * 100).round(2)
|
| 1051 |
|
| 1052 |
# Create a DataFrame with the results
|
| 1053 |
+
if site_var2 == 'Draftkings':
|
| 1054 |
+
summary_df = pd.DataFrame({
|
| 1055 |
+
'Player': value_counts.index,
|
| 1056 |
+
'Salary': [dk_salary_dict.get(player, player) for player in value_counts.index],
|
| 1057 |
+
'Frequency': value_counts.values,
|
| 1058 |
+
'Percentage': percentages.values
|
| 1059 |
+
})
|
| 1060 |
+
elif site_var2 == 'Fanduel':
|
| 1061 |
+
summary_df = pd.DataFrame({
|
| 1062 |
+
'Player': value_counts.index,
|
| 1063 |
+
'Salary': [fd_salary_dict.get(player, player) for player in value_counts.index],
|
| 1064 |
+
'Frequency': value_counts.values,
|
| 1065 |
+
'Percentage': percentages.values
|
| 1066 |
+
})
|
| 1067 |
|
| 1068 |
# Sort by frequency in descending order
|
| 1069 |
summary_df = summary_df.sort_values('Frequency', ascending=False)
|
|
|
|
| 1109 |
|
| 1110 |
percentages = (value_counts / len(st.session_state.working_seed) * 100).round(2)
|
| 1111 |
# Create a DataFrame with the results
|
| 1112 |
+
if site_var2 == 'Draftkings':
|
| 1113 |
+
summary_df = pd.DataFrame({
|
| 1114 |
+
'Player': value_counts.index,
|
| 1115 |
+
'Salary': [dk_salary_dict.get(player, player) for player in value_counts.index],
|
| 1116 |
+
'Frequency': value_counts.values,
|
| 1117 |
+
'Percentage': percentages.values
|
| 1118 |
+
})
|
| 1119 |
+
elif site_var2 == 'Fanduel':
|
| 1120 |
+
summary_df = pd.DataFrame({
|
| 1121 |
+
'Player': value_counts.index,
|
| 1122 |
+
'Salary': [fd_salary_dict.get(player, player) for player in value_counts.index],
|
| 1123 |
+
'Frequency': value_counts.values,
|
| 1124 |
+
'Percentage': percentages.values
|
| 1125 |
+
})
|
| 1126 |
# Sort by frequency in descending order
|
| 1127 |
summary_df = summary_df.sort_values('Frequency', ascending=False)
|
| 1128 |
|