
    A>iIU                        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     d/var/www/html/land-tabula/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                     SnU S;   a  SnU$ U S;   a  US:X  d  U(       a  SnU$ 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])r0   r1   UInt64r   )r:   methodpct	exp_dtypes       r   expected_dtyperA   =   s}    I##	  
8	8Y#)I  *I  
&	&Y#!I  !Ir   c                       \ rS rSrS rS rS rS rS r\	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       rS r\	R                  R                  S\R0                  S/\R0                  S/\R2                  S//5      S 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))TestSeriesRankP   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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      R/                  [1        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'&l7rT   g|=r   (   r.   )pytestimportorskipr   r   rankastypetmassert_series_equalisnanfillnainfr   rankdatarK   arangerepeatrQ   r
   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_rankQ   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$'
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)rM          @      @rG   rN   rU   )rU   rN   rG   r{   rz   rM   )r   secondthirdfourthfifthsixthT)
categoriesorderedF	ascending)rz   rG   rU   r{   rM   rN   )r   r   r   r   r   r   r   r|   r}   r~   r   r   )r   r|   r}   r~   r   r   seventh)rz   r{   rG   rN   rU   r   rM   )rM   rz   r{   rG   rN   rU   r   rM   rz   r{   rG   rN   rU   top	na_optionbottomkeep)r   rU   rN   rG   r{   rz   rM   )rU   rN   rG   r{   rz   rM   r   )r   r   z3na_option must be one of 'keep', 'top', or 'bottom'matchbad)r   r|   r}   r~   )皙?333333?皙?rM   皙?r   r   r   r   rM         ?      ?      ?)r   r?   )r   r[   r   r\   r]   rZ   r   r   rX   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QSS9nUR                  SS9n[        / SQSS9n[        R                  " X#5        g )N)Nr   Nr   r   r   r   r   r1   rR   r   r   )N      @NrN   rN   r   rN   rM   r0   )r   rZ   r\   r]   )rj   rq   resultexpecteds       r   test_rank_nullable_integer)TestSeriesRank.test_rank_nullable_integer  s:    37CF+DIV
v0r   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   rZ   rX   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  pgUS:X  d  US;   a  U(       a  U(       d  US:X  a  [         R                  " S5        Uc  UOUR                  U5      nUS;   a  U(       dz  [        U[        R
                  " UR                  [        R                  [        R                  S95      '   [        R
                  " U5      nUR                  [        5      n[        Xx'   UR                  US9n	US:X  a:  U(       d3  [        R
                  " U5      nUR                  [        5      n[        Xx'   [        U[        X65      S	9n
[        R                  " X5        g )
Nr/   )r6   r<   r1   r8   zint64/str does not support NaNr2   r0   )r:   na_valuer   r7   rR   )rX   skipr[   r   r   r^   to_numpyr.   r   r-   rZ   r   rA   r\   r]   )rj   r   r,   r:   using_infer_stringusing_nan_is_nar>   rq   ro   r   r   s              r   test_rank_tie_methods$TestSeriesRank.test_rank_tie_methods  s     W GG'&5E>KK89]c

5(933OMOCBJJHIJ88C=D**V$CCI(%%o88C=D**V$CCI#^E%BC
v0r   r   )r   r   r   z!dtype, na_value, pos_inf, neg_infr-   Nr.   r0   r2   r3   r4   c	                    [         R                  " S5        US:X  a  US:X  a  Sn	OSn	O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OSUS:X  a  US   US   US   /nO>US;   a  U(       d  US   [        /U
-  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[        UU	S	9n[        R                  " UU5        g )Nscipyr2   r   r<   r0   r=   r.   r   rR   )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   r   r   r   r   r   rV   )r>   r   r   )rX   rY   r   r   r   r   listr   from_iterablerZ   r\   r]   )rj   rank_methodr   r   r:   r   pos_infneg_infr   r@   chunkin_arrrr   	exp_ranksrm   orderr   r   exp_sers                      r   "test_rank_tie_methods_on_infs_nans1TestSeriesRank.test_rank_tie_methods_on_infs_nans5  s   6 	G$&&i'.	-	ii'%	$	!IU"hZ%%777)e:KK-!9i8y)4y)4I6I6
	 &1XuQxq2E("1XuQxq2E55o1Xte|U1X6E1Xx%/q:E%552;++H56y  
 3
vw/r   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.   rR   )r   r   r   r`   rZ   r\   r]   )rj   rr   r   rq   s       r   test_rank_desc_mix_nans_infs+TestSeriesRank.test_rank_desc_mix_nans_infsz  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 )NrF   r   r   r   a)rK   r   r   ordinalr.   )rX   rY   r   rf   rg   standard_normalconcatenaterangeshuffleri   chrordr   rZ   ra   r[   r\   r]   )rj   r   opvaluerl   xsirK   valsrJ   r   sprankr   s                r   test_rank_methods_series'TestSeriesRank.test_rank_methods_series  s    &&}5YY""1%55a8^^U1a^<^V^<=
		a ((,,1#b'N;NqSX\"N;"}D&,""!7+Y
 &.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   rV   )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   rV   r    r   
startswithr   r[   rZ   rA   r\   r]   )rj   r:   r   rq   r   r   r   s          r   test_rank_dense_method%TestSeriesRank.test_rank_dense_method  sy     q6A:%**511dd)C3Ku%w'#;%%nUG&DE
v0r   c           	      B   Uu  pgUS:X  d  US;   a  U(       a  U(       d&  US:X  a   UR                  5       R                  U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
US:X  a+  U(       d$  U
R                  [        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US:X  a+  U(       d$  U
R                  [        R                  [        5      n
[        R                  " XR                  [        X65      5      5        g )Nr/   )r6   r1   r0   r8   Fr   r.   r7   r   r   )r>   r   )dropnar[   rZ   r   r   replacer   r   r   r\   r]   rA   )rj   r   r,   r:   r   r   r>   _r   r   r   res2s               r   test_rank_descending#TestSeriesRank.test_rank_descending  s    	W??&5E>

##E*A

5!Affuf%E""+//1AHHY4GGMMOH!))+H%%o''3H
sOON5)4T$UVE""+//1AHHY4GGMM N H !)))8HvvVuv5%%o''3H
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   r[   rZ   r   rK   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   r[   r-   rZ   )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   copyrZ   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[        S/SS9n[        R                  " X#5        g )Ng*"Fg3!ǻg{Q :g1A;-:r0   rR   r   r   r   r   r   r   r=   )r   r   rZ   r\   r]   )rj   r   r   r   s       r   test_rank_ea_small_values(TestSeriesRank.test_rank_ea_small_values  sT    =-]K
 '1aB*(;
v0r   r   )"__name__
__module____qualname____firstlineno__rw   r   r   r   r   rX   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   rC   rC   P   s   Y,vVRp11B [[[*CD[[+tXZ70BFFRVVG,LL"mmI.		
30 E 30j, [[\\1\\3\\4 	
11" [[S1#JS1#JS1#JVaV	"	"o.!?3		
11UB1C11r   rC   r   rM   r   r   )UUUUUU?UUUUUU?rM   )r   r   r   )r   rM   rM   r   )rM   r  r  r   )r  r  rM   rM   r  )r   r   r   r   r   r   )r  r  r  r  rM   rM   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   rV   r    Tr>   r?   rO   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   rV   r   Tr  rO   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  rM   rM   )r   r   rM   rM   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   rV   r   Tr  rO   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   rV   r   Tr  rO   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   rM   r   )r  r  r   r  r  rM   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   rV   r   Tr  rO   r   r  s         r   test_rank_first_pctr#  U  r  r   c                      [        [        R                  " S5      5      n U R                  SS9R	                  5       nUS:X  d   eg )Ni  TrO   r   )r   r   rb   rZ   r   )r   r   s     r   test_pct_max_many_rowsr%  l  s<     	ryy#$AVVV!!#FQ;;r   )F)+	itertoolsr   r
  numpyr   rX   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:   rA   rC   r  r  r  r  r  r!  r#  
single_cpur%  r   r   r   <module>r2     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&c1 c1R 
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   