Spaces:
Running
Running
James McCool
commited on
Commit
·
55ed614
1
Parent(s):
46a3d32
Enhance opponent performance metrics in init_team_data function of app.py. Added calculations for kills, deaths, assists, and CS projections based on opponent statistics for both win and loss scenarios. This update improves the accuracy of team performance evaluations by incorporating opponent-specific boosts, enhancing the overall depth of statistical analysis.
Browse files
app.py
CHANGED
@@ -270,6 +270,14 @@ def init_team_data(team, opponent, win_loss, kill_prediction, death_prediction,
|
|
270 |
player_tables = tables
|
271 |
else:
|
272 |
opp_tables = tables
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
273 |
|
274 |
if kill_prediction > 0:
|
275 |
player_tables = player_tables[['playername', 'teamname', 'position', 'playername_avg_kill_share_win', 'playername_avg_death_share_win','playername_avg_assist_share_win',
|
@@ -280,15 +288,17 @@ def init_team_data(team, opponent, win_loss, kill_prediction, death_prediction,
|
|
280 |
team_data = player_tables.drop_duplicates(subset = ['playername'])
|
281 |
|
282 |
if win_loss == "Win":
|
283 |
-
team_data['Kill_Proj'] = team_data['wKill%'] * kill_prediction
|
284 |
-
team_data['Death_Proj'] = team_data['wDeath%'] * death_prediction
|
285 |
-
team_data['Assist_Proj'] = team_data['wAssist%'] * kill_prediction
|
286 |
-
team_data = team_data[
|
|
|
287 |
else:
|
288 |
-
team_data['Kill_Proj'] = team_data['lKill%'] * kill_prediction
|
289 |
-
team_data['Death_Proj'] = team_data['lDeath%'] * death_prediction
|
290 |
-
team_data['Assist_Proj'] = team_data['lAssist%'] * kill_prediction
|
291 |
-
team_data = team_data[
|
|
|
292 |
else:
|
293 |
player_tables = player_tables[['playername', 'teamname', 'position', 'playername_avg_kills_win', 'playername_avg_deaths_win', 'playername_avg_assists_win', 'playername_avg_total_cs_win',
|
294 |
'playername_avg_kills_loss', 'playername_avg_deaths_loss', 'playername_avg_assists_loss', 'playername_avg_total_cs_loss']]
|
@@ -298,15 +308,17 @@ def init_team_data(team, opponent, win_loss, kill_prediction, death_prediction,
|
|
298 |
team_data = player_tables.drop_duplicates(subset = ['playername'])
|
299 |
|
300 |
if win_loss == "Win":
|
301 |
-
team_data['Kill_Proj'] = team_data['wKill%']
|
302 |
-
team_data['Death_Proj'] = team_data['wDeath%']
|
303 |
-
team_data['Assist_Proj'] = team_data['wAssist%']
|
304 |
-
team_data = team_data[
|
|
|
305 |
else:
|
306 |
-
team_data['Kill_Proj'] = team_data['lKill%']
|
307 |
-
team_data['Death_Proj'] = team_data['lDeath%']
|
308 |
-
team_data['Assist_Proj'] = team_data['lAssist%']
|
309 |
-
team_data = team_data[
|
|
|
310 |
|
311 |
return team_data.dropna().reset_index(drop=True)
|
312 |
|
|
|
270 |
player_tables = tables
|
271 |
else:
|
272 |
opp_tables = tables
|
273 |
+
opp_pos_kills_boost_win = dict(zip(tables['position'], tables['overall_win_kills_boost_pos']))
|
274 |
+
opp_pos_deaths_boost_win = dict(zip(tables['position'], tables['overall_win_deaths_boost_pos']))
|
275 |
+
opp_pos_assists_boost_win = dict(zip(tables['position'], tables['overall_win_assists_boost_pos']))
|
276 |
+
opp_pos_cs_boost_win = dict(zip(tables['position'], tables['overall_win_total_cs_boost_pos']))
|
277 |
+
opp_pos_kills_boost_loss = dict(zip(tables['position'], tables['overall_loss_kills_boost_pos']))
|
278 |
+
opp_pos_deaths_boost_loss = dict(zip(tables['position'], tables['overall_loss_deaths_boost_pos']))
|
279 |
+
opp_pos_assists_boost_loss = dict(zip(tables['position'], tables['overall_loss_assists_boost_pos']))
|
280 |
+
opp_pos_cs_boost_loss = dict(zip(tables['position'], tables['overall_loss_total_cs_boost_pos']))
|
281 |
|
282 |
if kill_prediction > 0:
|
283 |
player_tables = player_tables[['playername', 'teamname', 'position', 'playername_avg_kill_share_win', 'playername_avg_death_share_win','playername_avg_assist_share_win',
|
|
|
288 |
team_data = player_tables.drop_duplicates(subset = ['playername'])
|
289 |
|
290 |
if win_loss == "Win":
|
291 |
+
team_data['Kill_Proj'] = (team_data['wKill%'] * opp_pos_kills_boost_win.get(team_data['position'], 1)) * kill_prediction
|
292 |
+
team_data['Death_Proj'] = (team_data['wDeath%'] * opp_pos_deaths_boost_win.get(team_data['position'], 1)) * death_prediction
|
293 |
+
team_data['Assist_Proj'] = (team_data['wAssist%'] * opp_pos_assists_boost_win.get(team_data['position'], 1)) * kill_prediction
|
294 |
+
team_data['CS_Proj'] = (team_data['wCS'] * opp_pos_cs_boost_win.get(team_data['position'], 1)) * kill_prediction
|
295 |
+
team_data = team_data[['playername', 'teamname', 'position', 'Kill_Proj', 'Death_Proj', 'Assist_Proj', 'CS_Proj']]
|
296 |
else:
|
297 |
+
team_data['Kill_Proj'] = (team_data['lKill%'] * opp_pos_kills_boost_loss.get(team_data['position'], 1)) * kill_prediction
|
298 |
+
team_data['Death_Proj'] = (team_data['lDeath%'] * opp_pos_deaths_boost_loss.get(team_data['position'], 1)) * death_prediction
|
299 |
+
team_data['Assist_Proj'] = (team_data['lAssist%'] * opp_pos_assists_boost_loss.get(team_data['position'], 1)) * kill_prediction
|
300 |
+
team_data['CS_Proj'] = (team_data['lCS'] * opp_pos_cs_boost_loss.get(team_data['position'], 1)) * kill_prediction
|
301 |
+
team_data = team_data[['playername', 'teamname', 'position', 'Kill_Proj', 'Death_Proj', 'Assist_Proj', 'CS_Proj']]
|
302 |
else:
|
303 |
player_tables = player_tables[['playername', 'teamname', 'position', 'playername_avg_kills_win', 'playername_avg_deaths_win', 'playername_avg_assists_win', 'playername_avg_total_cs_win',
|
304 |
'playername_avg_kills_loss', 'playername_avg_deaths_loss', 'playername_avg_assists_loss', 'playername_avg_total_cs_loss']]
|
|
|
308 |
team_data = player_tables.drop_duplicates(subset = ['playername'])
|
309 |
|
310 |
if win_loss == "Win":
|
311 |
+
team_data['Kill_Proj'] = (team_data['wKill%'] * opp_pos_kills_boost_win.get(team_data['position'], 1))
|
312 |
+
team_data['Death_Proj'] = (team_data['wDeath%'] * opp_pos_deaths_boost_win.get(team_data['position'], 1))
|
313 |
+
team_data['Assist_Proj'] = (team_data['wAssist%'] * opp_pos_assists_boost_win.get(team_data['position'], 1))
|
314 |
+
team_data['CS_Proj'] = (team_data['wCS'] * opp_pos_cs_boost_win.get(team_data['position'], 1))
|
315 |
+
team_data = team_data[['playername', 'teamname', 'position', 'Kill_Proj', 'Death_Proj', 'Assist_Proj', 'CS_Proj']]
|
316 |
else:
|
317 |
+
team_data['Kill_Proj'] = (team_data['lKill%'] * opp_pos_kills_boost_loss.get(team_data['position'], 1))
|
318 |
+
team_data['Death_Proj'] = (team_data['lDeath%'] * opp_pos_deaths_boost_loss.get(team_data['position'], 1))
|
319 |
+
team_data['Assist_Proj'] = (team_data['lAssist%'] * opp_pos_assists_boost_loss.get(team_data['position'], 1))
|
320 |
+
team_data['CS_Proj'] = (team_data['lCS'] * opp_pos_cs_boost_loss.get(team_data['position'], 1))
|
321 |
+
team_data = team_data[['playername', 'teamname', 'position', 'Kill_Proj', 'Death_Proj', 'Assist_Proj', 'CS_Proj']]
|
322 |
|
323 |
return team_data.dropna().reset_index(drop=True)
|
324 |
|