
    Owg              	       x   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                  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                  j                  dddg      d	               Zej                  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                  j                  d
ddg      ej                  j                  dddg      d                      Zd Zd Zd Zej                  j                  d
g d      d        Zd Zd Zd Zd Zy)    )timezoneN)Series
date_rangeperiod_rangezfirst_slice,second_slice   fillc                 P   | t        |    }| t        |    }|j                  |||      \  }}|j                  j                  |j                  |      }	||j                  j	                  |	      }
|j                  j	                  |	      }t        |
      dkD  r$|j                  |
      |k(  j                         sJ t        |      dkD  r$|j                  |      |k(  j                         sJ |j                  |	      }|j                  |	      }|"|j                  |      }|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 y )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                 ]/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/series/methods/test_align.py
test_alignr*      st    	{+,A|,-AWWQY4W8FBagg95J$$Z0$$Z0v;?JJv&$.33555v;?JJv&$.33555	
:	B	
:	BYYt_YYt_2r"2r"77d??77d??77d??77d??    methodpadbfilllimit   c                 ^   | t        |    }| t        |    }d}t        j                  t        |      5  |j	                  ||||      \  }	}
d d d        |j
                  j                  |j
                  |      }|j                  |      }|j                  |      }d}t        j                  t        |      5  |j                  ||      }|j                  ||      }d d d        t        j                  	|       t        j                  
|       y # 1 sw Y   xY w# 1 sw Y   BxY w)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6GBH agg95J	
:	B	
:	B6D		#	#M	> 3YYfEY2YYfEY23 2r"2r"H H3 3s   D;'D#D #D,c                    | d d j                         }| j                         }|j                  |d      \  }}d|d d |d d dk(  j                         rJ | j                         }|j                  |dd      \  }}d|d d |r|d d dk(  j                         rJ |d d dk(  j                         sJ | j                         }| d d j                         }|j                  |d      \  }}d|d d |d d dk(  j                         rJ | j                         }| d d j                         }|j                  |dd      \  }}d|d d |r|d d dk(  j                         rJ y |d d dk(  j                         sJ y )	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F"1
!!! 	AGGAFG/EBBrFbqEQJ##%%%"1
!!! 	A  "AGGAGG$EArBrF"1
!!! 	A  "AGGAG%G0EArBrFbqEQJ##%%%%"1
!!!r+   c                 h   | j                  | d      \  }}|s4|j                  | j                  u sJ |j                  | j                  u sPJ |j                  j                  | j                        sJ |j                  j                  | j                        sJ | j                  | d      \  }}|j                  | j                  usJ |j                  | j                  usJ |j                  j                  | j                        sJ |j                  j                  | j                        sJ y )NF)r>   T)r   r   is_)r   rB   r    r!   s       r)   test_align_same_indexrI      s     u =DAqww//////ww//////ww{{?00111ww{{?00111  t <DAq77//////77//////77;;,,---77;;,,---r+   c                     t         j                  j                  t        d      t        d      t        d      gd      } t        j                  t        d      d      }t        t        j                  dd	      | 
      }t        t        j                  dd	      |
      }|j                  |d      \  }}|j                  |d      \  }}|}t        j                  ||       t        j                  ||       t        ddddt        j                  t        j                  gdz  | 
      }	t        j                  |	|       t        j                  |	|       |j                  |d      \  }}|j                  |d      \  }}t         j                  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                  |	|       y )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_multiindexrj      s    ==%%	q58U1X&o & D ((58#
&C			"G,D	9B			!7+3	7B 88BV8,LE588BW8-LE5D4'4'1aArvvrvv.2$?D4'4'88BW8-LE588BV8,LE5mm((	q58U1X&o ) G *':D4'4',"'2D4'4'r+   )backfillr.   r-   ffillNc                 ~   t        t        d      t        d            }t        j                  dt        d      t        d            }d}t	        j
                  t        |      5  |j                  ||       \  }}d d d        t	        j                  |       t	        j                  |       y # 1 sw Y   6xY w)Nr@   rR   g        )r   columnsr2   r3   )r,   )
r   rZ   rW   	DataFramer   r5   r6   r   r   assert_frame_equal)r,   serdfr7   
result_ser	result_dfs         r)    test_align_with_dataframe_methodru      s     qq
*C	cq58	<B	  
	#	#M	= = #		"V	 <
I=:s+)R(= =s   'B33B<c                     t        dddd      } t        t        j                  j	                  d      j                  t        |             |       }|j                  d      }|j                  |      \  }}|j                  j                  t        j                  u sJ |j                  j                  t        j                  u sJ y )	N2001r;   hz
US/Eastern)periodsfreqtzr   rR   z
US/Central)r   r   r\   randomdefault_rngstandard_normalr   
tz_convertr   r   r{   r   utc)idx1rq   ser_centralnew1new2s        r)   %test_align_dt64tzindex_mismatched_tzsr      s    faclCD
&&q)99#d)DD
QC...K ;'JD$::==HLL(((::==HLL(((r+   c                     t        ddd      }t        t        j                  j	                  d      j                  t        |            |      }|j                  |d d d   |        y )Nz1/1/2000z1/1/2010Y)rz   r   rR   r=   )r   r   r\   r|   r}   r~   r   r   )r   rngr   s      r)   test_align_periodindexr      sT    
z:C
8C			%%a(88SB#	NB HHR!W9H%r+   c                     t        dgt        j                  j                  dgddg            } t        dgt        j                  j                  dgg d	            }| j	                  |      \  }}t        dgt        j                  j                  d
gg d            }t        dgt        j                  j                  d
gg d            }t        j                  ||       t        j                  ||       y )Nr   )r0   r@   r    rL   rM   rR   r0   r0   r   r@   rK   )r0   r@   r   )r    rL   r!   r   rW   rX   from_tuplesr   r   r   )r<   r?   result_leftresult_rightexpected_rightexpected_lefts         r)   test_align_left_fewer_levelsr      s    1#R]]66xSz6RSD	
2==,,i[,PE !%

5 1K	
2==,,i[,PN 	
2==,,i[,PM ;6<8r+   c                     t        dgt        j                  j                  dgg d            } t        dgt        j                  j                  dgg d            }| j	                  |      \  }}t        dgt        j                  j                  d	gg d
            }t        dgt        j                  j                  d	gg d
            }t        j                  ||       t        j                  ||       y )Nr   )r0      r@   )r    drL   rM   rR   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D 	
2==,,i[,PE !%

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