Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/site-packages/pandas/util/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/site-packages/pandas/util/__pycache__/_doctools.cpython-312.pyc

�

Mٜg���r�ddlmZddlmZddlZddlZerddlm	Z	Gd�d�Z
d	d�Zedk(re�yy)
�)�annotations)�
TYPE_CHECKINGN)�Iterablec�^�eZdZdZ			d
							dd�Zdd�Zd
d�Zddd�Zd�Zd�Z	ddd	�Z
y)�TablePlotterzg
    Layout some DataFrames in vertical/horizontal layout for explanation.
    Used in merging.rst
    c�.�||_||_||_y�N)�
cell_width�cell_height�	font_size)�selfr
rrs    �@/usr/local/lib/python3.12/site-packages/pandas/util/_doctools.py�__init__zTablePlotter.__init__s��%���&���"���c��|j\}}||jjz||jjzfS)zA
        Calculate table shape considering index levels.
        )�shape�columns�nlevels�index)r
�df�row�cols    r�_shapezTablePlotter._shapes:���8�8���S��R�Z�Z�'�'�'��r�x�x�/?�/?�)?�?�?rc����|r]tt�fd�|D���j|�d�}t�fd�|D���j|�dz}||fSt|D�cgc]}�j|�d��c}�j|�dgz�}t|D�cgc]}�j|�d��c}�j|�dgz�}||fScc}wcc}w)zQ
        Calculate appropriate figure size based on left and right data.
        c3�F�K�|]}�j|�d���y�w�rN�r��.0rr
s  �r�	<genexpr>z*TablePlotter._get_cells.<locals>.<genexpr>*s�����?�$�B�T�[�[��_�Q�/�$���!rc3�F�K�|]}�j|�d���y�w��Nrrs  �rr z*TablePlotter._get_cells.<locals>.<genexpr>+s�����;�d�����R���+�d�r!r$)�max�sumr)r
�left�right�vertical�vcells�hcellsrs`      r�
_get_cellszTablePlotter._get_cells$s�������?�$�?�?����U�AS�TU�AV�W�F��;�d�;�;�d�k�k�%�>P�QR�>S�S�F��v�~���t�<�t��$�+�+�b�/�!�,�t�<����E�@R�ST�@U�?V�V�W�F��t�<�t��$�+�+�b�/�!�,�t�<����E�@R�ST�@U�?V�V�W�F��v�~���=��<s�*C'�+C,c	���ddlm}ddlm}t	|t
�s|g}|D�cgc]}�j
|���}}�j
|�}�j|||�\}}	|r�j|z�j|	zf}
n�j|z�j|	zf}
|j|
��}|r�|jt|�|�}t�fd�|D��}
t�fd�|D��}tt||��D]8\}\}}|j!||d|
�f�}�j#|||d|z���:|j%|dd�|
d�f�}�j#||d	d
|	z��|j'dddd
��|St�fd�||gzD��}dt)j|�z}|jd|�}d}t||�D]Q\}}�j+|�}|j!|d|||dz�f�}�j#||||��||dz
}�S|j%|d|d�f�}�j#||d	|��|j'dddd
��|Scc}w)a�
        Plot left / right DataFrames in specified layout.

        Parameters
        ----------
        left : list of DataFrames before operation is applied
        right : DataFrame of operation result
        labels : list of str to be drawn as titles of left DataFrames
        vertical : bool, default True
            If True, use vertical layout. If False, use horizontal layout.
        r)�gridspecN)�figsizec3�F�K�|]}�j|�d���y�wr#rrs  �rr z$TablePlotter.plot.<locals>.<genexpr>Q������B�T�r����B��� 2�T�r!c3�F�K�|]}�j|�d���y�wrrrs  �rr z$TablePlotter.plot.<locals>.<genexpr>Rr1r!��?)�title�height�Resultg�������?g�������?g�������?gffffff�?)�top�bottomr'r(c3�F�K�|]}�j|�d���y�wrrrs  �rr z$TablePlotter.plot.<locals>.<genexpr>[s�����G��"�4�;�;�r�?�1�-��r!r$g333333�?)�
matplotlibr.�matplotlib.pyplot�pyplot�
isinstance�list�_convr,r
r�figure�GridSpec�lenr%�	enumerate�zip�add_subplot�_make_table�subplot�subplots_adjust�npr)r
r'r(�labelsr)r.�pltrr+r*r/�fig�gs�
max_left_cols�
max_left_rows�i�_left�_label�ax�max_rowsr5�sps`                     r�plotzTablePlotter.plot1s����	(�'��$��%��6�D�)-�.��2��
�
�2����.��
�
�5�!������u�h�?������o�o��.��0@�0@�6�0I�I�G��o�o��.��0@�0@�6�0I�I�G��j�j��j�)����"�"�3�t�9�f�5�B��B�T�B�B�M��B�T�B�B�M�&/��D�&�0A�&B�"��?�E�6��_�_�R��1�]�?�(:�%;�<��� � ��U�&��}�AT� �U�'C����R��=�>� 1�2�3�B����R��h�t�f�}��M����C��4�t��L�"�
��G���w��G�G�H��2�6�6�(�+�+�F��"�"�1�f�-�B��A�!�$��/�
��F��[�[��_���_�_�R��1�q�2�a�5�y�=�(8�%9�:��� � ��R�v�f� �E��R��U�
��	0����R��1�2��Y�'�B����R��h�v��F����D��D���M��
��Q/s�I=c��t|tj�r/|j�|j	d��}n|j	�}|jd�}|S)zF
        Convert each input to appropriate for table outplot.
        �)�name�NaN)r=�pd�SeriesrY�to_frame�fillna)r
