
    EgI                     @   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                            dg dg dfd gd gfg          ej                            d	dge	j                  ej                            d
ddg          d                                     ZdS )    N)
MultiIndexSeries
date_rangec                  V   t          g d          } t          t          d                    }|                     |          }|                    d          }t          g dt	          j        t          d          g dg                    }t          j        ||           t          g d          } |                     |          }t          g d	t	          j        t          d          g d
g                    }t          j        |                    dd          |           d S )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        i/var/www/sysmax/venv/lib/python3.11/site-packages/pandas/tests/groupby/methods/test_nlargest_nsmallest.pytest_nlargestr'      s'   ...//At%&&''A	
1B
AA$d8nn6H6H6H%IJJ	 	 	A 1a   ---..A	
1B$d8nn6H6H6H%IJJ	 	 	A 2;;qv;66:::::    c                     t           j                            d          } t          dd          }|ddgg}t	          j        |ddg	          }t          |                     d
          |          }|                    d          	                    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           d S )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       s   
)


"
"C
Z
,
,
,Cuen%I

!)GX3F
G
G
GCs""2&&c22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000H68TJJJJJJr(   c                  V   t          g d          } t          t          d                    }|                     |          }|                    d          }t          g dt	          j        t          d          g dg                    }t          j        ||           t          g d          } |                     |          }t          g d	t	          j        t          d          g d
g                    }t          j        |                    dd          |           d S )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$d8nn6H6H6H%IJJ	 	 	A 1a   ---..A	
1B$d8nn6H6H6H%IJJ	 	 	A 2<<<7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          |                    |          |          d          }t          |t                    rt          j        |t                    n|}t	          | t          j
        ||j        g          d          }t          j        ||           d S )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     xE***HTNN##
C
 
 
 C1WS[[((&11A666F,6vt,D,DPRXfC((((&Fd*"8&#)9L"M"MTWXXXH68,,,,,r(   )numpyr4   pytestpandasr   r   r   pandas._testing_testingr   r'   rC   rF   markparametrizeALL_INT_NUMPY_DTYPESrU    r(   r&   <module>r_      s8                
      ; ; ;(*K *K *KZ< < <( llLLL!QC!:.  4"B"*A"BCCJ#<==- - >= DC	 - - -r(   