CoolFace
Apppublic

TJStatsApps/2025_decision_value

sourceHugging Facemitupdated 1y agoView on Hugging Face
0likes
app.cpython-311.pyc96 linesDownload Raw Back to __pycache__
127Pd�F���	�ddlZddlZddlmZddlZddl	Z	ddl3mZddl4m
Z
ejd��dZej�d��e_ejdd�Zeejdd�Zd�ejD��e_e�dd	i�5��Zejed<e�gd��
������dd����d���Zejddg���Zgd�Zgd�Zeed�e��Ze�d��� ��dzed<e�ddg��� ��dzed<egd�Ze!de"e����ded<d�ej#D��ed <d!�ej#D��ed"<d#�ej$D��ed$<ddl%Z%e�&d�%��d&�'d'����d���Z(ej)e�&d�%��d&�d���e(d(��)��Z*e�+e*d&d&d*�+���+ed,dgd-d.gd*�+��Ze!de"e����e�d&�/���&d�%���d���dd&gZ,e,�-d��Z,e,d&�.��Z/gd0�Z0dd1l1m2Z2m3Z3m4Z4ddl5m6Z7e2j8e2j9d2��e2j:e2j;d3e2j:e2j<d4����e2j:e2j<d5����e2j:e2j=d6d7e/������e2j;de2j>d8d9d:�;��d�<��e2j;d=e2j?d>d?dd@dA��d�<��e2j;d=e2j?dBdCddDd��d�<����e2j:e2j;dEe2j>dFdGdH�;��d�<��e2j;dEe2j>dIdGdH�;��d�<����e2j@dJ��e2j>dKdL�M����ZAddNlBmCZCmDZDdO�ZEe4eAeE��ZFdS)P�N)�
FuncFormatterz�https://www.fangraphs.com/leaders.aspx?pos=all&stats=pit&lg=all&qual=0&type=36&season=2023&month=0&season1=2023&ind=0&team=0&rost=0&age=0&filter=&players=0&startdate=2023-01-01&enddate=2023-12-31&page=1_5000�������c�:�g|]}|�dd����S)zStf+ �)�replace��.0�xs  �4G:\My Drive\Python\Baseball\mlb\2023\app_name\app.py�6<listcomp>r
s&��D�D�D�a�A�I�I�g�b�)�)�D�D�D��FA�FF)�columns�ST)�Name�Team�IP)�id_varsrF��by�	ascendingT��dropzexit_velo_df.csv)�	index_col)�In play, out(s)�Swinging Strike�Ball�Foul�In play, no outz
Called Strike�Foul Tip�In play, run(s)zHit By PitchzBall In Dirt�Pitchout�Swinging Strike (Blocked)�	Foul Bunt�Missed Bunt)	rrr!r"r#r$r&r'r(�description�7pitcher_id�pitch�8pitch_type�pitch_type_count)�game_id�dater*�pitcher�9pitch_coder,�pitch_velocity�coder)r+r-z10we made it�pitchesc�>�g|]}|dk|dkz|dkzrdnd��S)�S�W�Trr�r11s  r
rr9s7��c�c�c�A��c��A��H� 5�q�3�w� ?�G�!�!�a�c�c�cr�whiffsc�L�g|]!}|dk|dkz|dkz|dkzrdnd��"S)r6r7r8�Crrr9r12s  r
rr:sA��k�k�k�TU�a�3�h��c��2�A��G�<�a�3�h�G�O�q�q�a�k�k�kr�cswc�(�g|]}|tvrdnd��S)rr)�	swings_inr13s  r
rr;s$��W�W�W��q�I�~�~�!�!�1�W�W�Wr�swings��subsetr0c��tj|t�d����d���j��dd�pdgdS)NrrATrrr)�difflib�get_close_matches�
stuff_df_melt�drop_duplicates�reset_indexr)rs r
�<lambda>rI@s���^e�^w�xy�{H�{X�{X�`f�{X�{g�{g�{s�{s�y}�{s�{~�{~�{C�_D�_D�EG�FG�EG�_H�_R�MQ�LR�TU�^V�r)r0�eno_name)�data�left)�right�left_on�right_on�howrJr�variable)r)14z#FFB000z#648FFFz#785EF0z#DC267Fz#FE6100z#3D1EB2z#894D80z#16AA02z#B5592Bz#A3C1ED)�ui�render�Appz#MLB Pitcher Rolling CSW% and Whiff%�zCreated by: @TJStatszData: MLB, Eno Sarris�idzSelect Pitcher�plot3�150px�100px)�height�width)�offset��nzPitch Rolling Window Size�d�15�swingzSwing Rolling Window Size�2��plot2�250px�900px�	plotwhiffz%Rolling CSW% and Whiff% by Pitch Type�plot�550px)rZ)�Request�urlopenc�H��|tjd����fd�����}|tjd����fd�����}|tjd����fd�����}|tjd����fd�����}dS)N�hist)�altc	���tjd���\}}|�d��|�d��tjdt16t17jt������k�	d���jd�d	���}|�18|��|�d��dS)19N)rUr]��figsizez#f7f7f7�offzwhttps://img.mlbstatic.com/mlb-photos/image/upload/d_people:generic:headshot:67:current.png/w_213,q_auto:best/v1/people/Trrz/headshot/67/current.png)�plt�subplots�
set_facecolor�axis�imread�exit_velo_dfr*�intrVrH�imshow)�fig�ax�im�inputs   �r
rWzserver.<locals>.plot3�s'����,�u�-�-�-���R����)�$�$�$�	�������
�Z�H�S_�`l�`w�y|�}B�}E�}E�}G�}G�yH�yH�`H�SI�SU�SU�[_�SU�S`�S`�Sk�lm�Sn�H�H�H�I�I��20�	�	�"�
�
�
�21��������rc����ttjt������k}t	jddd���\}}t
jdd���|�|d�	��|d�	��z��22��|j���d	d23�
|d�	��|d�	��z��zdzdd
d���|�tj�	��tj�	��z��24��|j���dd25�
tj�	��tj�	��z��zdzddd���t
j|j|���26����27������	��d|���28����29������	��dzd|t$d���|���30��|j�����t	jgd���|�dd��|���}|�ddd���|�ddd���|�d�|D����|j�t9d�����|�d ��|���dS)!Nr�r`�rp�	whitegrid�pastel��style�paletter=r4�Pitcher Average (�{:.1%}�)�black�-.皙�����?��xmin�xmax�label�color�31linestyles�alpha�League Average (�r�--�333333�?)�min_periodsrUr�r�y�	linewidthr|r��rg�������?r�r�g�������?r�Pitchr`�Century Gothic��fontsize�fontname�CSW%c�8�g|]}d�|����S�z{:,.0%}��formatr32s  r
rz)server.<locals>.plot2.<locals>.<listcomp>��&��>�>�>�A�I�,�,�Q�/�/�>�>�>rc� �t|��S�N�ry�r�_s  r
rIz'server.<locals>.plot2.<locals>.<lambda>�����A���r�white)rxr*ryrVrsrt�sns�	set_theme�hlines�sumr^r+�maxr�r=r4�lineplot�rolling�colour_palette�set_xlim�yticks�set_ylim�33get_yticks�34set_xlabel�35set_ylabel�set_yticklabels�xaxis�set_major_formatterrru�tight_layout)�exit_velo_df_smallr{r|�valsr~s    �r
rdzserver.<locals>.plot2�s���*�,�*A�3�u�x�x�z�z�?�?�*R�S���,�q�!�W�5�5�5���R��
�K��:�:�:�:�36�	�	�$�U�+�/�/�1�1�2D�Y�2O�2S�2S�2U�2U�U�[`�[b�[b�[d�[d�+�1�5�5�7�7�-�h�o�o�>P�QV�>W�>[�>[�>]�>]�^p�qz�^{�^�^�_B�_B�?B�/C�/C�C�DG�G�NU�ae�lo�	�	p�	p�	p�	�	�	�,�"�&�&�(�(��)=�)A�)A�)C�)C�C������Xj�Xp�Xt�Xt�Xv�Xv�,�X�_�_�\�=M�=Q�=Q�=S�=S�T`�Th�Tl�Tl�Tn�Tn�=n�-o�-o�o�ps�s�z}�JN�UX�	�	Y�	Y�	Y�	��)�/�2D�2L�2L�U�W�W�Y�Y�ch�cj�cj�cl�cl�2L�2m�2m�2q�2q�2s�2s�ty�2z�|N�|V�|V�W\�W^�W^�W`�W`�mr�mt�mt�mv�mv�|V�|w�|w�|{�|{�|}�|}�~G�|H�3H�UV�Z\�cq�rs�ct�	u�	u�	u�	u�37���E�G�G�I�I�0�6�:�:�<�<�=�=�=��38�(�(�(�)�)�)�39���A�a�����}�}����40�
�
�g��4D�
�E�E�E�41�
�
�f�r�3C�
�D�D�D�42���>�>��>�>�>�?�?�?�43��$�$�]�3F�3F�%G�%G�H�H�H����'�"�"�"��������rc���ttjt������k}t	|��||jdk}t	|�����|�d�����dz|d<t	|j	��tjddd���\}}tj
dd���|�|d	���|d44���z����|j	���dd�|d	���|d45���z��zd
zddd���|�tj���tj���z����|j	���dd�tj���tj���z��zd
zddd���tj|j	|����������d	|����������d46zd|t.d���|�����|j	�����tjgd���|�dd��|���}|�ddd���|�ddd���|�d�|D����|j� tCd �����|�"d!��|�#��dS)"Nrr*�whiff_countr�rpr�r�r�r:r@r�r�r�r�r�r�r�r�r�r�r�rUr�r�r�Swingsr`r�r��Whiff%c�8�g|]}d�|����Sr�r�r47s  r
rz-server.<locals>.plotwhiff.<locals>.<listcomp>�r�rc� �t|��Sr�r�r�s  r
rIz+server.<locals>.plotwhiff.<locals>.<lambda>�r�rr�)$rxr*ryrV�printr@rH�groupby�cumcountr�rsrtr�r�r�r�rar�r�r:r^r�r�r�r�r�r�r�r�r�r�r�r�rrur�)r��exit_velo_df_small_swingr{r|r�r~s     �r
rgzserver.<locals>.plotwhiff�sw���*�,�*A�3�u�x�x�z�z�?�?�*R�S��
� �!�!�!�#5�6H�6O�ST�6T�#U� �
�&�2�2�4�4�5�5�5�2J�2R�2R�S_�2`�2`�2i�2i�2k�2k�lm�2m� ��/�
�&�2�3�3�3��,�q�!�W�5�5�5���R��
�K��:�:�:�:�48�	�	�*�8�4�8�8�:�:�;S�T\�;]�;a�;a�;c�;c�c�in�it�it�iv�iv�1�=�A�A�C�C�-�h�o�o�>V�W_�>`�>d�>d�>f�>f�g�AI�hJ�hN�hN�hP�hP�?P�/Q�/Q�Q�RU�U�\c�os�z}�	�	~�	~�	~�	�	�	�,�%�)�)�+�+�L�,?�,C�,C�,E�,E�E�5�7�7�9�9�Zr�Z~�[C�[C�[E�[E�,�X�_�_�\�=P�=T�=T�=V�=V�Wc�Wj�Wn�Wn�Wp�Wp�=p�-q�-q�q�ru�u�|�LP�WZ�	�	[�	[�	[�	��/�;�>V�>^�>^�_d�_j�_j�_l�_l�>m�>m�>q�>q�>s�>s�t|�>}�W�_�_�`e�`k�`k�`m�`m�n�n�r�r�t�t�u}�~�?~�KL�PR�Yg�hi�Yj�	k�	k�	k�	k�49���E�K�K�M�M�":�"F�"J�"J�"L�"L�M�M�M��50�(�(�(�)�)�)�51���A�a�����}�}����52�
�
�h��5E�
�F�F�F�53�
�
�h��5E�
�F�F�F�54���>�>��>�>�>�?�?�?�55��$�$�]�3F�3F�%G�%G�H�H�H����'�"�"�"��������rzA histogramc�~��ttjt�	�����k}|�ddg��dg���|d���z}dg|_|�dd������}||j	dk}tjd���}td	t|����D�	]}||j|j|k}tjd56d���tjd
t|��|dz��}|�|d���|d���z�	���|j���dd�|d���|d���z��zdzddd���|�ttj|j|kj���ttj|j|kj���z�	���|j���dd�ttj|j|kj���ttj|j|kj���z��zdzddd���tj|j|��	��������d|��	��������dzd
|t8|���|�ddd� ��|�|j|d!z|j|zd"zd�|j	|��zd#ztA|j!�����zd$zd%dd&�'��|�"d(dd� ��|d	kr|�#��|�$�	���|j�����tj%gd)���|�&d	d��|�'��}|�(d*�|D����|j)�*tWd+�����|�#d,�-��||j,dk}|�d.���-��dz|d/<tjd
t|��|dzt|��z��}|�|d0���|d1���z�	�.��|j���dd�|d0���|d1���z��zdzddd���|�ttj|j|kj/���ttj|j|kj,���z�	�.��|j���dd�ttj|j|kj/���ttj|j|kj,���z��zdzddd���tj|j0|��	�.�������d0|��	�.�������d1zd
|t8|���|�d2dd� ��|�"d3dd� ��|d	kr-|�#��|j0���}|�$�	�.��|��tj%gd)���|�&d	d��|�'��}|�(d4�|D����|j)�*tWd5�����|�#d,�-���	�|�1d6��|�2��dS)7Nr,r1�porpFrg�������?)�r�rprr�r�r�rUrr=r4r�r�r�r�r�r�r�r�r�r�r�r��Pitchesr`r�r�z - z (z) - z Stuff+��bold)r�r��weightr�r�c�8�g|]}d�|����Sr�r�r57s  r
rz(server.<locals>.plot.<locals>.<listcomp>'�&��B�B�B��	� 0� 0�� 3� 3�B�B�Brc� �t|��Sr�r�r�s  r
rIz&server.<locals>.plot.<locals>.<lambda>(���C��F�F�r�)r�r*r�r:r@r�r�c�8�g|]}d�|����Sr�r�r58s  r
rz(server.<locals>.plot.<locals>.<listcomp>Hr�rc� �t|��Sr�r�r�s  r
rIz&server.<locals>.plot.<locals>.<lambda>Ir�rr�)3rxr*ryrVr��countr�sort_valuesrHr�rs�figure�range�lenr,r�r��subplotr�r�r^r-r�r�r=r4r�r�r�r��	set_titler1�str�valuer��legendr�r�r�r�r�r�r�rr@r�rar:r�rur�)59r��
pitch_list_dfr{�i�exit_velo_df_small_pitchr|r�r��	max_whiffr~s60         �r
rhzserver.<locals>.plot�s����*�,�*A�3�u�x�x�z�z�?�?�*R�S��,�3�3�\�,�4O�P�P�R^�Q_�`�f�f�h�h�k}�K�lL�lR�lR�lT�lT�T�
�!'��
��%�1�1�V�e�1�L�L�X�X�Z�Z�
�%�m�&8�D�&@�A�
�61�j��)�)�)���q��]�+�+�,�,�A	"�A	"�A�'9�:L�:W�Yf�Yq�rs�Yt�:t�'u�$��M��X�>�>�>�>���Q�s�=�1�1�!�A�#�6�6�B��I�I�.�u�5�9�9�;�;�<T�U^�<_�<c�<c�<e�<e�e�kp�kr�kr�kt�kt�-�>�B�B�D�D�/����@X�Y^�@_�@c�@c�@e�@e�f~�@I�gJ�gN�gN�gP�gP�AP�1Q�1Q�Q�RU�U�\c�os�z}�
�
~�
~�
~�
�I�I�l�<�#:�M�<T�UV�<W�#W�X�\�`�`�b�b�co�p|�qH�JW�Jb�cd�Je�qe�df�dn�dr�dr�dt�dt�t�z�zA�zA�zC�zC�I[�Il�Ip�Ip�Ir�Ir�.�x���|�L�Lc�er�e}�~�fA�MA�@B�@F�@J�@J�@L�@L�MY�Zf�Zq�s@�sK�LM�sN�ZN�MO�MW�M[�M[�M]�M]�@]�0^�0^�^�_b�b�il�x|�CF�
�
G�
G�
G�
�L�3�D�G_�Gg�Gg�hm�ho�ho�hq�hq�Gr�Gr�Gv�Gv�Gx�Gx�y~�G�AY�Aa�Aa�bg�bi�bi�bk�bk�Al�Al�Ap�Ap�Ar�Ar�s|�A}�H}�JK�OQ�Xf�gh�Xi�
j�
j�
j�
j�
�M�M�)�b�:J�M�K�K�K�
�L�L��1�!�4�e�;�]�=U�VW�=X�X�Z^�^�_g�_n�_n�p}�qC�DE�qF�`H�`H�H�IO�O�PS�Tl�Tr�Tv�Tv�Tx�Tx�Py�Py�y�zC�C�NP�Zj�rx�L�
y�
y�
y��M�M�&�2�7G�M�H�H�H��1�u�u��	�	�����K�K����	�	�"4�"E�"I�"I�"K�"K�L�L�L��J�,�,�,�-�-�-��K�K��!�����=�=�?�?�D����B�B�T�B�B�B�C�C�C��H�(�(��7J�7J�)K�)K�L�L�L��I�I�q�I�!�!�!�(@�@X�@_�cd�@d�'e�$�6N�6V�6V�Wc�6d�6d�6m�6m�6o�6o�pq�6q�$�]�3���Q�s�=�1�1�!�A�#�c�-�6H�6H�2H�I�I�B��I�I�.�x�8�<�<�>�>�?W�X`�?a�?e�?e�?g�?g�g�mr�mx�mx�mz�mz�-�>�B�B�D�D�/����@X�Ya�@b�@f�@f�@h�@h�jB�CK�jL�jP�jP�jR�jR�AR�1S�1S�S�TW�W�^e�qu�|�
�
@�
@�
@�
�I�I�l�<�#:�M�<T�UV�<W�#W�X�_�c�c�e�e�fr�s�tK�MZ�Me�fg�Mh�th�gi�gp�gt�gt�gv�gv�v�|A�|G�|G�|I�|I�Oa�Or�Ov�Ov�Ox�Ox�.�x���|�L�Lc�er�e}�~�fA�MA�@B�@I�@M�@M�@O�@O�P\�]i�]t�vC�vN�OP�vQ�]Q�PR�PY�P]�P]�P_�P_�@_�0`�0`�`�ad�d�kn�z~�EH�
�
I�
I�
I�
�L�3�?�BZ�Bb�Bb�ch�cn�cn�cp�cp�Bq�Bq�Bu�Bu�Bw�Bw�yA�CB�C[�Cc�Cc�di�do�do�dq�dq�Cr�Cr�Cv�Cv�Cx�Cx�yA�CB�CB�OP�TV�]k�lm�]n�
o�
o�
o�
o�
�M�M�(�R�9I�M�J�J�J��M�M�(�R�9I�M�J�J�J��1�u�u��	�	����4�@�D�D�F�F�	��K�K����
�
�i�0�0�0��J�,�,�,�-�-�-��K�K��!�����=�=�?�?�D����B�B�T�B�B�B�C�C�C��H�(�(��7J�7J�)K�)K�L�L�L��I�I�q�I�!�!�!�!�62	���'�"�"�"��������r)rSrh)r~�output�sessionrWrdrgrhs`      r
�serverr��s	�����[�V�����������V��.��[�V�����������V��0��[�V�����������V��@��[�]�#�#�#�a�a�a�a�$�#��V�a�a�ar)G�pandas�pd�numpy�np�matplotlib.pyplot�pyplotrs�seabornr��math�matplotlib.ticker�ticker�mtickr�	read_html�stuff_dfr�	droplevel�iloc�rename�SL�melt�dropnar�rHrF�read_csvrx�codes_inr?�isinr�r�r�r�r3r)rDrG�apply�
eno_name_list�	DataFrame�df_eno_exit_name�merge�test_df�	set_index�to_dict�pitcher_dictr��shinyrRrSrT�matplotlib.image�image�mpimg�63page_fluid�h2�row�column�h6�input_select�output_plot�input_slider�h4�app_ui�urllib.requestrjrkr��appr9rr
�<module>rs�������������������������!�!�!�!�!�!�,�,�,�,�,�,��2�<�j�k�k�lm�n���#�-�-�a�0�0����=��"�����H�$�Q�R�R�(�)��D�D�8�3C�D�D�D����?�?�d�4�[�?�1�1��������
�
�&:�&:�&:�
�;�;�B�B�D�D�P�P�TX�ch�P�i�i�u�u�{�u�A�A�
��r�{�-���<�<�<��
�
�
��
�
�
�	��L��7�<�<�X�F�F�G��$�,�,�\�:�:�C�C�E�E��I��W��#/�#7�#7��l�8S�#T�#T�#]�#]�#_�#_�bc�#c��
� ��a�a�a�b����l�3�3�|�$�$�%�%�%���Y��c�c�Q]�Qb�c�c�c��X��k�k�Ye�Yj�k�k�k��U��W�W�l�>V�W�W�W��X�������,�,�L�,�A�A�)�L�R�R�TV�TV�W�W�c�c�im�c�n�n�
��2�<��0L�0L�T`�0L�0a�0a�bk�0l�0x�0x�C�0x�1D�1D�P]�&^�&^�_�_�_���!�!�(8��T]�bh�!�i�i�o�o�wD�NX�Ye�Mf�qw�xB�pC�HN�o�O�O����l�3�3�|�$�$�%�%�%��64"�65"�i�66"�670�680�69@�70@��71@�72U�73U�74a�75a�gk�76a�77l�78l�nz�|E�nF�G��79�80�81�L�82)�83)���y�!�)�)�+�+��Y�Y�Y��84"�!�!�!�!�!�!�!�!�!� � � � � � �	���85�B�E�86/�0�0�87�B�F���	�
��B�F�5�2�5�/�0�0�1�1��B�F�5�2�5�0�1�1�2�2��B�F�?�2�?�4�)9�,�G�G�H�H�		�	�	��	�
��B�N�7�G�'�B�B�B�!�	M�	M�	M�	��	�
��B�O�C�!<�a��b�I�I�QR�	T�	T�	T�	��	�
��B�O�G�%@�!�R��K�K�ST�	V�	V�	V�88�89�,�B�F���	�
��B�N�7�G�'�B�B�B�!�	M�	M�	M�	��	�
��B�N�;��g�F�F�F�a�	Q�	Q�	Q�	90�91�092�B�E�931�2�2��B�N�6�7�+�+�+�g694�695��p,�+�+�+�+�+�+�+�@�@�@�Z96�c�&�&�����r