
    A>iC                     h    S SK J r Jr  S SKrS SKrS SKJrJr  S SKJ	r	J
r
Jr  S SKJr   " S S5      rg)    )datetime	timedeltaN)InfinityNegInfinity)	DataFrameIndexSeriesc                      \ rS rSr\" SSSS\R                  SSS\R                  S/
5      r\" \\S.5      r	\R                  " SS	S
S\R                  SSS\R                  S	/
5      \R                  " SSSS\R                  SSS\R                  S/
5      \R                  " SSSS\R                  SSS\R                  S/
5      \R                  " SSSS\R                  SSS\R                  S/
5      \R                  " SSSS\R                  SSS\R                  S/
5      S.rS rS rS rS rS rS r\R&                  R)                  SSS/5      S 5       r\R&                  R)                  S/ SQ5      S 5       r\R&                  R)                  SSS/5      \R&                  R)                  SS\/5      S 5       5       r\R&                  R)                  S S!/ S"Q/ S#Q/ S$Q/4S%/ S&Q/ S'Q/ S(Q/4S)/ S"Q/ S*Q/ S+Q/4S,/ S-Q/ S.Q/ S/Q/4S0/ S&Q/ S1Q/ S+Q/4/5      S2 5       r\R&                  R4                  S3 5       r\R&                  R)                  S4\R8                  * S5S6S7S8S9SS:S;S<SS=\R8                  /S>4\R8                  * S5S6S7S8S?SS:S;S<SS=\R8                  /S@4\R:                  " \R<                  5      R>                  SSSA\R:                  " \R<                  5      R@                  /SB4\R:                  " \RB                  5      R>                  SCSSSDSESF\R:                  " \RB                  5      R@                  /SG4\"" 5       SHSISJSKSL\#" 5       /SM4\$" SNSS5      \$" SNSS5      \$" SNSS5      /SO4/5      SP 5       r%SQ r&SR r'\R&                  R)                  SSSTSU/ SVQ4STSW/ SXQ4SYSU/ SZQ4SYSW/ S[Q4/5      S\ 5       r(\R&                  R)                  SSSYSU/ S]Q4SYSW/ S]Q4STSU/ S^Q4STSW/ S^Q4/5      S_ 5       r)\R&                  R)                  S`/ SaQ/ SbQSc.\" Sd/ SeQ0\*" Sd/\Sf9Sg94Sh/ SaQ0\" \+" S5      / Si94/5      Sj 5       r,Sk r-Slr.g)mTestRank                  AB      ?g      @      @      @g       @         )averageminmaxfirstdensec                    [         R                  " S5      n[        R                  UR                  S S S2S4'   [        R                  UR                  S S S2S4'   [        R                  UR                  S S S2S4'   [        R                  UR                  S S S2S	4'   UR                  5       nUR                  S
5      n[        R                  " UR                  5      nUR                  [        R                  5      R                  n[        R                  " UR                  SU5      n[        R                  Xu'   [        R                  " UR                  S
U5      n[        R                  X'   [        R                  " UR                  U5        [        R                  " UR                  U5        [        [        R                  R!                  S5      R#                  SSSS9R%                  S5      5      n	U	R                  5       n
U	R'                  [(        5      R                  5       n[        R*                  " X5        U	R                  S
5      n
U	R'                  [(        5      R                  S
5      n[        R*                  " X5        g )Nscipy.statsr   r   r   r   r   Cr   Dr   r   (   )size)
   r   )pytestimportorskipnpnanlocrankisnanvaluesfillnainfapply_along_axisrankdatatmassert_almost_equalr   randomdefault_rngintegersreshapeastypefloatassert_frame_equal)selffloat_framesp_statsranks0ranks1maskfvalsexp0exp1dfresultexps               c/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/frame/methods/test_rank.py	test_rankTestRank.test_rank"   s   &&}5$&FF!S!$&FF!S!$&FF!S!$&FF!S!!!#!!!$xx**+""266*11""8#4#4a?VV
""8#4#4a?VV

v}}d3
v}}d3 II!!!$--a-<DDWM
 ii##%