�datas  rr?zTablePlotter._convlsJ���d�B�I�I�&��y�y� ��}�}�"�}�-���}�}����{�{�5�!���rc��|j�}|jj}|dk(r|jdd|j�n?t	|�D]1}|j|d|��|jj|���3|jj}|dkDr�|jjd�}t	d|�D�cgc]'}|jj|�j��)}}tj|�}|j|_tj||g�}||_|Scc}w)Nr$r�Index)�copyrr�insert�range�_get_level_valuesr�_valuesr[�	DataFrame�concat)r
r_�idx_nlevelsrP�col_nlevelsr�values�col_dfs        r�
_insert_indexzTablePlotter._insert_indexxs���y�y�{���j�j�(�(���!���K�K��7�D�J�J�/��;�'�����A��q�c�{�D�J�J�,H�,H��,K�L�(��l�l�*�*����?��,�,�0�0��3�C�CH��K�CX��CX�a����.�.�q�1�9�9�CX�
���\�\�&�)�F�!�>�>�D�L��9�9�f�d�^�,�D��D�L����s�
,ENc��|�|jd�yddlm}|jj}|j
j}|j
|�}|j||d��}|j|j�|�dt|�dzz}|j�}	|	dj�D]g\\}
}}|d	k(r|jd�n7|
|kr||kr|jd�n|
|ks||kr|jd
�|j|��i|j||j��|j!d�y)
NFr)�plotting�	)�locr3r$�celld���z#AAAAAA)�size�off)�set_visible�pandasrorrrrm�table�set_fontsizerrB�
properties�items�
set_facecolor�
set_height�	set_title�axis)
r
rSrr4r5rorirj�tb�props�r�c�cells
             rrFzTablePlotter._make_table�s$��
�:��N�N�5�!��#��h�h�&�&���j�j�(�(��
�
�
��
#��
�^�^�B���^�
*��
������'��>��C��G�a�K�(�F��
�
���!�'�N�0�0�2�L�F�Q��D��B�w�� � ��'��[��Q��_�� � ��'��[��A��O��"�"�9�-��O�O�F�#�3�	���U�����0�
����r)g�G�z��?g�?g@)r
�floatrr�rr��return�None)rzpd.DataFramer��tuple[int, int])r�r�)�T)rJz
Iterable[str]r)�boolr	)r4�strr5zfloat | Noner�r�)�__name__�
__module__�__qualname__�__doc__rrr,rVr?rmrFr�rrrr
s]���!�!��	#��#��#��	#�

�#�@��9�v
��,rrc���ddlm}t�}tjgd�gd�gd�d��}tjddgdd	gd
��}|j||gtj||g�ddgd
��|j�tjddgdd	gd��}|j||gtj||gd��ddgd��|j�tjjgd��}tjjddg�}tjgd�gd�d�|��}||_
|j||dg��|j�y)Nr)�
��)���)��� )�A�B�Cr�r�r�r�)r�r��df1�df2T)rJr))�X�Zr$)rF)�r$r��r$r�)r$r�)�r�)r�r�)r�r�r�r�)r$r�����)r�r���rpr�)�v1�v2)r�df3)rJ)r;r<rr[rgrVrh�show�
MultiIndex�from_tuplesr)rK�pr�r�r��idx�columns       r�mainr��s4��#���A�
�,�,�\��<�P�
Q�C�
�,�,�b�"�X�R��H�5�
6�C��F�F�C��:�r�y�y�#�s��,�e�U�^�d�F�S��H�H�J�
�,�,�b�"�X�R��H�5�
6�C��F�F�	�c�
�B�I�I�s�C�j�q�1�5�%�.�SX����H�H�J�
�-�-�
#�
#�D��C��]�]�
&�
&��(�';�
<�F�
�,�,�0�8K�L�TW�
X�C��C�K��F�F�3��U�G�F�$��H�H�Jr�__main__)r�r�)
�
__future__r�typingr�numpyrIrwr[�collections.abcrrr�r�r�rr�<module>r�s=��"� ����(�]�]�@�8�z���F�r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists