nesticot commited on
Commit
27fe184
·
verified ·
1 Parent(s): ddc5175

Upload 3 files

Browse files
stuff_model/calculate_arm_angles.py ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import polars as pl
2
+ import numpy as np
3
+ import requests
4
+
5
+ def calculate_arm_angles(df: pl.DataFrame,pitcher_id:int) -> pl.DataFrame:
6
+ df_arm_angle = pl.read_csv('stuff_model/pitcher_arm_angles_2024.csv')
7
+ #pitcher_id = 489446
8
+ df_filter = df.filter(pl.col("pitcher_id") == pitcher_id)
9
+ # data = requests.get(f'https://statsapi.mlb.com/api/v1/people?personIds={pitcher_id}').json()
10
+
11
+ if pitcher_id not in df_arm_angle["pitcher"]:
12
+
13
+ data = requests.get(f'https://statsapi.mlb.com/api/v1/people?personIds={pitcher_id}').json()
14
+ height_in = data['people'][0]['height']
15
+ height = int(height_in.split("'")[0]) * 12 + int(height_in.split("'")[1].split('"')[0])
16
+ df_filter = (df_filter.with_columns(
17
+ (pl.col("release_pos_x") * 12).alias("release_pos_x"),
18
+ (pl.col("release_pos_z") * 12).alias("release_pos_z"),
19
+ (pl.lit(height * 0.70)).alias("shoulder_pos"),
20
+ )
21
+ .with_columns(
22
+ (pl.col("release_pos_z") - pl.col("shoulder_pos")).alias("Opp"),
23
+ pl.col("release_pos_x").abs().alias("Adj"),
24
+ )
25
+ .with_columns(
26
+ pl.struct(["Opp", "Adj"]).map_elements(lambda x: np.arctan2(x["Opp"], x["Adj"])).alias("arm_angle_rad")
27
+ ))
28
+
29
+ df_filter = (df_filter.with_columns(
30
+
31
+ pl.col("arm_angle_rad").degrees().alias("arm_angle")
32
+
33
+ #.drop(["Opp", "arm_angle_rad"])
34
+ ))
35
+
36
+ else:
37
+ shoulder_x = df_arm_angle.filter(pl.col("pitcher") == pitcher_id)["relative_shoulder_x"][0]
38
+ shoulder_z = df_arm_angle.filter(pl.col("pitcher") == pitcher_id)["shoulder_z"][0]
39
+ ball_angle = df_arm_angle.filter(pl.col("pitcher") == pitcher_id)["ball_angle"][0]
40
+
41
+ print(shoulder_x, shoulder_z)
42
+
43
+ df_filter = (df_filter.with_columns(
44
+
45
+ )
46
+ .with_columns(
47
+ (pl.col("release_pos_z") - shoulder_z).alias("Opp"),
48
+ (pl.col("release_pos_x") - shoulder_x).alias("Adj"),
49
+ )
50
+ .with_columns(
51
+ pl.struct(["Opp", "Adj"]).map_elements(lambda x: np.arctan2(x["Opp"], x["Adj"])).alias("arm_angle_rad")
52
+ )
53
+ .with_columns(
54
+ pl.col("arm_angle_rad").degrees().alias("arm_angle")
55
+ )
56
+ #.drop(["Opp", "arm_angle_rad"])
57
+ )
58
+
59
+ df_filter = df_filter.with_columns(
60
+ ((pl.col("arm_angle") * 0.25) + (ball_angle * 0.75)).alias("arm_angle")
61
+ )
62
+
63
+
64
+
65
+
66
+ return df_filter
67
+
stuff_model/feature_engineering.py CHANGED
@@ -1,140 +1,140 @@
1
- import polars as pl
2
- import numpy as np
3
-
4
- def feature_engineering(df: pl.DataFrame) -> pl.DataFrame:
5
- # Extract the year from the game_date column
6
- df = df.with_columns(
7
- pl.col('game_date').str.slice(0, 4).alias('year')
8
- )
9
-
10
- df = df.with_columns([
11
-
12
- (-(pl.col('vy0')**2 - (2 * pl.col('ay') * (pl.col('y0') - 17/12)))**0.5).alias('vy_f'),
13
- ])
14
-
15
- df = df.with_columns([
16
- ((pl.col('vy_f') - pl.col('vy0')) / pl.col('ay')).alias('t'),
17
- ])
18
-
19
- df = df.with_columns([
20
- (pl.col('vz0') + (pl.col('az') * pl.col('t'))).alias('vz_f'),
21
- (pl.col('vx0') + (pl.col('ax') * pl.col('t'))).alias('vx_f')
22
- ])
23
-
24
- df = df.with_columns([
25
- (-np.arctan(pl.col('vz_f') / pl.col('vy_f')) * (180 / np.pi)).alias('vaa'),
26
- (-np.arctan(pl.col('vx_f') / pl.col('vy_f')) * (180 / np.pi)).alias('haa')
27
- ])
28
-
29
- # Mirror horizontal break for left-handed pitchers
30
- df = df.with_columns(
31
- pl.when(pl.col('pitcher_hand') == 'L')
32
- .then(-pl.col('ax'))
33
- .otherwise(pl.col('ax'))
34
- .alias('ax')
35
- )
36
-
37
- # Mirror horizontal break for left-handed pitchers
38
- df = df.with_columns(
39
- pl.when(pl.col('pitcher_hand') == 'L')
40
- .then(-pl.col('hb'))
41
- .otherwise(pl.col('hb'))
42
- .alias('hb')
43
- )
44
-
45
- # Mirror horizontal release point for left-handed pitchers
46
- df = df.with_columns(
47
- pl.when(pl.col('pitcher_hand') == 'L')
48
- .then(pl.col('x0'))
49
- .otherwise(-pl.col('x0'))
50
- .alias('x0')
51
- )
52
-
53
- # Define the pitch types to be considered
54
- pitch_types = ['SI', 'FF', 'FC']
55
-
56
- # Filter the DataFrame to include only the specified pitch types
57
- df_filtered = df.filter(pl.col('pitch_type').is_in(pitch_types))
58
-
59
- # Group by pitcher_id and year, then aggregate to calculate average speed and usage percentage
60
- df_agg = df_filtered.group_by(['pitcher_id', 'year', 'pitch_type']).agg([
61
- pl.col('start_speed').mean().alias('avg_fastball_speed'),
62
- pl.col('az').mean().alias('avg_fastball_az'),
63
- pl.col('ax').mean().alias('avg_fastball_ax'),
64
- pl.len().alias('count')
65
- ])
66
-
67
- # Sort the aggregated data by count and average fastball speed
68
- df_agg = df_agg.sort(['count', 'avg_fastball_speed'], descending=[True, True])
69
- df_agg = df_agg.unique(subset=['pitcher_id', 'year'], keep='first')
70
-
71
- # Join the aggregated data with the main DataFrame
72
- df = df.join(df_agg, on=['pitcher_id', 'year'])
73
-
74
- # If no fastball, use the fastest pitch for avg_fastball_speed
75
- df = df.with_columns(
76
- pl.when(pl.col('avg_fastball_speed').is_null())
77
- .then(pl.col('start_speed').max().over('pitcher_id'))
78
- .otherwise(pl.col('avg_fastball_speed'))
79
- .alias('avg_fastball_speed')
80
- )
81
-
82
- # If no fastball, use the fastest pitch for avg_fastball_az
83
- df = df.with_columns(
84
- pl.when(pl.col('avg_fastball_az').is_null())
85
- .then(pl.col('az').max().over('pitcher_id'))
86
- .otherwise(pl.col('avg_fastball_az'))
87
- .alias('avg_fastball_az')
88
- )
89
-
90
- # If no fastball, use the fastest pitch for avg_fastball_ax
91
- df = df.with_columns(
92
- pl.when(pl.col('avg_fastball_ax').is_null())
93
- .then(pl.col('ax').max().over('ax'))
94
- .otherwise(pl.col('avg_fastball_ax'))
95
- .alias('avg_fastball_ax')
96
- )
97
-
98
- # Calculate pitch differentials
99
- df = df.with_columns(
100
- (pl.col('start_speed') - pl.col('avg_fastball_speed')).alias('speed_diff'),
101
- (pl.col('az') - pl.col('avg_fastball_az')).alias('az_diff'),
102
- (pl.col('ax') - pl.col('avg_fastball_ax')).abs().alias('ax_diff')
103
- )
104
-
105
- # Cast the year column to integer type
106
- df = df.with_columns(
107
- pl.col('year').cast(pl.Int64)
108
- )
109
-
110
-
111
-
112
- df = df.with_columns([
113
- pl.lit('All').alias('all')
114
- ])
115
-
116
- # Calculate mound_to_release as 60.5 - extension
117
- df = df.with_columns([
118
- (60.5 - df["extension"]).alias("release_pos_y")
119
- ])
120
-
121
- # Calculate delta time (Δt)
122
- delta_t = (df["release_pos_y"] - df["y0"]) / df["vy0"]
123
- # print((df["vx0"] * delta_t + 0.5 * df["ax"] * delta_t ** 2))
124
- # Corrected back-calculation of release_pos_x and release_pos_z
125
-
126
-
127
- df = df.with_columns(
128
- pl.when(pl.col('pitcher_hand')== 'R')
129
- .then(df["x0"] - df["vx0"] * delta_t - 0.5 * df["ax"] * delta_t ** 2)
130
- .otherwise(df["x0"] + df["vx0"] * delta_t - 0.5 * df["ax"] * delta_t ** 2)
131
- .alias('release_pos_x')
132
- )
133
-
134
- df = df.with_columns([
135
- (df["z0"] + df["vz0"] * delta_t + 0.5 * df["az"] * delta_t ** 2).alias("release_pos_z")
136
- ])
137
-
138
-
139
-
140
  return df
 