f*ii##A&
f*    c                    [        / SQ/ SQ/5      n[        / SQ/ SQ/5      S-  nUR                  SSS9n[        R                  " X25        [        / SQ/ SQ/5      nUR                  S5      S	-  nUR                  SSS9n[        R                  " X25        [        / S
Q/ SQ/5      n[        / SQ/ SQ/5      nUR                  SSS9n[        R                  " X25        [        / SQ/ SQ/5      nUR                  SSS9n[        R                  " X25        [        S[        R
                  S// SQ/5      n[        S	[        R
                  S// SQ/5      nUR                  SSS9n[        R                  " X25        [        S	[        R
                  S// SQ/5      nUR                  SSS9n[        R                  " X25        [        SSS5      [        R
                  [        SSS5      /[        SSS5      [        SSS5      [        SSS5      //n[        U5      n[        S	[        R
                  S// SQ/5      nUR                  SSSS9n[        R                  " X25        [        S[        R
                  S	// SQ/5      nUR                  SSSS9n[        R                  " X25        [        S/ SQ05      n[        S/ SQ05      n[        R                  " UR                  5       U5        g )N)r   r   r   )r   r   r         ?      @       @rO   r   Tpctr   rP   )bca)rU   rT   rS   rP   rO   rN   Fnumeric_only)rP   r   rN   )r   r   r   rS   rU   rN   )rN   rN   rP     r   r   i  r   )rX   	ascendingrP   rN   rO   )#B;r\   r&   gDcLg_QPgKH9)r   rN   r   g      @g      @r   rP   )r   r,   r3   r;   r)   r*   r   )r<   rE   expectedrF   datarG   s         rH   
test_rank2TestRank.test_rank2F   s   	9-.oy9:S@%
f/	9-.771:#%
f/9:oy9:/
f/o{;</
f/bffc*O<=sBFFC0/BC/
f/sBFFC0/BC/
f/ dAq!2668D!Q+?@dAq!8D!Q#7$19MN
 t_ sBFFC0/BC$?
f/sBFFC0/BC%@
f/NOPABC
bggi-rK   c                     [        [        R                  R                  S5      R	                  S5      SS9nUR                  5       nUR                  5         Un[        R                  " X25        g )Nr   )r&   r   float64dtype)	r   r)   r5   r6   standard_normalcopyr,   r3   r;   r<   rE   r^   rF   s       rH   test_rank_does_not_mutate"TestRank.test_rank_does_not_mutatew   sV     II!!!$44W=Y
 779
	
f/rK   c                     [         R                  " 5       US'   [        SSS9US'   UR                  SS9  [        R
                  " [        SS9   UR                  SS	9  S S S 5        g ! , (       d  f       g = f)
Nr   r   )dayssecondsr   FrW   z"not supported between instances ofmatchaxis)r   nowr   r,   r'   raises	TypeError)r<   float_string_frames     rH   test_rank_mixed_frameTestRank.test_rank_mixed_frame   sc    )1:&*3A*F;'U3]]9,PQ###+ RQQs   A''
A5c                 
   [         R                  " S5      n[        R                  UR                  S S S2S4'   [        R                  UR                  S S S2S4'   [        R                  UR                  S S S2S4'   [        R                  UR                  S S S2S	4'   UR                  S
S9nUR                  SS
S9nUR                  [        R                  5      R                  n[        R                  " UR                  SU5      n[        R                  " UR                  SU5      n[        R                  " UR                  U5        [        R                  " UR                  U5        UR                  SS9nUR                  SSS9nUR                  UR                  5       S-
  R                  5       5      R                  nUR                  n	U	R                  U	R                  5       S-
  R                  5       5      R                  n	U	R                  [        R                  5      R                  n	[        R                  " UR                  SU5      n[        R                  " UR                  SU	5      n[        R                  " UR                  U5        [        R                  " UR                  U5        UR                  SSS9nUR                  SSSS9nUR                  [        R                  5      R                  n[        R                  " UR                  SU* 5      n[        R                  " UR                  SU* 5      n[        R                  " UR                  U5        [        R                  " UR                  U5        UR                  S
SS9nUR                  SS
SS9nUR                  UR                  5       S-
  R                  5       5      R                  nUR                  n	U	R                  U	R                  5       S-
  R                  5       5      R                  n	U	R                  [        R                  5      R                  n	[        R                  " UR                  SU* 5      n[        R                  " UR                  SU	* 5      n[        R                   " UR                  U5        [        R                   " UR                  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        g ! , (       d  f       NA= f! , (       d  f       g = f)Nr!   r   r   r   r   r   r"   r   r#   bottom)	na_optionr   r   topF)rz   rZ   z3na_option must be one of 'keep', 'top', or 'bottom'rn   badT)r'   r(   r)   r*   r+   r,   r/   r0   r.   r1   r2   r3   r4   r   to_dictTassert_numpy_array_equalrs   
ValueError)r<   r=   r>   r?   r@   rB   rC   rD   fval0fval1msgs              rH   test_rank_na_optionTestRank.test_rank_na_option   s'   &&}5$&FF!S!$&FF!S!$&FF!S!$&FF!S! !!H!5!!!x!8""266*11""8#4#4a?""8#4#4a?
v}}d3
v}}d3 !!E!2!!!u!5""KOO$5$9#B#B#DELLeiikAo6689;;RVV$++""8#4#4a?""8#4#4a?
v}}d3
v}}d3
 !!EU!C!!!u!F""266*11""8#4#4a%@""8#4#4a%@
v}}d3
v}}d3
 !!H!F!!!x5!I""KOO$5$9#B#B#DELLeiikAo6689;;RVV$++""8#4#4a%@""8#4#4a%@
##FMM48
##FMM48 D]]:S1u> 2 ]]:S1tu= 21	 21 21s   :U,U
U
U%c                     [        SS/SS//5      n[        R                  " UR                  SS9UR                  SS95        [        R                  " UR                  SS9UR                  SS95        g )	Nr   r   r   r   r   rp   indexcolumns)r   r3   r;   r,   )r<   rE   s     rH   test_rank_axisTestRank.test_rank_axis   sc    AA'(
bgg1gorwwGw/DE
bgg1gorwwIw/FGrK   axr   c                 f   [         R                  " S5      n[        R                  R	                  S5      R                  SSS5      nUS-
  S-  n[        UR                  S   5       Vs/ s H  n[        [        S5      U-
  5      PM     nnXDS	-   US
-  4 H  n[        XvS9nUR                  XS9n	[        R                  " UR                  UUUS:w  a  UOS5      n
U
R                  [        R                  5      n
[        XS9R                  S5      n[         R"                  " X5        M     g s  snf )Nr!   r   r      )d      g      $@r   zg    .Agư>r   )rq   methodr   ordinalrc   )r'   r(   r)   r5   r6   r7   rangeshapechrordr   r,   r1   r2   r9   rc   r3   r;   )r<   r   rank_methodr>   xsicolsvalsrE   rF   sprankr^   s               rH   test_rank_methods_frame TestRank.test_rank_methods_frame   s   &&}5YY""1%..q"i@4i4+0!+=>+=aCHqL!+=>c29-D4.BWW"W9F((!!*g59	F ]]2::.F 6==iHH!!&3 . ?s   )!D.re   )Of8i8c                    SU;   a*  U R                   R                  5       R                  U5      nOU R                   R                  U5      nUR                  SS9nUR	                  5       U-
  R                  5       n[
        R                  " XE5        UR	                  5       U-
  R                  US9nUS:w  a'  UR                  USSS9n[
        R                  " Xe5        UR                  USSS9n[
        R                  " Xu5        g )Nr   F)rZ   r   r   T)r   rZ   rX   )rE   dropnar9   r,   r   r3   r;   )r<   r   re   rE   resr^   res2res3s           rH   test_rank_descendingTestRank.test_rank_descending   s    %<!((/B&Bggg&FFHrM'')
c,FFHrM''{';C<77+T7RD!!$1wwkUwO
d-rK   rq   Nc                    ^ U R                   nSU4S jjnUc  UOUR                  U5      nU" X`R                  T   TUS9  g )Nc                    > [        XS.5      nUS:X  a  U R                  n UR                  nU R                  TUS9n[        R                  " XT5        g )Nr   r   r   rq   )r   r~   r,   r3   r;   )rE   r^   r   rq   exp_dfrF   r   s         rH   _check2d3TestRank.test_rank_2d_tie_methods.<locals>._check2d  sI    X=>FqyTTWWKdW;F!!&1rK   r   )r   r   )rE   r9   results)r<   r   rq   re   rE   r   frames    `     rH   test_rank_2d_tie_methods!TestRank.test_rank_2d_tie_methods  s>     WW	2 m5)9[1+DQrK   zrank_method,expr   )rN   rN   rN   )rN         ?UUUUUU?)rN   r   UUUUUU?r   )r   rN   rN   )r   r   r   )r   r   r   r   )rN   r   r   )rN   r   r   r   )r   rN   rN   )r   r   r   )r   r   r   r   )r   r   r   c                     [        / SQ/ SQ/ SQ/5      nUR                  USS9n[        U5      n[        R                  " XE5        g )N)  B   r   )r   A   r   )r   r   r   T)r   rR   )r   r,   r3   r;   )r<   r   rG   rE   rF   r^   s         rH   test_rank_pct_trueTestRank.test_rank_pct_true  s?    B }mDE6S>
f/rK   c                     [        [        R                  " S5      [        R                  " SSS5      S.5      nUR                  SS9R	                  5       nUS:H  R                  5       (       d   eg )Ni  r   r   TrQ   r   )r   r)   aranger,   r   all)r<   rE   rF   s      rH   test_pct_max_many_rowsTestRank.test_pct_max_many_rows?  s\     RYYy1		)QPR8STUT"&&(!  """"rK   zcontents,dtypeir   g#Bǻg}gJzgWw'&l7r\   g|=r$   rc   gj7֖float32r   uint8ii'  i g    _Bint641r   BABar"   objectrY   
datetime64c                    [         R                  [         R                  S [         R                  " S5      S.n[         R                  " XS9n[         R                  " [	        [        U5      5      SS9S-   nX$;   a  XB   n[         R                  R                  S5      R                  [	        [        U5      5      S5      n[         R                  " XXU5      n[         R                  " Xh[         R                  5      n[         R                  R                  S5      R                  [        U5      5      n	U" XY   5      n
U" Xi   SS9nU
R                  5       n[        R                  " X5        g )Nnat)rc   r   r   r   rd   rc   rN   r   r   )r)   r*   r   arrayr   lenr5   r6   choiceinsertpermutationr,   r3   assert_equal)r<   contentsre   frame_or_seriesdtype_na_mapr.   	exp_orderna_valuenan_indicesrandom_orderobjr^   rF   s                rH   test_rank_inf_and_nanTestRank.test_rank_inf_and_nanF  s   | vvvv--.	
 (0HHU3v;/yACG	 #*H))//299%F:LaPKYYvH=F		)"&&AI yy,,Q/;;CKHf23"9#:)L
)rK   c           
      ~   / SQn/ SQnSS[         R                  SSS[         R                  [         R                  S[         R                  * /
n[        UUS.USS	9nUR	                  5       nUR                  5       nUS
   R	                  5       US
'   US   R	                  5       US'   [        R                  " XV5        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   )col1col2r   )r_   r   re   r   r   )r)   r*   r0   r   r,   rg   r3   r;   )r<   r   r   r   rE   	df_resultseries_results          rH   "test_df_series_inf_nan_consistency+TestRank.test_df_series_inf_nan_consistency  s    /-1bffaArvvrvvq266'B 
 GGI		 "6
 1f "6
 1f
i7rK   c                     [        S[        R                  * S[        R                  /05      n[        S/ SQ05      nUR                  5       n[        R
                  " X25        g )NrU   r   rN   rP   rO   )r   r)   r0   r,   r3   r;   rh   s       rH   test_rank_both_infTestRank.test_rank_both_inf  sJ    rvvgq"&&123c?34
f/rK   zna_option,ascending,expectedr{   T)rO   rN   rP   Fr[   ry   rV   rM   c                     U" [         R                  [         R                  [         R                  * /5      nUR                  X#US9nU" U5      n[        R
                  " Xu5        g )Nr   rz   rZ   )r)   r0   r*   r,   r3   r   )r<   r   r   rz   rZ   r^   r   rF   s           rH   test_rank_inf_nans_na_option%TestRank.test_rank_inf_nans_na_option  sK     rvvrvvw78YW"8,
)rK   )rN   rP         @rO   )rP   rO   rN   r   c                 t    U" / SQ5      nUR                  SX#S9nU" U5      n[        R                  " Xd5        g )Nfoor   Nr   r   r   )r,   r3   r   )r<   r   rz   rZ   r^   r   rF   s          rH   test_rank_object_firstTestRank.test_rank_object_first  s7     9:IS"8,
)rK   zdata,expected)r   r   rU   )r   r   r   )rU   rS   rS   r   rd   r   rU   )r   r   c           	      .   [        U[        [        UR                  5       5      [        S9S9n[
        R                  " [        SS9   UR                  5         S S S 5        UR                  SS9n[        R                  " XB5        g ! , (       d  f       N4= f)Nrd   r   z&'<' not supported between instances ofrn   TrW   )r   r   listkeysr   r'   rs   rt   r,   r3   r;   )r<   r_   r^   rE   rF   s        rH   test_rank_mixed_axis_zero"TestRank.test_rank_mixed_axis_zero  sh     tU4		+<F%KL]]9,TUGGI Vd+
f/ VUs   B
Bc                     [        / SQUS9nUR                  SS9nUS:X  a  SOSnUR                  S:X  a  Sn[        / S	QUS9n[        R                  " X55        g )
Nr   rd   r   r   zstring[pyarrow]Float64rc   python)r   r   Nr   )r	   r,   storager3   assert_series_equal)r<   string_dtype_no_objectr   rF   	exp_dtyper^   s         rH   test_rank_string_dtypeTestRank.test_rank_string_dtype  sa    08NO)/3DDI) 	 "))X5!I/;
v0rK    )/__name__
__module____qualname____firstlineno__r	   r)   r*   sr   rE   r   r   rI   r`   ri   rv   r   r   r'   markparametrizer   r   r   r   r   
single_cpur   r0   iinfor   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   __static_attributes__r  rK   rH   r   r      s)   1aBFFAq!RVVQ78A	#	$B 88S#sCc3PSTUxxAq!RVVQ1bffa@AxxAq!RVVQ1bffa@A1aArvvq!QBC1aArvvq!QBCG"+H/.b	0,J>XH [[TAq6*4 +4* [[W&78. 9.& [[VaV,[[WtVn5R 6 -R  [[(;=PQR'//  "9;RS
 $&=?VW
 '//%	
<0=<0 [[# # [[ VVGFF !( VVGFF !$ hhrxx $$aC"((1C1G1GH'R HHRXX&**HHRXX&**	  mS#tT3
CXN$1%xa';XdAq=QRi8	
;x*y;x*48*0 [[&D/*E?+t_-uo.		
** [[&t12u23D./E/0		
** [[ "	230%V:TU ;q2!FG	
	0	01rK   r   )r   r   numpyr)   r'   pandas._libs.algosr   r   pandasr   r   r	   pandas._testing_testingr3   r   r  rK   rH   <module>r     s2   
  
 
 ^1 ^1rK   