
    A>iz                     p    S r SSKJr  SSKrSSKrSSKrSSKJ	r
  \R                  S 5       r " S S5      rg)z
Note: for naming purposes, most tests are title with as e.g. "test_nlargest_foo"
but are implicitly also testing nsmallest_foo.
    )ascii_lowercaseNc                  4   [         R                  " / SQ/ SQ/ SQ[        S5      [         R                  " [        S5      5      R	                  S5      / SQ[         R
                  " SSS	9[         R
                  " SSS
S9[         R                  " SSSS9S.	/ SQS9$ )N)   r      r   r      )g      @g      @g      @abccategory)      	   20130101r   )periodsz
US/Eastern)r   tzz1 ss)r   freq)	groupintfloatstringcategory_stringcategory_intdatetime
datetimetz	timedeltacolumns)pd	DataFramelistSeriesastype
date_rangetimedelta_range     g/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/frame/methods/test_nlargest.pydf_main_dtypesr(      s{    <<$5k!yye5<<ZH%j!<--
A,O++E13G
	


 r&   c                      \ rS rSr\R
                  R                  SS/S/SS/SS/SS/SS// SQ/ SQ/ SQ/ S	Q/ S
Q/ SQ/5      \R
                  R                  S\" SS5      5      S 5       5       r\R
                  R                  SSS/SS//5      S 5       r	S r
S rS r\R
                  R                  S/ SQ/ SQS/S/SS/SS//5      \R
                  R                  S\" SS5      5      S 5       5       rS rS rS rS rSrg) TestNLargestNSmallest+   orderacbr-   r/   r.   )r.   r-   r/   )r.   r/   r-   )r/   r.   r-   )r/   r-   r.   )r/   r.   r.   nr      c                    [         R                  " [        R                  R	                  S5      R                  S5      [        [        S S 5      [        R                  R	                  S5      R                  S5      R                  S5      S.5      nSU;   a:  SU S3n[        R                  " [        US9   [        XA5      " X#5        S S S 5        g US	:H  n[        XA5      " X#5      n[         R                  " [        UR                  5      5      Ul        UR                  X6S
9R!                  U5      n["        R$                  " Xx5        g ! , (       d  f       g = f)Nr   
   float64r0   r/   z6Column 'b' has dtype (object|str), cannot use method '' with this dtypematch	nsmallest	ascending)r   r   nprandomdefault_rngpermutationr    r   r"   pytestraises	TypeErrorgetattrIndexindexsort_valuesheadtmassert_frame_equal)	selfnselect_methodr1   r,   df	error_msgr;   resultexpecteds	            r'   test_nlargest_n%TestNLargestNSmallest.test_nlargest_n.   s   * \\YY**1-99"=/#2./YY**1-99"=DDYO
 %<&&4%55FH  y	:+A5 ;: '+5IR0:F88D$67FL~~e~AFFqIH!!&3 ;:s   7E
Er   r   r   r   c                 P   UnUS   nSU SXE   R                    SU S3nUR                  SS5      R                  SS	5      R                  S
S5      R                  SS5      n[        R                  " [        US9   [        XB5      " SU5        S S S 5        g ! , (       d  f       g = f)Nr   zColumn 'z' has dtype z, cannot use method 'r6   (z\()z\)[z\[]z\]r7   r   )dtypereplacer@   rA   rB   rC   )rJ   r(   rK   r   rL   colrM   s          r'   test_nlargest_error)TestNLargestNSmallest.test_nlargest_errorX   s     ajse< 7""0!11BD 	 c5)WS% WS% WS% 	 	 ]]9I6B'73 766s   ;B
B%c                     UnUR                  S[        [        U5      SS1-
  5      5        UR                  S[        [        U5      SS1-
  5      5        g )Nr   r   r   )r9   r    setnlargest)rJ   r(   rL   s      r'   test_nlargest_all_dtypes.TestNLargestNSmallest.test_nlargest_all_dtypesl   sK    
QSW(98'DDEF
AtCG'8(&CCDEr&   c                 V   [         R                  " / SQ/ SQS.5      nUR                  SSS/S9n[         R                  " / SQ/ S	QS./ S
QS9n[        R                  " X#5        UR                  SSS/S9n[         R                  " / SQ/ SQS./ SQS9n[        R                  " X#5        g )N)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   rE   )r   r   r   r   )r   r   r   r   )   rc   r   r   )r   r   r^   rH   rI   r9   rJ   rL   rN   rO   s       r'   +test_nlargest_duplicates_on_starter_columnsATestNLargestNSmallest.test_nlargest_duplicates_on_starter_columnsq   s     \\ 29KLMQc
3<<\2,
 	f/a#s4<<\2,
 	f/r&   c                 n   [         R                  " S/S-  / SQS.5      nUR                  SS5      n[         R                  " S/S-  / SQS.[        S5      S9n[        R
                  " X#5        UR                  SS5      n[         R                  " S/S-  / SQS.5      n[        R
                  " X#5        g )	Nr   re   r   r   r   rc   re   rb   r   r-   r   rd   )r   r   r^   rangerH   rI   r9   rf   s       r'    test_nlargest_n_identical_values6TestNLargestNSmallest.test_nlargest_n_identical_values   s    \\ao>?Q$<<qcAgI >eAhO
f/a%<<qcAgI >?
f/r&      c                    [         R                  " / SQ/ SQ/ SQS./ SQS9nUR                  X5      nUR                  USS9R	                  U5      n[
        R                  " XV5        UR                  X5      nUR                  US	SS
9R	                  U5      nUS/:X  a  US;   d  USS/:X  a3  US:X  a-  UR                  [        R                  R                  SS	S95        [
        R                  " XV5        g )N)r   r   r   rc   rc   )r   r   r   r   r   )r   r   r   re   rc   r0   )r   r   r   r   r   rd   stable)kindF)r;   rq   r-   )r   r   r   rc   r/   re   zYpandas default unstable sorting of duplicatesissue with numpy>=1.25 with AVX instructions)reasonstrict)r   r   r9   rF   rG   rH   rI   r^   applymarkerr@   markxfail)rJ   r1   r,   requestrL   rN   rO   s          r'   test_nlargest_n_duplicate_index5TestNLargestNSmallest.test_nlargest_n_duplicate_index   s     \\!oN!
 a'>>%h>7<<Q?
f/Q&>>%5x>HMMaPcUNqL0uc
7JPQUVPV!!G ! "  	f/r&   c                 b   [         R                  " / SQ/ SQS.5      nUR                  SSSS9n[         R                  " / SQ/ S	QS./ S
QS9n[        R                  " X#5        UR                  SSSS9n[         R                  " / SQ/ SQS.[        SS5      S9n[        R                  " X#5        g )N)re   rc   rc   r   r   r   r   r   )r4   r   r   r   re   2   r4      rb   rc   r-   all)keep)re   rc   rc   r   r   r   r   )r4   r   r   re   r{   r4   r|   )r   r   r   rc   re   rn   r   rd   r   )r   r   r   r   r   )r   re   r{   r4   r|   r   r   )r   r   r^   rH   rI   r9   rk   rf   s       r'   %test_nlargest_duplicate_keep_all_ties;TestNLargestNSmallest.test_nlargest_duplicate_keep_all_ties   s    \\*1MN
 Q%0<<*. (
 	f/a51<<$' 1+
 	f/r&   c                 n   [         R                  " [         R                  R                  S/SS//5      SS/SS/SS/S	S
//S9nUR	                  SS5      nUR
                  / SQ   n[        R                  " X#5        UR                  SS5      nUR
                  / SQ   n[        R                  " X#5        g )Nxr-   r/   gQ?gp=
ף?gQ?g      ?gffffff?g333333?gQ?)r   datar   )r   r-   )r   r   r   )r   r/   )r   r   r   )	r   r   
MultiIndexfrom_productr9   ilocrH   rI   r^   rf   s       r'   &test_nlargest_multiindex_column_lookup<TestNLargestNSmallest.test_nlargest_multiindex_column_lookup   s     \\MM..Sz/BC,ttTlT4LI
 a,779%
f/ Q
+779%
f/r&   c                    [         R                  " [        R                  [        R                  SSSS/5      nUR	                  SS5      nUR                  SSS9R                  S5      n[        R                  " X#5        g )Nr   r   r   r   re   Fr:   )	r   r   r<   nanr^   rF   rG   rH   rI   rf   s       r'   test_nlargest_nan'TestNLargestNSmallest.test_nlargest_nan   s`    \\2662661aA67Q">>!u>5::1=
f/r&   c                    [         R                  " / SQ/ SQ/ SQS.[        S5      S9nUR                  SSS	/S
9n[         R                  " / SQ/ SQ/ SQS.[        S5      S9R	                  SS05      n[
        R                  " X#5        g )N)r   r   r   rc   re   Nr   )r   rn   re   rc   r   r   r   )r   r   r   r   r   r   r   r0   r   rd   re   r-   r/   r   rj   )r   rn   re   rc   r   )r   r   r   r   r   r   )r   r   rk   r9   r"   rH   rI   rf   s       r'   "test_nsmallest_nan_after_n_element8TestNLargestNSmallest.test_nsmallest_nan_after_n_element   s    \\-**
 (
 a#s4<<$$$
 (
 &#w
  	 	f/r&   r%   N)__name__
__module____qualname____firstlineno__r@   ru   parametrizerk   rP   rZ   r_   rg   rl   rx   r   r   r   r   __static_attributes__r%   r&   r'   r*   r*   +   sE    [[EE#J#J#J#J	
$ [[S%2,/4 0%&4. [[W/07H2EF44"F
0"
0 [[	/C53%#sc3ZP [[S%1+.0 /	
02020$00r&   r*   )__doc__r   r   numpyr<   r@   pandasr   pandas._testing_testingrH   fixturer(   r*   r%   r&   r'   <module>r      s?   
 #      6F0 F0r&   