+
    xȇi:)                    p   R t ^ RIHt ^ RIHtHt ^ RIHtHt ^ RI	t
^ RIHtHtHt ^ RIHt ^ RIHtHt ^ RIHtHtHt ^ R	IHt ^ R
IHt ^ RIHt ]'       d   ^ RIHtH t H!t! ^ RI"H#t#H$t$ R R lt% ! R R]4      t& ! R R]&4      t' ! R R]&4      t(R R lt)R R lt*R R lt+R R lt,R R lt-R  R! lt.R# )"z
Module responsible for execution of NDFrame.describe() method.

Method NDFrame.describe() delegates actual execution to function describe_ndframe().
)annotations)ABCabstractmethod)TYPE_CHECKINGcastN)DtypeObjNDFrameTnpt)validate_percentile)is_bool_dtypeis_numeric_dtype)
ArrowDtypeDatetimeTZDtypeExtensionDtype)Float64Dtype)concat)format_percentiles)CallableHashableSequence)	DataFrameSeriesc          
     ,    V ^8  d   QhRRRRRRRRRR/# )	   objr   includestr | Sequence[str] | Noneexcludepercentiles#Sequence[float] | np.ndarray | Nonereturn )formats   "l/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/core/methods/describe.py__annotate__r$   7   s<     +" +"	+" (+" (	+"
 5+" +"    c                    \        V4      pV P                  ^8X  d   \        \        RV 4      R7      pM\	        \        RV 4      VVR7      pVP                  VR7      p\        \        V4      # )a  Describe series or dataframe.

Called from pandas.core.generic.NDFrame.describe()

Parameters
----------
obj: DataFrame or Series
    Either dataframe or series to be described.
include : 'all', list-like of dtypes or None (default), optional
    A white list of data types to include in the result. Ignored for ``Series``.
exclude : list-like of dtypes or None (default), optional,
    A black list of data types to omit from the result. Ignored for ``Series``.
percentiles : list-like of numbers, optional
    The percentiles to include in the output. All should fall between 0 and 1.
    The default is ``[.25, .5, .75]``, which returns the 25th, 50th, and
    75th percentiles.

Returns
-------
Dataframe or series description.
r   r   r   )r   r   r   )r   )_refine_percentilesndimSeriesDescriberr   DataFrameDescriberdescriber   )r   r   r   r   	describerresults   $$$$  r#   describe_ndframer/   7   sm    8 &k2K xx1}#Xs#
	 '[#&
	 K8F&!!r%   c                  <    ] tR t^etRtR R lt]R R l4       tRtR# )NDFrameDescriberAbstractzAbstract class for describing dataframe or series.

Parameters
----------
obj : Series or DataFrame
    Object to be described.
c                    V ^8  d   QhRRRR/# )r   r   DataFrame | Seriesr    Noner!   )r"   s   "r#   r$   %NDFrameDescriberAbstract.__annotate__n   s      . 4 r%   c                	    Wn         R # Nr'   )selfr   s   &&r#   __init__!NDFrameDescriberAbstract.__init__n   s    r%   c                    V ^8  d   QhRRRR/# )r   r   Sequence[float] | np.ndarrayr    r3   r!   )r"   s   "r#   r$   r5   r   s      $@ EW r%   c                    R# )zDo describe either series or dataframe.

Parameters
----------
percentiles : list-like of numbers
    The percentiles to include in the output.
Nr!   )r8   r   s   &&r#   r,   !NDFrameDescriberAbstract.describeq   s    r%   r'   N)	__name__
__module____qualname____firstlineno____doc__r9   r   r,   __static_attributes__r!   r%   r#   r1   r1   e   s       r%   r1   c                  2    ] tR t^|t$ RtR]R&   R R ltRtR# )r*   z2Class responsible for creating series description.r   r   c                    V ^8  d   QhRRRR/# )r   r   r<   r    r   r!   )r"   s   "r#   r$   SeriesDescriber.__annotate__   s     4 4$@ 4V 4r%   c                	R    \        V P                  4      pV! V P                  V4      # r7   )select_describe_funcr   )r8   r   describe_funcs   && r#   r,   SeriesDescriber.describe   s&    ,HH
 TXX{33r%   r!   N)r?   r@   rA   rB   rC   __annotations__r,   rD   r!   r%   r#   r*   r*   |   s    <	K4 4r%   r*   c                  V   a  ] tR t^t$ RtR]R&   R V 3R lltR R ltR R	 ltR
t	V ;t
# )r+   a>  Class responsible for creating dataobj description.

Parameters
----------
obj : DataFrame
    DataFrame to be described.
include : 'all', list-like of dtypes or None
    A white list of data types to include in the result.
exclude : list-like of dtypes or None
    A black list of data types to omit from the result.
r   r   c               (    V ^8  d   QhRRRRRRRR/# )r   r   r   r   r   r   r    r4   r!   )r"   s   "r#   r$   DataFrameDescriber.__annotate__   s2       ,	
 , 
r%   c               	   < W n         W0n        VP                  ^8X  d'   VP                  P                  ^ 8X  d   \        R4      h\        SV `  V4       R# )r   z+Cannot describe a DataFrame without columnsN)r   r   r)   columnssize
ValueErrorsuperr9   )r8   r   r   r   	__class__s   &&$$r#   r9   DataFrameDescriber.__init__   sD     88q=S[[--2JKKr%   c                    V ^8  d   QhRRRR/# )r   r   r<   r    r   r!   )r"   s   "r#   r$   rO      s      $@ Y r%   c                	X   V P                  4       p. pVP                  4        F'  w  rE\        V4      pVP                  V! WQ4      4       K)  	  \	        V4      p\        V Uu. uF  qP                  V4      NK  	  up^RRR7      p	VP                  P                  4       V	n        V	# u upi )   TF)axisignore_indexsort)	_select_dataitemsrI   appendreorder_columnsr   reindexrQ   copy)
r8   r   dataldesc_seriesrJ   	col_namesxds
   &&        r#   r,   DataFrameDescriber.describe   s      " IA08MLLv;< & $E*	+015aYYy!51	
 LL%%'	 2s   "B'c                   V ^8  d   QhRR/# )r   r    r   r!   )r"   s   "r#   r$   rO      s      i r%   c                   V P                   fe   V P                  fW   \        P                  R.pV P                  P                  VR7      p\        VP                  4      ^ 8X  d   V P                  pV# V P                   R8X  d*   V P                  e   Rp\        V4      hV P                  pV# V P                  P                  V P                   V P                  R7      p\        VP                  4      ^ 8X  d   Rp\        V4      hV# )zSelect columns to be described.datetime)r   allz*exclude must be None when include is 'all')r   r   z<No columns match the specified include or exclude data types)	r   r   npnumberr   select_dtypeslenrQ   rS   )r8   default_includerc   msgs   &   r#   r]   DataFrameDescriber._select_data   s    LL t||';46IIz3JO88))/)BD4<< A%xx  \\U"||'B o%88D  88)) * D 4<< A%T o%r%   )r   r   )r?   r@   rA   rB   rC   rL   r9   r,   r]   rD   __classcell__)rU   s   @r#   r+   r+      s(    
 
N $ r%   r+   c                    V ^8  d   QhRRRR/# )r   rd   zSequence[Series]r    zlist[Hashable]r!   )r"   s   "r#   r$   r$      s     
 
+ 
 
r%   c                    . p\        4       p\        R V  4       \        R7      pV F6  pV F-  pWR9  g   K  VP                  V4       VP	                  V4       K/  	  K8  	  V# )z,Set a convenient order for rows for display.c              3  8   "   T F  qP                   x  K  	  R # 5ir7   )index).0rh   s   & r#   	<genexpr>"reorder_columns.<locals>.<genexpr>   s     3UGGUs   )key)setsortedrr   addr_   )rd   names
seen_namesldesc_indexesidxnamesnames   &     r#   r`   r`      sY    E #J3U3=M!D%t$T"  "
 Lr%   c               $    V ^8  d   QhRRRRRR/# )r   rf   r   r   Sequence[float]r    r!   )r"   s   "r#   r$   r$      s&     .F .F .F_ .F .Fr%   c                   ^ RI Hp \        V4      p\        V4      ^ 8X  d   . pMV P	                  V4      P                  4       p. ROVORNpV P                  4       V P                  4       V P                  4       V P                  4       .VOV P                  4       Np\        V P                  \        4      '       dh   \        V P                  \        4      '       d=   V P                  P                  R8X  d   RpM]^ RIp\        VP#                  4       4      pM?\%        4       pM4V P                  P                  R9   d   \&        P                  ! R4      pMRpV! WeV P(                  VR7      # )	zDescribe series containing numerical data.

Parameters
----------
series : Series
    Series to be described.
