
    m*iM                        S SK Jr  S SKrS SKrS SKrS SKJrJr  S SK	J
s  Jr  S SKJrJrJrJrJr  S SKJr  S SKJr  \R0                  S 5       r\R0                  " S\R4                  " SS	S
S\R6                  SSS\R6                  S	/
5      /S\R4                  " SSSS\R6                  SSS\R6                  S/
5      /S\R4                  " SSSS\R6                  SSS\R6                  S/
5      /S\R4                  " SSSS\R6                  SSS\R6                  S/
5      /S\R4                  " SSSS\R6                  SSS\R6                  S/
5      //S S9S 5       r\R0                  " SSSSS \R:                  " S!\R<                  " S"5      S#9\R:                  " S$\R<                  " S"5      S#9\R:                  " S%\R<                  " S"5      S#9S&S'/
S(9S) 5       rSMS* jr  " S+ S,5      r!\RD                  RG                  S-S/S./4SS/S/S./4SS/S.S./4/ S0Q/ S1Q4/ S2Q/ S3Q4/ S4Q/ S5Q4/ S6Q/ S7Q4/ S8Q/ S9Q4/ S:Q/ S;Q4/	5      S< 5       r$\RD                  RG                  S-S/S./4SS/S/S./4SS/S/S//4/ S0Q/ S1Q4/ S2Q/ S=Q4/ S4Q/ S5Q4/ S6Q/ S>Q4/ S8Q/ S?Q4/ S:Q/ S;Q4/	5      S@ 5       r%\RD                  RG                  S-S/S./4SS/S/S./4SS/S.S./4/ S0Q/ S1Q4/ S2Q/ SAQ4/ S4Q/ S5Q4/ S6Q/ SBQ4/ S8Q/ S9Q4/ S:Q/ S;Q4/	5      SC 5       r&\RD                  RG                  S-S/S./4SS/S/S./4SS/SDSD/4/ S0Q/ S1Q4/ S2Q/ SEQ4/ S4Q/ S5Q4/ S6Q/ SFQ4/ S8Q/ SGQ4/ S:Q/ S;Q4/	5      SH 5       r'\RD                  RG                  S-S/S./4SS/S/S./4SS/S/S./4/ S0Q/ S1Q4/ S2Q/ S1Q4/ S4Q/ S5Q4/ S6Q/ SIQ4/ S8Q/ SJQ4/ S:Q/ S;Q4/	5      SK 5       r(\RD                  RR                  SL 5       r*g)N    )chainN)InfinityNegInfinity)NANaTSeries	Timestamp
date_range)CategoricalDtypec                  d    [        SSSS[        R                  SSS[        R                  S/
5      $ )N               )r   npnan     e/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/pandas/tests/series/methods/test_rank.pyserr      s*    1aArvvq!Q:;;r   averageg      ?g      @      @g      @g       @minr   r      r      maxr      r   firstdensec                     U S   $ )Nr   r   )xs    r   <lambda>r#   %   s    !A$r   )paramsidsc                     U R                   $ Nparamrequests    r   resultsr,      s     ==r   objectfloat64int64Float64Int64float64[pyarrow]pyarrowmarksint64[pyarrow]string[pyarrow]zstring[python]str)r$   c                     U R                   $ r'   r(   r*   s    r   dtyper:   +   s     ==r   c                 P    SnU S;   a  SnU$ U S;   a  US:X  d  U(       a  SnU$ SnU$ )Nr.   )r7   r0   )r2   r6   r   zdouble[pyarrow]uint64[pyarrow]r   )r:   methodpct	exp_dtypes       r   expected_dtyper@   =   sL    I##	  
8	8Y#)I  *Ir   c                      \ rS rSrS rS rS rS r\R                  R                  SSS/5      \R                  R                  S	/ S
Q5      \R                  R                  S/ SQ5      \R                  R                  SSS\" 5       \" 5       4S\R                  \R                  \R                  * 4S\\R                  \R                  * 4\R"                  " S\\R                  \R                  * \R&                  " S5      S9/5      S 5       5       5       5       rS r\R                  R                  S	/ S
Q5      \R                  R                  S\R.                  S/\R.                  S/\R0                  S//5      S 5       5       r\R                  R                  SS/S/4S/S/4S/S/4SS/SS/4/ SQ/ SQ4/ S Q/ S!Q4/ S"Q/ S#Q4/ S$Q/ S%Q4/5      S& 5       rS' rS( rS) rS* rS+ rS,r g)-TestSeriesRankK   c                 
   [         R                  " S5      n[        R                  US S S2'   SUS SS2'   UR	                  5       nUR                  S5      R	                  5       n[        R                  " X45        [        R                  " U5      nUR                  [        R                  5      n[        UR                  U5      UR                  SS9n[        R                  Xu'   [        R                  " X75        [        [        R                  " S	5      R                  S5      5      nUR	                  5       n	UR                  [         5      R	                  5       n[        R                  " X5        [        [        R                  " S	5      5      S
-   nUS-  nUR	                  SS9n	[        R                  " X5        [        [        R                  " SS5      5      n[        [        R                  " SS5      5      nUR	                  SS9n	[        R                  " X5        UR                  S5      n[        R                  US'   [        [        R                  " SS5      5      n[        R                  US'   UR	                  SS9n	[        R                  " X5        [        [        R                  " S	5      5      S
-   n[        R                  US'   US-  nUR	                  SS9n	[        R                  " X5        [        [        R                  " [        R                  S5      5      nUR#                  5       nUR	                  SS9n	[        R                  " X5        [        [        R                  " S	5      SS9S-   n[        R                  US'   US-  nUR	                  SS9n	[        R                  " X5        [%        SS	S9n
[        [        R                  " S	5      U
SS9S-   n[        R                  UR&                  S'   US-  nUR	                  SS9n	[        R                  " X5        [        / SQ5      n[        / SQ5      nUR	                  5       n	[        R                  " X5        [        SSS[(        /SS9n[        SSS[        R                  /5      nUR	                  5       n	[        R                  " X5        [        R*                  " / SQSS9n[        R,                  R/                  S5      R1                  [3        U5      5      n[        X   5      n[        US
-   SS9nUR	                  5       n	[        R                  " X5        g )Nscipy.statsr         @
   r   Ots)indexnamer         ?      @Tr>   r   d   g)\(?floatg@_)?r   r:   z1/1/1990)periods)gJz5g0.++#B;g{Gz?gIf;g?)r   r   r   r   r         @z3 dayz	1 day 10mz-2 dayzm8[ns])ig#Bǻg}gJzr   gWw'&l7rS   g|=r   (   r.   )pytestimportorskipr   r   rankastypetmassert_series_equalisnanfillnainfr   rankdatarJ   arangerepeatrP   copyr
   ilocr   arrayrandomdefault_rngpermutationlen)selfdatetime_seriessp_statsranksoranksmaskfilledexpiseriesiranksrngvaluesrandom_orders                r   	test_rankTestSeriesRank.test_rankL   s   &&}5!vv!!$A$$& '',113
u-xx( ''/ X&&v.fllNFF	
u*1,,Q/0nnU#((*
v+1&,m$'
v+1c*+RYYuc*+$'
v+ ..)VV
RYY{C01A$'
v+1&,VV
m$'
v+2663/0lln$'
v+ 1W59VV
m$'
v+Q/1s':Q>&&Qm$'
v+JK)*
v+ ';#>hOaArvv&'
v+L
 yy,,Q/;;CKH-.\C'y9
v+r   c           	      f   [        / SQ5      n[        / SQ5      n[        / SQ5      R                  [        / SQSS95      n[        R                  " UR                  5       U5        [        R                  " UR                  SS9U5        [        / SQ5      R                  [        / SQSS95      n[        / SQ5      nUR                  5       n[        R                  " Xe5        [        / S	Q5      R                  [        / S	QS5      5      n[        / SQ5      nUR                  5       n	[        R                  " X5        [        S
SSSSS[        R                  /5      R                  [        / SQS5      5      n
[        / SQ5      n[        / SQ5      n[        SSSSSS[        R                  /5      n[        R                  " U
R                  SS9U5        [        R                  " U
R                  SS9U5        [        R                  " U
R                  SS9U5        [        / SQ5      n[        / SQ5      n[        SSSSSS[        R                  /5      n[        R                  " U
R                  SSS9U5        [        R                  " U
R                  SSS9U5        [        R                  " U
R                  SSS9U5        S n[        R                  " [        US!9   U
R                  S"SS9  S S S 5        [        R                  " [        US!9   U
R                  SSS9  S S S 5        [        S
SSS[        R                  /5      R                  [        / S#QS5      5      n
[        / S$Q5      n[        / S%Q5      n[        S&S'S(S[        R                  /5      n[        R                  " U
R                  SSS)9U5        [        R                  " U
R                  SSS)9U5        [        R                  " U
R                  SSS)9U5        g ! , (       d  f       GN"= f! , (       d  f       GN= f)*N)rL          @      @rF   rM   rT   )rT   rM   rF   r{   rz   rL   )r   secondthirdfourthfifthsixthT)
categoriesorderedF	ascending)rz   rF   rT   r{   rL   rM   )r   r   r   r   r   r   r   r|   r}   r~   r   r   )r   r|   r}   r~   r   r   seventh)rz   r{   rF   rM   rT   r   rL   )rL   rz   r{   rF   rM   rT   r   rL   rz   r{   rF   rM   rT   top)	na_optionbottomkeep)r   rT   rM   rF   r{   rz   rL   )rT   rM   rF   r{   rz   rL   r   )r   r   z3na_option must be one of 'keep', 'top', or 'bottom'matchbad)r   r|   r}   r~   )皙?333333?皙?rL   皙?r   r   r   r   rL         ?      ?      ?)r   r>   )r   rZ   r   r[   r\   rY   r   r   rW   raises
ValueError)rj   rq   exp_descr   	unorderedexp_unorderedres
unordered1exp_unordered1res1na_serexp_topexp_botexp_keepmsgs                  r   test_rank_categorical$TestSeriesRank.test_rank_categorical   s}    3489D

&S
 	 	w||~s3
w||e|<hG D

&S
 	 =>nn
s2./66/7

   >? 
t4 h7GRVVL

&S
 	 <=<=3S#sC@A
v{{U{;WE
v{{X{>H
v{{V{<hG <=<=3S#sC@A
v{{Ue{LgV
KK(eK<g	
 	v{{Vu{MxX D]]:S1KK%5K9 2 ]]:S1KK$%K8 2 (GXrvvFGNNCTJ
 23234dC89
v{{U{EwO
v{{X4{H'R
v{{V{FQ# 21 21s   #PP!
P!
P0c                     [        SS/5      nUR                  SS9  Sn[        R                  " [        US9   UR                  S5        S S S 5        g ! , (       d  f       g = f)Nr   r   r   r=   z,No axis named average for object type Seriesr   )r   rY   rW   r   r   )rj   sr   s      r   test_rank_signature"TestSeriesRank.test_rank_signature   sH    Aq6N	i <]]:S1FF9 211s   A
A!c           
         Uu  pVUS:X  d  US:X  d  U(       d  US:X  a  [         R                  " S5        Uc  UOUR                  U5      nUR                  US9n[        R
                  " U[        U[        X55      S95        g )Nr/   r1   r8   zint64/str does not support NaNr   rQ   )rW   skiprZ   rY   r[   r\   r   r@   )rj   r   r,   r:   using_infer_stringr=   rq   results           r   test_rank_tie_methods$TestSeriesRank.test_rank_tie_methods  so    W&5E>KK89]c

5(9(
vvc9V'WXr   r   TFr=   r   r   r   r   r    r   )r   r   r   z!dtype, na_value, pos_inf, neg_infr-   Nr.   r0   r2   r3   r4   c                 R   [         R                  " S5        US:X  a  US:X  a  SnOSnOSnSn	U/U	-  U/U	-  -   U/U	-  -   n
[        XS9n/ SQ/ S	Q/ S
Q4/ SQ/ SQ/ SQ4/ SQ/ SQ/ SQ4/ SQ/ SQ/ SQ4/ SQ/ SQ/ SQ4S.nX   nUS:X  a  US   US   US   /nO2US:X  a  US   US   US   /nOUS   [        R                  /U	-  US   /nU(       a  UOUS S S2   n[        [        R                  " U5      5      nUR                  XUS9n[        R                  " U[        XS95        g )Nscipyr2   r   r<   r.   r   rQ   )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   r   r   r   r   r   r   r   rU   )r=   r   r   )rW   rX   r   r   r   listr   from_iterablerY   r[   r\   )rj   r=   r   r   r:   na_valuepos_infneg_infr?   chunkin_arrrr   	exp_ranksrm   orderexpectedr   s                    r   "test_rank_tie_methods_on_infs_nans1TestSeriesRank.test_rank_tie_methods_on_infs_nans  sT   * 	G$&&".	-	!IU"hZ%%777)e:KK-!9i8y)4y)4I6I6
	 !1XuQxq2E("1XuQxq2E1Xx%/q:E%552;++H56VIV
vvh'HIr   c                     [        S[        R                  [        R                  [        R                  * S/5      nUR	                  SS9n[        S[        R                  SSS/SS	9n[
        R                  " X#5        g )
Nr      Fr   r   r   r   r.   rQ   )r   r   r   r_   rY   r[   r\   )rj   rr   r   rq   s       r   test_rank_desc_mix_nans_infs+TestSeriesRank.test_rank_desc_mix_nans_infsG  s`     !RVVRVVbffWb9:.aAq);
v+r   z	op, valuer   g    .Agư>c                    [         R                  " S5      n[        R                  R	                  S5      R                  S5      n[        R                  " [        SSS5       Vs/ s H  oeUS  PM	     sn5      n[        R                  R	                  S5      R                  U5        [        [        U5      5       Vs/ s H  n[        [        S5      U-   5      PM     nnU" XS5      n[        XS9n	U	R                  US9n
UR                  XS:w  a  UOS	5      n[        XS9R                  S
5      n[         R"                  " X5        g s  snf s  snf )NrE   r   r   r   a)rJ   r   r   ordinalr.   )rW   rX   r   rf   rg   standard_normalconcatenaterangeshuffleri   chrordr   rY   r`   rZ   r[   r\   )rj   r=   opvaluerl   xsirJ   valsrI   r   sprankr   s                r   test_rank_methods_series'TestSeriesRank.test_rank_methods_seriesO  s    &&}5YY""1%55a8^^U1a^<^V^<=
		a ((,,1#b'N;NqSX\"N;"}D&'""4W3D)T&.55i@
v0 = <s   $E=!Eser, expr   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   rU   )r   r   r   r   r   c                    US   S:  a  UR                  S5      (       a  US S S2   n[        U5      R                  U5      nUR                  SS9n[        U5      R                  [	        US5      5      n[
        R                  " XV5        g )Nr   r8   rU   r    r   
startswithr   rZ   rY   r@   r[   r\   )rj   r:   r   rq   r   r   r   s          r   test_rank_dense_method%TestSeriesRank.test_rank_dense_methodg  sy     q6A:%**511dd)C3Ku%w'#;%%nUG&DE
v0r   c           	      F   Uu  pVUS:X  d  U(       d  US:X  a  UR                  5       nOUR                  U5      nUR                  SS9nUR                  S5      (       a@  UR                  S5      R	                  5       UR                  S5      -
  R                  5       n	O!UR	                  5       U-
  R                  5       n	[
        R                  " XR                  [        US5      5      5        UR                  S5      (       a?  UR                  S5      R	                  5       UR                  S5      -
  R                  US9n	O UR	                  5       U-
  R                  US9n	UR                  USS9n
[
        R                  " XR                  [        X55      5      5        g )	Nr/   r8   Fr   r.   r   r   )r=   r   )dropnarZ   rY   r   r   r[   r\   r@   )rj   r   r,   r:   r   r=   _r   r   r   res2s              r   test_rank_descending#TestSeriesRank.test_rank_descending|  sO   	G$65E>

A

5!Affuf%E""+//1AHHY4GGMMOH!))+H
sOON5)4T$UVE""+//1AHHY4GGMM N H !)))8HvvVuv5
t__^E5R%STr   c                     Uu  p4UR                  5       R                  S5      nUR                  US9n[        U5      R                  5       nUR                  Ul        [
        R                  " Xg5        g )Ni8r   )r   rZ   rY   r   rJ   r[   r\   )rj   r   r,   r=   rq   r   r   r   s           r   test_rank_intTestSeriesRank.test_rank_int  sZ    JJL%v&#;%%'
v0r   c                     [        [        R                  /S-  5      R                  [        5      R                  SS9  [        [        R                  /S-  5      R                  [        5      R                  SS9  g )N    Tr   F)r   r   r   rZ   r-   rY   )rj   s    r   test_rank_object_bug#TestSeriesRank.test_rank_object_bug  sZ     	x"}$$V,11D1Ax"}$$V,11E1Br   c                     [        [        S5      [        /5      nUR                  5       nUR	                  5         Un[
        R                  " X25        g )Nz2017-01-05 10:20:27.569000)r   r	   r   rc   rY   r[   r\   )rj   r   r   r   s       r   test_rank_modify_inplace'TestSeriesRank.test_rank_modify_inplace  s@     I:;SAB668	
v0r   c                     [        SSS[        S/SS9nUR                  SS9n[        S	S
S[        R                  S/5      n[
        R                  " X#5        g )Ng*"Fg3!ǻg{Q :g1A;-:r0   rQ   r   r   r   r   r   r   )r   r   rY   r   r   r[   r\   )rj   r   r   r   s       r   test_rank_ea_small_values(TestSeriesRank.test_rank_ea_small_values  sV    =-]K
 '1aBFFA./
v0r   r   )!__name__
__module____qualname____firstlineno__rw   r   r   r   rW   markparametrizer   r   r   r   r_   r   r)   td
skip_if_nor   r   operatoraddmulr   r   r   r   r   r   r   __static_attributes__r   r   r   rB   rB   K   s   Y,vVRpY [[[4-8[[X'RS[[[*CD[[+tXZ70BFFRVVG,LL"mmI.		
 J E T 9$ JD, [[X'RS[[\\1\\3\\4 	
1 T1 [[S1#JS1#JS1#JVaV	"	"o.!?3		
11U.1C11r   rB   r   rL   r   r   )UUUUUU?UUUUUU?rL   )r   r   r   )r   rL   rL   r   )rL   r  r  r   )r  r  rL   rL   r  )r   r   r   r   r   r   )r  r  r  r  rL   rL   r   r   c                    US   S:  a  U R                  S5      (       a  US S S2   n[        U5      R                  U 5      nUR                  SSS9n[        U5      R                  [	        U SSS95      n[
        R                  " XE5        g )Nr   r8   rU   r    Tr=   r>   rN   r   r:   r   rq   r   r   r   s         r   test_rank_dense_pctr    }     1vze&&u--$B$is5!AVV7V-Fc{!!.T"JKH6,r   )r  r  r  )r   r   r   r   r   )UUUUUU?r
  r   r   竪?r  c                    US   S:  a  U R                  S5      (       a  US S S2   n[        U5      R                  U 5      nUR                  SSS9n[        U5      R                  [	        U SSS95      n[
        R                  " XE5        g )Nr   r8   rU   r   Tr  rN   r   r  s         r   test_rank_min_pctr    }     1vze&&u--$B$is5!AVV5dV+Fc{!!.4"HIH6,r   )r  rL   rL   )r   r   rL   rL   r   c                    US   S:  a  U R                  S5      (       a  US S S2   n[        U5      R                  U 5      nUR                  SSS9n[        U5      R                  [	        U SSS95      n[
        R                  " XE5        g )Nr   r8   rU   r   Tr  rN   r   r  s         r   test_rank_max_pctr    r  r   r   )r  r  r  )333333?r  ?r  r   )r   r   竪?r  UUUUUU?r  c                    US   S:  a  U R                  S5      (       a  US S S2   n[        U5      R                  U 5      nUR                  SSS9n[        U5      R                  [	        U SSS95      n[
        R                  " XE5        g )Nr   r8   rU   r   Tr  rN   r   r  s         r   test_rank_average_pctr     s}     1vze&&u--$B$is5!AVV9$V/Fc{!!.	t"LMH6,r   )r   r   r   rL   r   )r
  r  r   r  r  rL   c                    US   S:  a  U R                  S5      (       a  US S S2   n[        U5      R                  U 5      nUR                  SSS9n[        U5      R                  [	        U SSS95      n[
        R                  " XE5        g )Nr   r8   rU   r   Tr  rN   r   r  s         r   test_rank_first_pctr    r	  r   c                      [        [        R                  " S5      5      n U R                  SS9R	                  5       nUS:X  d   eg )Ni  TrN   r   )r   r   ra   rY   r   )r   r   s     r   test_pct_max_many_rowsr  .  s<     	ryy#$AVVV!!#FQ;;r   )F)+	itertoolsr   r   numpyr   rW   pandas._libs.algosr   r   pandas.util._test_decoratorsutil_test_decoratorsr   pandasr   r   r   r	   r
   pandas._testing_testingr[   pandas.api.typesr   fixturer   re   r   r,   r)   r   r:   r@   rB   r   r   r  r  r  r  r  
single_cpur  r   r   r   <module>r'     s       * )   - < < 	BHHc3S"&&#sCQTUVW	!Q1bffaArvvqABC	!Q1bffaArvvqABC	"((Aq!Q1aCDE	"((Aq!Q1aCDE 			 'r}}Y/GH%R]]9-EF&bmmI.FGj1 j1` 
se
Q'7#$
Q#s	/0	/0	/0	GH	ST	LM
-- 
se
Q'7#$
Q'7#$	/0	/0	/0	GH	ST	LM
-- 
se
Q'7#$
Q#s	/0	/0	/0	GH	ST	LM
-- 
se
Q'7#$
Q'7#$	/0	/0	/0	GH	ST	LM
-- 
se
Q'7#$
Q'9%&	/0	/0	/0	GH	ST	LM
--  r   