Ë
    ¤eh   ã                   óÄ   — d Z ddlmZ ddlZddlZddlZddlm	Z
 ddlmZ ej                  d„ «       Zej                  d„ «       Zej                  d„ «       Z G d„ d	«      Zy)
z�
Note: for naming purposes, most tests are title with as e.g. "test_nlargest_foo"
but are implicitly also testing nsmallest_foo.
é    )Úascii_lowercaseN)ÚVersionc                  óH   — t        j                  g d¢g d¢g d¢dœg d¢¬«      S )N)é   é   é   é   r	   )r   r   r   r   r   )r   r   r   é   r	   ©ÚaÚbÚc)r   r   r   r   r   ©Úindex)ÚpdÚ	DataFrame© ó    úf/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/frame/methods/test_nlargest.pyÚdf_duplicatesr      s    € ä�<‰<Ú¢Oº/ÑJÚôð r   c                  ó"  — t        j                  t        j                  j	                  d«      j                  d«      t        t        d d «      t        j                  j	                  d«      j                  d«      j                  d«      dœ«      S )Nr   é
   Úfloat64r   )	r   r   ÚnpÚrandomÚdefault_rngÚpermutationÚlistr   Úastyper   r   r   Ú
df_stringsr       sl   € ä�<‰<ä—‘×&Ñ& qÓ)×5Ñ5°bÓ9Ü”o c rÐ*Ó+Ü—‘×&Ñ& qÓ)×5Ñ5°bÓ9×@Ñ@ÀÓKñ	
óð r   c                  óB  — t        j                  g d¢g d¢g d¢t        d«      t        j                  t        d«      «      j	                  d«      g d¢t        j
                  dd¬	«      t        j
                  ddd
¬«      t        j                  ddd¬«      dœ	g d¢¬«      S )N)r   r   r   ©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)r   r   r   ÚSeriesr   Ú
date_rangeÚtimedelta_ranger   r   r   Údf_main_dtypesr;   "   s{   € ä�<‰<âÚÚ$Ü˜5“kÜ!Ÿy™y¬¨e«Ó5×<Ñ<¸ZÓHÚ%ÜŸ™ j¸!Ô<ÜŸ-™-¨
¸AÀ,ÔOÜ×+Ñ+¨E¸1À3ÔGñ
	
ò

ôð r   c                   ó
  — e Zd Zej                  j                  ddgdgddgddgddgddgg d¢g d¢g d¢g d¢g d	¢g d
¢g«      ej                  j                  d edd«      «      d„ «       «       Zej                  j                  dddgddgg«      d„ «       Zd„ Z	d„ Z
d„ Zej                  j                  dg d¢g d¢dgdgddgddgg«      ej                  j                  d edd«      «      d„ «       «       Zd„ Zd„ Zd„ Zd„ Zy)ÚTestNLargestNSmallestÚorderr   r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   Únr   é   c                 óD  — |}d|v r>d|› d�}t        j                  t        |¬«      5   t        ||«      ||«       d d d «       y |dk(  } t        ||«      ||«      }|j	                  ||¬«      j                  |«      }	t        j                  ||	«       y # 1 sw Y   y xY w)Nr   z9Column 'b' has dtype (object|string), cannot use method 'ú' with this dtype©ÚmatchÚ	nsmallest©Ú	ascending)ÚpytestÚraisesÚ	TypeErrorÚgetattrÚsort_valuesÚheadÚtmÚassert_frame_equal)
Úselfr    Únselect_methodr?   r>   ÚdfÚ	error_msgrG   ÚresultÚexpecteds
             r   Útest_nlargest_nz%TestNLargestNSmallest.test_nlargest_nA   s´   € ð* ˆØ�%‰<ð&Ø&4Ð%5Ð5FðHð ô —‘œy°	Ô:ñ 6Ø+”˜˜NÓ+¨A¨uÔ5÷6ð 6ð '¨+Ñ5ˆIØ0”W˜R Ó0°°EÓ:ˆFØ—~‘~ e°y�~ÓA×FÑFÀqÓIˆHÜ×!Ñ! &¨(Õ3÷6ð 6ús   ¨BÂBr7   r-   r1   r0   c                 óN  — |}|d   }d|› d||   j                   › d|› d�}|j                  dd«      j                  dd	«      j                  d
