Spaces:
Running
Running
Upload 3 files
Browse files- app.py +249 -354
- team_abv.csv +1 -1
- yahoo_to_nhl.csv +805 -0
app.py
CHANGED
@@ -1,48 +1,29 @@
|
|
|
|
|
|
1 |
import requests
|
2 |
import pandas as pd
|
3 |
import seaborn as sns
|
4 |
import matplotlib.pyplot as plt
|
5 |
from matplotlib.pyplot import figure
|
6 |
from matplotlib.offsetbox import OffsetImage, AnnotationBbox
|
7 |
-
|
8 |
import matplotlib.lines as mlines
|
9 |
import matplotlib.transforms as mtransforms
|
10 |
import numpy as np
|
|
|
11 |
#import plotly.express as px
|
12 |
#!pip install chart_studio
|
13 |
-
#
|
14 |
-
|
15 |
import matplotlib.pyplot as plt
|
16 |
import numpy as np
|
17 |
import matplotlib.font_manager as font_manager
|
18 |
from datetime import datetime
|
19 |
import pytz
|
20 |
-
from
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
plt.style.use('fivethirtyeight')
|
25 |
-
sns.set_context("notebook")
|
26 |
-
import warnings
|
27 |
-
warnings.filterwarnings('ignore')
|
28 |
-
#from urllib.request import urlopen
|
29 |
-
import json
|
30 |
-
from datetime import date, timedelta
|
31 |
-
#import dataframe_image as dfi
|
32 |
-
#from os import listdir
|
33 |
-
#from os.path import isfile, join
|
34 |
-
import datetime
|
35 |
-
import seaborn as sns
|
36 |
-
import os
|
37 |
-
import calendar
|
38 |
-
#from IPython.display import display, HTML
|
39 |
-
import matplotlib.image as mpimg
|
40 |
-
#from skimage import io
|
41 |
-
#import difflib
|
42 |
-
|
43 |
-
|
44 |
-
from datetime import datetime
|
45 |
-
import pytz
|
46 |
datetime.now(pytz.timezone('US/Pacific')).strftime('%B %d, %Y')
|
47 |
# Configure Notebook
|
48 |
#%matplotlib inline
|
@@ -55,117 +36,43 @@ warnings.filterwarnings('ignore')
|
|
55 |
# import yahoo_oauth
|
56 |
import json
|
57 |
#import openpyxl
|
58 |
-
|
59 |
-
from
|
60 |
-
import
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
|
|
|
|
65 |
|
66 |
-
import
|
67 |
-
|
68 |
-
import
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
|
74 |
-
|
75 |
-
|
|
|
76 |
|
77 |
-
|
78 |
-
game_date = flatten([[x['gameDate'] for x in schedule['dates'][y]['games']] for y in range(0,len(schedule['dates']))])
|
79 |
-
game_home = flatten([[x['teams']['home']['team']['name'] for x in schedule['dates'][y]['games']] for y in range(0,len(schedule['dates']))])
|
80 |
-
game_away = flatten([[x['teams']['away']['team']['name'] for x in schedule['dates'][y]['games']] for y in range(0,len(schedule['dates']))])
|
81 |
|
82 |
-
|
83 |
-
|
84 |
-
schedule_df = schedule_df.replace('Montréal Canadiens','Montreal Canadiens')
|
85 |
-
schedule_df.head()
|
86 |
|
87 |
-
team_abv = pd.read_csv('team_abv.csv')
|
88 |
-
yahoo_weeks = pd.read_csv('yahoo_weeks.csv')
|
89 |
-
#yahoo_weeks['Number'] = yahoo_weeks['Number'].astype(int)
|
90 |
-
yahoo_weeks['Start'] = pd.to_datetime(yahoo_weeks['Start'])
|
91 |
-
yahoo_weeks['End'] = pd.to_datetime(yahoo_weeks['End'])
|
92 |
-
yahoo_weeks.head(5)
|
93 |
-
|
94 |
-
def highlight_cols(s):
|
95 |
-
color = '#C2FEE9'
|
96 |
-
return 'background-color: %s' % color
|
97 |
-
def highlight_cells(val):
|
98 |
-
color = 'white' if val == ' ' else ''
|
99 |
-
return 'background-color: {}'.format(color)
|
100 |
|
101 |
-
import matplotlib.pyplot as plt
|
102 |
-
import matplotlib.colors
|
103 |
-
cmap_total = matplotlib.colors.LinearSegmentedColormap.from_list("", ["#56B4E9","#FFFFFF","#F0E442"])
|
104 |
-
cmap_off = matplotlib.colors.LinearSegmentedColormap.from_list("", ["#FFFFFF","#F0E442"])
|
105 |
-
cmap_back = matplotlib.colors.LinearSegmentedColormap.from_list("", ["#FFFFFF","#56B4E9"])
|
106 |
-
cmap_sum = matplotlib.colors.LinearSegmentedColormap.from_list("", ["#FFFFFF","#F0E442"])
|
107 |
-
|
108 |
-
schedule_df = schedule_df.merge(right=team_abv,left_on='game_away',right_on='team_name',how='inner',suffixes=['','_away'])
|
109 |
-
schedule_df = schedule_df.merge(right=team_abv,left_on='game_home',right_on='team_name',how='inner',suffixes=['','_home'])
|
110 |
-
schedule_df['away_sym'] = '@'
|
111 |
-
schedule_df['home_sym'] = 'vs'
|
112 |
-
|
113 |
-
|
114 |
-
#if not os.path.isfile('standings/standings_'+str(date.today())+'.csv'):
|
115 |
-
standings_df_old = pd.read_html('https://www.hockey-reference.com/leagues/NHL_2023_standings.html')[0].append(pd.read_html('https://www.hockey-reference.com/leagues/NHL_2023_standings.html')[1])
|
116 |
-
# standings_df_old.to_csv('standings/standings_'+str(date.today())+'.csv')
|
117 |
-
#standings_df_old = pd.read_csv('standings/standings_'+str(date.today())+'.csv',index_col=[0])
|
118 |
-
|
119 |
-
standings_df = standings_df_old[standings_df_old['Unnamed: 0'].str[-8:] != 'Division'].sort_values('Unnamed: 0').reset_index(drop=True).rename(columns={'Unnamed: 0':'Team'})#.drop(columns='Unnamed: 0')
|
120 |
-
#standings_df = standings_df.replace('St. Louis Blues','St Louis Blues')
|
121 |
-
standings_df['GF/GP'] = standings_df['GF'].astype(int)/standings_df['GP'].astype(int)
|
122 |
-
standings_df['GA/GP'] = standings_df['GA'].astype(int)/standings_df['GP'].astype(int)
|
123 |
-
standings_df['GF_Rank'] = standings_df['GF/GP'].rank(ascending=True,method='first')/10-1.65
|
124 |
-
standings_df['GA_Rank'] = standings_df['GA/GP'].rank(ascending=False,method='first')/10-1.65
|
125 |
-
standings_df.Team = standings_df.Team.str.strip('*')
|
126 |
-
standings_df = standings_df.merge(right=team_abv,left_on='Team',right_on='team_name')
|
127 |
-
|
128 |
-
schedule_stack = pd.DataFrame()
|
129 |
-
schedule_stack['date'] = pd.to_datetime(list(schedule_df['game_date'])+list(schedule_df['game_date']))
|
130 |
-
schedule_stack['team'] = list(schedule_df['team_name'])+list(schedule_df['team_name_home'])
|
131 |
-
schedule_stack['team_abv'] = list(schedule_df['team_abv'])+list(schedule_df['team_abv_home'])
|
132 |
-
schedule_stack['symbol'] = list(schedule_df['away_sym'])+list(schedule_df['home_sym'])
|
133 |
-
schedule_stack['team_opponent'] = list(schedule_df['team_name_home'])+list(schedule_df['team_name'])
|
134 |
-
schedule_stack['team_abv_home'] = list(schedule_df['team_abv_home'])+list(schedule_df['team_abv'])
|
135 |
-
schedule_stack = schedule_stack.merge(right=standings_df[['team_abv','GF_Rank']],left_on='team_abv',right_on='team_abv',how='inner',suffixes=("",'_y'))
|
136 |
-
schedule_stack = schedule_stack.merge(right=standings_df[['team_abv','GA_Rank']],left_on='team_abv_home',right_on='team_abv',how='inner',suffixes=("",'_y'))
|
137 |
-
|
138 |
-
schedule_stack = schedule_stack.merge(right=standings_df[['team_abv','GF_Rank']],left_on='team_abv',right_on='team_abv',how='inner',suffixes=("",'_y'))
|
139 |
-
schedule_stack = schedule_stack.merge(right=standings_df[['team_abv','GA_Rank']],left_on='team_abv_home',right_on='team_abv',how='inner',suffixes=("",'_y'))
|
140 |
-
|
141 |
-
|
142 |
-
list_o = schedule_stack.sort_values(['team','date'],ascending=[True,True]).reset_index(drop=True)
|
143 |
-
new_list = [x - y for x, y in zip(list_o['date'][1:], list_o['date'])]
|
144 |
-
b2b_list = [0] + [x.days for x in new_list]
|
145 |
-
b2b_list = [1 if x==1 else 0 for x in b2b_list]
|
146 |
-
test = list(schedule_stack.groupby(by='date').count()['team'])
|
147 |
-
offnight = [1 if x<15 else 0 for x in test]
|
148 |
-
offnight_df = pd.DataFrame({'date':schedule_stack.sort_values('date').date.unique(),'offnight':offnight}).sort_values('date').reset_index(drop=True)
|
149 |
-
schedule_stack = schedule_stack.merge(right=offnight_df,left_on='date',right_on='date',how='right')
|
150 |
-
schedule_stack = schedule_stack.sort_values(['team','date'],ascending=[True,True]).reset_index(drop=True)
|
151 |
-
schedule_stack['b2b'] = b2b_list
|
152 |
-
|
153 |
-
schedule_stack.date = pd.to_datetime(schedule_stack.date)
|
154 |
-
|
155 |
-
away_b2b = []
|
156 |
-
home_b2b = []
|
157 |
-
for i in range(0,len(schedule_stack)):
|
158 |
-
away_b2b.append(schedule_stack[(schedule_stack.date[i]==schedule_stack.date)&(schedule_stack.team_opponent[i]==schedule_stack.team)].reset_index(drop=True)['b2b'][0])
|
159 |
-
home_b2b.append(schedule_stack[(schedule_stack.date[i]==schedule_stack.date)&(schedule_stack.team[i]==schedule_stack.team)].reset_index(drop=True)['b2b'][0])
|
160 |
-
|
161 |
-
schedule_stack['away_b2b'] = away_b2b
|
162 |
-
schedule_stack['home_b2b'] = home_b2b
|
163 |
-
|
164 |
-
schedule_stack['away_b2b'] = schedule_stack['away_b2b'].replace(1,' 😴')
|
165 |
-
schedule_stack['away_b2b'] = schedule_stack['away_b2b'].replace(0,'')
|
166 |
-
schedule_stack.head()
|
167 |
-
|
168 |
-
FontProperties(fname='/System/Library/Fonts/Apple Color Emoji.ttc')
|
169 |
try:
|
170 |
data_r = requests.get("https://pub-api-ro.fantasysports.yahoo.com/fantasy/v2/league/427.l.public;out=settings/players;position=ALL;start=0;count=3000;sort=rank_season;search=;out=percent_owned;out=auction_values,ranks;ranks=season;ranks_by_position=season;out=expert_ranks;expert_ranks.rank_type=projected_season_remaining/draft_analysis;cut_types=diamond;slices=last7days?format=json_f").json()
|
171 |
key_check = data_r['fantasy_content']['league']['players']
|
@@ -186,7 +93,6 @@ for x in data_r['fantasy_content']['league']['players']:
|
|
186 |
single_list.append(x['player']['name']['last'])
|
187 |
single_list.append(x['player']['draft_analysis']['average_pick'])
|
188 |
single_list.append(x['player']['average_auction_cost'])
|
189 |
-
single_list.append(x['player']['projected_auction_value'])
|
190 |
single_list.append(x['player']['display_position'])
|
191 |
single_list.append(x['player']['editorial_team_abbr'])
|
192 |
if 'value' in x['player']['percent_owned']:
|
@@ -196,274 +102,265 @@ for x in data_r['fantasy_content']['league']['players']:
|
|
196 |
total_list.append(single_list)
|
197 |
|
198 |
|
199 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
200 |
|
201 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
202 |
|
203 |
from shiny import ui, render, App
|
204 |
import matplotlib.image as mpimg
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
# ui.panel_sidebar(
|
211 |
-
# ui.input_select("id", "Select Batter",batter_dict),
|
212 |
-
|
213 |
-
# ui.input_select("plot_id", "Select Plot",{'scatter':'Scatter Plot','dist':'Distribution Plot'})))
|
214 |
-
# ,
|
215 |
-
|
216 |
-
# ui.panel_main(ui.output_plot("plot",height = "750px",width="1250px")),
|
217 |
-
# #ui.download_button('test','Download'),
|
218 |
-
# )
|
219 |
-
app_ui = ui.page_fluid(ui.layout_sidebar(
|
220 |
-
# Available themes:
|
221 |
-
# cerulean, cosmo, cyborg, darkly, flatly, journal, litera, lumen, lux,
|
222 |
-
# materia, minty, morph, pulse, quartz, sandstone, simplex, sketchy, slate,
|
223 |
-
# solar, spacelab, superhero, united, vapor, yeti, zephyr
|
224 |
-
|
225 |
ui.panel_sidebar(
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
ui.panel_main(ui.tags.h3(""),
|
235 |
ui.div({"style": "font-size:2em;"},ui.output_text("txt_title")),
|
236 |
#ui.tags.h2("Fantasy Hockey Schedule Summary"),
|
237 |
-
ui.tags.h5("Created By: @TJStats, Data:
|
238 |
ui.div({"style": "font-size:1.2em;"},ui.output_text("txt")),
|
239 |
-
ui.output_table("
|
240 |
-
ui.tags.h5('Legend'),
|
241 |
-
|
242 |
-
ui.tags.h6('
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
# ui.row(
|
247 |
-
# ui.column(
|
248 |
-
# 3,
|
249 |
-
# ui.input_date("x", "Date input"),),
|
250 |
-
# ui.column(
|
251 |
-
# 1,
|
252 |
-
# ui.input_select("level_id", "Select Level",level_dict,width=1)),
|
253 |
-
# ui.column(
|
254 |
-
# 3,
|
255 |
-
# ui.input_select("stat_id", "Select Stat",plot_dict_small,width=1)),
|
256 |
-
# ui.column(
|
257 |
-
# 2,
|
258 |
-
# ui.input_numeric("n", "Rolling Window Size", value=50)),
|
259 |
-
# ),
|
260 |
-
# ui.output_table("result_batters")),
|
261 |
-
|
262 |
-
# ui.nav(
|
263 |
-
# "Pitchers",
|
264 |
-
|
265 |
-
# ui.row(
|
266 |
-
# ui.column(
|
267 |
-
# 3,
|
268 |
-
# ui.input_select("id_pitch", "Select Pitcher",pitcher_dict,width=1,selected=675911),
|
269 |
-
# ),
|
270 |
-
# ui.column(
|
271 |
-
# 1,
|
272 |
-
# ui.input_select("level_id_pitch", "Select Level",level_dict,width=1)),
|
273 |
-
# ui.column(
|
274 |
-
# 3,
|
275 |
-
# ui.input_select("stat_id_pitch", "Select Stat",plot_dict_small_pitch,width=1)),
|
276 |
-
# ui.column(
|
277 |
-
# 2,
|
278 |
-
# ui.input_numeric("n_pitch", "Rolling Window Size", value=50)),
|
279 |
-
# ),
|
280 |
-
# ui.output_table("result_pitchers")),
|
281 |
-
# )
|
282 |
-
# )
|
283 |
-
# )
|
284 |
|
285 |
|
286 |
|
287 |
|
288 |
from urllib.request import Request, urlopen
|
|
|
|
|
289 |
# importing OpenCV(cv2) module
|
290 |
|
291 |
|
292 |
|
293 |
|
|
|
294 |
def server(input, output, session):
|
295 |
|
|
|
296 |
@output
|
297 |
@render.text
|
298 |
def txt():
|
299 |
-
|
300 |
-
|
301 |
-
if week_set != 0:
|
302 |
-
if pd.to_datetime(yahoo_weeks[yahoo_weeks.Number == week_set]['Start'].values[0]).year != pd.to_datetime(yahoo_weeks[yahoo_weeks.Number == week_set]['End'].values[0]).year:
|
303 |
-
|
304 |
-
return f'{pd.to_datetime(yahoo_weeks[yahoo_weeks.Number == week_set]["Start"].values[0]).strftime("%B %d, %Y")} to {pd.to_datetime(yahoo_weeks[yahoo_weeks.Number == week_set]["End"].values[0]).strftime("%B %d, %Y")}'
|
305 |
-
else:
|
306 |
-
if pd.to_datetime(yahoo_weeks[yahoo_weeks.Number == week_set]["Start"].values[0]).month != pd.to_datetime(yahoo_weeks[yahoo_weeks.Number == week_set]["End"].values[0]).month:
|
307 |
-
return f'{pd.to_datetime(yahoo_weeks[yahoo_weeks.Number == week_set]["Start"].values[0]).strftime("%B %d")} to {pd.to_datetime(yahoo_weeks[yahoo_weeks.Number == week_set]["End"].values[0]).strftime("%B %d, %Y")}'
|
308 |
-
else:
|
309 |
-
return f'{pd.to_datetime(yahoo_weeks[yahoo_weeks.Number == week_set]["Start"].values[0]).strftime("%B %d")} to {pd.to_datetime(yahoo_weeks[yahoo_weeks.Number == week_set]["End"].values[0]).strftime("%d, %Y")}'
|
310 |
-
else:
|
311 |
-
if input.date_range_id()[0].year != input.date_range_id()[1].year:
|
312 |
-
|
313 |
-
return f'{input.date_range_id()[0].strftime("%B %d, %Y")} to {input.date_range_id()[1].strftime("%B %d, %Y")}'
|
314 |
-
else:
|
315 |
-
if input.date_range_id()[0].month != input.date_range_id()[1].month:
|
316 |
-
return f'{input.date_range_id()[0].strftime("%B %d")} to {input.date_range_id()[1].strftime("%B %d, %Y")}'
|
317 |
-
else:
|
318 |
-
return f'{input.date_range_id()[0].strftime("%B %d")} to {input.date_range_id()[1].strftime("%d, %Y")}'
|
319 |
-
|
320 |
-
|
321 |
@output
|
322 |
@render.text
|
323 |
def txt_title():
|
324 |
-
|
325 |
-
|
326 |
-
return f'Fantasy Hockey Schedule Summary - Yahoo - Week {input.week_id()}'
|
327 |
-
else:
|
328 |
-
return f'Fantasy Hockey Schedule Summary'
|
329 |
-
|
330 |
-
@output
|
331 |
-
@render.table
|
332 |
-
def result():
|
333 |
-
#print(yahoo_weeks)
|
334 |
-
return yahoo_weeks[['Week','Start','End']]
|
335 |
-
|
336 |
-
@output
|
337 |
-
@render.table
|
338 |
-
def schedule_result():
|
339 |
-
|
340 |
-
|
341 |
-
week_set = int(input.week_id())
|
342 |
-
print(week_set)
|
343 |
|
344 |
-
if week_set == 0:
|
345 |
-
start_point = input.date_range_id()[0]
|
346 |
-
end_point = input.date_range_id()[1]
|
347 |
-
else:
|
348 |
-
start_point = yahoo_weeks[yahoo_weeks.Number==week_set].reset_index(drop=True)['Start'][0]
|
349 |
-
end_point = yahoo_weeks[yahoo_weeks.Number==week_set].reset_index(drop=True)['End'][0]
|
350 |
|
351 |
|
352 |
-
sort_value='Score'
|
353 |
-
ascend=False
|
354 |
-
|
355 |
-
weekly_stack = schedule_stack[(schedule_stack['date'].dt.date>=start_point)&(schedule_stack['date'].dt.date<=end_point)]
|
356 |
-
date_list = pd.date_range(start_point,end_point,freq='d')
|
357 |
-
test_list = [[]] * len(date_list)
|
358 |
|
359 |
|
|
|
|
|
|
|
360 |
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
|
|
|
|
|
366 |
|
367 |
-
|
368 |
-
|
369 |
-
test_df['Total'] = test_df.merge(right=weekly_stack.groupby('team_abv')['team_abv'].apply(lambda x: x[x != ''].count()),left_on=['Team'],right_index=True,how='left').fillna(0)['team_abv']
|
370 |
-
test_df['Off-Night'] = test_df.merge(right=weekly_stack.groupby('team_abv').sum()['offnight'],left_on=['Team'],right_index=True,how='left').fillna(0)['offnight']
|
371 |
-
test_df['B2B']= test_df.merge(right=weekly_stack.groupby('team_abv').sum()['b2b'],left_on=['Team'],right_index=True,how='left').fillna(0)['b2b']
|
372 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
373 |
|
|
|
|
|
|
|
|
|
|
|
374 |
|
375 |
-
|
376 |
-
|
377 |
|
|
|
|
|
|
|
378 |
|
379 |
-
#games_vs_tired = np.array([float(i)*0.4 for i in list(weekly_stack.groupby('team_abv')['away_b2b'].apply(lambda x: x[x != ''].count()))])
|
380 |
|
381 |
-
|
|
|
|
|
382 |
|
|
|
|
|
383 |
|
384 |
-
team_score = test_df['Total']+test_df['Off-Night']*0.5+test_df['B2B']*-0.2+games_vs_tired*0.3+gf_rank*0.1+ga_rank*0.1
|
385 |
|
386 |
-
|
|
|
|
|
|
|
|
|
|
|
387 |
|
|
|
|
|
|
|
|
|
|
|
|
|
388 |
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
|
394 |
-
|
|
|
395 |
|
396 |
-
|
397 |
-
test_df[calendar.day_name[date_list[i].weekday()]+'<br>'+str(date_list[i].month)+'-'+'{:02d}'.format(date_list[i].day)] = test_list[i]['new_text']
|
398 |
|
399 |
-
|
400 |
-
|
401 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
402 |
|
403 |
-
|
|
|
|
|
404 |
|
405 |
-
|
406 |
-
#test_df_html = HTML( test_df.to_html().replace("\\n","<br>") )
|
407 |
-
offnight_list = [True if x <8 else False for x in test_df.iloc[-1][L:]]
|
408 |
|
409 |
-
test_df.style.applymap(highlight_cols,subset = ((list(test_df.index[:-1]),test_df.columns[L:][offnight_list])))
|
410 |
-
test_df_style = test_df.style.set_properties(**{'border': '3 px'},overwrite=False).set_table_styles([{
|
411 |
-
'selector': 'caption',
|
412 |
-
'props': [
|
413 |
-
('color', ''),
|
414 |
-
('fontname', 'Century Gothic'),
|
415 |
-
('font-size', '20px'),
|
416 |
-
('font-style', 'italic'),
|
417 |
-
('font-weight', ''),
|
418 |
-
('text-align', 'centre'),
|
419 |
-
]
|
420 |
|
421 |
-
|
422 |
-
|
423 |
-
**{'background-color':'White','index':'White','min-width':'100px'},overwrite=False,subset = ((list(test_df.index[:]),test_df.columns[5:]))).set_table_styles(
|
424 |
-
[{'selector': 'th:first-child', 'props': [('background-color', 'white')]}],overwrite=False).set_table_styles(
|
425 |
-
[{'selector': 'tr:first-child', 'props': [('background-color', 'white')]}],overwrite=False).set_table_styles(
|
426 |
-
[{'selector': 'tr', 'props': [('line-height', '20px')]}],overwrite=False).set_properties(
|
427 |
-
**{'Height': '8px'},**{'text-align': 'center'},overwrite=False).hide_index()
|
428 |
|
429 |
-
test_df_style = test_df_style.applymap(highlight_cols,subset = ((list(test_df.index[:-1]),test_df.columns[L:][offnight_list])))
|
430 |
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
test_df_style = test_df_style.background_gradient(cmap=cmap_back,subset = ((list(test_df.index[:-1]),test_df.columns[4])))
|
436 |
-
test_df_style = test_df_style.background_gradient(cmap=cmap_sum,subset = ((list(test_df.index[-1:]),test_df.columns[L:])),axis=1)
|
437 |
-
test_df_style = test_df_style.set_properties(
|
438 |
-
**{'border': '1px black solid !important'},subset = ((list(test_df.index[:-1]),test_df.columns[:]))).set_properties(
|
439 |
-
**{'min-width':'85px'},subset = ((list(test_df.index[:-1]),test_df.columns[L:])),overwrite=False).set_properties(**{
|
440 |
-
'color': 'black'},overwrite=False).set_properties(
|
441 |
-
**{'border': '1px black solid !important'},subset = ((list(test_df.index[:]),test_df.columns[L:])))
|
442 |
|
443 |
-
|
444 |
-
|
445 |
|
446 |
-
test_df_style = test_df_style.format(
|
447 |
-
'{:.1f}',subset=(test_df.index[:-1],test_df.columns[0]))
|
448 |
|
|
|
449 |
|
450 |
-
|
451 |
-
return test_df_style
|
452 |
|
|
|
|
|
453 |
|
454 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
455 |
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
def schedule_result_legend():
|
463 |
|
464 |
-
|
465 |
-
#off_b2b_df.style.applymap(highlight_cols,subset = ((list(off_b2b_df.index[:-1]),off_b2b_df.columns[0])))
|
466 |
-
off_b2b_df_style = off_b2b_df.style.set_properties(**{'border': '3 px'},overwrite=False).set_table_styles([{
|
467 |
'selector': 'caption',
|
468 |
'props': [
|
469 |
('color', ''),
|
@@ -474,26 +371,24 @@ def server(input, output, session):
|
|
474 |
('text-align', 'centre'),
|
475 |
]
|
476 |
|
477 |
-
},{'selector' :'th', 'props':[('text-align', 'center'),('Height','px'),('color','black'),(
|
478 |
-
|
479 |
-
**{'background-color':'White','index':'White','min-width':'150px'},overwrite=False).set_table_styles(
|
480 |
[{'selector': 'th:first-child', 'props': [('background-color', 'white')]}],overwrite=False).set_table_styles(
|
481 |
[{'selector': 'tr:first-child', 'props': [('background-color', 'white')]}],overwrite=False).set_table_styles(
|
482 |
[{'selector': 'tr', 'props': [('line-height', '20px')]}],overwrite=False).set_properties(
|
483 |
-
**{'Height': '8px'},**{'text-align': 'center'},overwrite=False).
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
**{'border': '1px black solid !important'},subset = ((list(off_b2b_df.index[:]),off_b2b_df.columns[:])))
|
492 |
-
|
493 |
-
return off_b2b_df_style
|
494 |
|
495 |
|
496 |
|
|
|
|
|
497 |
|
498 |
|
499 |
|
|
|
1 |
+
print('Running')
|
2 |
+
import time
|
3 |
import requests
|
4 |
import pandas as pd
|
5 |
import seaborn as sns
|
6 |
import matplotlib.pyplot as plt
|
7 |
from matplotlib.pyplot import figure
|
8 |
from matplotlib.offsetbox import OffsetImage, AnnotationBbox
|
9 |
+
from scipy import stats
|
10 |
import matplotlib.lines as mlines
|
11 |
import matplotlib.transforms as mtransforms
|
12 |
import numpy as np
|
13 |
+
import time
|
14 |
#import plotly.express as px
|
15 |
#!pip install chart_studio
|
16 |
+
#import chart_studio.tools as tls
|
17 |
+
from bs4 import BeautifulSoup
|
18 |
import matplotlib.pyplot as plt
|
19 |
import numpy as np
|
20 |
import matplotlib.font_manager as font_manager
|
21 |
from datetime import datetime
|
22 |
import pytz
|
23 |
+
from matplotlib.ticker import MaxNLocator
|
24 |
+
from matplotlib.patches import Ellipse
|
25 |
+
import matplotlib.transforms as transforms
|
26 |
+
from matplotlib.gridspec import GridSpec
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
datetime.now(pytz.timezone('US/Pacific')).strftime('%B %d, %Y')
|
28 |
# Configure Notebook
|
29 |
#%matplotlib inline
|
|
|
36 |
# import yahoo_oauth
|
37 |
import json
|
38 |
#import openpyxl
|
39 |
+
from sklearn import preprocessing
|
40 |
+
from datetime import timedelta
|
41 |
+
import dataframe_image as dfi
|
42 |
+
# from google.colab import drive
|
43 |
+
def percentile(n):
|
44 |
+
def percentile_(x):
|
45 |
+
return np.percentile(x, n)
|
46 |
+
percentile_.__name__ = 'percentile_%s' % n
|
47 |
+
return percentile_
|
48 |
|
49 |
+
import os
|
50 |
+
import praw
|
51 |
+
import matplotlib.pyplot as plt
|
52 |
+
import matplotlib.colors
|
53 |
+
import matplotlib.colors as mcolors
|
54 |
+
cmap_sum = matplotlib.colors.LinearSegmentedColormap.from_list("", ["#4285f4","#FFFFFF","#F0E442"])
|
55 |
+
#import pybaseball
|
56 |
+
import math
|
57 |
+
import matplotlib.ticker as mtick
|
58 |
+
import matplotlib.ticker as ticker
|
59 |
+
|
60 |
+
colour_palette = ['#FFB000','#648FFF','#785EF0',
|
61 |
+
'#DC267F','#FE6100','#3D1EB2','#894D80','#16AA02','#B5592B','#A3C1ED']
|
62 |
+
import matplotlib.colors as mcolors
|
63 |
+
from matplotlib.ticker import FuncFormatter
|
64 |
+
from matplotlib.font_manager import FontProperties
|
65 |
|
66 |
+
import numpy as np
|
67 |
+
import matplotlib.pyplot as plt
|
68 |
+
import matplotlib.colors
|
69 |
|
70 |
+
#x,y,c = zip(*np.random.rand(30,3)*4-2)
|
|
|
|
|
|
|
71 |
|
72 |
+
#norm=plt.Normalize(-2,2)
|
73 |
+
co = matplotlib.colors.LinearSegmentedColormap.from_list("", ["#ffffff","#F0E442"])
|
|
|
|
|
74 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
try:
|
77 |
data_r = requests.get("https://pub-api-ro.fantasysports.yahoo.com/fantasy/v2/league/427.l.public;out=settings/players;position=ALL;start=0;count=3000;sort=rank_season;search=;out=percent_owned;out=auction_values,ranks;ranks=season;ranks_by_position=season;out=expert_ranks;expert_ranks.rank_type=projected_season_remaining/draft_analysis;cut_types=diamond;slices=last7days?format=json_f").json()
|
78 |
key_check = data_r['fantasy_content']['league']['players']
|
|
|
93 |
single_list.append(x['player']['name']['last'])
|
94 |
single_list.append(x['player']['draft_analysis']['average_pick'])
|
95 |
single_list.append(x['player']['average_auction_cost'])
|
|
|
96 |
single_list.append(x['player']['display_position'])
|
97 |
single_list.append(x['player']['editorial_team_abbr'])
|
98 |
if 'value' in x['player']['percent_owned']:
|
|
|
102 |
total_list.append(single_list)
|
103 |
|
104 |
|
105 |
+
yahoo_df = pd.DataFrame(total_list,columns = ['player_id','rank_value','full','first','last','average_pick','average_auction_cost','display_position','editorial_team_abbr','percent_owned'])
|
106 |
+
yahoo_df_2 = yahoo_df.copy()
|
107 |
+
|
108 |
+
# Write your code here.
|
109 |
+
response = requests.get("https://www.naturalstattrick.com/playerlist.php?fromseason=20232024&thruseason=20232024&stype=2&sit=all&stdoi=oi&rate=n")
|
110 |
+
soup = BeautifulSoup(response.text, 'html.parser')
|
111 |
+
table_rows = soup.findAll('tr')
|
112 |
+
table_rows = table_rows[1:-1]
|
113 |
+
table_rows[0].findAll('td')
|
114 |
+
|
115 |
+
player_name = []
|
116 |
+
player_position = []
|
117 |
+
player_team = []
|
118 |
+
player_id = []
|
119 |
+
|
120 |
+
for i in range(0,len(table_rows)-1):
|
121 |
+
player_name.append(str(table_rows[i].findAll('td')[0].contents[0]))
|
122 |
+
player_position.append(table_rows[i].findAll('td')[1].contents[0])
|
123 |
+
player_team.append(table_rows[i].findAll('td')[2].contents[0])
|
124 |
+
player_id.append(str(table_rows[i].findAll('td')[3].contents[0])[-76:][:7])
|
125 |
+
|
126 |
+
player_id_df = pd.DataFrame({'Player':player_name,'Player ID':player_id,'Position':player_position,'Team':player_team})
|
127 |
+
#player_id_df.index.name = 'Player Name'
|
128 |
+
player_id_df.head()
|
129 |
|
130 |
+
skater_df = player_id_df[player_id_df['Position'] != 'G']
|
131 |
+
goalie_df = player_id_df[player_id_df['Position'] == 'G']
|
132 |
+
|
133 |
+
season = 20232024
|
134 |
+
seasontype = 2
|
135 |
+
|
136 |
+
def nat_stat_trick_range_pp_gp(rookie='n',start_date='2022-10-01',end_date=str(pd.to_datetime(datetime.now(pytz.timezone('US/Pacific')).strftime('%Y-%m-%d')).date()),sit='all',gp=1):
|
137 |
+
url = f'https://www.naturalstattrick.com/playerteams.php?fromseason={season}&thruseason={season}&stype={seasontype}&sit=pp&score=all&stdoi=std&rate=y&team=ALL&pos=S&loc=B&toi=0&gpfilt=gpteam&fd=&td=&tgp='+str(gp)+'&lines=single&draftteam=ALL'
|
138 |
+
|
139 |
+
player_list_all = []
|
140 |
+
response = requests.get(url)
|
141 |
+
soup = BeautifulSoup(response.text, 'html.parser')
|
142 |
+
table_rows = soup.findAll('tr')
|
143 |
+
table_rows = table_rows[1:]
|
144 |
+
|
145 |
+
for j in range(0,len(table_rows)):
|
146 |
+
p_string = [str(x).strip('<td>').strip('</') for x in list(table_rows[j].findAll('td')) if "<td>" in str(x)]
|
147 |
+
player_list_all.append([p_string[0]]+[str(table_rows[j].findAll('td')[1]).split('>')[2].split('<')[0]]+p_string[1:]+[str(table_rows[j].findAll('td')[1])[98:105].strip('</a></td>')])
|
148 |
+
#table_rows[0].findAll('td')
|
149 |
+
|
150 |
+
if soup != "":
|
151 |
+
columns_list = [str(x).split('>')[1].split('<')[0] for x in soup.findAll('th')]+['player_id']
|
152 |
+
df_url = pd.DataFrame(data=player_list_all,columns=columns_list)
|
153 |
+
|
154 |
+
df_url = df_url.fillna(0)
|
155 |
+
df_url['Shots+Hits+Blocks/60'] = df_url['Shots/60'].astype(float)+df_url['Hits/60'].astype(float)+df_url['Shots Blocked/60'].astype(float)
|
156 |
+
df_url['Shots+Hits/60'] = df_url['Shots/60'].astype(float)+df_url['Hits/60'].astype(float)
|
157 |
+
#print(url)
|
158 |
+
return df_url
|
159 |
+
|
160 |
+
team_abv = pd.read_csv('team_abv.csv')
|
161 |
+
team_dict = team_abv.set_index('team_abv').to_dict()
|
162 |
+
|
163 |
+
yahoo_nhl_df = pd.read_csv('yahoo_to_nhl.csv', encoding='unicode_escape')
|
164 |
+
|
165 |
+
def nat_stat_convert(df):
|
166 |
+
for i in range(0,len(df.columns)):
|
167 |
+
if df.columns[i][-3:]=='/60':
|
168 |
+
if 'ix' not in df.columns[i]:
|
169 |
+
df[df.columns[i]] = np.round(df[df.columns[i]].astype(float)*df['TOI'].astype(float)/60,0)
|
170 |
+
df = df.rename(columns={df.columns[i]: df.columns[i].replace('/60','')})
|
171 |
+
else:
|
172 |
+
df[df.columns[i]] = df[df.columns[i]].astype(float)*df['TOI'].astype(float)/60
|
173 |
+
df = df.rename(columns={df.columns[i]: df.columns[i].replace('/60','')})
|
174 |
+
|
175 |
+
df['Faceoffs %'] = df['Faceoffs Won']/(df['Faceoffs Won']+df['Faceoffs Lost'])
|
176 |
+
|
177 |
+
return df
|
178 |
|
179 |
from shiny import ui, render, App
|
180 |
import matplotlib.image as mpimg
|
181 |
+
app_ui = ui.page_fluid(
|
182 |
+
#ui.panel_title("Simulate a normal distribution"),
|
183 |
+
|
184 |
+
ui.layout_sidebar(
|
185 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
186 |
ui.panel_sidebar(
|
187 |
+
#ui.input_date_range("date_range_id", "Date range input",start = statcast_df.game_date.min(), end = statcast_df.game_date.max()),
|
188 |
+
ui.input_select("team_id", "Select Team",team_dict,width=1,size=1,selected='ANA'),
|
189 |
+
ui.input_numeric("n_1", "Last Games x", value=1),
|
190 |
+
ui.input_numeric("n_2", "Last Games y", value=0),
|
191 |
+
ui.input_numeric("n_3", "Last Games z", value=0),
|
192 |
+
ui.input_numeric("top_n", "Show top 'n'", value=10),
|
193 |
+
),
|
194 |
+
|
195 |
ui.panel_main(ui.tags.h3(""),
|
196 |
ui.div({"style": "font-size:2em;"},ui.output_text("txt_title")),
|
197 |
#ui.tags.h2("Fantasy Hockey Schedule Summary"),
|
198 |
+
ui.tags.h5("Created By: @TJStats, Data: Natural Stat Trick, Yahoo Fantasy"),
|
199 |
ui.div({"style": "font-size:1.2em;"},ui.output_text("txt")),
|
200 |
+
ui.output_table("pp_roundup"),
|
201 |
+
#ui.tags.h5('Legend'),
|
202 |
+
#ui.tags.h6('An Off Night is defined as a day in which less than half the teams in the NHL are playing'),
|
203 |
+
#ui.tags.h6('The scores are determined by using games played, off-nights, B2B, and strength of opponents') )
|
204 |
+
)
|
205 |
+
),
|
206 |
+
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
207 |
|
208 |
|
209 |
|
210 |
|
211 |
from urllib.request import Request, urlopen
|
212 |
+
from shiny import App, reactive, ui
|
213 |
+
from shiny.ui import h2, tags
|
214 |
# importing OpenCV(cv2) module
|
215 |
|
216 |
|
217 |
|
218 |
|
219 |
+
#print(app_ui)
|
220 |
def server(input, output, session):
|
221 |
|
222 |
+
|
223 |
@output
|
224 |
@render.text
|
225 |
def txt():
|
226 |
+
return f'{input.team_id()} Last Games PP Summary'
|
227 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
228 |
@output
|
229 |
@render.text
|
230 |
def txt_title():
|
231 |
+
|
232 |
+
return f'Team Last Games PP% Leaders'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
233 |
|
|
|
|
|
|
|
|
|
|
|
|
|
234 |
|
235 |
|
|
|
|
|
|
|
|
|
|
|
|
|
236 |
|
237 |
|
238 |
+
@output
|
239 |
+
@render.table
|
240 |
+
def pp_roundup():
|
241 |
|
242 |
+
top_n = input.top_n()
|
243 |
+
n_1 = input.n_1()
|
244 |
+
n_2 = input.n_2()
|
245 |
+
n_3 = input.n_3()
|
246 |
|
247 |
+
list_of_columns = ['Player', 'Team', 'display_position','percent_owned','L'+str(n_1)+' PP TOI','L'+str(n_2)+' PP TOI','L'+str(n_3)+' PP TOI',
|
248 |
+
'L'+str(n_1)+' PP%','L'+str(n_2)+' PP%','L'+str(n_3)+' PP%']
|
249 |
|
250 |
+
list_of_columns_name = ['Player', 'Team', 'Position','Roster%','L'+str(n_1)+' PP TOI','L'+str(n_2)+' PP TOI','L'+str(n_3)+' PP TOI',
|
251 |
+
'L'+str(n_1)+' PP%','L'+str(n_2)+' PP%','L'+str(n_3)+' PP%']
|
|
|
|
|
|
|
252 |
|
253 |
+
if type(n_1) is not int:
|
254 |
+
n_1 = 1
|
255 |
+
|
256 |
+
if n_2 == 0:
|
257 |
+
list_of_columns.remove(f'L{str(n_2)} PP TOI')
|
258 |
+
list_of_columns.remove(f'L{str(n_2)} PP%')
|
259 |
+
list_of_columns_name.remove(f'L{str(n_2)} PP TOI')
|
260 |
+
list_of_columns_name.remove(f'L{str(n_2)} PP%')
|
261 |
|
262 |
+
if n_3 == 0:
|
263 |
+
list_of_columns.remove(f'L{str(n_3)} PP TOI')
|
264 |
+
list_of_columns.remove(f'L{str(n_3)} PP%')
|
265 |
+
list_of_columns_name.remove(f'L{str(n_3)} PP TOI')
|
266 |
+
list_of_columns_name.remove(f'L{str(n_3)} PP%')
|
267 |
|
268 |
+
start_date ='2023-09-01'
|
269 |
+
end_date = '2024-05-01'
|
270 |
|
271 |
+
df_pp_1 = nat_stat_trick_range_pp_gp(rookie='n',start_date = start_date,end_date = end_date, sit='pp',gp=n_1)
|
272 |
+
df_pp_2 = nat_stat_trick_range_pp_gp(rookie='n',start_date = start_date,end_date = end_date, sit='pp',gp=n_2)
|
273 |
+
df_pp_3 = nat_stat_trick_range_pp_gp(rookie='n',start_date = start_date,end_date = end_date, sit='pp',gp=n_3)
|
274 |
|
|
|
275 |
|
276 |
+
df_all_pp_1 = nat_stat_convert(df_pp_1)
|
277 |
+
df_all_pp_2 = nat_stat_convert(df_pp_2)
|
278 |
+
df_all_pp_3 = nat_stat_convert(df_pp_3)
|
279 |
|
280 |
+
df_final = df_all_pp_1.merge( df_all_pp_2,how='outer',left_on=['player_id'],right_on=['player_id'],suffixes=("","_2"))
|
281 |
+
df_final = df_final.merge( df_all_pp_3,how='outer',left_on=['player_id'],right_on=['player_id'],suffixes=("_1","_3"))
|
282 |
|
|
|
283 |
|
284 |
+
team_report_1 = pd.read_html(f'https://www.naturalstattrick.com/teamtable.php?fromseason={season}&thruseason={season}&stype={seasontype}&sit=pp&score=all&rate=n&team=all&loc=B&gpf=c&gp='+str(n_1)+'&fd=&td=')[0]
|
285 |
+
team_report_2 = pd.read_html(f'https://www.naturalstattrick.com/teamtable.php?fromseason={season}&thruseason={season}&stype={seasontype}&sit=pp&score=all&rate=n&team=all&loc=B&gpf=c&gp='+str(n_2)+'&fd=&td=')[0]
|
286 |
+
team_report_3 = pd.read_html(f'https://www.naturalstattrick.com/teamtable.php?fromseason=fromseason={season}&thruseason={season}&stype={seasontype}&sit=pp&score=all&rate=n&team=all&loc=B&gpf=c&gp='+str(n_3)+'&fd=&td=')[0]
|
287 |
+
team_report_1 = team_report_1.merge(team_abv,left_on=['Team'],right_on=['team_name'],how='left')
|
288 |
+
team_report_2 = team_report_2.merge(team_abv,left_on=['Team'],right_on=['team_name'],how='left')
|
289 |
+
team_report_3 = team_report_3.merge(team_abv,left_on=['Team'],right_on=['team_name'],how='left')
|
290 |
|
291 |
+
test = df_final[['player_id','Player_1','Team_1','Position_1','TOI_1','TOI_2','TOI_3',]]
|
292 |
+
test.columns = ['player_id','Player','Team','Position','TOI_1','TOI_2','TOI_3',]
|
293 |
+
test = test.merge(team_report_1[['TOI','team_abv']],how='left',left_on=['Team'],right_on=['team_abv'], suffixes=('','_1_team'))
|
294 |
+
test = test.merge(team_report_2[['TOI','team_abv']],how='left',left_on=['Team'],right_on=['team_abv'], suffixes=('','_2_team'))
|
295 |
+
test = test.merge(team_report_3[['TOI','team_abv']],how='left',left_on=['Team'],right_on=['team_abv'], suffixes=('','_3_team'))
|
296 |
+
test = test.fillna('0:00')
|
297 |
|
298 |
+
test['TOI'] = [int(x[:-3])+int(x[-2:])*100/60/100 for x in test['TOI'] ]
|
299 |
+
test['TOI_1'] = [x if x!='0:00' else 0 for x in test['TOI_1']]
|
300 |
+
test['TOI_2'] = [x if x!='0:00' else 0 for x in test['TOI_2']]
|
301 |
+
test['TOI_3'] = [x if x!='0:00' else 0 for x in test['TOI_3']]
|
302 |
|
303 |
+
test['TOI_2_team'] = [int(x[:-3])+int(x[-2:])*100/60/100 for x in test['TOI_2_team'] ]
|
304 |
+
test['TOI_3_team'] = [int(x[:-3])+int(x[-2:])*100/60/100 for x in test['TOI_3_team']]
|
305 |
|
306 |
+
test['TOI'] = test['TOI'].astype(float)
|
|
|
307 |
|
308 |
+
test['PP%_1'] = test['TOI_1'].astype(float)/ test['TOI'].astype(float)
|
309 |
+
test['PP%_2'] = test['TOI_2'].astype(float)/ test['TOI_2_team'].astype(float)
|
310 |
+
test['PP%_3'] = test['TOI_3'].astype(float)/ test['TOI_3_team'].astype(float)
|
311 |
+
test = test.fillna(0)
|
312 |
+
test['TOI_1'] = ["%d:%02d" % (int(x),(x*60)%60) for x in test['TOI_1'].astype(float)]
|
313 |
+
test['TOI_2'] = ["%d:%02d" % (int(x),(x*60)%60) for x in test['TOI_2'].astype(float)]
|
314 |
+
test['TOI_3'] = ["%d:%02d" % (int(x),(x*60)%60) for x in test['TOI_3'].astype(float)]
|
315 |
+
test = test.drop(['team_abv','team_abv_2_team','team_abv_3_team','TOI','TOI_2_team','TOI_3_team'],axis=1)
|
316 |
+
test.columns = ['player_id','Player','Team','Position','L'+str(n_1)+' PP TOI','L'+str(n_2)+' PP TOI','L'+str(n_3)+' PP TOI','L'+str(n_1)+' PP%','L'+str(n_2)+' PP%','L'+str(n_3)+' PP%']
|
317 |
|
318 |
+
yahoo_df = yahoo_df_2.merge(yahoo_nhl_df,left_on = 'player_id',right_on='player_id_yahoo',suffixes=['','_y'])
|
319 |
+
yahoo_df.nhl_id = yahoo_df.nhl_id.astype(float)
|
320 |
+
test.player_id = test.player_id.astype(float)
|
321 |
|
322 |
+
test = test.merge(right=yahoo_df,left_on='player_id',right_on='nhl_id',suffixes=['','_y'],how='left')
|
|
|
|
|
323 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
324 |
|
325 |
+
print('Column List')
|
326 |
+
print(test.columns)
|
|
|
|
|
|
|
|
|
|
|
327 |
|
|
|
328 |
|
329 |
+
print(list_of_columns)
|
330 |
+
test = test[list_of_columns]
|
331 |
+
test = test.rename(columns={'percent_owned':'Roster%'})
|
332 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
333 |
|
334 |
+
top_d_score = test[(test.Team==input.team_id())].sort_values(by=['L'+str(n_1)+' PP%'],ascending=False).reset_index(drop=True)
|
335 |
+
top_d_score = top_d_score.head(min(len(top_d_score),top_n))
|
336 |
|
|
|
|
|
337 |
|
338 |
+
#top_d_score.columns = list_of_columns_name
|
339 |
|
340 |
+
cols = top_d_score.columns.tolist();
|
|
|
341 |
|
342 |
+
top_d_score['Deployment'] = "PP2"
|
343 |
+
top_d_score['Deployment'][0:5] = "PP1"
|
344 |
|
345 |
+
# df_style_bang = top_d_score.head(10).style.background_gradient(cmap=co, subset=['L'+str(n_1)+' PP%','L'+str(n_2)+' PP%','L'+str(n_3)+' PP%','Roster%']).hide_index().set_properties(**{'Height': '12px'},**{'text-align': 'center'}).set_table_styles([{
|
346 |
+
# 'selector': 'caption',
|
347 |
+
# 'props': [
|
348 |
+
# ('color', ''),
|
349 |
+
# ('fontname', 'Century Gothic'),
|
350 |
+
# ('font-size', '20px'),
|
351 |
+
# ('font-style', 'italic'),
|
352 |
+
# ('font-weight', ''),
|
353 |
+
# ('text-align', 'centre'),
|
354 |
+
# ]
|
355 |
|
356 |
+
# },{'selector' :'th', 'props':[('text-align', 'center'),('Height','5px')]},{'selector' :'td', 'props':[('text-align', 'center'),('font-size', '13px'),('fontname', 'Century Gothic')]}]).format(
|
357 |
+
# {'L'+str(n_1)+' PP%': '{:.0%}',
|
358 |
+
# 'L'+str(n_2)+' PP%': '{:.0%}',
|
359 |
+
# 'L'+str(n_3)+' PP%': '{:.0%}',
|
360 |
+
# 'Roster%': '{:.0%}',
|
361 |
+
# },)
|
|
|
362 |
|
363 |
+
df_style_bang = top_d_score.head(input.top_n()).style.background_gradient(cmap=co,vmin=0,vmax=1, subset=[x for x in cols if x.endswith('PP%')]).set_properties(**{'border': '3 px'},overwrite=False).set_table_styles([{
|
|
|
|
|
364 |
'selector': 'caption',
|
365 |
'props': [
|
366 |
('color', ''),
|
|
|
371 |
('text-align', 'centre'),
|
372 |
]
|
373 |
|
374 |
+
},{'selector' :'th', 'props':[('text-align', 'center'),('Height','px'),('color','black'),('border', '1px black solid !important')]},{'selector' :'td', 'props':[('text-align', 'center'),('font-size', '18px'),('color','black')]}],overwrite=False).set_properties(
|
375 |
+
**{'background-color':'White','index':'White','min-width':'75px'},overwrite=False).set_table_styles(
|
|
|
376 |
[{'selector': 'th:first-child', 'props': [('background-color', 'white')]}],overwrite=False).set_table_styles(
|
377 |
[{'selector': 'tr:first-child', 'props': [('background-color', 'white')]}],overwrite=False).set_table_styles(
|
378 |
[{'selector': 'tr', 'props': [('line-height', '20px')]}],overwrite=False).set_properties(
|
379 |
+
**{'Height': '8px'},**{'text-align': 'center'},overwrite=False).hide_index().format(
|
380 |
+
{'L'+str(n_1)+' PP%': '{:.0%}',
|
381 |
+
'L'+str(n_2)+' PP%': '{:.0%}',
|
382 |
+
'L'+str(n_3)+' PP%': '{:.0%}',
|
383 |
+
'Roster%': '{:.0%}',
|
384 |
+
},)
|
385 |
+
|
386 |
+
return df_style_bang
|
|
|
|
|
|
|
387 |
|
388 |
|
389 |
|
390 |
+
# test = test.fillna(0)
|
391 |
+
#test['PP TOI'] = ["%d:%02d" % (int(x),(x*60)%60) if x>0 else '0:00' for x in test['PP TOI']]
|
392 |
|
393 |
|
394 |
|
team_abv.csv
CHANGED
@@ -24,7 +24,7 @@ PHI,Philadelphia Flyers
|
|
24 |
PIT,Pittsburgh Penguins
|
25 |
S.J,San Jose Sharks
|
26 |
SEA,Seattle Kraken
|
27 |
-
STL,St
|
28 |
T.B,Tampa Bay Lightning
|
29 |
TOR,Toronto Maple Leafs
|
30 |
VAN,Vancouver Canucks
|
|
|
24 |
PIT,Pittsburgh Penguins
|
25 |
S.J,San Jose Sharks
|
26 |
SEA,Seattle Kraken
|
27 |
+
STL,St Louis Blues
|
28 |
T.B,Tampa Bay Lightning
|
29 |
TOR,Toronto Maple Leafs
|
30 |
VAN,Vancouver Canucks
|
yahoo_to_nhl.csv
ADDED
@@ -0,0 +1,805 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
player_id_yahoo,full,first,last,nhl_id
|
2 |
+
6743,Connor McDavid,Connor,McDavid,8478402
|
3 |
+
6369,Leon Draisaitl,Leon,Draisaitl,8477934
|
4 |
+
6391,David Pastrnak,David,Pastrnak,8477956
|
5 |
+
5980,Nathan MacKinnon,Nathan,MacKinnon,8477492
|
6 |
+
7114,Matthew Tkachuk,Matthew,Tkachuk,8479314
|
7 |
+
7554,Jason Robertson,Jason,Robertson,8480027
|
8 |
+
5425,Nikita Kucherov,Nikita,Kucherov,8476453
|
9 |
+
6752,Mikko Rantanen,Mikko,Rantanen,8478420
|
10 |
+
7134,Tage Thompson,Tage,Thompson,8479420
|
11 |
+
7902,Brady Tkachuk,Brady,Tkachuk,8480801
|
12 |
+
7109,Auston Matthews,Auston,Matthews,8479318
|
13 |
+
8279,Jack Hughes,Jack,Hughes,8481559
|
14 |
+
7519,Cale Makar,Cale,Makar,8480069
|
15 |
+
6877,Kirill Kaprizov,Kirill,Kaprizov,8478864
|
16 |
+
3637,Alex Ovechkin,Alex,Ovechkin,8471214
|
17 |
+
3737,Sidney Crosby,Sidney,Crosby,8471675
|
18 |
+
6746,Mitch Marner,Mitch,Marner,8478483
|
19 |
+
6486,Igor Shesterkin,Igor,Shesterkin,8478048
|
20 |
+
6447,Ilya Sorokin,Ilya,Sorokin,8478009
|
21 |
+
5699,Andrei Vasilevskiy,Andrei,Vasilevskiy,8476883
|
22 |
+
6791,Roope Hintz,Roope,Hintz,8478449
|
23 |
+
7541,Jake Oettinger,Jake,Oettinger,8479979
|
24 |
+
7736,Alexandar Georgiev,Alexandar,Georgiev,8480382
|
25 |
+
6374,William Nylander,William,Nylander,8477939
|
26 |
+
5367,Mika Zibanejad,Mika,Zibanejad,8476459
|
27 |
+
6448,Brayden Point,Brayden,Point,8478010
|
28 |
+
5853,Linus Ullmark,Linus,Ullmark,8476999
|
29 |
+
5362,Ryan Nugent-Hopkins,Ryan,Nugent-Hopkins,8476454
|
30 |
+
4681,John Tavares,John,Tavares,8475166
|
31 |
+
7520,Elias Pettersson,Elias,Pettersson,8480012
|
32 |
+
5820,Connor Hellebuyck,Connor,Hellebuyck,8476945
|
33 |
+
5096,Zach Hyman,Zach,Hyman,8475786
|
34 |
+
4471,Steven Stamkos,Steven,Stamkos,8474564
|
35 |
+
8643,Tim Stutzle,Tim,Stutzle,8482116
|
36 |
+
6728,Artemi Panarin,Artemi,Panarin,8478550
|
37 |
+
4351,Brad Marchand,Brad,Marchand,8473419
|
38 |
+
6777,Sebastian Aho,Sebastian,Aho,8478427
|
39 |
+
7174,Adam Fox,Adam,Fox,8479323
|
40 |
+
7626,Jeremy Swayman,Jeremy,Swayman,8480280
|
41 |
+
6759,Kyle Connor,Kyle,Connor,8478398
|
42 |
+
30544,Connor Bedard,Connor,Bedard,8484144
|
43 |
+
6057,Jake Guentzel,Jake,Guentzel,8477404
|
44 |
+
4491,Erik Karlsson,Erik,Karlsson,8474578
|
45 |
+
6062,Carter Verhaeghe,Carter,Verhaeghe,8477409
|
46 |
+
6381,Dylan Larkin,Dylan,Larkin,8477946
|
47 |
+
6751,Timo Meier,Timo,Meier,8478414
|
48 |
+
6384,Alex Tuch,Alex,Tuch,8477949
|
49 |
+
4967,Jeff Skinner,Jeff,Skinner,8475784
|
50 |
+
7516,Nico Hischier,Nico,Hischier,8480002
|
51 |
+
8290,Matt Boldy,Matt,Boldy,8481557
|
52 |
+
7899,Rasmus Dahlin,Rasmus,Dahlin,8480839
|
53 |
+
6395,Adrian Kempe,Adrian,Kempe,8477960
|
54 |
+
5981,Aleksander Barkov,Aleksander,Barkov,8477493
|
55 |
+
7143,Jordan Kyrou,Jordan,Kyrou,8479385
|
56 |
+
3638,Evgeni Malkin,Evgeni,Malkin,8471215
|
57 |
+
7147,Alex DeBrincat,Alex,DeBrincat,8479337
|
58 |
+
4002,Claude Giroux,Claude,Giroux,8473512
|
59 |
+
4519,Jamie Benn,Jamie,Benn,8473994
|
60 |
+
5370,Dougie Hamilton,Dougie,Hamilton,8476462
|
61 |
+
5152,Mark Stone,Mark,Stone,8475913
|
62 |
+
5470,Johnny Gaudreau,Johnny,Gaudreau,8476346
|
63 |
+
4990,Brock Nelson,Brock,Nelson,8475754
|
64 |
+
6377,Kevin Fiala,Kevin,Fiala,8477942
|
65 |
+
6390,Jared McCann,Jared,McCann,8477955
|
66 |
+
7115,Clayton Keller,Clayton,Keller,8479343
|
67 |
+
5368,Mark Scheifele,Mark,Scheifele,8476460
|
68 |
+
5376,J.T. Miller,J.T.,Miller,8476468
|
69 |
+
8285,Dylan Cozens,Dylan,Cozens,8481528
|
70 |
+
5988,Bo Horvat,Bo,Horvat,8477500
|
71 |
+
7527,Martin Necas,Martin,Necas,8480039
|
72 |
+
4930,Roman Josi,Roman,Josi,8474600
|
73 |
+
7267,Jesper Bratt,Jesper,Bratt,8479407
|
74 |
+
5020,Tyler Toffoli,Tyler,Toffoli,8475726
|
75 |
+
3985,Joe Pavelski,Joe,Pavelski,8470794
|
76 |
+
7111,Pierre-Luc Dubois,Pierre-Luc,Dubois,8479400
|
77 |
+
7122,Charlie McAvoy,Charlie,McAvoy,8479325
|
78 |
+
6762,Joel Eriksson Ek,Joel,Eriksson Ek,8478493
|
79 |
+
6368,Sam Reinhart,Sam,Reinhart,8477933
|
80 |
+
7636,Drake Batherson,Drake,Batherson,8480208
|
81 |
+
7163,Filip Gustavsson,Filip,Gustavsson,8479406
|
82 |
+
6078,Juuse Saros,Juuse,Saros,8477424
|
83 |
+
8878,Matty Beniers,Matty,Beniers,8482665
|
84 |
+
5992,Josh Morrissey,Josh,Morrissey,8477504
|
85 |
+
7905,Quinn Hughes,Quinn,Hughes,8480800
|
86 |
+
9268,Andrei Kuzmenko,Andrei,Kuzmenko,8483808
|
87 |
+
4687,Nazem Kadri,Nazem,Kadri,8475172
|
88 |
+
6766,Travis Konecny,Travis,Konecny,8478439
|
89 |
+
4921,Mats Zuccarello,Mats,Zuccarello,8475692
|
90 |
+
4901,Sergei Bobrovsky,Sergei,Bobrovsky,8475683
|
91 |
+
5431,Vincent Trocheck,Vincent,Trocheck,8476389
|
92 |
+
8287,Trevor Zegras,Trevor,Zegras,8481533
|
93 |
+
6480,Viktor Arvidsson,Viktor,Arvidsson,8478042
|
94 |
+
4248,Logan Couture,Logan,Couture,8474053
|
95 |
+
7518,Miro Heiskanen,Miro,Heiskanen,8480036
|
96 |
+
7264,Brandon Hagel,Brandon,Hagel,8479542
|
97 |
+
5391,Rickard Rakell,Rickard,Rakell,8476483
|
98 |
+
4699,Chris Kreider,Chris,Kreider,8475184
|
99 |
+
3788,Anze Kopitar,Anze,Kopitar,8471685
|
100 |
+
6424,Brandon Montour,Brandon,Montour,8477986
|
101 |
+
6744,Jack Eichel,Jack,Eichel,8478403
|
102 |
+
5712,Jonathan Marchessault,Jonathan,Marchessault,8476539
|
103 |
+
5161,Frederik Andersen,Frederik,Andersen,8475883
|
104 |
+
4263,Mikael Backlund,Mikael,Backlund,8474150
|
105 |
+
30111,Devon Levi,Devon,Levi,8482221
|
106 |
+
4682,Victor Hedman,Victor,Hedman,8475167
|
107 |
+
7900,Andrei Svechnikov,Andrei,Svechnikov,8480830
|
108 |
+
5697,Tomas Hertl,Tomas,Hertl,8476881
|
109 |
+
4265,David Perron,David,Perron,8474102
|
110 |
+
7528,Nick Suzuki,Nick,Suzuki,8480018
|
111 |
+
5753,Joonas Korpisalo,Joonas,Korpisalo,8476914
|
112 |
+
6764,Ilya Samsonov,Ilya,Samsonov,8478492
|
113 |
+
3341,Marc-Andre Fleury,Marc-Andre,Fleury,8470594
|
114 |
+
6405,Thatcher Demko,Thatcher,Demko,8477967
|
115 |
+
6745,Dylan Strome,Dylan,Strome,8478440
|
116 |
+
5991,Max Domi,Max,Domi,8477503
|
117 |
+
4498,Jordan Eberle,Jordan,Eberle,8474586
|
118 |
+
6055,Pavel Buchnevich,Pavel,Buchnevich,8477402
|
119 |
+
5928,Anders Lee,Anders,Lee,8475314
|
120 |
+
5984,Elias Lindholm,Elias,Lindholm,8477496
|
121 |
+
6756,Jake DeBrusk,Jake,DeBrusk,8478498
|
122 |
+
3358,Brent Burns,Brent,Burns,8470613
|
123 |
+
6890,Troy Terry,Troy,Terry,8478873
|
124 |
+
8314,Pyotr Kochetkov,Pyotr,Kochetkov,8481611
|
125 |
+
6485,Michael Bunting,Michael,Bunting,8478047
|
126 |
+
5336,Darcy Kuemper,Darcy,Kuemper,8475311
|
127 |
+
7593,Stuart Skinner,Stuart,Skinner,8479973
|
128 |
+
7908,Evan Bouchard,Evan,Bouchard,8480803
|
129 |
+
8658,Dawson Mercer,Dawson,Mercer,8482110
|
130 |
+
6024,Tristan Jarry,Tristan,Jarry,8477465
|
131 |
+
7156,Carter Hart,Carter,Hart,8479394
|
132 |
+
5639,Reilly Smith,Reilly,Smith,8475191
|
133 |
+
6408,Vitek Vanecek,Vitek,Vanecek,8477970
|
134 |
+
7525,Owen Tippett,Owen,Tippett,8480015
|
135 |
+
4685,Brayden Schenn,Brayden,Schenn,8475170
|
136 |
+
4984,Kevin Hayes,Kevin,Hayes,8475763
|
137 |
+
4986,Evgeny Kuznetsov,Evgeny,Kuznetsov,8475744
|
138 |
+
5387,Phillip Danault,Phillip,Danault,8476479
|
139 |
+
5626,Alex Killorn,Alex,Killorn,8473986
|
140 |
+
4503,John Carlson,John,Carlson,8474590
|
141 |
+
6707,Frank Vatrano,Frank,Vatrano,8478366
|
142 |
+
5405,Boone Jenner,Boone,Jenner,8476432
|
143 |
+
4683,Matt Duchene,Matt,Duchene,8475168
|
144 |
+
5032,Jason Zucker,Jason,Zucker,8475722
|
145 |
+
7110,Patrik Laine,Patrik,Laine,8479339
|
146 |
+
8284,Moritz Seider,Moritz,Seider,8481542
|
147 |
+
6765,Brock Boeser,Brock,Boeser,8478444
|
148 |
+
6798,Vince Dunn,Vince,Dunn,8478407
|
149 |
+
5768,Chandler Stephenson,Chandler,Stephenson,8476905
|
150 |
+
5053,Bryan Rust,Bryan,Rust,8475810
|
151 |
+
7535,Robert Thomas,Robert,Thomas,8480023
|
152 |
+
7117,Mikhail Sergachev,Mikhail,Sergachev,8479410
|
153 |
+
5281,Tyson Barrie,Tyson,Barrie,8475197
|
154 |
+
6035,Artturi Lehkonen,Artturi,Lehkonen,8477476
|
155 |
+
5983,Seth Jones,Seth,Jones,8477495
|
156 |
+
4962,Tyler Seguin,Tyler,Seguin,8475794
|
157 |
+
3641,Blake Wheeler,Blake,Wheeler,8471218
|
158 |
+
7523,Casey Mittelstadt,Casey,Mittelstadt,8479999
|
159 |
+
5364,Jonathan Huberdeau,Jonathan,Huberdeau,8476456
|
160 |
+
7910,Noah Dobson,Noah,Dobson,8480865
|
161 |
+
6367,Aaron Ekblad,Aaron,Ekblad,8477932
|
162 |
+
4976,Vladimir Tarasenko,Vladimir,Tarasenko,8475765
|
163 |
+
6015,J.T. Compher,J.T.,Compher,8477456
|
164 |
+
6462,Ville Husso,Ville,Husso,8478024
|
165 |
+
5010,Justin Faulk,Justin,Faulk,8475753
|
166 |
+
5686,Hampus Lindholm,Hampus,Lindholm,8476854
|
167 |
+
6386,Nick Schmaltz,Nick,Schmaltz,8477951
|
168 |
+
6748,Pavel Zacha,Pavel,Zacha,8478401
|
169 |
+
6330,Yanni Gourde,Yanni,Gourde,8476826
|
170 |
+
5454,Jordan Binnington,Jordan,Binnington,8476412
|
171 |
+
6068,Oliver Bjorkstrand,Oliver,Bjorkstrand,8477416
|
172 |
+
4240,Patrick Kane,Patrick,Kane,8474141
|
173 |
+
6758,Mathew Barzal,Mathew,Barzal,8478445
|
174 |
+
5700,Scott Laughton,Scott,Laughton,8476872
|
175 |
+
4961,Taylor Hall,Taylor,Hall,8475791
|
176 |
+
6169,Dominik Kubalik,Dominik,Kubalik,8477330
|
177 |
+
5421,William Karlsson,William,Karlsson,8476448
|
178 |
+
6370,Sam Bennett,Sam,Bennett,8477935
|
179 |
+
8033,Akira Schmid,Akira,Schmid,8481033
|
180 |
+
6865,Conor Garland,Conor,Garland,8478856
|
181 |
+
30221,Luke Hughes,Luke,Hughes,8482684
|
182 |
+
7536,Filip Chytil,Filip,Chytil,8480078
|
183 |
+
4472,Drew Doughty,Drew,Doughty,8474563
|
184 |
+
7903,Barrett Hayton,Barrett,Hayton,8480849
|
185 |
+
4474,Alex Pietrangelo,Alex,Pietrangelo,8474565
|
186 |
+
6908,Andrew Mangiapane,Andrew,Mangiapane,8478233
|
187 |
+
6753,Lawson Crouse,Lawson,Crouse,8478474
|
188 |
+
7164,Dillon Dube,Dillon,Dube,8479346
|
189 |
+
6385,Tony DeAngelo,Tony,DeAngelo,8477950
|
190 |
+
4854,Cam Talbot,Cam,Talbot,8475660
|
191 |
+
5441,Blake Coleman,Blake,Coleman,8476399
|
192 |
+
5989,Valeri Nichushkin,Valeri,Nichushkin,8477501
|
193 |
+
4965,Nino Niederreiter,Nino,Niederreiter,8475799
|
194 |
+
5986,Darnell Nurse,Darnell,Nurse,8477498
|
195 |
+
6009,Ryan Hartman,Ryan,Hartman,8477451
|
196 |
+
8879,Mason McTavish,Mason,McTavish,8482745
|
197 |
+
6795,Rasmus Andersson,Rasmus,Andersson,8478397
|
198 |
+
6788,Daniel Sprong,Daniel,Sprong,8478466
|
199 |
+
5946,Erik Haula,Erik,Haula,8475287
|
200 |
+
4792,Tomas Tatar,Tomas,Tatar,8475193
|
201 |
+
5800,Andreas Athanasiou,Andreas,Athanasiou,8476960
|
202 |
+
8644,Lucas Raymond,Lucas,Raymond,8482078
|
203 |
+
4704,Marcus Johansson,Marcus,Johansson,8475149
|
204 |
+
6726,Evan Rodrigues,Evan,Rodrigues,8478542
|
205 |
+
8155,Logan Thompson,Logan,Thompson,8480313
|
206 |
+
30546,Adam Fantilli,Adam,Fantilli,8484166
|
207 |
+
6494,Gustav Forsling,Gustav,Forsling,8478055
|
208 |
+
5691,Filip Forsberg,Filip,Forsberg,8476887
|
209 |
+
4988,Charlie Coyle,Charlie,Coyle,8475745
|
210 |
+
5366,Ryan Strome,Ryan,Strome,8476458
|
211 |
+
7542,Morgan Frost,Morgan,Frost,8480028
|
212 |
+
4974,Jaden Schwartz,Jaden,Schwartz,8475768
|
213 |
+
6549,Victor Olofsson,Victor,Olofsson,8478109
|
214 |
+
6770,Anthony Beauvillier,Anthony,Beauvillier,8478463
|
215 |
+
5785,Josh Anderson,Josh,Anderson,8476981
|
216 |
+
7901,Jesperi Kotkaniemi,Jesperi,Kotkaniemi,8480829
|
217 |
+
6760,Thomas Chabot,Thomas,Chabot,8478469
|
218 |
+
8607,Alexander Barabanov,Alexander,Barabanov,8482222
|
219 |
+
6476,Devon Toews,Devon,Toews,8478038
|
220 |
+
5708,Brady Skjei,Brady,Skjei,8476869
|
221 |
+
8898,Wyatt Johnston,Wyatt,Johnston,8482740
|
222 |
+
6402,Ivan Barbashev,Ivan,Barbashev,8477964
|
223 |
+
5407,John Gibson,John,Gibson,8476434
|
224 |
+
4064,Kris Letang,Kris,Letang,8471724
|
225 |
+
3355,Zach Parise,Zach,Parise,8470610
|
226 |
+
5769,Shayne Gostisbehere,Shayne,Gostisbehere,8476906
|
227 |
+
4972,Cam Fowler,Cam,Fowler,8475764
|
228 |
+
8293,Cole Caufield,Cole,Caufield,8481540
|
229 |
+
5747,Jordan Martinook,Jordan,Martinook,8476921
|
230 |
+
3801,T.J. Oshie,T.J.,Oshie,8471698
|
231 |
+
6887,Karel Vejmelka,Karel,Vejmelka,8478872
|
232 |
+
7912,Joel Farabee,Joel,Farabee,8480797
|
233 |
+
4947,Jacob Markstrom,Jacob,Markstrom,8474593
|
234 |
+
4581,Martin Jones,Martin,Jones,8474889
|
235 |
+
6585,Conor Sheary,Conor,Sheary,8477839
|
236 |
+
8653,Seth Jarvis,Seth,Jarvis,8482093
|
237 |
+
7066,Mason Marchment,Mason,Marchment,8478975
|
238 |
+
7557,Eetu Luostarinen,Eetu,Luostarinen,8480185
|
239 |
+
6337,Pheonix Copley,Pheonix,Copley,8477831
|
240 |
+
7224,Ross Colton,Ross,Colton,8479525
|
241 |
+
7526,Gabriel Vilardi,Gabriel,Vilardi,8480014
|
242 |
+
8310,Shane Pinto,Shane,Pinto,8481596
|
243 |
+
5689,Jacob Trouba,Jacob,Trouba,8476885
|
244 |
+
8641,Alexis Lafreniere,Alexis,Lafreniere,8482109
|
245 |
+
6747,Noah Hanifin,Noah,Hanifin,8478396
|
246 |
+
7920,K'Andre Miller,K'Andre,Miller,8480817
|
247 |
+
3983,Phil Kessel,Phil,Kessel,8473548
|
248 |
+
7161,Filip Hronek,Filip,Hronek,8479425
|
249 |
+
5238,Adam Henrique,Adam,Henrique,8474641
|
250 |
+
8281,Kirby Dach,Kirby,Dach,8481523
|
251 |
+
6767,Jack Roslovic,Jack,Roslovic,8478458
|
252 |
+
5382,Stefan Noesen,Stefan,Noesen,8476474
|
253 |
+
7166,Taylor Raddysh,Taylor,Raddysh,8479390
|
254 |
+
6079,Miles Wood,Miles,Wood,8477425
|
255 |
+
5698,Teuvo Teravainen,Teuvo,Teravainen,8476882
|
256 |
+
6655,Frederick Gaudreau,Frederick,Gaudreau,8477919
|
257 |
+
5967,Antti Raanta,Antti,Raanta,8477293
|
258 |
+
6184,MacKenzie Weegar,MacKenzie,Weegar,8477346
|
259 |
+
6818,Adin Hill,Adin,Hill,8478499
|
260 |
+
7874,Pavel Francouz,Pavel,Francouz,8480925
|
261 |
+
4003,Semyon Varlamov,Semyon,Varlamov,8473575
|
262 |
+
5039,Radko Gudas,Radko,Gudas,8475462
|
263 |
+
5365,Adam Larsson,Adam,Larsson,8476457
|
264 |
+
7170,Joseph Woll,Joseph,Woll,8479361
|
265 |
+
5529,Laurent Brossoit,Laurent,Brossoit,8476316
|
266 |
+
4475,Luke Schenn,Luke,Schenn,8474568
|
267 |
+
5057,Scott Wedgewood,Scott,Wedgewood,8475809
|
268 |
+
7089,Alex Lyon,Alex,Lyon,8479312
|
269 |
+
5462,Jean-Gabriel Pageau,Jean-Gabriel,Pageau,8476419
|
270 |
+
5254,Dmitry Orlov,Dmitry,Orlov,8475200
|
271 |
+
5232,Jared Spurgeon,Jared,Spurgeon,8474716
|
272 |
+
7365,Tanner Jeannot,Tanner,Jeannot,8479661
|
273 |
+
6636,Garnet Hathaway,Garnet,Hathaway,8477903
|
274 |
+
8489,Dustin Wolf,Dustin,Wolf,8481692
|
275 |
+
5685,Morgan Rielly,Morgan,Rielly,8476853
|
276 |
+
4642,Alex Stalock,Alex,Stalock,8471774
|
277 |
+
8040,Samuel Ersson,Samuel,Ersson,8481035
|
278 |
+
3980,Jordan Staal,Jordan,Staal,8473533
|
279 |
+
7083,Brandon Tanev,Brandon,Tanev,8479293
|
280 |
+
8433,Arturs Silovs,Arturs,Silovs,8481668
|
281 |
+
5553,Anton Forsberg,Anton,Forsberg,8476341
|
282 |
+
8895,Jesper Wallstedt,Jesper,Wallstedt,8482661
|
283 |
+
8337,Hunter Jones,Hunter,Jones,8481545
|
284 |
+
30487,Erik Portillo,Erik,Portillo,8481707
|
285 |
+
5329,Mattias Ekholm,Mattias,Ekholm,8475218
|
286 |
+
7338,Zach Sawchenko,Zach,Sawchenko,8479313
|
287 |
+
5022,Calvin Pickard,Calvin,Pickard,8475717
|
288 |
+
5434,Adam Lowry,Adam,Lowry,8476392
|
289 |
+
8291,Spencer Knight,Spencer,Knight,8481519
|
290 |
+
8651,Yaroslav Askarov,Yaroslav,Askarov,8482137
|
291 |
+
4849,Jeff Petry,Jeff,Petry,8473507
|
292 |
+
5767,Chris Driedger,Chris,Driedger,8476904
|
293 |
+
8004,Joel Hofer,Joel,Hofer,8480981
|
294 |
+
4779,Marcus Foligno,Marcus,Foligno,8475220
|
295 |
+
8722,Nico Daws,Nico,Daws,8482076
|
296 |
+
6430,Jonas Johansson,Jonas,Johansson,8477992
|
297 |
+
4754,Matt Martin,Matt,Martin,8474709
|
298 |
+
7498,Neal Pionk,Neal,Pionk,8480145
|
299 |
+
6005,Shea Theodore,Shea,Theodore,8477447
|
300 |
+
6811,Keegan Kolesar,Keegan,Kolesar,8478434
|
301 |
+
7108,David Rittich,David,Rittich,8479496
|
302 |
+
4979,Nick Bjugstad,Nick,Bjugstad,8475760
|
303 |
+
7886,Kevin Lankinen,Kevin,Lankinen,8480947
|
304 |
+
5995,Nikita Zadorov,Nikita,Zadorov,8477507
|
305 |
+
6113,Connor Clifton,Connor,Clifton,8477365
|
306 |
+
6375,Nikolaj Ehlers,Nikolaj,Ehlers,8477940
|
307 |
+
5077,Jani Hakanpaa,Jani,Hakanpaa,8475825
|
308 |
+
6779,Brandon Carlo,Brandon,Carlo,8478443
|
309 |
+
7084,Charlie Lindgren,Charlie,Lindgren,8479292
|
310 |
+
4684,Evander Kane,Evander,Kane,8475169
|
311 |
+
6080,Nicholas Paul,Nicholas,Paul,8477426
|
312 |
+
7936,Alexander Romanov,Alexander,Romanov,8481014
|
313 |
+
6089,Ryan Graves,Ryan,Graves,8477435
|
314 |
+
4969,Mikael Granlund,Mikael,Granlund,8475798
|
315 |
+
7429,Casey DeSmith,Casey,DeSmith,8479193
|
316 |
+
7493,Alex Iafallo,Alex,Iafallo,8480113
|
317 |
+
5734,Anthony Stolarz,Anthony,Stolarz,8476932
|
318 |
+
5994,Ryan Pulock,Ryan,Pulock,8477506
|
319 |
+
7545,Eeli Tolvanen,Eeli,Tolvanen,8480009
|
320 |
+
4706,Kyle Palmieri,Kyle,Palmieri,8475151
|
321 |
+
6037,William Carrier,William,Carrier,8477478
|
322 |
+
6797,Yakov Trenin,Yakov,Trenin,8478508
|
323 |
+
5776,Matt Grzelcyk,Matt,Grzelcyk,8476891
|
324 |
+
7321,Trevor Moore,Trevor,Moore,8479675
|
325 |
+
5227,Brayden McNabb,Brayden,McNabb,8475188
|
326 |
+
6936,Matt Roy,Matt,Roy,8478911
|
327 |
+
5765,Esa Lindell,Esa,Lindell,8476902
|
328 |
+
6083,Andrew Copp,Andrew,Copp,8477429
|
329 |
+
6838,Nicolas Roy,Nicolas,Roy,8478462
|
330 |
+
4971,Jack Campbell,Jack,Campbell,8475789
|
331 |
+
5783,Erik Gustafsson,Erik,Gustafsson,8476979
|
332 |
+
5251,Brenden Dillon,Brenden,Dillon,8475455
|
333 |
+
5703,Michael Matheson,Michael,Matheson,8476875
|
334 |
+
5733,Jake McCabe,Jake,McCabe,8476931
|
335 |
+
5406,Magnus Hellberg,Magnus,Hellberg,8476433
|
336 |
+
7961,Jack McBain,Jack,McBain,8480855
|
337 |
+
5345,Nicolas Deslauriers,Nicolas,Deslauriers,8475235
|
338 |
+
4008,Nick Foligno,Nick,Foligno,8473422
|
339 |
+
7927,Rasmus Sandin,Rasmus,Sandin,8480873
|
340 |
+
6985,Connor Ingram,Connor,Ingram,8478971
|
341 |
+
6039,Eric Comrie,Eric,Comrie,8477480
|
342 |
+
6109,Cal Petersen,Cal,Petersen,8477361
|
343 |
+
5739,Colton Sissons,Colton,Sissons,8476925
|
344 |
+
5840,Alexander Kerfoot,Alexander,Kerfoot,8477021
|
345 |
+
5810,Jaccob Slavin,Jaccob,Slavin,8476958
|
346 |
+
6784,Mackenzie Blackwood,Mackenzie,Blackwood,8478406
|
347 |
+
6785,Erik Cernak,Erik,Cernak,8478416
|
348 |
+
7618,Mikey Anderson,Mikey,Anderson,8479998
|
349 |
+
6290,Barclay Goodrow,Barclay,Goodrow,8476624
|
350 |
+
6739,Noel Acciari,Noel,Acciari,8478569
|
351 |
+
8249,Blake Lizotte,Blake,Lizotte,8481481
|
352 |
+
6388,Kasperi Kapanen,Kasperi,Kapanen,8477953
|
353 |
+
8652,Anton Lundell,Anton,Lundell,8482113
|
354 |
+
3614,Mark Giordano,Mark,Giordano,8470966
|
355 |
+
4773,Casey Cizikas,Casey,Cizikas,8475231
|
356 |
+
6002,Andre Burakovsky,Andre,Burakovsky,8477444
|
357 |
+
8119,Logan O'Connor,Logan,O'Connor,8481186
|
358 |
+
6436,Warren Foegele,Warren,Foegele,8477998
|
359 |
+
8871,Arvid Soderblom,Arvid,Soderblom,8482821
|
360 |
+
6555,Pierre Engvall,Pierre,Engvall,8478115
|
361 |
+
6544,Sammy Blais,Sammy,Blais,8478104
|
362 |
+
7950,Sean Durzi,Sean,Durzi,8480434
|
363 |
+
7944,Martin Fehervary,Martin,Fehervary,8480796
|
364 |
+
6425,Ryan Donato,Ryan,Donato,8477987
|
365 |
+
3988,Kyle Okposo,Kyle,Okposo,8473449
|
366 |
+
3990,Trevor Lewis,Trevor,Lewis,8473453
|
367 |
+
3349,Jeff Carter,Jeff,Carter,8470604
|
368 |
+
5749,Damon Severson,Damon,Severson,8476923
|
369 |
+
7737,Collin Delia,Collin,Delia,8480420
|
370 |
+
7124,Jakob Chychrun,Jakob,Chychrun,8479345
|
371 |
+
6814,Anthony Cirelli,Anthony,Cirelli,8478519
|
372 |
+
5130,Jesper Fast,Jesper,Fast,8475855
|
373 |
+
6834,Will Borgen,Will,Borgen,8478840
|
374 |
+
6117,Carson Soucy,Carson,Soucy,8477369
|
375 |
+
6038,Tyler Bertuzzi,Tyler,Bertuzzi,8477479
|
376 |
+
5085,Philipp Grubauer,Philipp,Grubauer,8475831
|
377 |
+
5024,Calle Jarnkrok,Calle,Jarnkrok,8475714
|
378 |
+
6046,Brett Pesce,Brett,Pesce,8477488
|
379 |
+
7044,Ryan Lomberg,Ryan,Lomberg,8479066
|
380 |
+
6406,Alex Nedeljkovic,Alex,Nedeljkovic,8477968
|
381 |
+
5375,Jamie Oleksiak,Jamie,Oleksiak,8476467
|
382 |
+
7601,Daniil Tarasov,Daniil,Tarasov,8480193
|
383 |
+
7532,Timothy Liljegren,Timothy,Liljegren,8480043
|
384 |
+
7983,Lukas Dostal,Lukas,Dostal,8480843
|
385 |
+
5958,Nick Jensen,Nick,Jensen,8475324
|
386 |
+
5696,Tom Wilson,Tom,Wilson,8476880
|
387 |
+
7537,Kailer Yamamoto,Kailer,Yamamoto,8479977
|
388 |
+
5987,Rasmus Ristolainen,Rasmus,Ristolainen,8477499
|
389 |
+
5544,Dylan DeMelo,Dylan,DeMelo,8476331
|
390 |
+
6799,Jonas Siegenthaler,Jonas,Siegenthaler,8478399
|
391 |
+
5841,Colin Miller,Colin,Miller,8476525
|
392 |
+
5388,Vladislav Namestnikov,Vladislav,Namestnikov,8476480
|
393 |
+
5411,Brandon Saad,Brandon,Saad,8476438
|
394 |
+
7652,Noah Cates,Noah,Cates,8480220
|
395 |
+
4252,Lars Eller,Lars,Eller,8474189
|
396 |
+
7265,Michael Pezzetta,Michael,Pezzetta,8479543
|
397 |
+
8280,Kaapo Kakko,Kaapo,Kakko,8481554
|
398 |
+
6350,Nic Dowd,Nic,Dowd,8475343
|
399 |
+
7524,Michael Rasmussen,Michael,Rasmussen,8479992
|
400 |
+
5027,Justin Holl,Justin,Holl,8475718
|
401 |
+
5573,Ondrej Palat,Ondrej,Palat,8476292
|
402 |
+
4257,Ian Cole,Ian,Cole,8474013
|
403 |
+
7521,Cody Glass,Cody,Glass,8479996
|
404 |
+
5757,Jimmy Vesey,Jimmy,Vesey,8476918
|
405 |
+
6794,Jeremy Lauzon,Jeremy,Lauzon,8478468
|
406 |
+
8311,Arthur Kaliyev,Arthur,Kaliyev,8481560
|
407 |
+
5695,Cody Ceci,Cody,Ceci,8476879
|
408 |
+
6407,Marcus Pettersson,Marcus,Pettersson,8477969
|
409 |
+
7112,Jesse Puljujarvi,Jesse,Puljujarvi,8479344
|
410 |
+
4194,Cal Clutterbuck,Cal,Clutterbuck,8473504
|
411 |
+
4753,Evgenii Dadonov,Evgenii,Dadonov,8474149
|
412 |
+
7120,Michael McLeod,Michael,McLeod,8479415
|
413 |
+
5756,Adam Pelech,Adam,Pelech,8476917
|
414 |
+
5795,Brett Kulak,Brett,Kulak,8476967
|
415 |
+
7155,Samuel Girard,Samuel,Girard,8479398
|
416 |
+
4805,Mike Hoffman,Mike,Hoffman,8474884
|
417 |
+
5498,Sean Kuraly,Sean,Kuraly,8476374
|
418 |
+
4253,Kevin Shattenkirk,Kevin,Shattenkirk,8474031
|
419 |
+
5402,Scott Mayfield,Scott,Mayfield,8476429
|
420 |
+
8294,Alex Newhook,Alex,Newhook,8481618
|
421 |
+
4964,Ryan Johansen,Ryan,Johansen,8475793
|
422 |
+
4352,Pat Maroon,Pat,Maroon,8474034
|
423 |
+
5632,Torey Krug,Torey,Krug,8476792
|
424 |
+
5777,Colton Parayko,Colton,Parayko,8476892
|
425 |
+
3987,Derick Brassard,Derick,Brassard,8473544
|
426 |
+
4147,Jonathan Quick,Jonathan,Quick,8471734
|
427 |
+
3979,Erik Johnson,Erik,Johnson,8473446
|
428 |
+
7157,Ryan Lindgren,Ryan,Lindgren,8479324
|
429 |
+
7499,David Kampf,David,Kampf,8480144
|
430 |
+
5714,Justin Schultz,Justin,Schultz,8474602
|
431 |
+
3345,Ryan Suter,Ryan,Suter,8470600
|
432 |
+
7546,Klim Kostin,Klim,Kostin,8480011
|
433 |
+
6774,Christian Fischer,Christian,Fischer,8478432
|
434 |
+
6496,Dakota Joshua,Dakota,Joshua,8478057
|
435 |
+
5932,Nate Schmidt,Nate,Schmidt,8477220
|
436 |
+
7165,Carl Grundstrom,Carl,Grundstrom,8479336
|
437 |
+
7213,Brandon Duhaime,Brandon,Duhaime,8479520
|
438 |
+
6576,Jake Middleton,Jake,Middleton,8478136
|
439 |
+
7549,Nicolas Hague,Nicolas,Hague,8479980
|
440 |
+
8877,Owen Power,Owen,Power,8482671
|
441 |
+
5659,Brian Dumoulin,Brian,Dumoulin,8475208
|
442 |
+
4306,Milan Lucic,Milan,Lucic,8473473
|
443 |
+
6827,Thomas Novak,Thomas,Novak,8478438
|
444 |
+
4771,Travis Hamonic,Travis,Hamonic,8474612
|
445 |
+
8659,Braden Schneider,Braden,Schneider,8482073
|
446 |
+
4186,Ryan Reaves,Ryan,Reaves,8471817
|
447 |
+
7911,Ty Dellandrea,Ty,Dellandrea,8480848
|
448 |
+
6812,Felix Sandstrom,Felix,Sandstrom,8478433
|
449 |
+
3789,Marc Staal,Marc,Staal,8471686
|
450 |
+
5104,John Klingberg,John,Klingberg,8475906
|
451 |
+
5435,Nick Cousins,Nick,Cousins,8476393
|
452 |
+
8069,Yegor Sharangovich,Yegor,Sharangovich,8481068
|
453 |
+
5396,Craig Smith,Craig,Smith,8475225
|
454 |
+
4978,Austin Watson,Austin,Watson,8475766
|
455 |
+
6749,Ivan Provorov,Ivan,Provorov,8478500
|
456 |
+
7582,Morgan Geekie,Morgan,Geekie,8479987
|
457 |
+
7689,Morgan Barron,Morgan,Barron,8480289
|
458 |
+
8645,Jake Sanderson,Jake,Sanderson,8482105
|
459 |
+
6481,Sam Lafferty,Sam,Lafferty,8478043
|
460 |
+
4369,James Reimer,James,Reimer,8473503
|
461 |
+
7569,Ukko-Pekka Luukkonen,Ukko-Pekka,Luukkonen,8480045
|
462 |
+
8376,Matias Maccelli,Matias,Maccelli,8481711
|
463 |
+
8262,Ilya Mikheyev,Ilya,Mikheyev,8481624
|
464 |
+
7928,Joe Veleno,Joe,Veleno,8480813
|
465 |
+
5693,Radek Faksa,Radek,Faksa,8476889
|
466 |
+
8282,Bowen Byram,Bowen,Byram,8481524
|
467 |
+
8245,Nico Sturm,Nico,Sturm,8481477
|
468 |
+
4241,James van Riemsdyk,James,van Riemsdyk,8474037
|
469 |
+
6792,Jordan Greenway,Jordan,Greenway,8478413
|
470 |
+
4251,Ryan McDonagh,Ryan,McDonagh,8474151
|
471 |
+
5539,Josh Archibald,Josh,Archibald,8476326
|
472 |
+
6451,Jake Walman,Jake,Walman,8478013
|
473 |
+
3365,Corey Perry,Corey,Perry,8470621
|
474 |
+
6901,Vladislav Gavrikov,Vladislav,Gavrikov,8478882
|
475 |
+
5999,Anthony Mantha,Anthony,Mantha,8477511
|
476 |
+
7149,Nathan Bastian,Nathan,Bastian,8479414
|
477 |
+
6862,Mathieu Joseph,Mathieu,Joseph,8478472
|
478 |
+
4786,Ryan O'Reilly,Ryan,O'Reilly,8475158
|
479 |
+
6383,Travis Sanheim,Travis,Sanheim,8477948
|
480 |
+
7138,Sam Steel,Sam,Steel,8479351
|
481 |
+
8935,J.J. Moser,J.J.,Moser,8482655
|
482 |
+
5772,Oskar Sundqvist,Oskar,Sundqvist,8476897
|
483 |
+
6382,Sonny Milano,Sonny,Milano,8477947
|
484 |
+
5694,Zemgus Girgensons,Zemgus,Girgensons,8476878
|
485 |
+
6458,Michael Amadio,Michael,Amadio,8478020
|
486 |
+
7160,Wade Allison,Wade,Allison,8479322
|
487 |
+
7628,Alexey Toropchenko,Alexey,Toropchenko,8480281
|
488 |
+
5371,Jonas Brodin,Jonas,Brodin,8476463
|
489 |
+
5687,Matt Dumba,Matt,Dumba,8476856
|
490 |
+
5279,Gustav Nyquist,Gustav,Nyquist,8474679
|
491 |
+
7859,Eric Robinson,Eric,Robinson,8480762
|
492 |
+
8648,Jack Quinn,Jack,Quinn,8482097
|
493 |
+
6417,Nicolas Aube-Kubel,Nicolas,Aube-Kubel,8477979
|
494 |
+
8595,Cole Smith,Cole,Smith,8482062
|
495 |
+
6896,John Marino,John,Marino,8478507
|
496 |
+
6984,Jalen Chatfield,Jalen,Chatfield,8478970
|
497 |
+
7851,Zach Whitecloud,Zach,Whitecloud,8480727
|
498 |
+
7193,Josh Mahura,Josh,Mahura,8479372
|
499 |
+
8650,Cole Perfetti,Cole,Perfetti,8482149
|
500 |
+
7538,Pierre-Olivier Joseph,Pierre-Olivier,Joseph,8480058
|
501 |
+
7125,Dante Fabbro,Dante,Fabbro,8479371
|
502 |
+
5263,Ben Chiarot,Ben,Chiarot,8475279
|
503 |
+
6616,Liam O'Brien,Liam,O'Brien,8477070
|
504 |
+
5381,Connor Murphy,Connor,Murphy,8476473
|
505 |
+
7829,Pius Suter,Pius,Suter,8480459
|
506 |
+
6741,Derek Ryan,Derek,Ryan,8478585
|
507 |
+
8012,Paul Cotter,Paul,Cotter,8481032
|
508 |
+
6928,Steven Lorentz,Steven,Lorentz,8478904
|
509 |
+
6539,Kevin Labanc,Kevin,Labanc,8478099
|
510 |
+
4424,Alec Martinez,Alec,Martinez,8474166
|
511 |
+
6869,Niko Mikkola,Niko,Mikkola,8478859
|
512 |
+
5736,Brock McGinn,Brock,McGinn,8476934
|
513 |
+
7930,Mattias Samuelsson,Mattias,Samuelsson,8480807
|
514 |
+
7531,Juuso Valimaki,Juuso,Valimaki,8479976
|
515 |
+
6754,Denis Gurianov,Denis,Gurianov,8478495
|
516 |
+
7909,Oliver Wahlstrom,Oliver,Wahlstrom,8480789
|
517 |
+
8614,Artem Zub,Artem,Zub,8482245
|
518 |
+
6353,Patrick Brown,Patrick,Brown,8477887
|
519 |
+
6008,Jason Dickinson,Jason,Dickinson,8477450
|
520 |
+
8881,Kent Johnson,Kent,Johnson,8482660
|
521 |
+
4975,Derek Forbort,Derek,Forbort,8475762
|
522 |
+
4485,Tyler Myers,Tyler,Myers,8474574
|
523 |
+
8295,Peyton Krebs,Peyton,Krebs,8481522
|
524 |
+
7684,Nick Perbix,Nick,Perbix,8480246
|
525 |
+
6819,Sam Montembeault,Sam,Montembeault,8478470
|
526 |
+
4935,Chris Tanev,Chris,Tanev,8475690
|
527 |
+
5496,Nick Seeler,Nick,Seeler,8476372
|
528 |
+
6366,Tomas Nosek,Tomas,Nosek,8477931
|
529 |
+
7990,Connor Dewar,Connor,Dewar,8480980
|
530 |
+
5256,Tyler Johnson,Tyler,Johnson,8474870
|
531 |
+
6059,Mattias Janmark,Mattias,Janmark,8477406
|
532 |
+
6340,Trevor van Riemsdyk,Trevor,van Riemsdyk,8477845
|
533 |
+
7135,Brett Howden,Brett,Howden,8479353
|
534 |
+
3802,Andrew Cogliano,Andrew,Cogliano,8471699
|
535 |
+
8642,Quinton Byfield,Quinton,Byfield,8482124
|
536 |
+
4963,Erik Gudbranson,Erik,Gudbranson,8475790
|
537 |
+
5542,Travis Boyd,Travis,Boyd,8476329
|
538 |
+
4694,Dmitry Kulikov,Dmitry,Kulikov,8475179
|
539 |
+
4686,Oliver Ekman-Larsson,Oliver,Ekman-Larsson,8475171
|
540 |
+
7654,Sebastian Aho,Sebastian,Aho,8480222
|
541 |
+
7938,Ryan McLeod,Ryan,McLeod,8480802
|
542 |
+
7384,Zack MacEwen,Zack,MacEwen,8479772
|
543 |
+
7578,Fabian Zetterlund,Fabian,Zetterlund,8480188
|
544 |
+
5996,Curtis Lazar,Curtis,Lazar,8477508
|
545 |
+
7551,Jesper Boqvist,Jesper,Boqvist,8480003
|
546 |
+
5343,Jakob Silfverberg,Jakob,Silfverberg,8475164
|
547 |
+
6060,Anthony Duclair,Anthony,Duclair,8477407
|
548 |
+
7118,Tyson Jost,Tyson,Jost,8479370
|
549 |
+
5741,Teddy Blueger,Teddy,Blueger,8476927
|
550 |
+
7832,Mark Kastelic,Mark,Kastelic,8480355
|
551 |
+
4589,Jake Allen,Jake,Allen,8474596
|
552 |
+
9154,Arber Xhekaj,Arber,Xhekaj,8482964
|
553 |
+
7828,Parker Kelly,Parker,Kelly,8480448
|
554 |
+
6859,Caleb Jones,Caleb,Jones,8478452
|
555 |
+
7123,Luke Kunin,Luke,Kunin,8479316
|
556 |
+
5525,Josh Manson,Josh,Manson,8476312
|
557 |
+
7514,Jan Rutta,Jan,Rutta,8480172
|
558 |
+
6387,Robby Fabbri,Robby,Fabbri,8477952
|
559 |
+
6400,Brendan Lemieux,Brendan,Lemieux,8477962
|
560 |
+
4692,Calvin de Haan,Calvin,de Haan,8475177
|
561 |
+
6174,Kyle Burroughs,Kyle,Burroughs,8477335
|
562 |
+
7889,Ilya Lyubushkin,Ilya,Lyubushkin,8480950
|
563 |
+
8485,Juuso Parssinen,Juuso,Parssinen,8481704
|
564 |
+
4696,Nick Leddy,Nick,Leddy,8475181
|
565 |
+
6781,A.J. Greer,A.J.,Greer,8478421
|
566 |
+
6910,Mason Appleton,Mason,Appleton,8478891
|
567 |
+
5702,Olli Maatta,Olli,Maatta,8476874
|
568 |
+
7589,Johnathan Kovacevic,Johnathan,Kovacevic,8480192
|
569 |
+
7530,Erik Brannstrom,Erik,Brannstrom,8480073
|
570 |
+
5415,Matt Nieto,Matt,Nieto,8476442
|
571 |
+
6043,Spencer Martin,Spencer,Martin,8477484
|
572 |
+
7332,Mathieu Olivier,Mathieu,Olivier,8479671
|
573 |
+
7816,Sheldon Dries,Sheldon,Dries,8480326
|
574 |
+
5976,Luke Glendening,Luke,Glendening,8476822
|
575 |
+
5114,Petr Mrazek,Petr,Mrazek,8475852
|
576 |
+
8152,Rafael Harvey-Pinard,Rafael,Harvey-Pinard,8481093
|
577 |
+
7142,Andrew Peeke,Andrew,Peeke,8479369
|
578 |
+
6857,Alexandre Carrier,Alexandre,Carrier,8478851
|
579 |
+
6427,Christian Dvorak,Christian,Dvorak,8477989
|
580 |
+
5004,Tyler Pitlick,Tyler,Pitlick,8475752
|
581 |
+
8674,JJ Peterka,JJ,Peterka,8482175
|
582 |
+
7951,Calen Addison,Calen,Addison,8480884
|
583 |
+
8229,Reese Johnson,Reese,Johnson,8481147
|
584 |
+
7129,Julien Gauthier,Julien,Gauthier,8479328
|
585 |
+
6232,Nathan Walker,Nathan,Walker,8477573
|
586 |
+
5120,Brendan Gallagher,Brendan,Gallagher,8475848
|
587 |
+
4838,Nick Bonino,Nick,Bonino,8474009
|
588 |
+
4266,Brendan Smith,Brendan,Smith,8474090
|
589 |
+
3777,Jack Johnson,Jack,Johnson,8471677
|
590 |
+
5899,Jaycob Megna,Jaycob,Megna,8477034
|
591 |
+
7906,Adam Boqvist,Adam,Boqvist,8480871
|
592 |
+
7152,Boris Katchouk,Boris,Katchouk,8479383
|
593 |
+
5982,Jonathan Drouin,Jonathan,Drouin,8477494
|
594 |
+
7506,Calle Rosen,Calle,Rosen,8480157
|
595 |
+
7624,Adam Ruzicka,Adam,Ruzicka,8480008
|
596 |
+
7947,Kirill Marchenko,Kirill,Marchenko,8480893
|
597 |
+
6097,Hudson Fasching,Hudson,Fasching,8477392
|
598 |
+
7931,Jonatan Berggren,Jonatan,Berggren,8481013
|
599 |
+
4473,Zach Bogosian,Zach,Bogosian,8474567
|
600 |
+
6132,Josh Brown,Josh,Brown,8477384
|
601 |
+
6573,Jake Evans,Jake,Evans,8478133
|
602 |
+
7926,Nils Lundkvist,Nils,Lundkvist,8480878
|
603 |
+
7751,Sean Walker,Sean,Walker,8480336
|
604 |
+
7584,MacKenzie Entwistle,MacKenzie,Entwistle,8480025
|
605 |
+
7632,Emil Bemstrom,Emil,Bemstrom,8480205
|
606 |
+
5864,Matt Benning,Matt,Benning,8476988
|
607 |
+
7558,Dylan Samberg,Dylan,Samberg,8480049
|
608 |
+
6506,Oskar Lindblom,Oskar,Lindblom,8478067
|
609 |
+
7132,Max Jones,Max,Jones,8479368
|
610 |
+
6365,Pierre-Edouard Bellemare,Pierre-Edouard,Bellemare,8477930
|
611 |
+
7918,Rasmus Kupari,Rasmus,Kupari,8480845
|
612 |
+
6379,Jakub Vrana,Jakub,Vrana,8477944
|
613 |
+
6477,Kaapo Kahkonen,Kaapo,Kahkonen,8478039
|
614 |
+
6021,Robert Hagg,Robert,Hagg,8477462
|
615 |
+
7540,Ryan Poehling,Ryan,Poehling,8480068
|
616 |
+
7093,Troy Stecher,Troy,Stecher,8479442
|
617 |
+
5985,Sean Monahan,Sean,Monahan,8477497
|
618 |
+
7544,Henri Jokiharju,Henri,Jokiharju,8480035
|
619 |
+
4881,Matt Irwin,Matt,Irwin,8475625
|
620 |
+
5950,Chad Ruhwedel,Chad,Ruhwedel,8477244
|
621 |
+
4953,David Savard,David,Savard,8475233
|
622 |
+
5377,Joel Armia,Joel,Armia,8476469
|
623 |
+
3982,Nicklas Backstrom,Nicklas,Backstrom,8473563
|
624 |
+
4287,Alex Goligoski,Alex,Goligoski,8471274
|
625 |
+
8288,Vasily Podkolzin,Vasily,Podkolzin,8481617
|
626 |
+
8292,Cam York,Cam,York,8481546
|
627 |
+
4758,Robert Bortuzzo,Robert,Bortuzzo,8474145
|
628 |
+
7529,Cal Foote,Cal,Foote,8479984
|
629 |
+
7969,Jordan Harris,Jordan,Harris,8480887
|
630 |
+
7564,Mario Ferraro,Mario,Ferraro,8479983
|
631 |
+
5011,Jon Merrill,Jon,Merrill,8475750
|
632 |
+
6750,Zach Werenski,Zach,Werenski,8478460
|
633 |
+
7534,Josh Norris,Josh,Norris,8480064
|
634 |
+
7168,Dylan Gambrell,Dylan,Gambrell,8479580
|
635 |
+
8369,Aliaksei Protas,Aliaksei,Protas,8481656
|
636 |
+
5117,Sam Carrick,Sam,Carrick,8475842
|
637 |
+
6409,Andreas Englund,Andreas,Englund,8477971
|
638 |
+
5727,Phillip Di Giuseppe,Phillip,Di Giuseppe,8476858
|
639 |
+
5904,Kurtis MacDermid,Kurtis,MacDermid,8477073
|
640 |
+
7098,Nikita Zaitsev,Nikita,Zaitsev,8479458
|
641 |
+
7252,Axel Jonsson-Fjallby,Axel,Jonsson-Fjallby,8479536
|
642 |
+
8654,Dylan Holloway,Dylan,Holloway,8482077
|
643 |
+
6445,Elvis Merzlikins,Elvis,Merzlikins,8478007
|
644 |
+
5837,Ben Hutton,Ben,Hutton,8477018
|
645 |
+
5414,Joel Edmundson,Joel,Edmundson,8476441
|
646 |
+
7141,Rasmus Asplund,Rasmus,Asplund,8479335
|
647 |
+
3829,Marc-Edouard Vlasic,Marc-Edouard,Vlasic,8471709
|
648 |
+
8665,Justin Barron,Justin,Barron,8482111
|
649 |
+
7904,Filip Zadina,Filip,Zadina,8480821
|
650 |
+
7220,Riley Stillman,Riley,Stillman,8479388
|
651 |
+
7921,Isac Lundestrom,Isac,Lundestrom,8480806
|
652 |
+
5559,Colin Blackwell,Colin,Blackwell,8476278
|
653 |
+
4261,Max Pacioretty,Max,Pacioretty,8474157
|
654 |
+
8865,Walker Duehr,Walker,Duehr,8482652
|
655 |
+
4982,Jarred Tinordi,Jarred,Tinordi,8475797
|
656 |
+
7869,Karson Kuhlman,Karson,Kuhlman,8480901
|
657 |
+
7154,Givani Smith,Givani,Smith,8479379
|
658 |
+
6800,Kevin Stenlund,Kevin,Stenlund,8478831
|
659 |
+
5710,Tanner Pearson,Tanner,Pearson,8476871
|
660 |
+
9243,Nick Blankenburg,Nick,Blankenburg,8483565
|
661 |
+
8656,Kaiden Guhle,Kaiden,Guhle,8482087
|
662 |
+
8318,Nils Hoglander,Nils,Hoglander,8481535
|
663 |
+
8885,Dylan Guenther,Dylan,Guenther,8482699
|
664 |
+
7773,Jacob MacDonald,Jacob,MacDonald,8479439
|
665 |
+
7556,Jaret Anderson-Dolan,Jaret,Anderson-Dolan,8479994
|
666 |
+
4633,Marco Scandella,Marco,Scandella,8474618
|
667 |
+
7940,Jack Drury,Jack,Drury,8480835
|
668 |
+
7824,Alex Belzile,Alex,Belzile,8475968
|
669 |
+
6346,Jordan Oesterle,Jordan,Oesterle,8477851
|
670 |
+
7288,Vincent Desharnais,Vincent,Desharnais,8479576
|
671 |
+
7126,Logan Stanley,Logan,Stanley,8479378
|
672 |
+
5859,Vinnie Hinostroza,Vinnie,Hinostroza,8476994
|
673 |
+
7907,Vitali Kravtsov,Vitali,Kravtsov,8480833
|
674 |
+
7184,Rem Pitlick,Rem,Pitlick,8479514
|
675 |
+
6087,Ben Harpur,Ben,Harpur,8477433
|
676 |
+
6974,Lane Pederson,Lane,Pederson,8478967
|
677 |
+
7568,Jack Studnicka,Jack,Studnicka,8480021
|
678 |
+
5282,Cam Atkinson,Cam,Atkinson,8474715
|
679 |
+
5638,Chris Wideman,Chris,Wideman,8475227
|
680 |
+
8286,Philip Broberg,Philip,Broberg,8481598
|
681 |
+
5464,Mike Reilly,Mike,Reilly,8476422
|
682 |
+
8806,Nils Aman,Nils,Aman,8482496
|
683 |
+
7508,Radim Simek,Radim,Simek,8480160
|
684 |
+
7121,Jake Bean,Jake,Bean,8479402
|
685 |
+
7547,Conor Timmins,Conor,Timmins,8479982
|
686 |
+
8598,Connor Mackey,Connor,Mackey,8482067
|
687 |
+
7171,Markus Niemelainen,Markus,Niemelainen,8479338
|
688 |
+
8666,Jake Neighbours,Jake,Neighbours,8482089
|
689 |
+
6180,Andreas Johnsson,Andreas,Johnsson,8477341
|
690 |
+
8056,Tim Berni,Tim,Berni,8481072
|
691 |
+
9269,Juraj Slafkovsky,Juraj,Slafkovsky,8483515
|
692 |
+
7958,David Gustafsson,David,Gustafsson,8481019
|
693 |
+
7916,Liam Foudy,Liam,Foudy,8480853
|
694 |
+
5744,Chris Tierney,Chris,Tierney,8476919
|
695 |
+
8304,Jakob Pelletier,Jakob,Pelletier,8481592
|
696 |
+
6833,Dennis Gilbert,Dennis,Gilbert,8478502
|
697 |
+
6466,Fredrik Olofsson,Fredrik,Olofsson,8478028
|
698 |
+
7647,Jacob Peterson,Jacob,Peterson,8480216
|
699 |
+
8646,Jamie Drysdale,Jamie,Drysdale,8482142
|
700 |
+
6955,Joel Hanley,Joel,Hanley,8477810
|
701 |
+
4819,Jake Muzzin,Jake,Muzzin,8474162
|
702 |
+
8335,Samuel Bolduc,Samuel,Bolduc,8481541
|
703 |
+
8331,Nicholas Robertson,Nicholas,Robertson,8481582
|
704 |
+
7119,Logan Brown,Logan,Brown,8479366
|
705 |
+
5846,Connor Brown,Connor,Brown,8477015
|
706 |
+
7194,Casey Fitzgerald,Casey,Fitzgerald,8479578
|
707 |
+
8334,Brett Leason,Brett,Leason,8481517
|
708 |
+
7929,Alexander Alexeyev,Alexander,Alexeyev,8480823
|
709 |
+
8868,Justin Danforth,Justin,Danforth,8479941
|
710 |
+
8301,Simon Holmstrom,Simon,Holmstrom,8481601
|
711 |
+
7320,Michael Carcone,Michael,Carcone,8479619
|
712 |
+
6721,Austin Czarnik,Austin,Czarnik,8478512
|
713 |
+
6755,Jakub Zboril,Jakub,Zboril,8478415
|
714 |
+
6283,Ross Johnston,Ross,Johnston,8477527
|
715 |
+
7159,Kale Clague,Kale,Clague,8479348
|
716 |
+
7445,Matt Luff,Matt,Luff,8479644
|
717 |
+
6373,Haydn Fleury,Haydn,Fleury,8477938
|
718 |
+
6805,Kyle Capobianco,Kyle,Capobianco,8478476
|
719 |
+
7553,Gustav Lindstrom,Gustav,Lindstrom,8480184
|
720 |
+
7695,Cole Guttman,Cole,Guttman,8480252
|
721 |
+
8199,Brayden Pachal,Brayden,Pachal,8481167
|
722 |
+
8863,Matt Kiersted,Matt,Kiersted,8482641
|
723 |
+
9246,Ben Meyers,Ben,Meyers,8483570
|
724 |
+
8097,Tyler Tucker,Tyler,Tucker,8481006
|
725 |
+
8300,Tobias Bjornfot,Tobias,Bjornfot,8481600
|
726 |
+
5902,Jayson Megna,Jayson,Megna,8477126
|
727 |
+
7274,Tanner Laczynski,Tanner,Laczynski,8479550
|
728 |
+
8296,Thomas Harley,Thomas,Harley,8481581
|
729 |
+
6643,Darren Raddysh,Darren,Raddysh,8478178
|
730 |
+
7572,Ian Mitchell,Ian,Mitchell,8480070
|
731 |
+
7614,Jacob Bryson,Jacob,Bryson,8480196
|
732 |
+
6776,Travis Dermott,Travis,Dermott,8478408
|
733 |
+
5369,Sean Couturier,Sean,Couturier,8476461
|
734 |
+
8373,Jordan Spence,Jordan,Spence,8481606
|
735 |
+
6839,Colton White,Colton,White,8478841
|
736 |
+
7374,Jeffrey Viel,Jeffrey,Viel,8479705
|
737 |
+
6854,Parker Wotherspoon,Parker,Wotherspoon,8478450
|
738 |
+
6107,Tucker Poolman,Tucker,Poolman,8477359
|
739 |
+
8647,Alexander Holtz,Alexander,Holtz,8482125
|
740 |
+
7116,Alex Nylander,Alex,Nylander,8479423
|
741 |
+
4834,Zac Dalpe,Zac,Dalpe,8474610
|
742 |
+
7217,Lucas Carlsson,Lucas,Carlsson,8479523
|
743 |
+
8305,Nolan Foote,Nolan,Foote,8481518
|
744 |
+
7207,Victor Mete,Victor,Mete,8479376
|
745 |
+
6808,Guillaume Brisebois,Guillaume,Brisebois,8478465
|
746 |
+
8131,Egor Zamula,Egor,Zamula,8481178
|
747 |
+
30150,Akito Hirose,Akito,Hirose,8484254
|
748 |
+
9272,Shane Wright,Shane,Wright,8483524
|
749 |
+
30124,Tyler Kleven,Tyler,Kleven,8482095
|
750 |
+
8884,Brandt Clarke,Brandt,Clarke,8482730
|
751 |
+
30000,Nikita Nesterenko,Nikita,Nesterenko,8481754
|
752 |
+
30115,Hunter McKown,Hunter,McKown,8484125
|
753 |
+
7100,Drake Caggiula,Drake,Caggiula,8479465
|
754 |
+
7219,Jacob Moverare,Jacob,Moverare,8479421
|
755 |
+
7943,Scott Perunovich,Scott,Perunovich,8481059
|
756 |
+
30104,Wyatt Kaiser,Wyatt,Kaiser,8482176
|
757 |
+
30173,Cole McWard,Cole,McWard,8484287
|
758 |
+
30227,Matthew Knies,Matthew,Knies,8482720
|
759 |
+
7533,Urho Vaakanainen,Urho,Vaakanainen,8480001
|
760 |
+
4691,Ryan Ellis,Ryan,Ellis,8475176
|
761 |
+
8378,Matej Blumel,Matej,Blumel,8481712
|
762 |
+
7522,Lias Andersson,Lias,Andersson,8480072
|
763 |
+
5758,Mackenzie MacEachern,Mackenzie,MacEachern,8476907
|
764 |
+
30106,Aidan McDonough,Aidan,McDonough,8481683
|
765 |
+
7133,Riley Tufte,Riley,Tufte,8479362
|
766 |
+
30145,Matt Coronato,Matt,Coronato,8482679
|
767 |
+
30128,Henry Thrun,Henry,Thrun,8481567
|
768 |
+
30075,Brock Faber,Brock,Faber,8482122
|
769 |
+
30129,Sean Farrell,Sean,Farrell,8482081
|
770 |
+
9276,Marco Kasper,Marco,Kasper,8483464
|
771 |
+
8713,Jean-Luc Foudy,Jean-Luc,Foudy,8482147
|
772 |
+
8882,Simon Edvinsson,Simon,Edvinsson,8482762
|
773 |
+
7222,Rhett Gardner,Rhett,Gardner,8479587
|
774 |
+
7750,Philippe Maillet,Philippe,Maillet,8477544
|
775 |
+
8347,John Ludvig,John,Ludvig,8481206
|
776 |
+
30139,Alex Laferriere,Alex,Laferriere,8482155
|
777 |
+
7973,Oskar Back,Oskar,Back,8480840
|
778 |
+
8333,Dillon Hamaliuk,Dillon,Hamaliuk,8481549
|
779 |
+
8306,Ryan Suzuki,Ryan,Suzuki,8481576
|
780 |
+
9270,Simon Nemec,Simon,Nemec,8483495
|
781 |
+
9233,Brian Halonen,Brian,Halonen,8483531
|
782 |
+
6863,Ryan Shea,Ryan,Shea,8478854
|
783 |
+
8322,Jamieson Rees,Jamieson,Rees,8481579
|
784 |
+
30251,Mike Benning,Mike,Benning,8482107
|
785 |
+
8917,Francesco Pinelli,Francesco,Pinelli,8482748
|
786 |
+
8465,Andre Lee,Andre,Lee,8481732
|
787 |
+
9004,Topias Vilen,Topias,Vilen,8482873
|
788 |
+
8934,Samuel Helenius,Samuel,Helenius,8482726
|
789 |
+
5009,Alexander Petrovic,Alexander,Petrovic,8475755
|
790 |
+
30832,Logan Cooley,Logan,Cooley,8483431
|
791 |
+
8374,Tyce Thompson,Tyce,Thompson,8481740
|
792 |
+
30154,Jackson LaCombe,Jackson,LaCombe,8481605
|
793 |
+
8494,Nikolai Knyzhov,Nikolai,Knyzhov,8481812
|
794 |
+
8649,Marco Rossi,Marco,Rossi,8482079
|
795 |
+
8657,Lukas Reichel,Lukas,Reichel,8482117
|
796 |
+
5993,Alex Wennberg,Alex,Wennberg,8477505
|
797 |
+
6517,Rourke Chartier,Rourke,Chartier,8478078
|
798 |
+
6789,Jansen Harkins,Jansen,Harkins,8478424
|
799 |
+
6768,Noah Juulsen,Noah,Juulsen,8478454
|
800 |
+
7933,Jesse Ylonen,Jesse,Yl�nen,8481058
|
801 |
+
8302,Philip Tomasino,Philip,Tomasino,8481577
|
802 |
+
8668,Ridly Greig,Ridly,Greig,8482092
|
803 |
+
8682,Luke Evangelista,Luke,Evangelista,8482146
|
804 |
+
9275,Kevin Korchinski,Kevin,Korchinski,8483466
|
805 |
+
9322,Matthew Poitras,Matthew,Poitras,8483505
|