
    o[we                        d dl Zd dlZd dlmZ d dlmZ d dlm	Z	m
Z
  ej        ddg          d             Z ej        ddg          d             Z ej        ddg          d	             Z ej        ddg          d
             Z ej        ddg          d             Zej        d             Zej        d             Zej        d             Zej        d             Zej        d             Zej        d             Zej        d             Z ej                    d             Z ej                    d             Z ej         ee	                    d             Z ej         ee
                    d             Z ej         ee	           ee
          z             d             Z ej        ddg          d             Z ej        dg          d             Z ej        dg          d             Z  ej        di fdddifddd ifdddifddd ifd i fd!i fd"i fd d#d$ifd!d#d$ifd"d#d$ifgg d%&          d'             Z!dS )(    N	DataFrame)reduction_kernelstransformation_kernelsTF)paramsc                     | j         S Nparamrequests    =lib/python3.11/site-packages/pandas/tests/groupby/conftest.pysortr      
    =    c                     | j         S r	   r
   r   s    r   as_indexr      r   r   c                     | j         S r	   r
   r   s    r   dropnar      r   r   c                     | j         S r	   r
   r   s    r   skipnar      r   r   c                     | j         S r	   r
   r   s    r   observedr       r   r   c                     | S r	    ) multiindex_dataframe_random_datas    r   mframer   %   s    ++r   c                      t          g dg dt          j                            d                              d          t          j                            d                              d          d          S )Nfoobarr    r!   r    r!   r    r    oner#   twothreer$   r$   r#   r%         ABCDr   nprandomdefault_rngstandard_normalr   r   r   dfr2   *   sr    IIIMMM&&q))99!<<&&q))99!<<		
 	
  r   c                  (    t          j                    S r	   )tmmakeTimeSeriesr   r   r   tsr6   6   s    r   c                  (    t          j                    S r	   )r4   getTimeSeriesDatar   r   r   tsdr9   ;   s    !!!r   c                      t          |           S r	   r   )r9   s    r   tsframer;   @   s    S>>r   c            
         t          g dg dt          j                            d                              d          t          j        t          j                            d                              d          d          d          S )Nr   r"   r&   r'   float32)dtyper(   )r   r.   r/   r0   r1   arrayr   r   r   df_mixed_floatsr@   E   s    IIIMMM&&q))99!<<")//22BB1EEYWWW		
 	
  r   c            
      Z   t          g dg dg dt          j                            d                              d          t          j                            d                              d          t          j                            d                              d          d          S )N)r    r    r    r    r!   r!   r!   r!   r    r    r    )r#   r#   r#   r$   r#   r#   r#   r$   r$   r$   r#   )dullrB   shinyrB   rB   rC   rC   rB   rC   rC   rC   r&      )r)   r*   r+   r,   EFr-   r   r   r   three_grouprG   Q   s           &&q))99"==&&q))99"==&&q))99"==U+	
 +	
- - -r   c            	          g dg dg dg dg dg dg dg dg} t          | g d	
          }|                    d          S )N)r   aa0_at_0)   bb0_at_1)r&   rI   a1_at_2)   rL   b1_at_3)   cc0_at_4)   rI   a2_at_5)   rI   a3_at_6)   rI   a4_at_7)IndexGroupValue)columnsrZ   )r   	set_index)datar2   s     r   slice_test_dfr`      s     		D 
4!<!<!<	=	=	=B<<   r   c                 0    |                      dd          S )Nr[   F)r   )groupby)r`   s    r   slice_test_groupedrc      s      5 999r   c                     | j         S )zT
    yields the string names of all groupby reduction functions, one at a time.
    r
   r   s    r   reduction_funcre      s    
 =r   c                     | j         S )z@yields the string names of all groupby transformation functions.r
   r   s    r   transformation_funcrg           =r   c                     | j         S )z5yields both aggregation and transformation functions.r
   r   s    r   groupby_funcrj      rh   r   c                     | j         S )z'parallel keyword argument for numba.jitr
   r   s    r   parallelrl      rh   r   c                     | j         S )z$nogil keyword argument for numba.jitr
   r   s    r   nogilrn      rh   r   c                     | j         S )z'nopython keyword argument for numba.jitr
   r   s    r   nopythonrp      rh   r   meanvarddofrK   stdsumminmax	min_countr&   )rq   var_1var_0std_1std_0ru   rv   rw   zsum-min_countzmin-min_countzmax-min_count)r   idsc                     | j         S )z(reductions supported with engine='numba'r
   r   s    r   numba_supported_reductionsr      s    < =r   )"numpyr.   pytestpandasr   pandas._testing_testingr4   pandas.core.groupby.baser   r   fixturer   r   r   r   r   r   r2   r6   r9   r;   r@   rG   r`   rc   sortedre   rg   rj   rl   rn   rp   r   r   r   r   <module>r      sg                           e}%%%  &% e}%%%  &% e}%%%  &% e}%%%  &% e}%%%  &% , , ,       " " "       . . .b ! ! ! : : : vv/00111  21 vv455666  76
 vv/0066:P3Q3QQRRR  SR
 e}%%%  &% w   
 v  
 									a !	a !	a !	 	 	  8 9 8  r   