o
    i                     @  s   d dl mZ d dlmZ d dlmZmZ zd dlmZ W n ey+   d dl	mZ Y nw d dl
Zd dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ ed ZeG dd deZdS )    )annotations)	dataclass)ClassVarcast)LiteralN)	DataFrame)Scale)GroupBy)Stat)Version)inverted_cdfaveraged_inverted_cdfclosest_observationinterpolated_inverted_cdfhazenweibulllinearmedian_unbiasednormal_unbiasedlowerhighermidpointnearestc                   @  sJ   e Zd ZU dZdZded< dZded< dZd	ed
< dddZdddZ	dS )PercaY  
    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_orientdatar   varreturnc                 C  s   t | jtrttdd| jn| j}tt| j}|| 	 }t
tjt
dk r1tj|||d}ntj|| 	 ||d}t||d|iS )Nr   d   z1.22.0)interpolation)r   
percentile)
isinstancer   intlistnplinspacer   _MethodKindr   dropnar   __version__r$   r   )selfr   r    r   r   valuesres r0   O/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/seaborn/_stats/order.py_percentile>   s   &zPerc._percentilegroupbyr	   orientscalesdict[str, Scale]c                 C  s   ddd| }| || j|S )Nyx)r8   r7   )applyr2   )r-   r   r3   r4   r5   r    r0   r0   r1   __call__I   s   zPerc.__call__N)r   r   r    r   r!   r   )
r   r   r3   r	   r4   r   r5   r6   r!   r   )
__name__
__module____qualname____doc__r   __annotations__r   r   r2   r:   r0   r0   r0   r1   r   %   s   
 
r   )
__future__r   dataclassesr   typingr   r   r   ImportErrortyping_extensionsnumpyr(   pandasr   seaborn._core.scalesr   seaborn._core.groupbyr	   seaborn._stats.baser
   seaborn.external.versionr   r*   r   r0   r0   r0   r1   <module>   s&   