1
+ import polars as pl
2
+ import numpy as np
3
+
4
+ def feature_engineering(df: pl.DataFrame) -> pl.DataFrame:
5
+ # Extract the year from the game_date column
6
+ df = df.with_columns(
7
+ pl.col('game_date').str.slice(0, 4).alias('year')
8
+ )
9
+
10
+ df = df.with_columns([
11
+
12
+ (-(pl.col('vy0')**2 - (2 * pl.col('ay') * (pl.col('y0') - 17/12)))**0.5).alias('vy_f'),
13
+ ])
14
+
15
+ df = df.with_columns([
16
+ ((pl.col('vy_f') - pl.col('vy0')) / pl.col('ay')).alias('t'),
17
+ ])
18
+
19
+ df = df.with_columns([
20
+ (pl.col('vz0') + (pl.col('az') * pl.col('t'))).alias('vz_f'),
21
+ (pl.col('vx0') + (pl.col('ax') * pl.col('t'))).alias('vx_f')
22
+ ])
23
+
24
+ df = df.with_columns([
25
+ (-np.arctan(pl.col('vz_f') / pl.col('vy_f')) * (180 / np.pi)).alias('vaa'),
26
+ (-np.arctan(pl.col('vx_f') / pl.col('vy_f')) * (180 / np.pi)).alias('haa')
27
+ ])
28
+
29
+ # Mirror horizontal break for left-handed pitchers
30
+ df = df.with_columns(
31
+ pl.when(pl.col('pitcher_hand') == 'L')
32
+ .then(-pl.col('ax'))
33
+ .otherwise(pl.col('ax'))
34
+ .alias('ax')
35
+ )
36
+
37
+ # Mirror horizontal break for left-handed pitchers
38
+ df = df.with_columns(
39
+ pl.when(pl.col('pitcher_hand') == 'L')
40
+ .then(-pl.col('hb'))
41
+ .otherwise(pl.col('hb'))
42
+ .alias('hb')
43
+ )
44
+
45
+ # Mirror horizontal release point for left-handed pitchers
46
+ df = df.with_columns(
47
+ pl.when(pl.col('pitcher_hand') == 'L')
48
+ .then(pl.col('x0'))
49
+ .otherwise(-pl.col('x0'))
50
+ .alias('x0')
51
+ )
52
+
53
+ # Define the pitch types to be considered
54
+ pitch_types = ['SI', 'FF', 'FC']
55
+
56
+ # Filter the DataFrame to include only the specified pitch types
57
+ df_filtered = df.filter(pl.col('pitch_type').is_in(pitch_types))
58
+
59
+ # Group by pitcher_id and year, then aggregate to calculate average speed and usage percentage
60
+ df_agg = df_filtered.group_by(['pitcher_id', 'year', 'pitch_type']).agg([
61
+ pl.col('start_speed').mean().alias('avg_fastball_speed'),
62
+ pl.col('az').mean().alias('avg_fastball_az'),
63
+ pl.col('ax').mean().alias('avg_fastball_ax'),
64
+ pl.len().alias('count')
65
+ ])
66
+
67
+ # Sort the aggregated data by count and average fastball speed
68
+ df_agg = df_agg.sort(['count', 'avg_fastball_speed'], descending=[True, True])
69
+ df_agg = df_agg.unique(subset=['pitcher_id', 'year'], keep='first')
70
+
71
+ # Join the aggregated data with the main DataFrame
72
+ df = df.join(df_agg, on=['pitcher_id', 'year'])
73
+
74
+ # If no fastball, use the fastest pitch for avg_fastball_speed
75
+ df = df.with_columns(
76
+ pl.when(pl.col('avg_fastball_speed').is_null())
77
+ .then(pl.col('start_speed').max().over('pitcher_id'))
78
+ .otherwise(pl.col('avg_fastball_speed'))
79
+ .alias('avg_fastball_speed')
80
+ )
81
+
82
+ # If no fastball, use the fastest pitch for avg_fastball_az
83
+ df = df.with_columns(
84
+ pl.when(pl.col('avg_fastball_az').is_null())
85
+ .then(pl.col('az').max().over('pitcher_id'))
86
+ .otherwise(pl.col('avg_fastball_az'))
87
+ .alias('avg_fastball_az')
88
+ )
89
+
90
+ # If no fastball, use the fastest pitch for avg_fastball_ax
91
+ df = df.with_columns(
92
+ pl.when(pl.col('avg_fastball_ax').is_null())
93
+ .then(pl.col('ax').max().over('ax'))
94
+ .otherwise(pl.col('avg_fastball_ax'))
95
+ .alias('avg_fastball_ax')
96
+ )
97
+
98
+ # Calculate pitch differentials
99
+ df = df.with_columns(
100
+ (pl.col('start_speed') - pl.col('avg_fastball_speed')).alias('speed_diff'),
101
+ (pl.col('az') - pl.col('avg_fastball_az')).alias('az_diff'),
102
+ (pl.col('ax') - pl.col('avg_fastball_ax')).abs().alias('ax_diff')
103
+ )
104
+
105
+ # Cast the year column to integer type
106
+ df = df.with_columns(
107
+ pl.col('year').cast(pl.Int64)
108
+ )
109
+
110
+
111
+
112
+ df = df.with_columns([
113
+ pl.lit('All').alias('all')
114
+ ])
115
+
116
+ # Calculate mound_to_release as 60.5 - extension
117
+ df = df.with_columns([
118
+ (60.5 - df["extension"]).alias("release_pos_y")
119
+ ])
120
+
121
+ # Calculate delta time (Δt)
122
+ delta_t = (df["release_pos_y"] - df["y0"]) / df["vy0"]
123
+ # print((df["vx0"] * delta_t + 0.5 * df["ax"] * delta_t ** 2))
124
+ # Corrected back-calculation of release_pos_x and release_pos_z
125
+
126
+
127
+ df = df.with_columns(
128
+ pl.when(pl.col('pitcher_hand')== 'R')
129
+ .then(df["x0"] - df["vx0"] * delta_t - 0.5 * df["ax"] * delta_t ** 2)
130
+ .otherwise(df["x0"] + df["vx0"] * delta_t + 0.5 * df["ax"] * delta_t ** 2)
131
+ .alias('release_pos_x')
132
+ )
133
+
134
+ df = df.with_columns([
135
+ (df["z0"] + df["vz0"] * delta_t + 0.5 * df["az"] * delta_t ** 2).alias("release_pos_z")
136
+ ])
137
+
138
+
139
+
140
  return df
