
    bMhb               	          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	                         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                                     Zd Zd Zd Zej                            d
g d          d             Zd Zd Zd Zd Zd ZdS )    )timezoneN)Series
date_rangeperiod_rangezfirst_slice,second_slice   fillc                    | t          |          }| t          |          }|                    |||          \  }}|j                            |j        |          }	||j                            |	          }
|j                            |	          }t          |
          dk    r-|                    |
          |k                                    sJ t          |          dk    r-|                    |          |k                                    sJ |                    |	          }|                    |	          }|*|                    |          }|                    |          }t          j
        ||           t          j
        ||           |j        dk    sJ |j        dk    sJ |j        dk    sJ |j        dk    sJ 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ebs                 f/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/series/methods/test_align.py
test_alignr*      s    	{+,A|,-AWWQY4W88FBag955J$$Z00$$Z00v;;??JJv&&$.3355555v;;??JJv&&$.3355555	
:		B	
:		BYYt__YYt__2r"""2r"""7d????7d????7d????7d??????    methodpadbfilllimit   c                    | t          |          }| t          |          }d}t          j        t          |          5  |                    ||||          \  }	}
d d d            n# 1 swxY w Y   |j                            |j        |          }|                    |          }|                    |          }d}t          j        t          |          5  |                    ||          }|                    ||          }d d d            n# 1 swxY w Y   t          j	        |	|           t          j	        |
|           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(   msg2s                  r)   test_align_fill_methodr9   7   s    	{+,A|,-A	  
	#M	=	=	= H H6GGBH H H H H H H H H H H H H H H ag955J	
:		B	
:		B6D		#M	>	>	> 3 3YYfEY22YYfEY223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2r"""2r"""""s#   A%%A),A)/DDDc                     | d d                                          }|                                  }|                    |d          \  }}d|d d<   |d d         dk                                    rJ |                                  }|                    |dd          \  }}d|d d<   |r#|d d         dk                                    rJ n"|d d         dk                                    sJ |                                  }| d d                                          }|                    |d          \  }}d|d d<   |d d         dk                                    rJ |                                  }| d d                                          }|                    |dd          \  }}d|d d<   |r$|d d         dk                                    rJ d S |d d         dk                                    sJ d S )	N   leftr   F)r   copyright   r   )r>   r   anyr   )r   using_copy_on_writer!   r    ra_rbs          r)   test_align_nocopyrF   \   s/     ""A 	AGGAFG##EBBrrF"1"
!!!!! 	AGGAFG//EBBrrF "bqbEQJ##%%%%%%"1"
!!!!! 	A  ""AGGAGG$$EArBrrF"1"
!!!!! 	A  ""AGGAG%G00EArBrrF "bqbEQJ##%%%%%%%"1"
!!!!!!!r+   c                    |                      | d          \  }}|s!|j        | j        u sJ |j        | j        u sJ nB|j                            | j                  sJ |j                            | j                  sJ |                      | d          \  }}|j        | j        usJ |j        | j        usJ |j                            | j                  sJ |j                            | j                  sJ d S )NF)r>   T)r   r   is_)r   rB   r    r!   s       r)   test_align_same_indexrI      s     u ==DAq 2w//////w///////w{{?011111w{{?011111  t <<DAq7//////7//////7;;,-----7;;,-------r+   c                     t           j                            t          d          t          d          t          d          gd          } t          j        t          d          d          }t          t          j        dd	          | 
          }t          t          j        dd	          |
          }|                    |d          \  }}|                    |d          \  }}|}t          j
        ||           t          j
        ||           t          ddddt          j        t          j        gdz  | 
          }	t          j
        |	|           t          j
        |	|           |                    |d          \  }}|                    |d          \  }}t           j                            t          d          t          d          t          d          gd          }
t          g d|

          }t          j
        ||           t          j
        ||           t          g ddz  |

          }	t          j
        |	|           t          j
        |	|           d S )Nr   r@   r    r!   cnamesr!   )r      int64dtyper   r<   r=   r?   r   r0   )r   r0   r   r@            	   )r   r   r0   r0   )pd
