
    eCi                        S SK Jr  S SKJr  S SKJrJr   S SKJr  S SK
rS SKJr  S SKJr  S SKJr  S S	KJr  S S
KJr  \S   r\ " S S\5      5       rg! \ a	    S SK	Jr   NFf = f)    )annotations)	dataclass)ClassVarcast)LiteralN)	DataFrame)Scale)GroupBy)Stat)_version_predates)inverted_cdfaveraged_inverted_cdfclosest_observationinterpolated_inverted_cdfhazenweibulllinearmedian_unbiasednormal_unbiasedlowerhighermidpointnearestc                  l    \ rS rSr% SrSrS\S'   SrS\S'   S	rS
\S'   SS jr	          SS jr
Srg)Perc%   a!  
Replace observations with percentile values.

Parameters
----------
k : list of numbers or int
    If a list of numbers, this gives the percentiles (in [0, 100]) to compute.
    If an integer, compute `k` evenly-spaced percentiles between 0 and 100.
    For example, `k=5` computes the 0, 25, 50, 75, and 100th percentiles.
method : str
    Method for interpolating percentiles between observed datapoints.
    See :func:`numpy.percentile` for valid options and more information.

Examples
--------
.. include:: ../docstrings/objects.Perc.rst

   zint | list[float]kr   strmethodTzClassVar[bool]group_by_orientc                   [        U R                  [        5      (       a+  [        [        R
                  " SSU R                  5      5      OU R                  n[        [        U R                  5      nX   R                  5       n[        [        S5      (       a  [        R                  " XSUS9nO%[        R                  " X   R                  5       X4S9n[        X&SU05      $ )Nr   d   z1.22)interpolation)r    
percentile)
isinstancer   intlistnplinspacer   _MethodKindr    dropnar   r%   r   )selfdatavarr   r    valuesress          N/home/james-whalen/.local/lib/python3.13/site-packages/seaborn/_stats/order.py_percentilePerc._percentile>   s    1;DFFC1H1HDQTVV,-dffk4;;/!!#R((--@C--	 0 0 2AEC#L!455    c                J    SSS.U   nUR                  XR                  U5      $ )Nyx)r8   r7   )applyr3   )r-   r.   groupbyorientscalesr/   s         r2   __call__Perc.__call__I   s*     c"6*}}T#3#3S99r5    N)r.   r   r/   r   returnr   )
r.   r   r:   r
   r;   r   r<   zdict[str, Scale]r@   r   )__name__
__module____qualname____firstlineno____doc__r   __annotations__r    r!   r3   r=   __static_attributes__r?   r5   r2   r   r   %   sZ    $ AFC&*O^*	6::(/:9<:FV:	:r5   r   )
__future__r   dataclassesr   typingr   r   r   ImportErrortyping_extensionsnumpyr)   pandasr   seaborn._core.scalesr	   seaborn._core.groupbyr
   seaborn._stats.baser   seaborn.utilsr   r+   r   r?   r5   r2   <module>rS      sj    " ! !*   & ) $ + " (:4 (: (:?  *)*s   A A#"A#