stuff_model/pitcher_arm_angles_2024.csv ADDED
@@ -0,0 +1,285 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "pitcher","pitcher_name","pitch_hand","n_pitches","team_id","ball_angle","relative_release_ball_x","release_ball_z","relative_shoulder_x","shoulder_z"
2
+ 663776,"Sandoval, Patrick","L",1442,108,"52.9",1.1443923693103126,6.057302358,-0.17503963715230125,4.313792056919843
3
+ 672710,"Contreras, Roansy","R",1074,9999,"48.6",-1.1259998195250651,5.932337058,0.37329787656386415,4.234437701862529
4
+ 543339,"Hudson, Daniel","R",980,119,"30.4",-2.263448653144934,5.503622449,-0.1941857984102729,4.288460335588779
5
+ 650893,"Cabrera, Génesis","L",1030,141,"45.0",1.5394733943652752,5.925815534,-0.16798951802433248,4.217905889708049
6
+ 664285,"Valdez, Framber","L",2526,117,"42.7",1.74519422684336,6.000645289,0.1558928916452495,4.532282610582554
7
+ 489446,"Yates, Kirby","R",1025,140,"21.5",-2.2920950017325215,5.262741463,-0.35002454580235615,4.496734601278207
8
+ 621383,"Banks, Tanner","L",1174,9999,"48.8",1.714208053035849,6.247052811,0.17068446578724417,4.481311275344894
9
+ 656412,"Faedo, Alex","R",1007,116,"32.5",-2.3724476988645122,6.03367428,-0.3056385398467407,4.716390571525178
10
+ 605130,"Barlow, Scott","R",1015,114,"28.4",-2.214323061795264,5.269990148,-0.14689085605402033,4.152144953504912
11
+ 664747,"Díaz, Alexis","R",977,113,"10.0",-2.722673098433467,4.591514841,-0.5699764288985336,4.213885639950586
12
+ 519326,"Strickland, Hunter","R",1157,108,"31.7",-2.301708015103437,5.880458081,-0.31566356195027706,4.653020648320615
13
+ 641771,"Kuhl, Chad","R",980,145,"25.7",-2.331768445788542,5.286744898,-0.36573153397722746,4.338873728946121
14
+ 680730,"Parker, Mitchell","L",2403,120,"52.0",1.4364986886722182,6.034481898,-0.03499019741366073,4.144509634310338
15
+ 640462,"Puk, A.J.","L",1173,9999,"28.5",2.3190971725734237,5.551756181,0.08587987236590365,4.339213312985435
16
+ 669854,"Blanco, Ronel","R",2649,117,"46.5",-1.4800588121656437,6.115534164,0.070721173832792,4.48458602136211
17
+ 663559,"Falter, Bailey","L",2137,134,"56.0",0.8691145239582373,5.781478708,-0.3274440548789392,4.007466766845407
18
+ 650644,"Civale, Aaron","R",2692,9999,"45.7",-1.3421083230851945,6.371500743,0.19698100018407985,4.790600549359959
19
+ 663546,"Hjelle, Sean","R",1209,137,"28.1",-2.2232391563837064,6.42688172,0.048490647240172824,5.214660385492646
20
+ 669022,"Gore, MacKenzie","L",2991,120,"47.2",1.5527495372897704,5.850668673,0.02610435757659193,4.203438725445501
21
+ 687792,"Herz, DJ","L",1586,120,"37.2",1.8702606474185612,5.790296343,0.03271410705976759,4.392995163338749
22
+ 681857,"Olson, Reese","R",1840,116,"38.5",-1.9633390844551182,6.020543478,-0.06357953712314962,4.505623485575059
23
+ 694363,"Shuster, Jared","L",1290,145,"39.7",1.6596167465037226,5.553232558,-0.0002744903204410767,4.173069746438392
24
+ 608334,"Fulmer, Carson","R",1469,108,"37.7",-2.045996826934498,5.659142274,-0.27422259901299484,4.28723766759009
25
+ 671106,"Allen, Logan","L",1664,114,"44.6",1.33260852792692,5.376129808,-0.22884412461007142,3.8356412865397487
26
+ 656550,"Holmes, Grant","R",1023,144,"40.0",-1.8970490700540585,5.943998045,-0.20386680527894083,4.522193906722911
27
+ 668678,"Gallen, Zac","R",2506,109,"41.2",-1.492412602543747,5.859305666,0.10813196257680331,4.456933896829428
28
+ 552640,"Kittredge, Andrew","R",1010,138,"39.2",-1.7372211490862814,5.770079208,-0.03156057676355873,4.378271410670478
29
+ 663687,"Harris, Hogan","L",1213,133,"49.3",1.6158786686570186,5.887609233,0.09722832946114063,4.117371629392223
30
+ 547973,"Chapman, Aroldis","L",1128,134,"52.5",1.3258410940034284,6.102748227,-0.1436272817347443,4.188267935218895
31
+ 686563,"Cannon, Jonathan","R",2027,145,"25.1",-2.673735016307832,5.798815984,-0.5003058496394928,4.781583414677262
32
+ 661403,"Clase, Emmanuel","R",983,114,"53.3",-1.254590071705738,6.051759919,0.1701257719012881,4.138711775676704
33
+ 663978,"Paddack, Chris","R",1459,142,"45.9",-1.6276275989945883,6.174694997,0.07140337953986527,4.422423420370697
34
+ 682610,"Muñoz, Roddery","R",1485,146,"37.7",-1.725879828910793,5.696713805,0.18445097883169193,4.216806210830823
35
+ 657649,"Koenig, Jared","L",1017,158,"31.4",2.4561634301217965,5.878525074,0.48099452778697976,4.67601059282745
36
+ 605288,"Houser, Adrian","R",1099,121,"40.5",-1.8987140841970263,5.874549591,-0.13430969816994542,4.367848275453781
37
+ 543243,"Gray, Sonny","R",2483,138,"48.9",-1.186820582707179,5.513443415,0.20319720789425158,3.922408795711016
38
+ 660853,"De Los Santos, Enyel","R",1116,9999,"24.8",-2.4590637711457184,5.451621864,-0.29312781291728157,4.448780313891598
39
+ 596133,"Weaver, Luke","R",1362,147,"46.6",-1.3972290633010458,5.704427313,0.16288179985917742,4.055986939294483
40
+ 650633,"King, Michael","R",2819,135,"29.3",-2.1450335861865732,5.498744236,-0.18806508075770562,4.400251933499384
41
+ 664076,"Cleavinger, Garrett","L",1040,139,"35.0",2.0938403542104838,5.287298077,0.2420073922768407,3.991983443456052
42
+ 657508,"Baumann, Mike","R",1066,9999,"48.7",-1.3804663682122662,6.096219512,0.13667325994187532,4.364813904997439
43
+ 607481,"Bummer, Aaron","L",974,144,"7.3",2.626924781798182,5.131211499,0.30306837727437447,4.834755175288342
44
+ 656557,"Houck, Tanner","R",2732,111,"22.1",-2.5273722653128736,5.603539531,-0.23545156111759227,4.670585774331036
45
+ 596295,"Gomber, Austin","L",2542,115,"53.1",1.0217325748837662,6.530601888,-0.3957139499544893,4.643378077741351
46
+ 592773,"Stanek, Ryne","R",977,9999,"45.6",-1.3805041722932,6.297430911,0.31637356480695933,4.565274209309664
47
+ 669923,"Kirby, George","R",2967,136,"36.6",-1.7961652693752235,5.866788001,0.1481283429969714,4.420407643736484
48
+ 680704,"Sandlin, Nick","R",1003,114,"11.8",-2.490515036023411,4.490189432,-0.47274894452116095,4.0685950920856016
49
+ 681190,"Vásquez, Randy","R",1687,135,"36.7",-1.8452312919236804,5.946455246,0.03147377190785781,4.545042939718322
50
+ 600917,"Leclerc, José","R",1204,140,"40.4",-1.5308313248757939,5.879393688,0.21652526175375025,4.389771065550953
51
+ 677944,"Cecconi, Slade","R",1290,109,"37.3",-1.769911981246466,5.64627907,0.059029016982409574,4.2537874723983995
52
+ 682243,"Miller, Bryce","R",2749,136,"43.0",-1.5842593208678222,5.567930156,0.16610178314720184,3.931086294092357
53
+ 547179,"Lorenzen, Michael","R",2091,9999,"42.5",-1.6916731526971789,5.7847011,0.025535348931973085,4.207241914418032
54
+ 622663,"Severino, Luis","R",2888,121,"41.1",-1.5554512666709055,5.910803324,0.0742207039948942,4.491105180728169
55
+ 592836,"Walker, Taijuan","R",1355,143,"40.6",-1.9011491161973797,6.453365314,-0.10949153297682697,4.917818532338802
56
+ 656288,"Canning, Griffin","R",2869,108,"45.2",-1.5130338159624626,5.900013942,0.04596217949076393,4.331306661814254
57
+ 670950,"Richards, Trevor","R",1180,9999,"52.3",-1.1355378419609516,6.27959322,0.33174538377292356,4.384528123508256
58
+ 681867,"Criswell, Cooper","R",1755,111,"12.4",-2.797251150315201,4.977219373,-0.3993439603678823,4.450454474711932
59
+ 669461,"Liberatore, Matthew","L",1356,138,"45.2",1.603331989902913,6.441681416,-0.03552556604567272,4.789524688451407
60
+ 658648,"Avila, Pedro","R",1419,9999,"45.0",-1.6812338141272143,5.781057082,-0.016615217465037115,4.111801814815239
61
+ 693433,"Woo, Bryan","R",1715,136,"26.8",-2.2155939948002916,5.045364431,-0.262401298389485,4.056588193459201
62
+ 605154,"Brebbia, John","R",994,9999,"40.7",-1.6253161384963786,5.874637827,0.05201702299357646,4.431563261386507
63
+ 657746,"Ryan, Joe","R",2106,142,"25.6",-1.9662328413714925,4.771614435,0.07963416556210672,3.7881715277037182
64
+ 664875,"Lawrence, Justin","R",1080,115,"-2.2",-3.259549013090106,4.357648148,-0.8318851390539375,4.4515316965405685
65
+ 607192,"Glasnow, Tyler","R",1934,119,"57.8",-1.1237964225640695,6.054400207,0.1739812898742272,3.984910156095905
66
+ 518876,"Kelly, Merrill","R",1142,109,"25.3",-2.237125414731012,5.484684764,-0.2453005412370329,4.540673060599818
67
+ 684007,"Imanaga, Shota","L",2590,112,"39.6",1.8620924556216751,5.426718147,0.16718687836805488,4.027508508042043
68
+ 656427,"Flaherty, Jack","R",2569,9999,"28.5",-1.9454571923441044,5.381514208,0.020469636222088524,4.313622697506052
69
+ 607067,"Rea, Colin","R",2650,158,"34.5",-1.9164222712561934,5.576962264,-0.08772867638650654,4.319599294790293
70
+ 671737,"Bradley, Taj","R",2294,139,"54.4",-1.298487122609478,6.105797733,0.01333809317338731,4.2752716189796915
71
+ 665871,"Assad, Javier","R",2538,112,"54.8",-1.0466034696142876,6.000078802,0.22297430612620447,4.2008277051210285
72
+ 506433,"Darvish, Yu","R",1189,135,"39.9",-1.7470111559752823,5.602607233,-0.15646071550112498,4.275107778072614
73
+ 661563,"Gil, Luis","R",2664,147,"35.8",-2.0423615989939514,5.667837838,-0.06117254169276226,4.238033990641709
74
+ 670970,"Morejon, Adrian","L",1053,135,"42.8",1.7560198025908749,5.811889839,0.1257744491166059,4.303193932961253
75
+ 542881,"Anderson, Tyler","L",2913,108,"57.5",0.95180180764159,6.404263646,-0.23215594948087523,4.534649762176185
76
+ 676710,"Crawford, Kutter","R",2822,111,"47.6",-1.5619419673766248,6.019964564,-0.07806651418508262,4.391882444025872
77
+ 622491,"Castillo, Luis","R",2852,136,"15.3",-2.473328915976879,5.026399018,-0.16350473770790994,4.392772321765621
78
+ 668881,"Greene, Hunter","R",2563,113,"32.0",-2.2741819552306226,5.971037846,-0.3170833260307283,4.7504010128018095
79
+ 593576,"Neris, Héctor","R",1008,9999,"39.9",-1.8040204004016827,6.080426587,0.009674646146337316,4.561677304735028
80
+ 621107,"Eflin, Zach","R",2447,9999,"27.2",-2.640400972678345,5.787331426,-0.44334020278022374,4.658509989969163
81
+ 641302,"Alexander, Tyler","L",1668,139,"35.9",2.0843995684801238,5.638585132,0.18970622325668898,4.268755165439835
82
+ 543037,"Cole, Gerrit","R",1534,147,"42.4",-1.795221336261276,5.986597132,-0.1485309828672492,4.481458357619447
83
+ 621111,"Buehler, Walker","R",1336,119,"45.5",-1.5334914752059106,5.537769461,-0.07321128311558696,4.051138617350854
84
+ 669373,"Skubal, Tarik","L",2741,116,"48.1",1.8776476453239535,6.163600876,0.17231184771941985,4.266464126738555
85
+ 605135,"Bassitt, Chris","R",2959,141,"35.3",-2.0625863349555935,5.522419736,0.04098321426699654,4.032917895101137
86
+ 657006,"Steele, Justin","L",2046,112,"45.7",1.6955910965256202,6.12487781,0.10514987611146825,4.489132182572656
87
+ 663903,"Singer, Brady","R",2966,118,"27.8",-1.9701505505872088,5.262279164,-0.1463594480163177,4.299006867673195
88
+ 668964,"Myers, Tobias","R",2151,158,"60.5",-0.8445685461695733,5.887168759,0.27299937893165777,3.9089800086350417
89
+ 615698,"Quantrill, Cal","R",2545,115,"45.7",-1.5459790767581163,6.315347741,0.1581821504540374,4.568522694458745
90
+ 657277,"Webb, Logan","R",3198,137,"22.1",-2.664236229954501,4.978202001,-0.514977356976676,4.103699446735312
91
+ 669093,"Estrada, Jeremiah","R",977,135,"63.9",-0.6774426158304941,5.815649949,0.34159691532703185,3.7293622664418864
92
+ 673513,"Matsui, Yuki","L",1029,135,"56.6",1.1437413090604613,5.968785228,-0.0012103495077684808,4.229526688337672
93
+ 623167,"Flexen, Chris","R",2797,145,"70.1",-0.32153229258470356,6.842366822,0.4569256036038109,4.691820796760211
94
+ 519242,"Sale, Chris","L",2813,144,"10.9",3.220037554211436,5.101283327,0.8792517942225213,4.6503050915883914
95
+ 608331,"Fried, Max","L",2762,144,"48.4",1.4839332914968801,5.950351195,-0.09750065173393441,4.167907639649895
96
+ 643511,"Rogers, Tyler","R",992,137,"-64.1",-2.69954250098942,1.099647177,-1.6707343370852739,3.21866756341283
97
+ 679885,"Martinez, Justin","R",1176,109,"42.0",-1.8093757681284621,6.25130102,-0.06097415723865308,4.677376624816594
98
+ 642547,"Peralta, Freddy","R",3066,158,"36.9",-2.172796899421919,5.279817352,-0.38902751629917226,3.9410911933598687
99
+ 643410,"Leiter Jr., Mark","R",1008,9999,"50.3",-1.3895920347935513,5.802847222,0.015165158323430376,4.110382076012221
100
+ 663485,"Sands, Cole","R",1154,142,"25.9",-2.346828611636853,5.750831889,-0.2304100323759566,4.721914213523757
101
+ 676440,"Bibee, Tanner","R",2851,114,"51.0",-1.4410814686732119,6.177600842,-0.04281306790437225,4.4494183993357534
102
+ 592791,"Taillon, Jameson","R",2483,112,"44.9",-1.577532290200118,6.136133709,0.06800485978450257,4.49131514318758
103
+ 683769,"Gaddis, Hunter","R",1075,114,"34.2",-2.1084926308059138,6.154111628,-0.11468715881109326,4.796770656883471
104
+ 445926,"Chavez, Jesse","R",1043,144,"21.6",-2.102754326809693,5.142003835,-0.16095765830432215,4.37360571033782
105
+ 641540,"Dunning, Dane","R",1689,140,"38.2",-1.8942707644314136,5.41142688,-0.06612274384214105,3.968746011414954
106
+ 570632,"Ureña, José","R",1758,140,"31.3",-2.228260857459457,5.668714448,-0.19095539839268025,4.428397145161716
107
+ 676979,"Crochet, Garrett","L",2367,145,"37.6",1.9859444118600584,6.100397127,0.059108583147511794,4.617481752137045
108
+ 592094,"Adam, Jason","R",1109,9999,"35.0",-2.054019192321219,6.140216411,-0.08328598703847472,4.760578074464477
109
+ 592767,"Smyly, Drew","L",1015,112,"51.6",1.4344182351889798,6.630482759,-0.07906935978153012,4.720323113897596
110
+ 548389,"Stripling, Ross","R",1357,133,"61.3",-1.05312809072389,6.863677229,0.0757114470160007,4.8002453522830715
111
+ 678394,"Bello, Brayan","R",2709,111,"28.2",-2.2936397853996335,5.180073828,-0.25524866086439274,4.084940255101336
112
+ 670102,"Francis, Bowden","R",1558,141,"40.2",-1.860114681123271,5.917188703,-0.09745535091151633,4.426798381534897
113
+ 502624,"Anderson, Chase","R",1016,9999,"42.9",-1.6451803502189482,5.749212598,0.027916873429758446,4.1986923460812395
114
+ 605452,"Ross, Joe","R",1197,158,"34.7",-1.999836891910833,5.689206349,-0.14489318088745334,4.404681786611516
115
+ 642701,"Santana, Dennis","R",1106,9999,"32.3",-2.4010185760972966,5.741491863,-0.3426287560478735,4.440307997859681
116
+ 621389,"Blach, Ty","L",1133,115,"20.9",2.3192544413560188,5.738358341,0.13436002048416254,4.901690177671003
117
+ 571760,"Heaney, Andrew","L",2729,140,"29.5",2.3249950101168797,5.027753756,0.3514099486338391,3.9099913532540502
118
+ 571670,"Floro, Dylan","R",1018,9999,"37.4",-2.1500307527466966,6.024390963,-0.3627336536811541,4.656118883273969
119
+ 663567,"Lambert, Peter","R",1039,115,"53.7",-1.1604147387975718,6.097901829,0.1867814399729617,4.26426422036135
120
+ 592866,"Williams, Trevor","R",1064,120,"16.8",-2.7544544334612278,4.98318609,-0.5090383604398696,4.302989583668403
121
+ 594902,"Lively, Ben","R",2405,114,"37.7",-1.7416763682034175,5.224893971,-0.06751707309119073,3.9300239245703983
122
+ 573124,"Rogers, Taylor","L",1060,137,"29.1",1.907909638805933,5.671754717,-0.16788201232637134,4.514249885817107
123
+ 682847,"Ortiz, Luis L.","R",2143,134,"21.8",-2.2083496106858256,4.964638357,-0.08611329200156718,4.116028723789179
124
+ 641927,"Ober, Bailey","R",2692,142,"35.0",-2.1973382258598293,5.985746657,-0.1650137036720672,4.560944401382055
125
+ 683627,"Molina, Anthony","R",1042,115,"50.7",-1.2552328637125274,6.295316699,0.17527004098795332,4.5466221352910425
126
+ 669713,"Wesneski, Hayden","R",1075,112,"49.6",-1.5217672216403837,5.933227907,0.012400272768726935,4.127370946233885
127
+ 683155,"Estes, Joey","R",2027,133,"37.3",-1.7825559734712457,5.862654169,0.03257125679441618,4.479246618071371
128
+ 680573,"Woods Richardson, Simeon","R",2295,142,"46.9",-1.2869274531712964,6.42020915,0.2950366494238813,4.733629990524233
129
+ 622554,"Domínguez, Seranthony","R",1050,9999,"29.5",-2.0725608353855587,5.441904762,-0.09448619760631526,4.324531656395893
130
+ 663623,"Irvin, Jake","R",3046,120,"28.5",-2.1689572141954647,5.724711097,-0.10945356377493992,4.603897474523142
131
+ 434378,"Verlander, Justin","R",1580,117,"54.7",-1.2649702409476309,7.096683544,0.15464905046368377,5.087383938829837
132
+ 608718,"Suter, Brent","L",1022,113,"55.6",1.114291703491014,6.29055773,-0.05780173081685979,4.575350392959183
133
+ 689225,"Brieske, Beau","R",1145,116,"49.1",-1.3413182494944016,5.978034934,0.20894795452599454,4.188228531708034
134
+ 641729,"Jiménez, Joe","R",1089,144,"31.4",-1.996595855618811,5.654710744,-0.03633453273620995,4.45809784312088
135
+ 641793,"Littell, Zack","R",2467,139,"41.5",-1.9370185211283921,6.145889745,-0.2355123966843618,4.6382120798822415
136
+ 684320,"Rodríguez, Yariel","R",1501,141,"39.8",-1.8796699363164069,5.794810127,-0.13280196416886667,4.339241032834909
137
+ 623352,"Hader, Josh","L",1151,117,"34.0",2.109451622966337,5.70803649,0.1537040356289424,4.387063268552024
138
+ 450203,"Morton, Charlie","R",2789,144,"20.8",-2.603150762323138,5.459802797,-0.26122756957080534,4.5689257680574755
139
+ 493603,"Ottavino, Adam","R",997,121,"24.8",-2.7448973120471787,5.383219659,-0.5435088101201998,4.365634280113063
140
+ 571948,"Milner, Hoby","L",1043,158,"-2.7",2.892088037009882,4.298926174,0.6544353676919216,4.403488625383044
141
+ 643377,"Jax, Griffin","R",1066,142,"45.8",-1.380303012576681,5.500609756,0.21743911033968435,3.8567904753305062
142
+ 686539,"Cronin, Declan","R",1074,146,"21.9",-2.44351402527686,5.27216946,-0.05533926265613746,4.31229988116459
143
+ 676534,"Faucher, Calvin","R",987,146,"50.0",-1.5493588711437403,6.000577508,-0.08529302537262491,4.252645222292661
144
+ 657044,"Thompson, Ryan","R",977,109,"-5.8",-3.364642491041433,3.794165814,-0.881876995221649,4.047886658748358
145
+ 527048,"Pérez, Martín","L",2204,9999,"47.0",1.555468195732763,5.729319419,-0.01591995743438442,4.042135196660741
146
+ 670280,"Bednar, David","R",1009,134,"40.8",-1.6814010821205483,5.897333994,-0.04265297642076924,4.480788854498459
147
+ 624133,"Suárez, Ranger","L",2265,143,"41.8",1.7074498814543815,5.845532009,0.0005085696072528982,4.319290149803452
148
+ 571578,"Corbin, Patrick","L",2888,120,"38.5",1.7949492310381978,6.250682133,-0.06345720635144018,4.770926001840558
149
+ 666142,"Ragans, Cole","L",3118,118,"45.1",1.6507276514618041,6.335323926,-0.028577902901786995,4.648571388745016
150
+ 672456,"Montero, Keider","R",1539,116,"43.1",-1.6209038147831607,5.834548408,0.017750412680873632,4.302410320612391
151
+ 608379,"Wacha, Michael","R",2602,118,"51.5",-1.2611875324712418,6.520857033,0.16390851792327582,4.727319871112449
152
+ 686730,"Spiers, Carson","R",1554,113,"30.2",-2.0396908324296676,5.318732304,-0.07962340392340395,4.18077275107422
153
+ 640455,"Manaea, Sean","L",2909,121,"22.7",2.9287574626183006,5.436675834,0.7583734313082088,4.5272566668750045
154
+ 608717,"Stratton, Chris","R",994,118,"35.1",-1.9525183981970033,5.854346076,0.02281348689283653,4.467459695965451
155
+ 650556,"Abreu, Bryan","R",1270,117,"45.1",-1.6400657213600998,5.750322835,0.008255719398711515,4.089015636588215
156
+ 543135,"Eovaldi, Nathan","R",2621,140,"32.6",-2.6056144678190556,5.507264403,-0.57545458622629,4.21015517539332
157
+ 650911,"Sánchez, Cristopher","L",2796,143,"32.2",2.050893952705122,6.181698856,0.07531110307824528,4.937299007016648
158
+ 701581,"Festa, David","R",1099,142,"56.4",-0.9512033536058627,6.154649682,0.3540488246485622,4.190241022871225
159
+ 542888,"Armstrong, Shawn","R",1109,9999,"39.9",-1.9627118985369412,5.799603246,-0.185865349859921,4.313288856447578
160
+ 573186,"Stroman, Marcus","R",2579,147,"32.5",-1.9202310426276124,5.226281504,-0.18844095156339535,4.121246778311593
161
+ 666974,"Cano, Yennier","R",1008,110,"17.6",-2.8913293232672803,5.472083333,-0.47362847514005557,4.703143853450471
162
+ 502085,"Robertson, David","R",1211,140,"44.7",-1.3893451659260567,5.821701073,0.05075309757113563,4.396749008936199
163
+ 571656,"Farmer, Buck","R",1167,113,"29.7",-1.9366758614101762,5.693161954,0.12909357089723836,4.512314025022637
164
+ 572020,"Paxton, James","L",1708,9999,"42.3",1.9248453831795227,6.051522248,0.1115418668883351,4.399527986679018
165
+ 605280,"Holmes, Clay","R",1063,147,"49.2",-1.5000665255702261,6.575766698,0.13242143925559607,4.684355173364991
166
+ 665795,"Cabrera, Edward","R",1734,146,"42.0",-1.6954773178697269,6.151972318,0.10661359827668085,4.528603850586053
167
+ 686613,"Brown, Hunter","R",2888,117,"57.4",-0.9702870266338728,6.25699446,0.2146192269875716,4.398366899327732
168
+ 666157,"Lodolo, Nick","L",1863,113,"18.5",2.930085846942243,5.519924852,0.5563698258994227,4.724156477151924
169
+ 471911,"Carrasco, Carlos","R",1688,114,"35.8",-2.0050088437225027,5.896723934,-0.1365497419131375,4.551724024412653
170
+ 664208,"Maton, Phil","R",1048,9999,"31.2",-2.1335546352379318,5.329675573,-0.212698189234056,4.164968452429545
171
+ 667755,"Soriano, José","R",1736,108,"36.1",-2.1581442936076436,6.004665899,-0.24934576381872428,4.615176302962532
172
+ 669432,"Rogers, Trevor","L",2243,9999,"22.7",2.468977066349182,5.706486848,0.2364509922730492,4.771702789029522
173
+ 663947,"Holton, Tyler","L",1338,116,"43.2",1.7192384006938317,5.89009716,0.04131163854317371,4.314947225486202
174
+ 687330,"Kelly, Kevin","R",1032,139,"3.0",-2.7095154995990725,3.715707364,-0.6287912040203676,3.6057412820061066
175
+ 671922,"Smith, Cade","R",1166,114,"37.2",-1.8982844077956955,5.744914237,0.03033396119402074,4.278840376853999
176
+ 647336,"Soroka, Michael","R",1442,145,"37.4",-2.0670947037653,6.095589459,-0.15588717047277875,4.631256250664431
177
+ 502043,"Gibson, Kyle","R",2763,138,"45.1",-1.6622144149004505,6.247676439,0.0013884058700306993,4.579021336053259
178
+ 677960,"Weathers, Ryan","L",1413,146,"35.6",1.9443078246001693,5.702724699,0.13241544147608228,4.405541130992705
179
+ 676272,"Miller, Bobby","R",1053,119,"47.4",-1.2477083212670483,6.02951567,0.32421517462203747,4.318551870134223
180
+ 621244,"Berríos, José","R",2907,141,"39.6",-2.1500712370168378,5.611795666,-0.3531916772287925,4.127703021227884
181
+ 669060,"Wilson, Bryse","R",1642,158,"45.8",-1.7674747785831157,5.788879415,-0.14551856285865036,4.1211009572691815
182
+ 668909,"Williams, Gavin","R",1361,114,"35.4",-2.0993518599185554,5.861763409,-0.21125753574557876,4.520651036710193
183
+ 640448,"Finnegan, Kyle","R",1066,120,"50.3",-1.021797955220567,5.728245779,0.374476053131469,4.042453640978827
184
+ 571882,"Law, Derek","R",1368,120,"51.2",-1.229722496161679,6.487843567,0.17753103636989098,4.74166512454265
185
+ 669467,"Pallante, Andre","R",1880,138,"58.8",-1.3553052922705089,5.998718085,-0.22368324027193082,4.130519338093068
186
+ 543859,"Tonkin, Michael","R",1402,9999,"13.2",-2.9512729321980045,5.194942939,-0.6195827679963185,4.6479821563796015
187
+ 669302,"Gilbert, Logan","R",3036,136,"43.8",-1.4977128477976303,5.825405138,0.17979565226198288,4.211764179988675
188
+ 592351,"Gray, Jon","R",1619,140,"32.4",-2.077590352065994,5.604848672,-0.13047884364481976,4.369111647338475
189
+ 690986,"Harrison, Kyle","L",2078,137,"23.7",2.5294083950674238,4.840572666,0.42472318658761105,3.915027435282454
190
+ 663855,"Hicks, Jordan","R",1958,137,"29.4",-2.319652760803334,5.615955056,-0.2930885606197164,4.474915976550338
191
+ 669711,"Weissert, Greg","R",1028,111,"15.7",-2.7707199859551865,4.826809339,-0.5399130020738401,4.201374541015558
192
+ 628317,"Maeda, Kenta","R",1958,116,"38.5",-1.9532311236786246,5.686149132,-0.18669332889066106,4.281775642230141
193
+ 656464,"Ginkel, Kevin","R",1184,109,"40.3",-1.770292021859609,6.428353041,0.05065392789179553,4.8862614758726055
194
+ 808967,"Yamamoto, Yoshinobu","R",1421,119,"46.1",-1.3543471716474054,5.515559465,0.03593674360026142,4.074549087973747
195
+ 689147,"Kerkering, Orion","R",1063,143,"31.2",-2.2154343792579896,5.651721543,-0.21379688040272135,4.4423816397610105
196
+ 656629,"Kopech, Michael","R",1141,9999,"44.8",-1.5907048719841157,5.717537248,-0.08144733518616584,4.219771227665629
197
+ 676130,"Buttó, José","R",1222,121,"33.1",-2.1642543651469293,5.287790507,-0.14297427750597344,3.970941175814167
198
+ 663474,"McKenzie, Triston","R",1299,114,"53.9",-1.0465318044701233,6.47308699,0.2863444106188917,4.643205124125366
199
+ 608723,"Voth, Austin","R",974,136,"37.4",-1.7965253295734862,5.685985626,-0.04748363063537904,4.350308466748658
200
+ 681676,"Fernandez, Ryan","R",1190,138,"52.6",-1.1512344728632113,5.781991597,0.24951944202279858,3.9454725164397257
201
+ 601713,"Pivetta, Nick","R",2386,111,"56.4",-0.9674159910097777,6.813575021,0.3173364988203618,4.877866862214669
202
+ 669194,"Nelson, Ryne","R",2406,109,"47.6",-1.3013737489520352,6.072323358,0.20760487795662344,4.418825069975092
203
+ 571945,"Mikolas, Miles","R",2703,138,"43.3",-1.9708407148210172,6.42627081,-0.146000390996206,4.703901034138474
204
+ 700249,"Povich, Cade","L",1381,110,"40.8",1.7929954178565317,5.811354091,0.008872285834879017,4.271760473242024
205
+ 625643,"López, Reynaldo","R",2106,144,"41.9",-1.6624272906029005,5.831087369,-0.1138683400114774,4.441682113492896
206
+ 607625,"Lugo, Seth","R",3112,118,"32.6",-2.202980982680942,5.485899743,-0.16934105498123525,4.182185503645256
207
+ 676684,"Vest, Will","R",1143,116,"46.2",-1.5107271951801264,5.549256343,-0.0032502969325804093,3.977396642665657
208
+ 579328,"Kikuchi, Yusei","L",2923,9999,"41.9",1.6505279990389494,5.426712282,0.04728330729362001,3.990787510176529
209
+ 663554,"Mize, Casey","R",1788,116,"43.3",-1.6622942337749882,5.647869128,-0.07558678324899218,4.1527199200851825
210
+ 607259,"Martinez, Nick","R",2122,113,"58.6",-0.8373672959795043,6.241573987,0.33658885527392357,4.316381573398785
211
+ 663372,"Feltner, Ryan","R",2577,115,"42.0",-1.7236567941658807,5.536550252,-0.04595534216367607,4.025761687200015
212
+ 686752,"Pepiot, Ryan","R",2148,139,"41.8",-1.6844739431351574,5.964283054,-0.032050986284136086,4.48771475567373
213
+ 656222,"Beeks, Jalen","L",1157,9999,"49.5",1.7218073496372888,5.985280899,0.2039476869462329,4.20923450545929
214
+ 683232,"Mears, Nick","R",1011,9999,"60.8",-0.6235561307854051,6.16520277,0.46931632294316844,4.209868329480881
215
+ 666808,"Doval, Camilo","R",1116,137,"19.3",-2.20244030655531,5.472858423,-0.0142731126891943,4.7054131428932005
216
+ 641712,"Hudson, Dakota","R",1508,115,"35.8",-1.946196048960028,6.124781167,0.005813847359537017,4.713632903835516
217
+ 458681,"Lynn, Lance","R",2038,138,"31.9",-2.5766369100560116,5.578954858,-0.549158559823251,4.313939074474467
218
+ 806185,"Birdsong, Hayden","R",1388,137,"41.5",-1.5906631766995039,6.343832853,0.17110463939702159,4.787208131899602
219
+ 676254,"Walker, Ryan","R",1205,137,"17.1",-2.8554150330599875,5.180605809,-0.5597335510832019,4.474050149924927
220
+ 656849,"Peterson, David","L",1871,121,"40.9",1.7605148115858427,6.129834313,-0.11821820820840838,4.502925692076552
221
+ 680767,"Vodnik, Victor","R",1312,115,"42.5",-1.508661656118361,5.276036585,0.16746991170220865,3.7333882280933426
222
+ 642232,"Yarbrough, Ryan","L",1476,9999,"13.5",3.187573510978042,5.017391599,0.9129248450550457,4.472438969078638
223
+ 678368,"Bellozo, Valente","R",1094,146,"45.6",-1.459537712055548,6.106480804,0.06730277718034194,4.549337343376772
224
+ 607074,"Rodón, Carlos","L",3102,147,"45.4",1.695468761020262,6.325892972,-0.016885460820515983,4.589699503511626
225
+ 656731,"Megill, Tylor","R",1365,121,"36.8",-2.022162902236749,5.788322344,-0.1649961354331943,4.4001010782028445
226
+ 689017,"Knack, Landon","R",1149,119,"53.0",-1.150137732800803,5.796927763,0.2035784787670906,3.998586262952049
227
+ 607200,"Fedde, Erick","R",2891,9999,"37.2",-1.7711946611825544,5.82611899,0.11966506383755347,4.38812970041637
228
+ 656546,"Hoffman, Jeff","R",990,143,"39.6",-1.8244440009601155,6.038555556,0.090339777003547,4.452051756333391
229
+ 680570,"Rodriguez, Grayson","R",1869,110,"37.6",-1.8171576882126401,5.593017657,0.05545227375253813,4.148739274436355
230
+ 683003,"Jones, Jared","R",1823,134,"44.6",-1.6016992556721459,5.544443225,-0.05199715161684281,4.01673158253178
231
+ 554430,"Wheeler, Zack","R",3134,143,"24.7",-2.6740014675524764,5.228321634,-0.41501362931086516,4.190937892950315
232
+ 592332,"Gausman, Kevin","R",2864,141,"36.1",-2.077901528296468,5.678823324,-0.14227836863541748,4.264443529922126
233
+ 656756,"Montgomery, Jordan","L",1929,109,"45.6",1.6284171017978546,6.603639191,-0.08761701471766417,4.853465583656521
234
+ 681911,"Vesia, Alex","L",1090,119,"61.3",0.7824376343029465,5.897899083,-0.3375379762547221,3.8506953260069694
235
+ 663878,"Pearson, Nate","R",1058,9999,"40.3",-1.7340879779916964,5.493969754,0.09603073358403337,3.941480155861965
236
+ 605483,"Snell, Blake","L",1773,137,"57.1",1.1071542499099822,6.638742245,-0.18897046703724812,4.636251638360313
237
+ 680885,"Schwellenbach, Spencer","R",1887,144,"33.2",-2.2589370031130764,5.439798622,-0.5218472213484319,4.301821779895652
238
+ 663423,"Thornton, Trent","R",1139,136,"35.0",-1.9588525719222694,5.18428446,-0.16624286142424108,3.9297969787739526
239
+ 694297,"Pfaadt, Brandon","R",2790,109,"27.7",-2.4093714655386176,5.508007168,-0.37243589337396765,4.436423559184503
240
+ 686826,"Jarvis, Bryce","R",1006,109,"35.8",-1.7970159757579187,5.648449304,-0.07428721503421541,4.402919838455896
241
+ 544150,"Suárez, Albert","R",2233,110,"40.0",-1.7782574205615906,6.231957009,0.02347251836613811,4.719309859002015
242
+ 500779,"Quintana, Jose","L",2749,121,"44.8",1.8301294520697202,5.781531466,0.23004516307663947,4.193622152505312
243
+ 694973,"Skenes, Paul","R",2125,134,"23.3",-2.7569570580160905,5.664536471,-0.5522816388801509,4.7149253314040065
244
+ 681293,"Arrighetti, Spencer","R",2505,117,"24.6",-2.2408396621029736,5.059361277,-0.183815285471837,4.116487344419894
245
+ 621112,"Blackburn, Paul","R",1212,9999,"49.6",-1.502339439797867,6.042541254,0.005599708720872079,4.270532995946655
246
+ 656945,"Scott, Tanner","L",1163,9999,"35.2",2.247539927534111,5.231642304,0.4436093735391444,3.9574394188457855
247
+ 679525,"Marsh, Alec","R",2160,118,"32.3",-2.2605620849377934,5.658069444,-0.3067316554433222,4.4212335382831585
248
+ 666214,"Wentz, Joey","L",1224,9999,"49.7",1.2627591531307136,6.352058824,-0.34871516607831504,4.452086176863793
249
+ 606930,"Barnes, Jacob","R",1117,120,"43.1",-1.5237218940782336,5.698549687,0.21547261971444404,4.0696304456966255
250
+ 666200,"Luzardo, Jesús","L",1083,146,"39.3",1.8947455220130873,5.975401662,0.0903972053926917,4.497080952427986
251
+ 669211,"Akin, Keegan","L",1216,110,"42.4",1.7223487824887334,5.913478618,0.04394475326015576,4.377588611589973
252
+ 641755,"Kinley, Tyler","R",1160,115,"45.0",-1.4902609041451407,6.45212931,0.13009408606859682,4.832219467622468
253
+ 669203,"Burnes, Corbin","R",2994,110,"43.7",-1.576956648286833,5.967802271,0.06756166736324702,4.395320908513406
254
+ 668933,"Ashcraft, Graham","R",1342,113,"49.0",-1.4540917994928408,6.296587183,0.11187623462201571,4.494224667601764
255
+ 656302,"Cease, Dylan","R",3188,135,"53.4",-1.292627210020075,6.100291719,0.02094834375006984,4.3277111857187265
256
+ 669358,"Baz, Shane","R",1206,139,"38.3",-1.7311867199624307,5.800787728,0.053425619230053,4.388375122678351
257
+ 671096,"Abbott, Andrew","L",2333,113,"45.0",1.647072837067813,5.862678954,0.10519578209415706,4.319956515522084
258
+ 663362,"Waldron, Matt","R",2448,135,"28.6",-2.4117433917979993,5.479093137,-0.4611482586825583,4.4156996644647
259
+ 665152,"Kremer, Dean","R",2171,110,"41.0",-1.7797091577545752,6.04015661,-0.052828772730146384,4.537115732500446
260
+ 608344,"Irvin, Cole","L",1767,9999,"40.0",2.0097597653100228,6.094272779,0.23581559487817333,4.605764152964776
261
+ 518585,"Cruz, Fernando","R",1138,113,"45.4",-1.6678581342655572,6.028646749,-0.10075219863788301,4.437668922320484
262
+ 605400,"Nola, Aaron","R",3189,143,"20.1",-2.4011946140621263,5.024550016,-0.24431070963634435,4.236191173983201
263
+ 657376,"Schmidt, Clarke","R",1454,147,"35.1",-1.9219600941680635,5.640742779,0.012585028086512823,4.280150257939866
264
+ 676664,"Sears, JP","L",2856,133,"21.4",2.3110987940334904,4.639856443,0.2886569901935819,3.8479927047601565
265
+ 695243,"Miller, Mason","R",1024,133,"34.0",-2.16228081441607,6.05671875,-0.14260596033868098,4.696207808148116
266
+ 660761,"Suarez, José","L",987,108,"40.2",1.8095025449487545,5.597760892,0.16150701517228408,4.201810220477619
267
+ 674370,"Bido, Osvaldo","R",1055,133,"33.9",-2.085203316989408,5.847554502,-0.08690994956534963,4.505703603669822
268
+ 694813,"Stone, Gavin","R",2152,119,"47.0",-1.2617736518529612,5.611933086,0.2622877372290585,3.9767142615334405
269
+ 607536,"Freeland, Kyle","L",1769,115,"27.3",2.165502115003914,5.723629169,0.13370775854511577,4.67591056560349
270
+ 621237,"Alvarado, José","L",1017,143,"65.1",0.5206819358590478,6.65460177,-0.5324393113855895,4.3747386509551465
271
+ 605397,"Musgrove, Joe","R",1522,135,"35.5",-2.299058103963369,6.355236531,-0.22482447601546898,4.8764739021388035
272
+ 641482,"Cortes, Nestor","L",2849,147,"47.1",1.6822741184557912,5.71963145,0.2844120817011192,4.215708523771347
273
+ 656605,"Keller, Mitch","R",2848,134,"34.7",-1.9514175314775688,5.753110955,-0.16204622598464824,4.512348614282276
274
+ 543294,"Hendricks, Kyle","R",2134,112,"43.0",-1.8336664558747002,5.987469541,-0.045843810841197666,4.321524930377707
275
+ 641154,"López, Pablo","R",2985,142,"38.3",-2.1003531825457413,5.583159129,-0.21565295500079107,4.093698536682223
276
+ 672282,"Detmers, Reid","L",1557,108,"45.4",1.4723519362551278,6.140706487,-0.11360945125057667,4.5319578683812
277
+ 674003,"Bradford, Cody","L",1175,140,"56.6",1.058774611957563,6.224374468,-0.27013268942238383,4.206505137027347
278
+ 657612,"Hill, Tim","L",982,9999,"-19.6",3.10225969380416,3.142362525,0.8772059571393823,3.934527787247094
279
+ 682120,"Herrin, Tim","L",990,114,"30.9",2.3761960638626016,5.720121212,0.37042885305821155,4.517394167701975
280
+ 676106,"Hancock, Emerson","R",1013,136,"27.5",-2.0990577833138824,5.568716683,-0.06295074512619374,4.511082102190247
281
+ 687765,"Spence, Mitch","R",2480,133,"47.4",-1.6672343903423554,6.205987903,-0.09307258405928355,4.494800895362534
282
+ 670174,"Winckowski, Josh","R",1240,111,"51.0",-1.1569769240218712,6.031991935,0.2679147856649995,4.270517621327124
283
+ 605463,"Scott, Tayler","R",1178,117,"13.2",-2.783731494946471,4.77655348,-0.5824923124937569,4.259493113573567
284
+ 593423,"Montas, Frankie","R",2632,9999,"42.7",-1.6702669268424926,5.940531915,0.033713203937280854,4.371810502948759
285
+ 669062,"Miller, Erik","L",1269,137,"37.1",1.95344870808306,6.389078014,-0.006170083676424944,4.91173663537053