Skip to content

Instantly share code, notes, and snippets.

@sbrown70
sbrown70 / gist:97f59826ea2e7eb9547ed5ef3525f1fc
Created April 26, 2025 19:03
calculate_release_metrics_with_approach_angles
def add_release_metrics_aa(df):
df = (
df
.assign(
y0=50,
yf=17/12,
yR=lambda df: 60.5 - df['release_extension'],
tR=lambda df: (-df['vy0'] - np.sqrt(df['vy0']**2 - 2 * df['ay'] * (df['y0'] - df['yR']))) / df['ay'],
vxR=lambda df: df['vx0'] + df['ax'] * df['tR'],
vyR=lambda df: df['vy0'] + df['ay'] * df['tR'],
@sbrown70
sbrown70 / gist:3a75eca8a76ac89e8572e72a882c7ad7
Created March 10, 2025 19:01
get_statcast_data_fixed_again_final
def get_statcast(input_year,milb):
sc_request_str = "/csv?all=true&hfPT=&hfAB=&hfBBT=&hfPR=&hfZ=&stadium=&hfBBL=&hfNewZones=&hfGT=R%7CPO%7CS%7C=&hfSea=&hfSit=&player_type=pitcher&hfOuts=&opponent=&pitcher_throws=&batter_stands=&hfSA=&game_date_gt={start_dt}&game_date_lt={end_dt}&team={team}&position=&hfRO=&home_road=&hfFlag=&metric_1=&hfInn=&min_pitches=0&min_results=0&group_by=name&sort_col=pitches&player_event_sort=h_launch_speed&sort_order=desc&min_abs=0&type=details&"
import io
import os
from datetime import datetime
from typing import List, Union
import numpy as np
import pandas as pd
@sbrown70
sbrown70 / gist:a8db0a3cc21ce21a4c9cc6a03928e166
Created March 10, 2025 18:39
fixed_statcast_for_real_this_time
def get_statcast(input_year,milb):
sc_request_str = "/csv?all=true&hfPT=&hfAB=&hfBBT=&hfPR=&hfZ=&stadium=&hfBBL=&hfNewZones=&hfGT=R%7CPO%7CS%7C=&hfSea=&hfSit=&player_type=pitcher&hfOuts=&opponent=&pitcher_throws=&batter_stands=&hfSA=&game_date_gt={start_dt}&game_date_lt={end_dt}&team={team}&position=&hfRO=&home_road=&hfFlag=&metric_1=&hfInn=&min_pitches=0&min_results=0&group_by=name&sort_col=pitches&player_event_sort=h_launch_speed&sort_order=desc&min_abs=0&type=details&"
import io
import os
from datetime import datetime
from typing import List, Union
import numpy as np
import pandas as pd
def get_statcast(input_year,milb):
sc_request_str = "/csv?all=true&hfPT=&hfAB=&hfBBT=&hfPR=&hfZ=&stadium=&hfBBL=&hfNewZones=&hfGT=R%7CPO%7CS%7C=&hfSea=&hfSit=&player_type=pitcher&hfOuts=&opponent=&pitcher_throws=&batter_stands=&hfSA=&game_date_gt={start_dt}&game_date_lt={end_dt}&team={team}&position=&hfRO=&home_road=&hfFlag=&metric_1=&hfInn=&min_pitches=0&min_results=0&group_by=name&sort_col=pitches&player_event_sort=h_launch_speed&sort_order=desc&min_abs=0&type=details&"
import io
import os
from datetime import datetime
from typing import List, Union
import numpy as np
import pandas as pd
def get_statcast(input_year,milb):
sc_request_str = "/csv?all=true&hfPT=&hfAB=&hfBBT=&hfPR=&hfZ=&stadium=&hfBBL=&hfNewZones=&hfGT=R%7CPO%7CS%7C=&hfSea=&hfSit=&player_type=pitcher&hfOuts=&opponent=&pitcher_throws=&batter_stands=&hfSA=&game_date_gt={start_dt}&game_date_lt={end_dt}&team={team}&position=&hfRO=&home_road=&hfFlag=&metric_1=&hfInn=&min_pitches=0&min_results=0&group_by=name&sort_col=pitches&player_event_sort=h_launch_speed&sort_order=desc&min_abs=0&type=details&"
import io
import os
from datetime import datetime
from typing import List, Union
import numpy as np
import pandas as pd