
    d                        d dl Zd dlZd dlmZ d dlZd dlmZmZm	Z	 d dl
mZ d Zd Zd Zd Zd Zej                            d	d
dg          d             Zej                            d	d
dg          d             Zd Zej                            d	d
dg          d	efd            Zej                            dg d          d             Zd ZdS )    N)iNaT)	DataFrameIndexSeriesc                     t          g dg dddgz  d          } |                     d                                          }d|v sJ |                     d                              d	          }d|v sJ |                     d                                          }d|v sJ |                     d                              d	          }d|v sJ d S )
N)   r      r	   )            r   mama)nniissr   r   F)numeric_only)r   groupbymaxmin)aaresults     ]/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/groupby/test_min_max.pytest_max_min_non_numericr      s    	***,,,a6(lSS	T	TBZZ!!##F6>>>>ZZ!!u!55F6>>>>ZZ!!##F6>>>>ZZ!!u!55F6>>>>>>    c                 ,   t          g dg dg dd          }|                                 | st          |j        j                  dk    sJ |                    d          }|dg                                         }t          g dd	          }t          dg d
i|          }t          j	        ||           |dg         
                                }t          g dd	          }t          dg di|          }t          j	        ||           d S )N)r
   r
   r   r   r   )r
   foor   barF)abcde)ABCr   r#   r%   r
   r   r   name)r   r!   r"   index)r   r    r"   )r   _consolidate_inplacelen_mgrblocksr   r   r   tmassert_frame_equalr   )using_array_managerdfgbr   eiexpecteds         r   $test_max_min_object_multiple_columnsr6       s2   
 
 ,,,***	
 	

 
