o
    _~#g                  	   @   sl  d dl mZ d dlZd dlZd dlZd dlmZmZm	Z	 d dl
mZ ejdddgddggdd gddggddgdd ggdd gdd gggejdddgd	d
 Zejdddgddggdd gddggddgdd ggdd gdd gggejdddgejdddgdd Zdd Zdd Zdd Zejdg ddd Zdd Zdd Zdd  Zd!d" ZdS )#    )timezoneN)Series
date_rangeperiod_rangezfirst_slice,second_slice   fillc                 C   s&  | t |  }| t |  }|j|||d\}}|jj|j|d}	|d urQ|j|	}
|j|	}t|
dkr@||
|k s@J t|dkrQ|||k sQJ ||	}||	}|d uri||}||}t	
|| t	
|| |jdks|J |jdksJ |jdksJ |jdksJ d S )N)join
fill_valuehowr   ts)slicealignindexr
   
differencelenreindexallfillnatmassert_series_equalname)datetime_seriesfirst_slicesecond_slice	join_typer   abaaab
join_indexdiff_adiff_beaeb r'   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/pandas/tests/series/methods/test_align.py
test_align   s,   



r)   methodpadbfilllimit   c                 C   s   | t |  }| t |  }d}tjt|d |j||||d\}	}
W d    n1 s+w   Y  |jj|j|d}||}||}d}tjt|d |j||d}|j||d}W d    n1 sew   Y  t	|	| t	|
| d S )NNThe 'method', 'limit', and 'fill_axis' keywords in Series.align are deprecatedmatch)r
   r*   r-   r   z)Series.fillna with 'method' is deprecated)r*   r-   )
r   r   assert_produces_warningFutureWarningr   r   r
   r   r   r   )r   r   r   r   r*   r-   r   r   msgr    r!   r"   r%   r&   msg2r'   r'   r(   test_align_fill_method7   s"   

r6   c                 C   sn  | d d   }|   }|j|dd\}}d|d d< |d d dk r'J |   }|j|ddd\}}d|d d< |rJ|d d dk rIJ n|d d dk sVJ |   }| d d   }|j|dd\}}d|d d< |d d dk r}J |   }| d d   }|j|ddd\}}d|d d< |r|d d dk rJ d S |d d dk sJ d S )	N   leftr
   F)r
   copyright   r   )r:   r   anyr   )r   using_copy_on_writer   r   ra_rbr'   r'   r(   test_align_nocopy\   s.   rB   c                 C   s   | j | dd\}}|s|j| ju sJ |j| ju sJ n|j| js%J |j| js.J | j | dd\}}|j| jus?J |j| jusGJ |j| jsPJ |j| jsYJ d S )NF)r:   T)r   r   is_)r   r>   r   r   r'   r'   r(   test_align_same_index   s   rD   c                  C   sv  t jjtdtdtdgdd} t jtddd}ttjddd	| d
}ttjddd	|d
}|j|dd\}}|j|dd\}}|}t	
|| t	
|| tddddtjtjgd | d
}	t	
|	| t	
|	| |j|dd\}}|j|dd\}}t jjtdtdtdgdd}
tg d|
d
}t	
|| t	
|| tg dd |
d
}	t	
|	| t	
|	| d S )Nr   r<   r   r   cnamesr   )r      int64)dtyper   r8   r9   r;   r   r.   )r   r.   r   r<            	   )r   r   r.   r.   )pd
MultiIndexfrom_productrangeIndexr   nparanger   r   r   nan)midxidxs1s2res1lres1rres2lres2rexplexprexp_idxr'   r'   r(   test_align_multiindex   s2    rd   )backfillr,   r+   ffillNc                 C   s   t tdtdd}tjdtdtdd}d}tjt|d |j|| d\}}W d    n1 s3w   Y  t|| t	|| d S )Nr<   rL   g        )r   columnsr/   r0   )r*   )
r   rT   rQ   	DataFramer   r2   r3   r   r   assert_frame_equal)r*   serdfr4   
result_ser	result_dfr'   r'   r(    test_align_with_dataframe_method   s   rn   c                  C   sn   t ddddd} ttjdt| | d}|d}||\}}|j	j
tju s,J |j	j
tju s5J d S )	N2001r7   hz
US/Eastern)periodsfreqtzr   rL   z
US/Central)r   r   rV   randomdefault_rngstandard_normalr   
tz_convertr   r   rs   r   utc)idx1rj   ser_centralnew1new2r'   r'   r(   %test_align_dt64tzindex_mismatched_tzs   s   
r}   c                 C   sH   t dddd}ttjdt||d}|j|d d d | d d S )Nz1/1/2000z1/1/2010Y)rr   r   rL   r9   )r   r   rV   rt   ru   rv   r   r   )r   rngr   r'   r'   r(   test_align_periodindex   s   r   c                  C   s   t dgtjjdgddgdd} t dgtjjdgg d	dd}| |\}}t dgtjjd
gg ddd}t dgtjjd
gg ddd}t|| t|| d S )Nr   )r.   r<   r   rF   rG   rL   r.   r.   r   r<   rE   )r.   r<   r   )r   rF   r   r   rQ   rR   from_tuplesr   r   r   )r8   r;   result_leftresult_rightexpected_rightexpected_leftr'   r'   r(   test_align_left_fewer_levels   s    r   c                  C   s   t dgtjjdgg ddd} t dgtjjdgg ddd}| |\}}t dgtjjd	gg d
dd}t dgtjjd	gg d
dd}t|| t|| d S )Nr   )r.      r<   )r   drF   rG   rL   r.   r   rE   )r.   r   r<   r   )r   r   rF   r   r   )r8   r;   r   r   r   r   r'   r'   r(   &test_align_left_different_named_levels   s   r   )datetimer   numpyrV   pytestpandasrQ   r   r   r   pandas._testing_testingr   markparametrizer)   r6   rB   rD   rd   rn   r}   r   r   r   r'   r'   r'   r(   <module>   sH    		$#
