CoolFace
Apppublic

TJStatsApps/2025_decision_value

sourceHugging Facemitupdated 1y agoView on Hugging Face
0likes
spray.cpython-39.pyc78 linesDownload Raw Back to __pycache__
1a

2G��e&=�@s&ddlTddlZddlmZddlmZmZddlZ	ddl3mZddlZddl
Z
ddlZddlmZddlZddlZddlmZddlmZddlmZddlmZed	d4dgd�Zed
Ze���e ej!�"��d�j#dd�Z$e$dde$d<e$dde$d<e$de$d<de$j%e$ddkdfe$j%e$ddkdf<e�&e$de$d�dej'e$d<e$ddke$ddke$ddk@e$ddkgZ(gd�Z)ej*e(e)ej+d�e$d<dd �e$d!D�e$d"<e$d#d$ke$d#d%ke$d#d&ke$d#d'ke$d#d(ke$d#d)kgZ,gd*�Z-ej*e,e-dd�e$d+<e$e$d"�.�j/dd,gd-�Z0e0d�1d�e0d<e0d.j2dd/��3e4�e0d0<e0e0d0d1kZ0e0e0d0d2kZ5e0�6d3��d4�d3�7�Z8d5d6�Z9e:e;�<e;j=j>ed7�e;j=�?d8d9ie;j=�@d:�ejA�B�e;j=�Cd;�e;j=�Dd<�e;�Ee;�Fe;jGd=d>d7��e;�Hd?e;�Fe;jGd@dAd7�e;jGdBdCd7�e;jGdDdEd7�e;jGdFdGd7�e;jGdHdId7���e;�HdJe;�Fe;jGdKdLd7�e;jGdMdNd7�e;jGdOdPd7���e;�HdQe;�Fe;jGdRdSd7���e;�Fe;jGdTdUd7��e;�Fe;jGdVdWd7��e;�Fe;jGdXdYd7���e;�Ie;�Je;�Ke;jLd4dZe8d[d[dd\��e;�Me;�Ee;�Nd]e;jOd^d_d_d`��������e9�ZPdS)a�)�*N)�
output_widget�
render_widget)�base_url)�load_dataset)�MaxNLocator)�GridSpec)�gaussian_kdeznesticot/mlb_datazmlb_pitch_data_2023.csvzmlb_pitch_data_2022.csv)Z5data_filesZtrainT)�dropZhit_x�~Zhit_yg�i@Zhit_x_og������batter_hand�R��h_lagUUUUUU.�gUUUUU�0@)�Oppo�Straight�Pull)�default�trajcCsg|]}|dkrdntj�qS)r�)�np�nan)�.0�x�r�DC:\Users\thoma\Google Drive\Python\Baseball\shiny\starlette\spray.py�6<listcomp>,�r�launch_speedZbip�7event_type�walkZhit_by_pitch�single�double�tripleZhome_run)g�t�V�?g����K�?g����Mb�?g?5^�I�?g����S�?g���K7@Zwoba�launch_angle)�subsetZ	game_date��season�����batter_name�	batter_idcs |tjdd��fdd���}dS)N�plot)�altc#	sFt����}tjtd|ktddk@}tjtd|ktddk@}tjtd|ktddk@}tjtd|ktddk@}|�dg�d��t|�}|�dg�d��t|�}gd�}tjd	d8�}t	ddgd�gd�d
�}	|�9|	ddd�f�}10|�11|	d�}|�12|	d�}|�13|	d�}
|�14|	ddd�f�}|
��}tj
j�d|dd|dg�}|�d�d��jdd�jd}d}|dk�r�d}|ddg}|d||d<|ddgjddd�}|d||d<t|jj�}t|jj�}t�t�d d!d�t�d"d#d��\}}t�|��|��g�}t�||�j|j�}t�||�j|j�}||}|t�|�t�|�}t�|d$d�}d%}d}t� d$d|�}|j!|||||d$dd&�} |j"d'd(d |ddd)�|j"d*d(d |ddd)�|j"d+d(d |ddd)�|j#d,d"d-|ddd.�|j#d/d"d-|ddd.�|
�$dd�tj%| |
d0dd1�}!|!�&g�t'd2d3�}"|"|!_(|!�)�|!�&g�|j*d4|jd5d6�d7�dd8d9d:d;d<�|j*d=|jd>d6�d7�dd?d9d:d;d<�|j*d@|jdAd6�d7�ddBd9d:d;d<�|j*dC|jdDd6�d7�ddEd9d:d;d<�|dk�r�|j*dF|jdGd6�d7�dHddId9d;d<�|j*dJ|jdKd6�d7�dLddId9d;d<�|j*dM|jdNd6�d7�d?ddId9d;d<�nr|j*dF|jdGd6�d7�d?ddId9d;d<�|j*dJ|jdKd6�d7�dLddId9d;d<�|j*dM|jdNd6�d7�dHddId9d;d<�|15�+dO�|�+dO�|�+dO�|j*dPdPdQdRdSdTdU�|j*dVdPdWd:dSdTdU�|j*dLdPdXd9dSdTdU�|�,g�|�-g�|
j*dYdLdZd9d9dTd<�|
j*d[dLd\d9d9dTd<�|
j*d]dLd^d9d9dTd<�|
j*d_dLdd9d9dTd<�|
j*d`dLdad9d9dTd<�|
j*dbdLdcd9d9dTd<�|
j*dddLded9d9dTd<�|16j*|dfjd�dg�dLdhdId9did<�|17j*djdLdkdId9d;d<�dS)lNr,r(r)r*rrZ18trajectory)19z#FFB000z#648FFFz#785EF0z#DC267Fz#FE6100z#3D1EB2z#894D80z#16AA02z#B5592Bz#A3C1ED)�20r/)�figsize�)皙�����?皙�����?r2)Zwidth_ratiosZ
height_ratiosr)rr)rr)r�r4�rz#ffffffr
F)�	ascendingrrrr%iP��*)�n�random_statei�����.i�����=������)�cmap�levels�vmin�vmaxr/�-)�y�xmin�xmax�color�	linewidth��2i�����<)r�ymin�ymaxrFrG��vertical)�cax�orientation�shrink�
)�nbinszPop Up21(Zpopupz.1%�)gffffff�?�center�right�)�srrC�va�ha�fontsizez22Fly Ball23(Zfly_ballg�?zLine24Drive25(Z26line_driveg�(\����?z
Ground27Ball28(Zground_ballgq=29ףp�?zPull30(rg�?�topz31Straight32(rg�?zOppo33(r�offgz!By: Thomas Nestico34      @TJStats�left�bottom�)rZrYr[g\���(\�?z	Data: MLBzInspired by @blandalyticsu+3σg�$I�$I@u+2σgn۶m۶�?u+1σgn۶m۶�?u±0σu-1σgn۶m۶��u-2σgn۶m۶��u-3σg�$I�$I�r+z's 2023 Batted Ball Tendenciesr3�z(Compared to rest of MLB)g333333�?).�intr,�df_2023_bip�loc�groupby�count�len�plt�figurerZadd_subplotZget_position�35matplotlib�colorsZLinearSegmentedColormap�	from_list�sort_values�index�sampler	�values�Tr�meshgrid�arange�vstack�ravel�reshape�shape�mean�std�clip�linspace�contourfZhlinesZvlines�set_ylim�colorbar�	set_ticksr�locatorZupdate_ticks�text�axis�36set_xticks�37set_yticks)#Zbatter_id_selectZdf_batter_2023Zdf_batter_2022Zdf_non_batter_2023Zdf_non_batter_2022Ztraj_dfZ
trajectory_dfZcolour_palette�fig�gsZax01Zax10Zax11Zax12Zax21Zinitial_positionZcmap_hueZbat_handZbat_hand_valueZkde1_dfZkde2_dfZkde1Zkde2rrC�	positionsZkde1_valuesZkde2_valuesZresult_kde_values�38num_levelsZmidrange_valuer?Zbatter_plot�cbarZcbar_locator��inputrrr-Rs 39$404142����43������444546474849�50�51�52�53�54�55���zserver.<locals>.plot)�renderr-)r��output�sessionr-rr�r�serverQs56r�)�href�stylez+width:90%;margin: 0 auto;max-width: 1600px;z�57            h4 {58                margin-top: 1em;font-size:35px;59            }60            h2{61                font-size:25px;62            }63            z
Stats By ZachzA website for hockey analytics�Homezhome/z
Batter ChartsZSprayzspray/zDecision Valuezdecision_value/zDamage Modelz
damage_model/zBatter Scatterzbatter_scatter/z
EV vs LA Plotz	ev_angle/z
Goalie Chartsz
GSAx Timelinezgsax-timeline/zGSAx Leaderboardzgsax-leaderboard/zGSAx Comparisonzgsax-comparison/zTeam Chartsz
Team xG Rateszteam-xg-rates/ZGameszgames/ZAboutzabout/ZArticlesz	articles/z
Select Batterr)�width�size�	selectizez2023 vs MLBr-Z1000px)r��height)Q�shiny�shinyswatch�plotly.express�express�px�shinywidgetsrr�pandas�pd�	configurer�math�datetime�datasetsr�numpyrrj�matplotlib.tickerrZmatplotlib.gridspecr�matplotlib.pyplot�pyplotrh�scipy.statsr	�datasetZ
dataset_train�	to_pandas�	set_index�list�features�keys�reset_indexZdf_2023rd�arctan�piZ
conditions_ssZ64choices_ss�selectrZconditions_wobaZchoices_woba�isnull�dropnarc�round�str�astyperbZdf_2022_biprm�to_dictZbatter_dictr��App�ui�65page_fluid�tags�base�divr��theme�simplex�h4�i�66navset_tab�nav_control�a�nav_menu�row�layout_sidebar�
panel_sidebar�input_select�67panel_main�nav�output_plot�sprayrrrr�<module>sF�$,$6869�707172737475�	z�767778������������������������G����������k