d«      j                  dd«      }t        j                  t        |¬«      5   t        ||«      d|«       d d d «       y # 1 sw Y   y xY w)Nr   zColumn 'z' has dtype z, cannot use method 'rB   ú(z\(ú)z\)ú[z\[ú]z\]rC   r   )ÚdtypeÚreplacerH   rI   rJ   rK   )rP   r;   rQ   r7   rR   ÚcolrS   s          r   Útest_nlargest_errorz)TestNLargestNSmallest.test_nlargest_errord   s³   € ð ˆØ�a‰jˆà�s�e˜<¨¨3©¯© ð 7"Ø"0Ð!1Ð1BðDð 	ð ×Ñ˜c 5Ó)ß‰W�S˜%Ó ß‰W�S˜%Ó ß‰W�S˜%Ó ð	 	ô �]‰]œ9¨IÔ6ñ 	4Ø'ŒG�B˜Ó'¨¨7Ô3÷	4÷ 	4ñ 	4ús   Á>BÂB$c                 ó¬   — |}|j                  dt        t        |«      ddhz
  «      «       |j                  dt        t        |«      ddhz
  «      «       y )Nr   r1   r0   )rE   r   ÚsetÚnlargest)rP   r;   rR   s      r   Útest_nlargest_all_dtypesz.TestNLargestNSmallest.test_nlargest_all_dtypesx   sK   € ØˆØ
