
    hMhI
                        d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	 ddl
Z
ddlmZ erddlmZ dd	lmZ dd
lmZ e G d d                      ZdS )z,Base module for statistical transformations.    )annotations)Iterable)	dataclass)ClassVarAnyN)TYPE_CHECKING)	DataFrame)GroupBy)Scalec                  >    e Zd ZU dZdZded<   ddZ	 dddZddZdS )Statz>Base class for objects that apply statistical transformations.FzClassVar[bool]group_by_orientparamstroptionsIterable[Any]returnNonec                   t          | |          }||vrp|^ }}d                    d |dd         D                       d|z   }d                    d| d| j        j         d	d
| d|dg          }t	          |          dS )z9Raise when parameter value is not one of a specified set., c              3     K   | ]}|V  d S N .0xs     S/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/seaborn/_stats/base.py	<genexpr>z+Stat._check_param_one_of.<locals>.<genexpr>&   s$      "?"?a8"?"?"?"?"?"?    Nz or  zThe `z` parameter for `z	` must bezone of z; not .)getattrjoin	__class____name__
ValueError)selfr   r   valuemostlast
option_strerrs           r   _check_param_one_ofzStat._check_param_one_of!   s    e$$!KT4"?"?T#2#Y"?"?"???///QJ((RRR0GRRR6*66E666  C S//!  r      	data_vars	list[str]
stacklevelintc                
   t          | |          }t          |          t          |          z
  }|rQ| j        j         d| }d                    d |D                       }d| d| d}t          j        ||           dS dS )zFWarn if vars are named in parameter without being present in the data.r"   r   c              3     K   | ]}|V  d S r   r   r   s     r   r   z,Stat._check_grouping_vars.<locals>.<genexpr>5   s$      ::1h::::::r   z!Undefined variable(s) passed for z: )r2   N)r#   setr%   r&   r$   warningswarn)r(   r   r0   r2   
param_vars	undefinednamesmsgs           r   _check_grouping_varszStat._check_grouping_vars-   s     T5))

OOc)nn4	 	6~.8888EII::	:::::EGeGGuGGGCM#*555555		6 	6r   datar	   groupbyr
   orientscalesdict[str, Scale]c                    |S )zIApply statistical transform to data subgroups and return combined result.r   )r(   r>   r?   r@   rA   s        r   __call__zStat.__call__9   s	     r   N)r   r   r   r   r   r   )r/   )r   r   r0   r1   r2   r3   r   r   )
r>   r	   r?   r
   r@   r   rA   rB   r   r	   )	r&   
__module____qualname____doc__r   __annotations__r.   r=   rD   r   r   r   r   r      sw         HH ',O++++
" 
" 
" 
" CD
6 
6 
6 
6 
6     r   r   )rG   
__future__r   collections.abcr   dataclassesr   typingr   r   r7   r   pandasr	   seaborn._core.groupbyr
   seaborn._core.scalesr   r   r   r   r   <module>rP      s    2 2 " " " " " " $ $ $ $ $ $ ! ! ! ! ! !                              +      ------****** 1 1 1 1 1 1 1 1 1 1r   