
    Owg2                         d dl Zd dlZd dlZd dlmZ ej                  j                  dg d      d        Z
ej                  j                  dg d      d        Zd Zd	 Zd
 Zd Zd Zy)    N
align_axis)r      indexcolumnsc                    t        j                  g d      }t        j                  g d      }|j                  ||       }| dv rct        j                  ddg      }t        j                  ddg      }t        j                  d	d
gddgg||      }t        j                  ||       y t         j                  j                  ddgddgg      }t        j                  g d|      }t        j                  ||       y )Nabcxr
   zr   )r   r   r      selfotherr	   r   r   r   r   r   r	   r   r   r   r   )
pdSeriescompareIndex	DataFrametmassert_frame_equal
MultiIndexfrom_productassert_series_equal)r   s1s2resultindicesr   expecteds          _/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/series/methods/test_compare.pytest_compare_axisr&      s     
?	#B	?	#BZZzZ2F^#((Aq6"((FG,-<<3Z#s$GW
 	fh/--,,q!fvw6G-HI991A
vx0    zkeep_shape, keep_equal))TF)FT)TTc                 p   t        j                  g d      }t        j                  g d      }|j                  || |      }| rt        j                  g d      }t        j                  ddg      }|r"t        j                  ddgd	d	gd
dgg||      }nt        j                  ddgt
        j                  t
        j                  gd
dgg||      }nLt        j                  ddg      }t        j                  ddg      }t        j                  ddgd
dgg||      }t        j                  ||       y )Nr   r   )
keep_shape
keep_equalr   r   r   r   r   r	   r   r
   r   r   r   r   r   )	r   r   r   r   r   npnanr   r   )r)   r*   r    r!   r"   r#   r   r$   s           r%   test_compare_various_formatsr.      s    
?	#B	?	#BZZzjZIF((9%((FG,-||sc3Z#s4GWH ||sbffbff-Sz:H ((Aq6"((FG,-<<3Z#s$GW
 &(+r'   c                  "   t        j                  ddt        j                  g      } t        j                  ddt        j                  g      }| j	                  |      }t        j
                  ddggddg      }t        j                  ||       y )Nr	   r
   r   r   r   )r   )r   r   r,   r-   r   r   r   r   )r    r!   r"   r$   s       r%   test_compare_with_equal_nullsr0   B   sn     
Cbff%	&B	Cbff%	&BZZ^F||c3ZL672CDH&(+r'   c                  l   t        j                  g d      } t        j                  ddt        j                  g      }| j	                  |d      }t         j
                  j                  ddgddgg      }t        j                  d	dd
t        j                  g|      }t        j                  ||       y )Nr   r   r
   r   r   r   r   r   r	   r   r   )	r   r   r,   r-   r   r   r   r   r   )r    r!   r"   r#   r$   s        r%   !test_compare_with_non_equal_nullsr2   M   s    	?	#B	Cbff%	&BZZqZ)Fmm((1a&672C)DEGyy#sC0@H68,r'   c                     t         j                  j                  g dg dg      } t        j                  g d|       }t        j                  g d|       }|j	                  |d      }t         j                  j                  g dg d	g d
g      }t        j                  g d|      }t        j                  ||       y )N)r   r   r   r+   r   r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   r   )r   r   from_arraysr   r   r   r   )r   r    r!   r"   r#   r$   s         r%   test_compare_multi_indexr5   Y   s    MM%%y)&<=E	?%	0B	?%	0BZZqZ)Fmm''	|%GHG yy-W=H68,r'   c                     d} t        j                  t        |       5  t        j                  g dg d      }t        j                  g dg d      }|j                  |       d d d        d} t        j                  t        |       5  t        j                  g d      }t        j                  g d      }|j                  |       d d d        y # 1 sw Y   oxY w# 1 sw Y   y xY w)Nz3Can only compare identically-labeled Series objects)match)r   r      r   r   )r	   r
   d)r   r   r8      )pytestraises
ValueErrorr   r   r   )msgser1ser2s      r%   test_compare_unaligned_objectsrA   g   s    
?C	z	- yy/:yy/:T @C	z	- yy#yy&T   s   ACA C C C)c                     ddddddddddd	dd
ddg} ddd}t        j                  |       j                  |      }|d   j                  |d         }|d   |d   k(  }|d   |d   k7  }t        j                  dgdz        }t        j                  dgdz        }t        j                  ||       t        j                  ||       t        j                  ||       y )Nz
2015-07-0108335394550)r	   r
   z
2015-07-02z+49 (0) 0345 300033z
2015-07-03z+49(0)2598 04457z
2015-07-04
0741470003z
2015-07-05z04181 83668zdatetime64[ns]string)datar	   r
   F   T)r   r   astypeeqr   r   r   )rF   dtypesdf
result_eq1
result_eq2
result_neqexpected_eqexpected_neqs           r%   "test_compare_datetime64_and_stringrQ   w   s     /!67!34./D $(3F	4	 	'	'	/BCBsG$JCBsG#JCBsG#J))UGaK(K99dVaZ(L:{3:{3:|4r'   )numpyr,   r;   pandasr   pandas._testing_testingr   markparametrizer&   r.   r0   r2   r5   rA   rQ    r'   r%   <module>rY      s|        'AB1 C1( ,,8,	-- 5r'   