o
    թZh2                     @   s   d dl Zd dlZd dlZd dlmZ ej	dg ddd Z
ej	dg ddd	 Zd
d Zdd Zdd Zdd Zdd ZdS )    N
align_axis)r      indexcolumnsc                 C   s   t g d}t g d}|j|| d}| dv r=t ddg}t ddg}t jd	d
gddgg||d}t|| d S t jddgddgg}t jg d|d}t	|| d S )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   expected r#   _/var/www/html/lang_env/lib/python3.10/site-packages/pandas/tests/series/methods/test_compare.pytest_compare_axis   s   r%   zkeep_shape, keep_equal))TF)FT)TTc                 C   s   t g d}t g d}|j|| |d}| rNt g d}t ddg}|r:t jddgd	d	gd
dgg||d}n0t jddgtjtjgd
dgg||d}nt ddg}t ddg}t jddgd
dgg||d}t|| d S )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"   r#   r#   r$   test_compare_various_formats   s*   
r+   c                  C   sV   t ddtjg} t ddtjg}| |}t jddggddgd}t|| d S )Nr   r   r   r   r   )r   )r   r   r)   r*   r   r   r   r   )r   r   r    r"   r#   r#   r$   test_compare_with_equal_nullsB   s
   
r,   c                  C   sn   t g d} t ddtjg}| j|dd}t jddgddgg}t jd	dd
tjg|d}t|| d S )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"   r#   r#   r$   !test_compare_with_non_equal_nullsM   s   r-   c                  C   s   t jg dg dg} t jg d| d}t jg d| d}|j|dd}t jg dg d	g d
g}t jg d|d}t|| d S )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   Zfrom_arraysr   r   r   r   )r   r   r   r    r!   r"   r#   r#   r$   test_compare_multi_indexY   s   r.   c                  C   s   d} t jt| d# tjg dg dd}tjg dg dd}|| W d    n1 s/w   Y  d} t jt| d tg d}tg d}|| W d    d S 1 s\w   Y  d S )Nz3Can only compare identically-labeled Series objects)match)r   r      r   r   )r   r   d)r   r   r0      )pytestZraises
ValueErrorr   r   r   )msgZser1Zser2r#   r#   r$   test_compare_unaligned_objectsg   s   "r6   c                  C   s   ddddddddddd	dd
ddg} ddd}t j| d|}|d |d }|d |d k}|d |d k}t dgd }t dgd }t|| t|| t|| d S )Nz
2015-07-01Z08335394550)r   r   z
2015-07-02z+49 (0) 0345 300033z
2015-07-03z+49(0)2598 04457z
2015-07-04Z
0741470003z
2015-07-05z04181 83668zdatetime64[ns]string)datar   r   F   T)r   r   Zastypeeqr   r   r   )r8   ZdtypesdfZ
result_eq1Z
result_eq2Z
result_neqZexpected_eqZexpected_neqr#   r#   r$   "test_compare_datetime64_and_stringw   s    
r<   )numpyr)   r3   Zpandasr   Zpandas._testingZ_testingr   markZparametrizer%   r+   r,   r-   r.   r6   r<   r#   r#   r#   r$   <module>   s     

	