MultiIndexfrom_productrangeIndexr   nparanger   r   r   nan)midxidxs1s2res1lres1rres2lres2rexplexprexp_idxs              r)   test_align_multiindexrk      s=    =%%	q588U1XX&o &  D (588#
&
&
&C		"G,,,D	9	9	9B		!7+++3	7	7	7B 88BV8,,LE588BW8--LE5D4'''4'''1aArvrv.2$???D4'''4'''88BW8--LE588BV8,,LE5m((	q588U1XX&o )  G ***':::D4'''4''',,,"'222D4'''4'''''r+   )backfillr.   r-   ffillNc                    t          t          d          t          d                    }t          j        dt          d          t          d                    }d}t	          j        t          |          5  |                    ||           \  }}d d d            n# 1 swxY w Y   t	          j        ||           t	          j	        ||           d S )Nr@   rS   g        )r   columnsr2   r3   )r,   )
r   r[   rX   	DataFramer   r5   r6   r   r   assert_frame_equal)r,   serdfr7   
result_ser	result_dfs         r)    test_align_with_dataframe_methodrv      s    qq
*
*
*C	cq588	<	<	<B	  
	#M	=	=	= = = #		"V	 < <
I= = = = = = = = = = = = = = =:s+++)R(((((s   :B!!B%(B%c                     t          dddd          } t          t          j                            d                              t          |                     |           }|                    d          }|                    |          \  }}|j	        j
        t          j        u sJ |j	        j
        t          j        u sJ d S )	N2001r;   hz
US/Eastern)periodsfreqtzr   rS   z
US/Central)r   r   r]   randomdefault_rngstandard_normalr   
tz_convertr   r   r|   r   utc)idx1rr   ser_centralnew1new2s        r)   %test_align_dt64tzindex_mismatched_tzsr      s    faclCCCD
&&q))99#d))DDD
Q
Q
QC....K ;''JD$:=HL((((:=HL((((((r+   c                    t          ddd          }t          t          j                            d                              t          |                    |          }|                    |d d d         |            d S )Nz1/1/2000z1/1/2010Y)r{   r   rS   r=   )r   r   r]   r}   r~   r   r   r   )r   rngr   s      r)   test_align_periodindexr      st    
z:C
8
8
8C		%%a((88SBB#	N	N	NB HHR!W9H%%%%%r+   c                    t          t          d          t          j        g d|                     }t          t          d          t          j        g d|                     }|                    |          \  }}t          j        g d|           }t          ddt
          j        d	g|          }t          ddd	t
          j        g|          }t          j        ||           t          j        ||           d S )
Nr@   )r    r!   drQ   rS   rK   )r    r!   rL   r   r   r0   r   )	r   r[   rX   r\   r   r]   r_   r   r   )any_string_dtyper<   r?   result_leftresult_rightexpected_idxexpected_leftexpected_rights           r)   test_align_stringindexr      s    %(("(???BR"S"S"STTTD58828OOOCS#T#T#TUUUE $

5 1 1K80008HIIILAq"&!,LAAAMQ1bf-\BBBN;666<88888r+   c                  *   t          dgt          j                            dgddg                    } t          dgt          j                            dgg d	                    }|                     |          \  }}t          dgt          j                            d
gg d                    }t          dgt          j                            d
gg d                    }t          j        ||           t          j        ||           d S )Nr   )r0   r@   r    rL   rM   rS   r0   r0   r   r@   rK   )r0   r@   r   )r    rL   r!   r   rX   rY   from_tuplesr   r   r   )r<   r?   r   r   r   r   s         r)   test_align_left_fewer_levelsr      s   1#R]66xSz6RRSSSD	
2=,,i[,PP  E !%

5 1 1K	
2=,,i[,PP  N 	
2=,,i[,PP  M ;666<88888r+   c                  *   t          dgt          j                            dgg d                    } t          dgt          j                            dgg d                    }|                     |          \  }}t          dgt          j                            d	gg d
                    }t          dgt          j                            d	gg d
                    }t          j        ||           t          j        ||           d S )Nr   )r0      r@   )r    r   rL   rM   rS   r0   r   rK   )r0   r   r@   r   )r    r   rL   r!   r   )r<   r?   r   r   r   r   s         r)   &test_align_left_different_named_levelsr      s*   	
2=,,i[,PP  D 	
2=,,i[,PP  E !%

5 1 1K	
2=,,l^CWCWCW,XX  M 	
2=,,l^CWCWCW,XX  N ;666<88888r+   )datetimer   numpyr]   pytestpandasrX   r   r   r   pandas._testing_testingr   markparametrizer*   r9   rF   rI   rk   rv   r   r   r   r   r    r+   r)   <module>r      s                          
       
TT2J
T2J
dAY
T1I	  $,,  -, < 
TT2J
T2J
dAY
T1I	  E7#3444),,# # -, 54 #4!" !" !"H. . .  (  (  (F #N#N#NOO) ) PO)) ) )& & &
9 
9 
99 9 9$9 9 9 9 9r+   