
    LVf                        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!y)(    N	DataFrame)reduction_kernelstransformation_kernelsTF)paramsc                     | j                   S Nparamrequests    f/var/www/html/software/conda/envs/catlas/lib/python3.12/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                  j                  d      j	                  d      t        j                  j                  d      j	                  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   *   sT    I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                  j                  d      j	                  d      t        j
                  t        j                  j                  d      j	                  d      d      d      S )Nr   r"   r&   r'   float32)dtyper(   )r   r.   r/   r0   r1   arrayr   r   r   df_mixed_floatsr@   E   s_    IM&&q)99!<"))//2BB1EYW		
 r   c            
      :   t        g dg dg dt        j                  j                  d      j	                  d      t        j                  j                  d      j	                  d      t        j                  j                  d      j	                  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            	      v    g dg dg dg dg dg dg dg dg} t        | g d	
      }|j                  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`      sA     		D 
4!<	=B<<  r   c                 (    | j                  dd      S )Nr[   F)r   )groupby)r`   s    r   slice_test_groupedrc      s      5 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      s$       e}% & e}% & e}% & e}% & e}% & , ,     " "     . .b ! ! : : v/01 2 v456 7
 v/06:P3QQR S
 e}% & w  
 v 
 									a !	a !	a !	898r   