
    A>i/                     `    S SK Jr  S SKrS SKrS SKrS SKJrJrJ	r	J
r
  S SKJr   " S S5      rg)    )timezoneN)	DataFrameIndexSeries
date_rangec            	          \ rS rSrS rS rS rS rS rS r	\
R                  R                  SS	S	\R                  /S	S
\/S
S	\/S
S
\R                  //5      S 5       rS rS rS rS rS rS rS rS rS rS rS rSrg)TestDataFrameAlign   c                    [        SSSSS9n[        SSSSS9n[        [        R                  R	                  S5      R                  [        U5      S45      U5      n[        [        R                  R	                  S5      R                  [        U5      S45      U5      nUR                  U5      u  pVUR                  R                  UR                  R                  :X  d   eUR                  R                  UR                  R                  :X  d   eUR                  S	5      nUR                  U5      u  pVUR                  R                  [        R                  L d   eUR                  R                  [        R                  L d   eUR                  US
   S
S9u  pVUR                  R                  [        R                  L d   eUR                  R                  [        R                  L d   eUS
   R                  US
S9  UR                  R                  [        R                  L d   eUR                  R                  [        R                  L d   eg )N2001   hz
US/Eastern)periodsfreqtz2h      z
US/Centralr   axis)r   r   nprandomdefault_rngstandard_normallenalignindexr   
tz_convertr   utc)selfidx1idx2df1df2new1new2df1_centrals           d/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/frame/methods/test_align.pytest_frame_align_aware)TestDataFrameAlign.test_frame_align_aware   s   &!#,G&!$<H		--a0@@#d)QPRVW		--a0@@#d)QPRVWYYs^
yy||tzz}},,,yy||tzz}},,,
 nn\2YY{+
zz}},,,zz}},,, YY{1~AY6
zz}},,,zz}},,,A[q)zz}},,,zz}},,,    c                    UR                  U5      u  p#UR                  UR                  Ld   eUR                  U5      u  p#UR                  UR                  Ld   eUR                  S S2S S24   nUR                  USSS9u  p#[        R                  " UR
                  UR
                  5        UR                  R                  UR                  5      nUR                  R                  U5      nUR                  U5      R                  nUS:H  R                  5       (       d   eUR                  USSS9u  p#[        R                  " UR
                  UR
                  5        [        R                  " UR                  UR                  5        [        R                  " UR                  UR                  5        UR                  S S2S S24   R                  5       nUR                  USS	9u  p#[        R                  " UR
                  UR
                  5        [        R                  " UR                  UR                  5        UR                  R                  UR                  5      nUR                  R                  U5      nUR                  U5      R                  nUS:H  R                  5       (       d   eUR                  US
SS9u  p#[        R                  " UR
                  UR
                  5        Sn[        R                  " [        US9   UR                  UR                  SS S24   S
SS9  S S S 5        g ! , (       d  f       g = f)Nr   r   )r   
fill_valueright)joinr      r   innerz)No axis named 2 for object type DataFramematchr   )r   _mgriloctmassert_index_equalcolumnsr   r1   
differencereindexvaluesallcopypytestraises
ValueError)	r    float_frameafbfotherjoin_idxdiff_adiff_a_valsmsgs	            r(   test_align_float#TestDataFrameAlign.test_align_float+   s   "";/wwk....."";/wwk.....   "bqb)""5qR"@
bjj%--8 $$))%++6""--h7jj(//r!&&((((""5wQ"?
bjj%--8
bhh4
bhh4   "bqb)..0""5q"1
bjj+*=*=>
bhh4 $$))%++6""--h7jj(//r!&&((((""5wQ"?
bjj%--8 :]]:S1bgga!en7C 211s   #L>>
Mc                 R   UR                   n[        [        [        U5      5      US9nUR	                  USS9u  pE[
        R                  " UR                   UR                   5        [
        R                  " UR                   UR                   5        [        U[        5      (       d   eg )Nr   r   r   )r   r   ranger   r   r8   r9   
isinstance)r    rC   idxsleftr0   s         r(   test_align_frame_with_series/TestDataFrameAlign.test_align_frame_with_seriesX   s    5S?#.!'''2
djj+*;*;<
ekk;+<+<=%((((r+   c                 
   [        / SQ/ SQS.5      nXS   S:H     n[        SS//S/SS/S	9n[        R                  " X#5        UR                  US   S:H  S
5      n[        / SQ/ SQS.5      n[        R                  " X#5        g )Nr2   r   r   )   r      abr[   r   r   r2   r\   r   r:   r   )r   r   r   )r   r   r   )r   r8   assert_frame_equalwhere)r    dfresultexpecteds       r(   test_align_series_condition.TestDataFrameAlign.test_align_series_conditionb   s~    YY78sGqL!q!fXaS3*E
f/"S'Q,*99=>
f/r+   c                     [        [        S5      / SQS9nUR                  UR                  S S 2S4   SSSS9u  p4[        R
                  " UR                  [        / 5      5        g Nr   )ABCr]   r   r3   r2   )r1   r   r/   r   rO   r   r7   r8   r9   r   r   )r    mixed_float_framerF   rD   rE   s        r(   test_align_mixed_float)TestDataFrameAlign.test_align_mixed_floatm   sY    a/B"((JJq!t7q ) 
 	bhhb	2r+   c                     [        [        S5      / SQS9nUR                  UR                  S S 2S4   SSSS9u  p4[        R
                  " UR                  [        / 5      5        g rf   rj   )r    mixed_int_framerF   rD   rE   s        r(   test_align_mixed_int'TestDataFrameAlign.test_align_mixed_intu   sY    a/B &&JJq!t7q ' 
 	bhhb	2r+   zl_ordered,r_ordered,expectedTFc           
         [        [        R                  " SSS9[        [	        S5      5      R                  [        R                  " [	        S5      US95      S.5      R                  S5      n[        [        R                  " S	SS9[        [	        S
5      5      R                  [        R                  " [	        S5      US95      S.5      R                  S5      nUR                  U5      u  pg[        UR                  U5      (       d   e[        UR                  U5      (       d   e[        R                  " UR                  UR                  5        g )NrY   int64dtypeaabbcacab)ordered)rg   rh   rh   r   babca)r   r   aranger   listastypepdCategoricalDtype	set_indexr   rP   r   r8   r9   )r    	l_ordered	r_orderedrb   df_1df_2	aligned_1	aligned_2s           r(   test_align_categorical)TestDataFrameAlign.test_align_categorical|   s    YYq0DN+22''UYG
 )C. 	 YYq0DM*11''UYG
 )C. 	  $zz$/	)//84444)//84444
iooy?r+   c                    [         R                  R                  [        S5      [        S5      [        S5      /SS9n[	        [        S5      SS9n[        [        R                  " SSS	9US
9n[        [        R                  " SSS	9US
9nUR                  USS9u  pVUR                  USS9u  pxUn	[        R                  " X5        [        R                  " X5        [        SSSS[        R                  [        R                  /S-  US
9n
[        R                  " X5        [        R                  " X5        UR                  USS9u  pVUR                  USS9u  px[         R                  R                  [        S5      [        S5      [        S5      /SS9n[        / SQUS
9n	[        R                  " X5        [        R                  " X5        [        / SQS-  US
9n
[        R                  " X5        [        R                  " X5        g )Nr   r   )r[   r\   c)namesr\   name   rs   rt   rN   rS   )r1   r0   r   r2   )r   r2   r   r   rY         	   )r   r   r2   r2   )r}   
MultiIndexfrom_productrO   r   r   r   rz   r   r8   r^   nan)r    midxrQ   r#   r$   res1lres1rres2lres2rexplexprexp_idxs               r(   test_align_multiindex(TestDataFrameAlign.test_align_multiindex   s    }}))1XuQxq*/ * 
 E!H3'		"G4DA		!733? yy6y2yy7y3
d*
d*!Q1bffbff59F
d*
d*yy7y3yy6y2--,,1XuQxq*/ - 
 1A
d*
d*)9
d*
d*r+   c                 x   [        / SQ/ SQS.[        S5      S9n[        / SQ[        S5      SS9nUR                  US	S
9u  p4[        S[        R
                  S[        R
                  S/S[        R
                  S[        R
                  S/S.[        S5      S9n[        SS[        R
                  S[        R
                  /[        S5      SS9n[        R                  " X55        [        R                  " XF5        UR                  U5      u  p4[        R                  " X65        [        R                  " XE5        g )N)r2   r   r   rZ   ACErN   r2   r   rX   ABDxr   r   r   r   r2   r   r   ABCDEr   rX   )	r   r{   r   r   r   r   r8   r^   assert_series_equal)r    r`   rR   res1res2exp1exp2s          r(   test_align_series_combinations1TestDataFrameAlign.test_align_series_combinations   s    YY7tE{K9DKc: XXaaX(
bffa+1bffa2KLw-
 q!RVVQ/tG}3O
d)
t* WWR[

t*
d)r+   c                 z   [        / SQSS9n[        SS/SS9n[        SS/USS9n[        S	[        R                  " S
5      0[
        R                  R                  X/5      S9n[        SS/S-  UR                  SS9nUR                  USS9u  pg[        R                  " Xd5        [        R                  " Xu5        g )NrW   foor   r2   r   bar
foo_seriesr   colrY   rN   r   r   r   r   r   r   r   rz   r}   r   r   r   r   r8   r^   r   r    	foo_index	bar_indexseriesr`   
expected_rresult_lresult_rs           r(   7test_multiindex_align_to_series_with_common_index_levelJTestDataFrameAlign.test_multiindex_align_to_series_with_common_index_level   s    )%0	1a&u-	AilCBIIaL!--,,i-CD

 QFQJbhh\J
XXf1X5
h+
x4r+   c                    [        / SQSS9n[        SS/SS9n[        / SQ[        / SQSS9SS	9n[        S
[        R                  " S5      0[
        R                  R                  X/5      S9n[        SS/S-  UR                  SS	9nUR                  USS9u  pg[        R                  " Xd5        [        R                  " Xu5        g )NrW   r   r   r2   r   r   r2   r   r   rX   r   r   r   rY   rN   r   r   r   r   r   s           r(   Gtest_multiindex_align_to_series_with_common_index_level_missing_in_leftZTestDataFrameAlign.test_multiindex_align_to_series_with_common_index_level_missing_in_left   s    )%0	1a&u-	l ?l
 BIIaL!--,,i-CD

 QFQJbhh\J
XXf1X5
h+
x4r+   c                    [        / SQSS9n[        / SQSS9n[        SS/[        SS/SS9SS	9n[        S
[        R                  " S5      0[
        R                  R                  X/5      S9n[        SS[        R                  [        R                  /S-  UR                  SS	9nUR                  USS9u  pg[        R                  " Xd5        [        R                  " Xu5        g )NrW   r   r   r   r   r2   r   r   r   r   r   rN   r   r   r   r   r   r   r   rz   r}   r   r   r   r   r   r8   r^   r   r   s           r(   Htest_multiindex_align_to_series_with_common_index_level_missing_in_right[TestDataFrameAlign.test_multiindex_align_to_series_with_common_index_level_missing_in_right   s    )%0	,U3	AeQF&?lSBIIbM"--,,i-CD

 266266"Q&bhh\

  XXf1X5
h+
x4r+   c                    [        / SQSS9n[        / SQSS9n[        / SQ[        / SQSS9SS9n[        S	[        R                  " S
5      0[
        R                  R                  X/5      S9n[        S[        R                  S/S-  UR                  SS9nUR                  USS9u  pg[        R                  " Xd5        [        R                  " Xu5        g )NrW   r   r   )r2   r   rX   r   r   r   r   r   r   rN   r2   r   r   r   r   r   s           r(   Gtest_multiindex_align_to_series_with_common_index_level_missing_in_bothZTestDataFrameAlign.test_multiindex_align_to_series_with_common_index_level_missing_in_both  s    )%0	)%0	U959
 BIIaL!--,,i-CD

 QNQ.bhh\R
XXf1X5
h+
x4r+   c                    [        / SQSS9n[        SS/SS9n[        SS/USS9n[        [        R                  " S	5      R                  S
S5      [        R                  R                  X/5      S9n/ SQUl	        [        SS/S-  UR                  SS9nUR                  USS9u  pg[        R                  " Xu5        [        R                  " UR                  UR                  5        g )NrW   r   r   r2   r   r   r   r      rY   r   rN   )cfoocbarr   r   r   )r   r   r   r   rz   reshaper}   r   r   r:   r   r   r8   r   r9   )r    r   r   r   r`   rb   result_leftresult_rights           r(   Gtest_multiindex_align_to_series_with_common_index_level_non_unique_colsZTestDataFrameAlign.test_multiindex_align_to_series_with_common_index_level_non_unique_cols  s    )%0	1a&u-	AilCIIbM!!!Q'--,,i-CD
 .
1a&1*BHH<H$&HHV!H$<!
|6
k112::>r+   c                 &   [        [        R                  " S5      R                  S5      5      n[	        [        R                  " S5      5      n[
        R                  " [        SS9   UR                  U5        S S S 5        g ! , (       d  f       g = f)N2   )
   r   r   zaxis=0 or 1r4   )	r   r   rz   r   r   r@   rA   rB   r   )r    r`   r   s      r(   )test_missing_axis_specification_exception<TestDataFrameAlign.test_missing_axis_specification_exception0  sW    ryy},,W56		!%]]:^<HHV =<<s   'B
Bc                     [        SSS/05      n[        S/SS9nUR                  5       nUR                  USS9u  pESUR                  S'   [
        R                  " XS5        g )Nr   r2   r   r   r   d   )r   r   r?   r   r7   r8   r   )r    r`   serrb   ra   rF   s         r(   test_align_series_check_copy/TestDataFrameAlign.test_align_series_check_copy7  s\    Aq6{#aSq!88:1-
u/r+   c                     [        SSS/05      n[        SS/5      nUR                  USS9u  p4[        R                  " X15        [        R
                  " XB5        XLd   eX$Ld   eg )Nr[   r2   r   r   rX   r   r   r   r   r   r8   r^   r   r    r`   r   ra   result2s        r(   %test_align_identical_different_object8TestDataFrameAlign.test_align_identical_different_object@  si    aV}%aVn((3Q(/
f)
w,!!!r+   c                     [        SSS/05      n[        S/S/S9nUR                  USS9u  p4[        R                  " X15        [        R
                  " XB5        XLd   eX$Ld   eg )Nr[   r2   r   rN   r   r   r   s        r(   -test_align_identical_different_object_columns@TestDataFrameAlign.test_align_identical_different_object_columnsJ  sl    aV}%aS&((3Q(/
f)
w,!!!r+    N)__name__
__module____qualname____firstlineno__r)   rK   rT   rc   rl   rp   r@   markparametrizer}   CategoricalIndexr   r   r   r   r   r   r   r   r   r   r   r   r   __static_attributes__r   r+   r(   r	   r	      s    -4+DZ)	033 [[&4,,-5% D% E2../		
@@0!+F*(5"5&5&5&?$0""r+   r	   )datetimer   numpyr   r@   pandasr}   r   r   r   r   pandas._testing_testingr8   r	   r   r+   r(   <module>r      s,         B" B"r+   