L iI dZddlmZddlmZddlmZddlmZm Z ddl Z ddlm Z e rddl m Z dd lmZdd lmZeGd d Zy) z,Base module for statistical transformations.) annotations)Iterable) dataclass)ClassVarAnyN) TYPE_CHECKING) DataFrame)GroupBy)Scalec^eZdZUdZdZded<d dZ d d dZ d dZy) Statz>Base class for objects that apply statistical transformations.FzClassVar[bool]group_by_orientct||}||vrf|^}}djd|ddDd|z}djd|d|jjd d |d |d g}t |y) z9Raise when parameter value is not one of a specified set., c3"K|]}| ywN.0xs Y/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/seaborn/_stats/base.py z+Stat._check_param_one_of..&s"?aU8"? Nz or  zThe `z` parameter for `z ` must bezone of z; not .)getattrjoin __class____name__ ValueError)selfparamoptionsvaluemostlast option_strerrs r_check_param_one_ofzStat._check_param_one_of!se$  !KT4"?T#2Y"??D/QJ((w/0G0G/H R*VE9A6CS/ ! ct||}t|t|z }|rT|jjd|}dj d|D}d|d|d}t j ||yy)zFWarn if vars are named in parameter without being present in the data.rrc3"K|]}| ywrrrs rrz,Stat._check_grouping_vars..5s:1h:rz!Undefined variable(s) passed for z: ) stacklevelN)rsetrr rwarningswarn)r"r# data_varsr. param_vars undefinednamesmsgs r_check_grouping_varszStat._check_grouping_vars-s{T5)  Oc)n4 ~~../q8EII: ::E5eWBugQGC MM#* 5 r+c|S)zIApply statistical transform to data subgroups and return combined result.r)r"datagroupbyorientscaless r__call__z Stat.__call__9s  r+N)r#strr$z Iterable[Any]returnNone))r#r>r2z list[str]r.intr?r@) r9r r:r r;r>r<zdict[str, Scale]r?r ) r __module__ __qualname____doc__r__annotations__r*r7r=rr+rr r swH',O^+ "CD 6 6%. 6rNs?2"$!   -* 11 1r+