percentiles : list-like of numbers
    The percentiles to include in the output.
r   maxmNiufbfloatrz   r   dtype)countmeanstdmin)pandasr   r   rr   quantiletolistr   r   r   r   r   
isinstancer   r   r   kindpyarrowfloat64r   ro   r   )	rf   r   r   formatted_percentiles	quantiles
stat_indexri   r   pas	   &&       r#   describe_numeric_1dr      s    .{;
;1	OOK0779	O2GOOJ



		
 
	 	

	A &,,//fllJ//||  C'$"2::<0 NE			f	$!!FKKuEEr%   c               $    V ^8  d   QhRRRRRR/# )r   rc   r   percentiles_ignoredr   r    r!   )r"   s   "r#   r$   r$     s+     D D
D(D Dr%   c                N   . ROpV P                  4       p\        W3^ 8g  ,          4      pV^ 8  d)   VP                  ^ ,          VP                  ^ ,          reRpM!\        P
                  \        P
                  reRpT P                  4       WEV.p^ RIHp	 V	! WV P                  VR7      # )zDescribe series containing categorical data.

Parameters
----------
data : Series
    Series to be described.
percentiles_ignored : list-like of numbers
    Ignored, but in place to unify interface.
Nobjectr   r   )r   uniquetopfreq)
value_countsrr   rz   ilocro   nanr   r   r   r   )
rc   r   r   	objcountscount_uniquer   r   r   r.   r   s
   &&        r#   describe_categorical_1dr     s     /E!!#Iya01LaOOA&	q(9T FFBFFTjjlLt4F&DIIUCCr%   c               $    V ^8  d   QhRRRRRR/# )r   rc   r   r   r   r    r!   )r"   s   "r#   r$   r$   .  s!     7 7 7_ 7 7r%   c                   ^ RI Hp \        V4      p. ROVORNpV P                  4       V P	                  4       V P                  4       .V P                  V4      P                  4       OV P                  4       NpV! WTV P                  R7      # )zDescribe series containing datetime64 dtype.

Parameters
----------
data : Series
    Series to be described.
percentiles : list-like of numbers
    The percentiles to include in the output.
r   r   )rz   r   )r   r   r   )
r   r   r   r   r   r   r   r   r   r   )rc   r   r   r   r   ri   s   &&    r#   describe_timestamp_1dr   .  s     .{;H+@H%HJ

		
	 
{	#	*	*	,		
 	
	A !DII66r%   c                    V ^8  d   QhRRRR/# )r   rc   r   r    r   r!   )r"   s   "r#   r$   r$   H  s     ' '
''r%   c                B   \        V P                  4      '       d   \        # \        V 4      '       d   \        # V P                  P
                  R8X  g!   \        V P                  \        4      '       d   \        # V P                  P
                  R8X  d   \        # \        # )zSelect proper function for describing series based on data type.

Parameters
----------
data : Series
    Series to be described.
Mr   )	r   r   r   r   r   r   r   r   r   )rc   s   &r#   rI   rI   H  sl     TZZ  &&	$		""	C	:djj/#J#J$$	C	""&&r%   c                    V ^8  d   QhRRRR/# )r   r   r   r    znpt.NDArray[np.float64]r!   )r"   s   "r#   r$   r$   ^  s      4r%   c                    V f   \         P                  ! . RO4      # \         P                  ! V 4      p \        V 4       \         P                  ! V 4      pV f   Q h\        V4      \        V 4      8  d   \        R4      hV# )z
Ensure that percentiles are unique and sorted.

Parameters
----------
percentiles : list-like of numbers, optional
    The percentiles to include in the output.
z%percentiles cannot contain duplicates)g      ?g      ?g      ?)ro   arrayasarrayr
   r   rr   rS   )r   unique_pctss   & r#   r(   r(   ^  sr     xx)****[)K $ ))K(K"""
;#k**@AAr%   )/rC   
__future__r   abcr   r   typingr   r   numpyro   pandas._typingr   r   r	   pandas.util._validatorsr
   pandas.core.dtypes.commonr   r   pandas.core.dtypes.dtypesr   r   r   pandas.core.arrays.floatingr   pandas.core.reshape.concatr   pandas.io.formats.formatr   collections.abcr   r   r   r   r   r   r/   r1   r*   r+   r`   r   r   r   rI   r(   r!   r%   r#   <module>r      s    #
  
 8  5 - 7 +"\s .	4. 	4E1 EP
.FbD@74',r%   