
    Mh%              
       &   S SK rS SKrS SKJr  S SKrS SKJr	  \R                  R                  S/ SQ5      S 5       r\R                  R                  S/ SQ5      S 5       rS	 rS
 r\R                  R                  SS S/5      S 5       rS rS r\R                  R                  SSS/SSSS.SS/5      S 5       r\R                  R                  SS\R(                  4\R(                  \R(                  4\R(                  S4/5      S 5       r\R                  R                  SSSS\R(                  \R(                  4S\R(                  S\R(                  4\R(                  \R(                  \R(                  \R(                  4/5      S 5       rg)    N)np_version_gte1p25
align_axis)r      indexcolumnsc                 p   [         R                  " / SQSS[        R                  // SQS./ SQS9nUR	                  5       nSUR
                  S'   S	UR
                  S
'   UR                  X S9nU S;   a  [         R                  " SS/5      n[         R                  R                  SS/SS//5      n[         R                  " SS[        R                  [        R                  /[        R                  [        R                  SS	//UUS9nO[         R                  R                  SS/SS//5      n[         R                  " SS/5      n[         R                  " S[        R                  /S[        R                  /[        R                  S/[        R                  S	//UUS9n[        R                  " X65        g )Nabc      ?       @r   r         @col1col2col3r   r   r   r         @   r   r   )r   r   r   r   r   r   selfotherr
   r   r   r   pd	DataFramenpnancopyloccompareIndex
MultiIndexfrom_producttmassert_frame_equal)r   dfdf2resultindicesr   expecteds          Y/var/www/html/env/lib/python3.13/site-packages/pandas/tests/frame/methods/test_compare.pytest_compare_axisr1   
   se    
 3RVV*<oV(
B '')CCGGICGGIZZZ3F^#((Aq6"--,,vv.>@Q-RS<<3'"&&"&&#s)CD
 --,,q!fvw6G-HI((FF+,<<266]S"&&MBFFC=2663-H

 &+    zkeep_shape, keep_equal))TF)FT)TTc           
         [         R                  " / SQSS[        R                  // SQS./ SQS9nUR	                  5       nSUR
                  S'   S	UR
                  S
'   UR                  X0US9nU (       Gau  [         R                  " / SQ5      n[         R                  R                  / SQSS//5      nU(       aA  [         R                  " / SQ/ SQSS[        R                  [        R                  SS	//UUS9nGOH[         R                  " SS[        R                  [        R                  [        R                  [        R                  /[        R                  [        R                  [        R                  [        R                  [        R                  [        R                  /[        R                  [        R                  [        R                  [        R                  SS	//UUS9nOX[         R                  " SS/5      n[         R                  R                  SS/SS//5      n[         R                  " / SQ/ SQ/XVS9n[        R                  " XG5        g )Nr	   r   r   r   r   r   r   r   r   r   )
keep_shape
keep_equal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   )r4   r5   r+   r,   r-   r.   r   r/   s           r0   test_compare_various_formatsr7   *   s    
 3RVV*<oV(
B '')CCGGICGGIZZzZJF((9%--,,%'89
 ||22#rvvrvvsC8
 H ||#rvvrvvrvvrvv>VVRVVRVVRVVRVVRVVDVVRVVRVVRVVS#>
 H ((Aq6"--,,vv.>@Q-RS<<!#78
 &+r2   c                     [         R                  " / SQSS[        R                  // SQS./ SQS9n U R	                  5       nSUR
                  S'   U R                  U5      n[         R                  " S	/5      n[         R                  R                  S
/SS//5      n[         R                  " SS//X4S9n[        R                  " X%5        g )Nr	   r   r   r   r   r   r   r   r   r   r   r   r
   r   r   r+   r,   r-   r.   r   r/   s         r0   test_compare_with_equal_nullsr:   `   s     
 3RVV*<oV(
B '')CCGGIZZ_FhhsmGmm((6(VW4E)FGG||c3ZLIH&+r2   c                  p   [         R                  " / SQSS[        R                  // SQS./ SQS9n U R	                  5       nSUR
                  S'   [        R                  UR
                  S	'   U R                  U5      n[         R                  " S
S/5      n[         R                  R                  SS/SS//5      n[         R                  " SS[        R                  [        R                  /[        R                  [        R                  S[        R                  //UUS9n[        R                  " X%5        g )Nr	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r
   r   r   r   r9   s         r0   !test_compare_with_non_equal_nullsr<   q   s     
 3RVV*<oV(
B '')CCGGICGGIZZ_Fhh1vGmm((66*:VW<M)NOG||
sBFFBFF	#bffbffc266%BCH
 &+r2   r   c                 0   [         R                  " / SQSS[        R                  // SQS.5      n[         R                  R                  / SQ/ SQ/5      Ul        [         R                  R                  / SQ/ SQ/5      Ul        UR                  5       nS	UR                  S
'   SUR                  S'   UR                  X S9nU S:X  a  [         R                  R                  / SQ/ SQ/ SQ/5      n[         R                  R                  SS/SS//5      nS[        R                  /S	[        R                  /[        R                  S/[        R                  S//nO[         R                  R                  SS/SS//5      n[         R                  R                  / SQ/ SQ/ SQ/5      nSS	[        R                  [        R                  /[        R                  [        R                  SS//n[         R                  " XdUS9n[        R                  " X75        g )Nr	   r   r   r   r   )r
   r
   r   )xr>   yr6   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   )datar   r   )r   r    r!   r"   r'   from_arraysr   r   r#   ilocr%   r)   r*   )r   r+   r,   r-   r.   r   r@   r/   s           r0   test_compare_multi_indexrC      s   	 3RVV*<oV
B **O=U+VWBJ}}((/9)EFBH
'')CCHHTNCHHTNZZZ3FQ--++!<1ST
 --++c3Z&&9I,JKbffRVV}rvvsmbffc]K--++c3Z!Q,@A--++$02
 c266266*RVVRVVS#,FG||gFH&+r2   c                  (   Sn [         R                  " [        U S9   [        R                  " / SQ/ SQS9n[        R                  " / SQ/ SQS9nUR                  U5        S S S 5        Sn [         R                  " [        U S9   [        R                  " [        R                  " S5      5      n[        R                  " [        R                  " S5      5      nUR                  U5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)	NzQCan only compare identically-labeled \(both index and columns\) DataFrame objectsmatch)r   r      r	   )r   )r
   r   d)rG   rG   )r   r   )	pytestraises
ValueErrorr   r    r%   r!   oneszeros)msgdf1r,   s      r0   test_compare_unaligned_objectsrP      s    	  
z	-ll9O<ll9O<C 
.	  
z	-ll2776?+ll288F+,C 
.	- 
.	- 
.	-s   AC2A&D2
D 
Dc                     [         R                  " / SQSS[        R                  // SQS.5      n [         R                  " / SQSS[        R                  /SS[        R                  /S.5      nU R	                  USS9n[         R                  " S	[        R                  S
.S[        R                  S
.[        R                  SS
.[        R                  [        R                  S
.S.5      n[
        R                  " X#5        g )Nr	   r   r   r   r   r   r   r   )leftrightresult_namesr
   )r   r   r   r   ))r   rS   )r   rT   )r   rS   )r   rT   )r   r    r!   r"   r%   r)   r*   )rO   r,   r-   r/   s       r0   test_compare_result_namesrW      s    
,, 3RVV*<oVC ,,##rvv&#rvv&	
C [[+<[=F||"%"&&1#&2662"$&&S1#%66bff5		
H &+r2   rV   r   HKrG   )23r   c                 |   [         R                  " / SQSS[        R                  // SQS.5      n[         R                  " / SQSS[        R                  /SS[        R                  /S.5      n[        R
                  " [        S[        U 5       S3S	9   UR                  X S
9  S S S 5        g ! , (       d  f       g = f)Nr	   r   r   r   r   rR   zPassing 'result_names' as a z= is not supported. Provide 'result_names' as a tuple instead.rE   rU   )	r   r    r!   r"   rI   rJ   	TypeErrortyper%   )rV   rO   r,   s      r0   test_invalid_input_result_namesr^      s     ,, 3RVV*<oVC ,,##rvv&#rvv&	
C 
*4+=*> ?D D
 	C3
 
 
s   B--
B;z	val1,val2   c                    SU /n[         R                  " SU/SS9n[         R                  " USS/S.5      n[         R                  " USS/S.5      n[         R                  " UU[        R                  [        R                  S.5      nU [         R
                  L a0  U[         R
                  L a  [        R                  UR                  S	'   U [         R
                  L a>  [        (       a3  [        R                  " [        S
S9   UR                  USS9nS S S 5        g UR                  USS9n[        R                  " Xv5        g ! , (       d  f       g = f)Nr   r   Int64dtyper   r   r
   r   r
   r   )r
   r   )r   r   )r   r   )r   rf   z boolean value of NA is ambiguousrE   Tr4   )r   Seriesr    r!   r"   NAr$   r   rI   rJ   r\   r%   r)   r*   )val1val2arrserrO   r,   r/   r-   s           r0   test_compare_ea_and_np_dtypern      s    +C
))QIW
-C
,,SQx0
1C
,,SQx0
1C||66FF		
H ruu})+%&ruu}++]]9,NO[[[6F PO ST2
f/	 POs   E
Ez$df1_val,df2_val,diff_self,diff_other)r_   rG   r_   rG   c                    [         R                  " [         R                  " U [         R                  /SS9SS/S.5      nUR	                  5       nXR
                  S'   [         R                  " [         R                  " U[         R                  /SS9[         R                  " U[         R                  /SS9[        R                  [        R                  S.5      nUR                  USS	9n[        R                  " Xv5        g )
Nra   rb   r   r   rd   )r   r
   re   Trg   )r   r    rh   ri   r#   r$   r!   r"   r%   r)   r*   )df1_valdf2_val	diff_self
diff_otherrO   r,   r/   r-   s           r0   !test_compare_nullable_int64_dtypert     s     ,,RYY'7wGsTUhW
XC
((*CGGFO||99i%7wGIIz255&9I66FF		
H [[[.F&+r2   )numpyr!   rI   pandas.compat.numpyr   pandasr   pandas._testing_testingr)   markparametrizer1   r7   r:   r<   rC   rP   rW   r^   ri   rn   rt    r2   r0   <module>r}      s     2   'AB, C,> *,*,Z,",. 1v., /,D,,0 	
Aa		4	4, Z"%%"%%,0	08 *	
Aruubee	
BEE1bee	ruubee$	,,r2   