�‰�QœœS ›WÐ(9¸8Ð'DÑDÓEÔFØ
�‰�A”tœC ›GÐ'8¸(Ð&CÑCÓDÕEr   c                 óh  — t        j                  g d¢g d¢dœ«      }|j                  dddg¬«      }t        j                  g d¢g d	¢dœg d
¢¬«      }t        j                  ||«       |j                  dddg¬«      }t        j                  g d¢g d¢dœg d¢¬«      }t        j                  ||«       y )N)r   r   r   r   r   r   )r   r   r   r   r   r   ©r   r   r	   r   r   r6   )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   rb   rN   rO   rE   ©rP   rR   rT   rU   s       r   Ú+test_nlargest_duplicates_on_starter_columnszATestNLargestNSmallest.test_nlargest_duplicates_on_starter_columns}   s™   € ô �\‰\Ò 2Ò9KÑLÓMˆà—‘˜Q¨¨c¨
�Ó3ˆÜ—<‘<Ú¢\Ñ2º,ô
ˆô 	×Ñ˜f hÔ/à—‘˜a¨#¨s¨�Ó4ˆÜ—<‘<Ú¢\Ñ2º,ô
ˆô 	×Ñ˜f hÕ/r   c                 ó`  — t        j                  dgdz  g d¢dœ«      }|j                  dd«      }t        j                  dgdz  g d¢dœg d¢¬	«      }t        j                  ||«       |j                  dd«      }t        j                  dgdz  g d¢dœ«      }t        j                  ||«       y )
Nr   r
   ©r   r   r   r	   r
   re   r   r   r"   )r   r   r   r   rf   rg   s       r   Ú test_nlargest_n_identical_valuesz6TestNLargestNSmallest.test_nlargest_n_identical_valuesŽ   s�   € ä�\‰\   a¡ªoÑ>Ó?ˆà—‘˜Q Ó$ˆÜ—<‘< q c¨A¡g²IÑ >ÂiÔPˆÜ
×Ñ˜f hÔ/à—‘˜a Ó%ˆÜ—<‘< q c¨A¡g²IÑ >Ó?ˆÜ
×Ñ˜f hÕ/r   é   c                 ó  — |}|j                  ||«      }|j                  |«      j                  |«      }t        j                  ||«       |j                  ||«      }|j                  |d¬«      j                  |«      }t        t        j                  «      t        d«      k\  rF|dgk(  r|dv s|ddgk(  r5|dk(  r0|j                  t        j                  j                  dd¬	«      «       t        j                  ||«       y )
NFrF   z1.25r   )r   r   r   r	   r   r
   zYpandas default unstable sorting of duplicatesissue with numpy>=1.25 with AVX instructions)ÚreasonÚstrict)rE   rL   rM   rN   rO   rb   r   r   Ú__version__ÚapplymarkerrH   ÚmarkÚxfail)rP   r   r?   r>   ÚrequestrR   rT   rU   s           r   Útest_nlargest_n_duplicate_indexz5TestNLargestNSmallest.test_nlargest_n_duplicate_indexš   sê   € ð ˆØ—‘˜a Ó'ˆØ—>‘> %Ó(×-Ñ-¨aÓ0ˆÜ
×Ñ˜f hÔ/à—‘˜Q Ó&ˆØ—>‘> %°5�>Ó9×>Ñ>¸qÓAˆÜ”2—>‘>Ó"¤g¨f£oÒ5Ø�s�eŠ^  \Ñ 1°uÀÀcÀ
Ò7JÐPQÐUVÒPVà×ÑÜ—‘×!Ñ!ðGð !ð "ó ôô 	×Ñ˜f hÕ/r   c                 ó|  — t        j                  g d¢g d¢dœ«      }|j                  ddd¬«      }t        j                  dddd	d	d	d	d
œdddddddd
œdœ«      }t        j                  ||«       |j                  ddd¬«      }t        j                  dd	d	d	d	dœddddddœdœ«      }t        j                  ||«       y )N)r
   r	   r	   r   r   r   r   r   )r   r'   r&   r%   r
   é2   r   é   re   r	   r   Úall)Úkeepr
   r   )r   r   r   r	   r
   rl   r%   r   r'   r&   rw   rx   r   )r   r	   r
   rl   r%   r%   rf   rg   s       r   Ú%test_nlargest_duplicate_keep_all_tiesz;TestNLargestNSmallest.test_nlargest_duplicate_keep_all_ties·   sÍ   € ä�\‰\Ú*Ò1MÑNó
ˆð —‘˜Q ¨%�Ó0ˆÜ—<‘<à˜q Q¨1°°q¸QÑ?Ø  a¨A°"¸ÀÑCñó
ˆô 	×Ñ˜f hÔ/à—‘˜a ¨5�Ó1ˆÜ—<‘<à˜q Q¨1°Ñ3Ø˜q R¨B°2Ñ6ñó
ˆô 	×Ñ˜f hÕ/r   c                 ór  — t        j                  t         j                  j                  dgddgg«      ddgddgddgd	d
gg¬«      }|j	                  dd«      }|j
                  g d¢   }t        j                  ||«       |j                  dd«      }|j
                  g d¢   }t        j                  ||«       y )NÚxr   r   g…ëQ¸Õ?g¤p=
×£À?g…ëQ¸…ë?g      Ð?gffffffæ?g333333ë?g…ëQ¸í?)r7   Údatar   )r}   r   )r   r   r   )r}   r   )r   r   r   )	r   r   Ú
MultiIndexÚfrom_productrE   ÚilocrN   rO   rb   rg   s       r   Ú&test_nlargest_multiindex_column_lookupz<TestNLargestNSmallest.test_nlargest_multiindex_column_lookupÎ   s«   € ô �\‰\Ü—M‘M×.Ñ.°°¸¸S°zÐ/BÓCØ˜�,  t ¨t°T¨l¸TÀ4¸LÐIô
ˆð —‘˜a Ó,ˆØ—7‘7š9Ñ%ˆÜ
×Ñ˜f hÔ/ð —‘˜Q 
Ó+ˆØ—7‘7š9Ñ%ˆÜ
×Ñ˜f hÕ/r   c                 ó  — t        j                  t        j                  t        j                  ddddg«      }|j	                  dd«      }|j                  dd¬«      j                  d«      }t        j                  ||«       y )Nr   r   r   r   r
   FrF   )	r   r   r   Únanrb   rL   rM   rN   rO   rg   s       r   Útest_nlargest_nanz'TestNLargestNSmallest.test_nlargest_nanà   sb   € ä�\‰\œ2Ÿ6™6¤2§6¡6¨1¨a°°AÐ6Ó7ˆØ—‘˜Q Ó"ˆØ—>‘> !¨u�>Ó5×:Ñ:¸1Ó=ˆÜ
×Ñ˜f hÕ/r   c                 ó$  — t        j                  g d¢g d¢g d¢dœt        d«      ¬«      }|j                  ddd	g¬
«      }t        j                  g d¢g d¢g d¢dœt        d«      ¬«      j	                  ddi«      }t        j                  ||«       y )N)r   r   r   r	   r
   Nr%   )r%   rl   r
   r	   r   r   r   )r   r   r   r   r   r   r   r   r%   r   r
   r   r   r6   rj   )r%   rl   r
   r	   r   )r   r   r   r   r   r/   )r   r   ÚrangerE   r   rN   rO   rg   s       r   Ú"test_nsmallest_nan_after_n_elementz8TestNLargestNSmallest.test_nsmallest_nan_after_n_elementç   s‰   € ä�\‰\â-Ú*Ú*ñô
 ˜“(ô
ˆð —‘˜a¨#¨s¨�Ó4ˆÜ—<‘<â$Ú$Ú$ñô
 ˜“(ô
÷ ‰&�#�w�Ó
 ð 	ô 	×Ñ˜f hÕ/r   N)Ú__name__Ú
__module__Ú__qualname__rH   rr   Úparametrizer‡   rV   r_   rc   rh   rk   ru   r{   r‚   r…   rˆ   r   r   r   r=   r=   >   sE  „ ð ‡[�[×ÑØàˆEØˆEØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJÚÚÚÚÚâð	
óð$ ‡[�[×Ñ˜S¡%¨¨2£,Ó/ñ4ó 0ó%ð&4ð  ‡[�[×ÑØ�WÐ/Ð0°7¸HÐ2EÐFóñ4óð4ò"Fò
0ò"
0ð ‡[�[×ÑØÚ	š/¨C¨5°3°%¸#¸s¸ÀcÈ3ÀZÐPóð ‡[�[×Ñ˜S¡%¨¨1£+Ó.ñ0ó /ó	ð
0ò00ò.0ò$0ó0r   r=   )Ú__doc__r0   r   Únumpyr   rH   Úpandasr   Úpandas._testingÚ_testingrN   Úpandas.util.versionr   Úfixturer   r    r;   r=   r   r   r   ú<module>r”      sr   ðñõ #ã Û ã Ý Ý 'ð ‡�ñó ðð ‡�ñó ðð ‡�ñó ð÷6|0ò |0r   