B  (27>""a''''	CBY]]__F	yyys	#	#	#B#/r:::H&(+++Y]]__F	yyys	#	#	#B#/r:::H&(+++++r   c                  N   t          j        t          g d          d          j        j        } t          t          j        dt          j        gg d| d          }|                    dd	          d
         	                                d
         }t          j        t          ddgd
          d          j        j        }t          j        ||           |                    d          d
         	                                }d|j        _        t          j        ||           d S )N)
2019-05-09r8   r8   z%Y-%m-%d)format1)r   r
   r
   )r   r   r    r   F)as_indexr    r8   r'   )pdto_datetimer   dtdater   npnanr   r   r/   assert_series_equalr*   r(   )datesr2   r   r5   s       r   test_min_date_with_nansrD   ?   s   N999:::   
 
"&#rv.YYYUKK	L	LBZZeZ,,S15577<F~l+#666z    68,,,ZZ__S!%%''FHN68,,,,,r   c                  b   t          dt          g          } t          j        ddgt          j                  }|                     |          }|                    d          }t          ddit          j                  }t          j        ||d           |	                    d          }t          dt          it          j                  }t          j        ||d           |	                    d          }t          dt          j
        i          }t          j        ||d           d S )Nr
   dtyper   	min_countTcheck_exactr   )r   r   r@   arrayint64r   r   r/   rB   r   rA   )serkeyr3   r   r5   s        r   test_max_inatrP   Q   s
   
!T

C
(Aq6
*
*
*C	S		BVVaV  Fq!fBH---H68>>>>VVaV  Fq$irx000H68>>>> VVaV  Fq"&k""H68>>>>>>r   c                  ~   t          dt          dt          dz   g          } |                     g d          }|                    d          }t          t          j        t          j        t          dz   d          }|j                            t          j                  |_        t          j
        ||d           d S )Nr
   r   )r
   r   r   r   rH   r&   TrJ   )r   r   r   r   r@   rA   r*   astypeint_r/   rB   )rN   r3   r   r5   s       r   test_max_inat_not_all_narT   e   s     !T1dQh'
(
(C	\\\	"	"BVVaV  F "&RVq99::H^**2733HN68>>>>>>r   funcr   r   c                 6   ddg}t          j        ddd          }t          ||d          } t          |                    d          d         |                       }t          ddgd	          }t          ||d
          }t          j        ||           d S )Nr
   r   2020Yperiodsfreqr   r   r   r   r'   )r*   r(   )	r<   period_ranger   getattrr   r   r   r/   rB   rU   groupsrZ   r2   r   idxr5   s          r   $test_groupby_aggregate_period_columnrb   s   s     VFofac:::G	g..	/	/B0WRZZ__S)40022F
AS
!
!
!CgSs333H68,,,,,r   c                 ,   ddg}t          j        ddd          }t          ||d          } t          |                    d          |                       }t          ddgd          }t          d	|i|
          }t          j        ||           d S )Nr
   r   rW   rX   rY   r\   r   r'   r   r)   )r<   r]   r   r^   r   r   r/   r0   r_   s          r   #test_groupby_aggregate_period_framerd      s     VFofac:::G	g..	/	/B+WRZZ__d++--F
AS
!
!
!C#ws333H&(+++++r   c                  L   t          g dt          d          t          j        gdz  d                              t
                    } |                     d                                          }t          ddgdd	gt          j        t          j        gd                              d                              t
                    }t          j
        ||           t          g dt          d          t          d          d                              t
                    } |                     d                                          }t          ddgdd	gd
dgd                              d                              t
                    }t          j
        ||           d S )N)r#   r#   r$   r$   abcdr   )rO   col1col2rO   r#   r$   r   r    r   r   )r   listr@   rA   rR   objectr   r   	set_indexr/   r0   range)r2   r   r5   s      r   #test_aggregate_numeric_object_dtyperm      sv    
$$$d6llRVHqLQQ
 
fVnn  ZZ""$$F#Jc
RVRV<LMM	
 	
 
5			  &(+++ 
$$$d6llE!HHMM
 
fVnn  ZZ""$$F3*sCj1a&IIJJ	5			 
 &(+++++r   c                    t          dgd          j                                        }t          dg|d          }|                    d                              d| i          }t          ddgit          dgd          	          }|d                             |j                  |d<   t          j
        ||           d S )
Nr   categoryrF   i  r#   r$   r#   r$   r'   r)   )r   cat
as_orderedr   r   aggr   rR   rG   r/   r0   )rU   dsr2   r   r5   s        r   %test_aggregate_categorical_lost_indexru      s     
Z	(	(	(	,	7	7	9	9B	$b))	*	*BZZ__  #t--F#uUD6-D-D-DEEEH SM((22HSM&(+++++r   rG   )Int64Int32Float64Float32booleanc                    | dk    rd}n| dk    rd}nd}t          ddg||dz   gd          }|d	                             |           |d	<   |                    d
          }|                                }|j        d d                             d
          }t          j        ||           |                                }|j        dd                              d
          }t          j        ||           |                    d          }t          d	t          j
        gi|j        |           }	t          j        ||	           |                    d          }
t          j        |
|	           t          g d|t          j
        |dz   gd          }|d	                             |           |d	<   |                    d
          }|                                }t          j        ||           |                                }t          j        ||           |                    d          }t          j        ||	           |                    d          }t          j        ||	           d S )Nrv   l   .D3 rz   r   g      @r   r
   )idtsr}   r|   r   rH   )r*   rG   )r   r   r   d   )r   rR   r   r   ilocrk   r/   r0   r   r<   NAr*   )rG   r}   r2   r3   r   r5   res_maxexpected_maxresult2	expected2res_max2df2gb2result3res_max3result4res_max4s                    r   test_groupby_min_max_nullabler      s@    	)			1a&R!V55	6	6B$xu%%BtH	D		BVVXXFwrr{$$T**H&(+++ffhhG7122;((..L'<000ffqf!!G4"%/uMMMI'9---vvv""H(I... 999RQ,?@@
A
ACD	  ''CI
++d

CggiiG'8,,,wwyyH(L111ggg$$G'9---www%%H(I.....r   c            	      F   t          j        dgdz  ddg          } t          | t          j        t	          j        dt          j                            d          }|                    d          }|                                }t          j	        ddg| j
        d          }t          d	t          j        dt           j        gd
          i|          }t          j        ||           |                                }d|j        d<   t          j        ||           d S )Nr   
   r
   )
categoriesrF   rp   r#   )rG   r(   r$   UInt64r)   	   )r   r   )r<   Categoricalr   rL   r@   arangeuint64r   r   CategoricalIndexrG   r   r/   r0   r   r   )rq   r2   r3   resra   r5   s         r   (test_min_max_nullable_uint64_empty_groupr      s    
.!rq!f
5
5
5C	28BIb	,J,J,J#K#KLL	M	MB	CB
&&((C

q!fCIC
@
@
@C#rxBE
(CCCDCPPPH#x(((
&&((CHM$#x(((((r   )numpyr@   pytestpandas._libs.tslibsr   pandasr<   r   r   r   pandas._testing_testingr/   r   r6   rD   rP   rT   markparametrizerb   rd   rm   strru   r   r    r   r   <module>r      s        $ $ $ $ $ $             
        ", , ,>- - -$? ? ?(? ? ? %00
- 
- 10
- %00
, 
, 10
,, , ,< %00
, 
, 
, 
, 10
, "U"U"UVV,/ ,/ WV,/^) ) ) ) )r   