
    MhF                     p   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9S 5       r\R0                  " SSSSS\R:                  " S \R<                  " S!5      S"9\R:                  " S#\R<                  " S!5      S"9/S9S$ 5       r " S% S&5      r \RB                  RE                  S'S/S(/4SS/S)S(/4SS/S(S(/4/ S*Q/ S+Q4/ S,Q/ S-Q4/ S.Q/ S/Q4/ S0Q/ S1Q4/ S2Q/ S3Q4/ S4Q/ S5Q4/	5      S6 5       r#\RB                  RE                  S'S/S(/4SS/S)S(/4SS/S)S)/4/ S*Q/ S+Q4/ S,Q/ S7Q4/ S.Q/ S/Q4/ S0Q/ S8Q4/ S2Q/ S9Q4/ S4Q/ S5Q4/	5      S: 5       r$\RB                  RE                  S'S/S(/4SS/S)S(/4SS/S(S(/4/ S*Q/ S+Q4/ S,Q/ S;Q4/ S.Q/ S/Q4/ S0Q/ S<Q4/ S2Q/ S3Q4/ S4Q/ S5Q4/	5      S= 5       r%\RB                  RE                  S'S/S(/4SS/S)S(/4SS/S>S>/4/ S*Q/ S+Q4/ S,Q/ S?Q4/ S.Q/ S/Q4/ S0Q/ S@Q4/ S2Q/ SAQ4/ S4Q/ S5Q4/	5      SB 5       r&\RB                  RE                  S'S/S(/4SS/S)S(/4SS/S)S(/4/ S*Q/ S+Q4/ S,Q/ S+Q4/ S.Q/ S/Q4/ S0Q/ SCQ4/ S2Q/ SDQ4/ S4Q/ S5Q4/	5      SE 5       r'\RB                  RP                  SF 5       r)g)G    )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     W/var/www/html/env/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dense)paramsc                     U R                   $ Nparamrequests    r   resultsr(      s     ==r   objectfloat64int64Float64Int64float64[pyarrow]pyarrowmarkszint64[pyarrow]c                     U R                   $ r#   r$   r&   s    r   dtyper3   *   s     ==r   c                   "   \ rS rSrS rS rS r\R                  R                  SS\
/5      S 5       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\R0                  S/\R0                  S/\R2                  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).TestSeriesRank9   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pctr   d   g)\(?floatg@_)?r   r3   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'&l7rG   g|=r   (   r*   )pytestimportorskipr   r   rankastypetmassert_series_equalisnanfillnainfr   rankdatar=   arangerepeatrD   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_rank:   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)r?          @      @r9   r@   rH   )rH   r@   r9   ro   rn   r?   )r   secondthirdfourthfifthsixthT)
categoriesorderedF	ascending)rn   r9   rH   ro   r?   r@   )r   r   r   r   r   r   r   rp   rq   rr   rs   rt   )r   rp   rq   rr   rs   rt   seventh)rn   ro   r9   r@   rH   r   r?   )r?   rn   ro   r9   r@   rH   r   r?   rn   ro   r9   r@   rH   top)	na_optionbottomkeep)r   rH   r@   r9   ro   rn   r?   )rH   r@   r9   ro   rn   r?   r   )r{   rx   z3na_option must be one of 'keep', 'top', or 'bottom'matchbad)r   rp   rq   rr   )皙?333333?皙?r?   皙?r   r   r   r   r?         ?      ?      ?)r{   rB   )r   rN   r   rO   rP   rM   r   r   rK   raises
ValueError)r^   re   exp_descrv   	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   methodz,No axis named average for object type Seriesr~   )r   rM   rK   r   r   )r^   sr   s      r   test_rank_signature"TestSeriesRank.test_rank_signature   sH    Aq6N	i <]]:S1FF9 211s   A
A!r3   Nc                     Uu  pEUc  UOUR                  U5      nUR                  US9n[        R                  " U[	        U5      5        g )Nr   )rN   rM   rO   rP   r   )r^   r   r(   r3   r   re   results          r   test_rank_tie_methods$TestSeriesRank.test_rank_tie_methods   sA    ]c

5(9(
vvc{3r   rx   TFr   r   r   r   r   r    r{   )rz   r|   r}   z!dtype, na_value, pos_inf, neg_infr)   r*   r,   r.   r/   r0   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scipyr.   r   zuint64[pyarrow]r*   r   rE   )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   rz   r   r   r   r|   rI   )r   r{   rx   )rK   rL   r   r   r   listr   from_iterablerM   rO   rP   )r^   r   r{   rx   r3   na_valuepos_infneg_inf	exp_dtypechunkin_arrrf   	exp_ranksra   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      Frw   r   r   r   r*   rE   )r   r   r   rS   rM   rO   rP   )r^   rf   r   re   s       r   test_rank_desc_mix_nans_infs+TestSeriesRank.test_rank_desc_mix_nans_infs/  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 )Nr8   r   r   r   a)r=   r   r   ordinalr*   )rK   rL   r   rZ   r[   standard_normalconcatenaterangeshuffler]   chrordr   rM   rT   rN   rO   rP   )r^   r   opvaluer`   xsir=   valsr<   r   sprankr   s                r   test_rank_methods_series'TestSeriesRank.test_rank_methods_series7  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   rI   )r   r   r   r   r   c                     [        U5      R                  U5      nUR                  SS9n[        U5      R                  UR                  5      n[        R
                  " XV5        g )Nr    r   r   rN   rM   r3   rO   rP   )r^   r3   r   re   r   r   r   s          r   test_rank_dense_method%TestSeriesRank.test_rank_dense_methodO  sN     3Ku%w'#;%%fll3
v0r   c                 t   Uu  pESU;   a  UR                  5       nOUR                  U5      nUR                  SS9nUR                  5       U-
  R                  5       n[        R
                  " Xx5        UR                  5       U-
  R                  US9nUR                  USS9n	[        R
                  " X5        g )Nr   Frw   r   )r   rx   )dropnarN   rM   r   rO   rP   )
r^   r   r(   r3   r   _r   r   r   res2s
             r   test_rank_descending#TestSeriesRank.test_rank_descendingb  s    	%<

A

5!Affuf%EEGaK%%'
s-EEGaK%%V%4vvVuv5
t.r   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   rN   rM   r   r=   rO   rP   )r^   r   r(   r   re   r   r   r   s           r   test_rank_intTestSeriesRank.test_rank_intq  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    Trw   F)r   r   r   rN   r)   rM   )r^   s    r   test_rank_object_bug#TestSeriesRank.test_rank_object_bugz  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   rW   rM   rO   rP   )r^   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;-:r,   rE   r   r   r   r   r   r   )r   r   rM   r   r   rO   rP   )r^   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__rk   r   r   rK   markparametrizer)   r   r   r   r   r   rS   r   r%   td
skip_if_nor   r   operatoraddmulr   r   r   r   r   r   r   __static_attributes__r   r   r   r5   r5   9   s3   Y,vVRp [[WtVn54 64 [[[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/1C11r   r5   r   r?   r   r   )UUUUUU?UUUUUU?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   c                     [        U5      R                  U 5      nUR                  SSS9n[        U5      R                  UR                  5      n[        R
                  " XE5        g )Nr    Tr   rB   r   r3   r   re   r   r   r   s         r   test_rank_dense_pctr     P     	s5!AVV7V-Fc{!!&,,/H6,r   )r   r   r   )r   r   r   r   r   )UUUUUU?r   r   r   竪?r   c                     [        U5      R                  U 5      nUR                  SSS9n[        U5      R                  UR                  5      n[        R
                  " XE5        g )Nr   Tr   r   r   s         r   test_rank_min_pctr     P     	s5!AVV5dV+Fc{!!&,,/H6,r   )r   r?   r?   )r   r   r?   r?   r   c                     [        U5      R                  U 5      nUR                  SSS9n[        U5      R                  UR                  5      n[        R
                  " XE5        g )Nr   Tr   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5      R                  U 5      nUR                  SSS9n[        U5      R                  UR                  5      n[        R
                  " XE5        g )Nr   Tr   r   r   s         r   test_rank_average_pctr	    sP     	s5!AVV9$V/Fc{!!&,,/H6,r   )r   r   r   r?   r   )r   r   r   r   r   r?   c                     [        U5      R                  U 5      nUR                  SSS9n[        U5      R                  UR                  5      n[        R
                  " XE5        g )Nr   Tr   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  TrA   r   )r   r   rU   rM   r   )r   r   s     r   test_pct_max_many_rowsr    s<     	ryy#$AVVV!!#FQ;;r   )*	itertoolsr   r   numpyr   rK   pandas._libs.algosr   r   pandas.util._test_decoratorsutil_test_decoratorsr   pandasr   r   r   r	   r
   pandas._testing_testingrO   pandas.api.typesr   fixturer   rY   r   r(   r%   r   r3   r5   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

Z1 Z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   