
    OwgI                     <   d dl 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ej                  j                  dg dg dfd gd gfg      ej                  j                  d	dge	j                        ej                  j                  d
ddg      d                      Zy)    N)
MultiIndexSeries
date_rangec                     t        g d      } t        t        d            }| j                  |      }|j                  d      }t        g dt	        j
                  t        d      g dg            }t        j                  ||       t        g d      } | j                  |      }t        g d	t	        j
                  t        d      g d
g            }t        j                  |j                  dd      |       y )N
               	   r         
   
aaaaabbbbbr	   )r   r
   r	   r   r   r   aaabbb)r	   r   r   r   r
      index
r   r   r	   r   r   r	   r	   r   r   r   )r	   r   r   r	   r	   r   )r   r	   r   r   r
   r   lastkeep)r   listgroupbynlargestr   from_arraystmassert_series_equalabgbres        k/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/groupby/methods/test_nlargest_nsmallest.pytest_nlargestr'      s    ./At%&'A	
1B
AA$$d8n6H%IJ	A 1a -.A	
1B$$d8n6H%IJ	A 2;;qv;6:    c                  `   t         j                  j                  d      } t        dd      }|ddgg}t	        j
                  |ddg	      }t        | j                  d
      |      }|j                  d      j                  d      }t	        j                  |d   |d   df|d   |d   df|d   |d   df|d   |d   df|d   |d   df|d   |d   df|d   |d   df|d   |d   df|d   |d   df|d   |d   dfg
g d	      }g d}t        ||      }t        j                  ||dd       y )Nr   20180101r   )periodsonetwofirstsecond)names   r   r   r   r	   r   r
   r   r   r   r   )r.   r.   r/   )
g. 2?gooڿg?g?gSL	[?g;H?gjsտg1Au?gf+Qs?g;?FgMbP?)check_exactrtol)nprandomdefault_rngr   r   from_productr   standard_normalr   r   from_tuplesr   r   )	nprdts	iterablesidxsresultexp_idx
exp_valuesexpecteds	            r&   test_nlargest_mi_grouperrC       sn   
))


"C
Z
,Cuen%I

!
!)GX3F
GCs""2&c2AYYw((+F$$VSVU#VSVU#VSVU#VSVU#VSVU#VSVU#VSVU#VSVU#VSVU#VSVU#	
 +G J j0H68TJr(   c                     t        g d      } t        t        d            }| j                  |      }|j                  d      }t        g dt	        j
                  t        d      g dg            }t        j                  ||       t        g d      } | j                  |      }t        g d	t	        j
                  t        d      g d
g            }t        j                  |j                  dd      |       y )Nr   r   r	   )r   r   r	   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   	nsmallestr   r   r   r   r    s        r&   test_nsmallestrF   M   s    ./At%&'A	
1B
QA$$d8n6H%IJ	A 1a -.A	
1B$$d8n6H%IJ	A 2<<<7;r(   zdata, groups)r   r   r   r	   )r   r   r   r   dtypemethodr   rE   c                    |t        j                  | |      } |dk(  rt        t        |             } t	        | d      } t        |j                  |      |      d      }t        |t              rt        j                  |t              n|}t	        | t        j                  ||j                  g      d      }t        j                  ||       y )N)rG   r   r!   )namer   )n)r   rJ   )r4   arrayr   reversedr   getattrr   
isinstanceintr   r   r   r   r   )datagroupsrG   rH   serr?   expidxrB   s           r&   test_nlargest_and_smallest_nooprU   a   s     xxE*HTN#
C
 C1WS[[(&1A6F,6vt,DRXXfC(&Fd*"8"8&#))9L"MTWXH68,r(   )numpyr4   pytestpandasr   r   r   pandas._testing_testingr   r'   rC   rF   markparametrizeALL_INT_NUMPY_DTYPESrU    r(   r&   <module>r_      s      
 ;(*KZ<( L!QC!:. 4"B"*A*A"BCJ#<=- > D	-r(   