James McCool
commited on
Commit
·
34bb742
1
Parent(s):
fc682f1
Remove ownership calculation and related columns from Sim_Winner_Frame in Streamlit app for streamlined data processing.
Browse files- src/streamlit_app.py +1 -45
src/streamlit_app.py
CHANGED
|
@@ -615,55 +615,11 @@ if selected_tab == "Showdown Contest Sims":
|
|
| 615 |
Sim_Winner_Frame = pd.DataFrame(np.concatenate(Sim_Winners), columns=column_names + ['Fantasy'])
|
| 616 |
Sim_Winner_Frame['GPP_Proj'] = (Sim_Winner_Frame['proj'] + Sim_Winner_Frame['Fantasy']) / 2
|
| 617 |
Sim_Winner_Frame['unique_id'] = Sim_Winner_Frame['proj'].astype(str) + Sim_Winner_Frame['salary'].astype(str) + Sim_Winner_Frame['Team'].astype(str) + Sim_Winner_Frame['Secondary'].astype(str)
|
| 618 |
-
# Add percent rank columns for ownership at each roster position
|
| 619 |
-
# Calculate Dupes column for Fanduel
|
| 620 |
-
dup_count_columns = ['CPT_Own_percent_rank', 'FLEX1_Own_percent_rank', 'FLEX2_Own_percent_rank', 'FLEX3_Own_percent_rank', 'FLEX4_Own_percent_rank', 'FLEX5_Own_percent_rank']
|
| 621 |
-
own_columns = ['CPT_Own', 'FLEX1_Own', 'FLEX2_Own', 'FLEX3_Own', 'FLEX4_Own', 'FLEX5_Own']
|
| 622 |
-
calc_columns = ['own_product', 'avg_own_rank', 'dupes_calc']
|
| 623 |
-
Sim_Winner_Frame['CPT_Own_percent_rank'] = Sim_Winner_Frame.iloc[:,0].map(maps_dict['cpt_Own_map']).rank(pct=True)
|
| 624 |
-
Sim_Winner_Frame['FLEX1_Own_percent_rank'] = Sim_Winner_Frame.iloc[:,1].map(maps_dict['Own_map']).rank(pct=True)
|
| 625 |
-
Sim_Winner_Frame['FLEX2_Own_percent_rank'] = Sim_Winner_Frame.iloc[:,2].map(maps_dict['Own_map']).rank(pct=True)
|
| 626 |
-
Sim_Winner_Frame['FLEX3_Own_percent_rank'] = Sim_Winner_Frame.iloc[:,3].map(maps_dict['Own_map']).rank(pct=True)
|
| 627 |
-
Sim_Winner_Frame['FLEX4_Own_percent_rank'] = Sim_Winner_Frame.iloc[:,4].map(maps_dict['Own_map']).rank(pct=True)
|
| 628 |
-
Sim_Winner_Frame['FLEX5_Own_percent_rank'] = Sim_Winner_Frame.iloc[:,5].map(maps_dict['Own_map']).rank(pct=True)
|
| 629 |
-
Sim_Winner_Frame['CPT_Own'] = Sim_Winner_Frame.iloc[:,0].map(maps_dict['cpt_Own_map']) / 100
|
| 630 |
-
Sim_Winner_Frame['FLEX1_Own'] = Sim_Winner_Frame.iloc[:,1].map(maps_dict['Own_map']) / 100
|
| 631 |
-
Sim_Winner_Frame['FLEX2_Own'] = Sim_Winner_Frame.iloc[:,2].map(maps_dict['Own_map']) / 100
|
| 632 |
-
Sim_Winner_Frame['FLEX3_Own'] = Sim_Winner_Frame.iloc[:,3].map(maps_dict['Own_map']) / 100
|
| 633 |
-
Sim_Winner_Frame['FLEX4_Own'] = Sim_Winner_Frame.iloc[:,4].map(maps_dict['Own_map']) / 100
|
| 634 |
-
Sim_Winner_Frame['FLEX5_Own'] = Sim_Winner_Frame.iloc[:,5].map(maps_dict['Own_map']) / 100
|
| 635 |
-
|
| 636 |
-
# Calculate ownership product and convert to probability
|
| 637 |
-
Sim_Winner_Frame['own_product'] = (Sim_Winner_Frame[own_columns].product(axis=1))
|
| 638 |
-
|
| 639 |
-
# Calculate average of ownership percent rank columns
|
| 640 |
-
Sim_Winner_Frame['avg_own_rank'] = Sim_Winner_Frame[dup_count_columns].mean(axis=1)
|
| 641 |
-
|
| 642 |
-
# Calculate dupes formula
|
| 643 |
-
Sim_Winner_Frame['dupes_calc'] = ((Sim_Winner_Frame['own_product'] * Sim_Winner_Frame['avg_own_rank']) * (Contest_Size * 1.5)) + ((Sim_Winner_Frame['salary'] - 49800) / 100)
|
| 644 |
-
|
| 645 |
-
# Round and handle negative values
|
| 646 |
-
Sim_Winner_Frame['Dupes'] = np.where(
|
| 647 |
-
np.round(Sim_Winner_Frame['dupes_calc'], 0) <= 0,
|
| 648 |
-
0,
|
| 649 |
-
np.round(Sim_Winner_Frame['dupes_calc'], 0) - 1
|
| 650 |
-
)
|
| 651 |
-
Sim_Winner_Frame['Dupes'] = (Sim_Winner_Frame['Dupes'] * (500000 / sharp_split)) / 2
|
| 652 |
-
|
| 653 |
-
Sim_Winner_Frame['Dupes'] = np.round(Sim_Winner_Frame['Dupes'], 0)
|
| 654 |
-
Sim_Winner_Frame['Dupes'] = np.where(
|
| 655 |
-
np.round(Sim_Winner_Frame['dupes_calc'], 0) <= 0,
|
| 656 |
-
0,
|
| 657 |
-
np.round(Sim_Winner_Frame['dupes_calc'], 0)
|
| 658 |
-
)
|
| 659 |
-
Sim_Winner_Frame = Sim_Winner_Frame.drop(columns=dup_count_columns)
|
| 660 |
-
Sim_Winner_Frame = Sim_Winner_Frame.drop(columns=own_columns)
|
| 661 |
-
Sim_Winner_Frame = Sim_Winner_Frame.drop(columns=calc_columns)
|
| 662 |
|
| 663 |
Sim_Winner_Frame = Sim_Winner_Frame.assign(win_count=Sim_Winner_Frame['unique_id'].map(Sim_Winner_Frame['unique_id'].value_counts()))
|
| 664 |
|
| 665 |
# Type Casting
|
| 666 |
-
type_cast_dict = {'salary': int, 'proj': np.float16, 'Fantasy': np.float16, 'GPP_Proj': np.float32, 'Own': np.float32
|
| 667 |
Sim_Winner_Frame = Sim_Winner_Frame.astype(type_cast_dict)
|
| 668 |
|
| 669 |
# Sorting
|
|
|
|
| 615 |
Sim_Winner_Frame = pd.DataFrame(np.concatenate(Sim_Winners), columns=column_names + ['Fantasy'])
|
| 616 |
Sim_Winner_Frame['GPP_Proj'] = (Sim_Winner_Frame['proj'] + Sim_Winner_Frame['Fantasy']) / 2
|
| 617 |
Sim_Winner_Frame['unique_id'] = Sim_Winner_Frame['proj'].astype(str) + Sim_Winner_Frame['salary'].astype(str) + Sim_Winner_Frame['Team'].astype(str) + Sim_Winner_Frame['Secondary'].astype(str)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 618 |
|
| 619 |
Sim_Winner_Frame = Sim_Winner_Frame.assign(win_count=Sim_Winner_Frame['unique_id'].map(Sim_Winner_Frame['unique_id'].value_counts()))
|
| 620 |
|
| 621 |
# Type Casting
|
| 622 |
+
type_cast_dict = {'salary': int, 'proj': np.float16, 'Fantasy': np.float16, 'GPP_Proj': np.float32, 'Own': np.float32}
|
| 623 |
Sim_Winner_Frame = Sim_Winner_Frame.astype(type_cast_dict)
|
| 624 |
|
| 625 |
# Sorting
|