
    MhF                     `    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	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\R                  R                  SSS/5      \R                  R                  S/ SQ5      \R                  R                  SSS/5      \R                  R                  S/ S Q5      \R                  R                  S!\" S"5      \" S#5      /\" S5      \" S5      //5      \R                  R                  S$\" S%S&5      \" S'S&5      /\" S5      \" S5      //5      \R                  R                  S(SS&/5      S) 5       5       5       5       5       5       5       rS* rS+ rS, r S-r!g&).TestDataFrameAlign   c                 T   [        SS[        R                  S/05      nSnSn[        R                  " [
        US9   [        R                  " [        US9   UR                  UR                  S S S2   SS	9  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)
NA      zInvalid fill methodz/The 'method', 'limit', and 'fill_axis' keywordsmatchasfreq)method)r   npnanpytestraises
ValueErrortmassert_produces_warningFutureWarningaligniloc)selfdfmsgmsg2s       W/var/www/html/env/lib/python3.13/site-packages/pandas/tests/frame/methods/test_align.pytest_align_asfreq_method_raises2TestDataFrameAlign.test_align_asfreq_method_raises   s}    a^,-#@]]:S1++MF2x8 G 21FF 21s#   B!B7B
B	B
B'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2hr      z
US/Centralr   axis)r   r   r   randomdefault_rngstandard_normallenr   indexr+   
tz_convertr   utc)r   idx1idx2df1df2new1new2df1_centrals           r"   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           	      n
   UR                  U5      u  p4UR                  UR                  Ld   eUR                  USS9u  p4U(       d  UR                  UR                  L d   eO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  p4[        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  p4[        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  p4[        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  p4[        R                  " UR
                  UR
                  5        Sn	[        R                  " [        U	S9   UR                  USS
SS9u  p4S S S 5        [        R                  " UR
                  UR
                  5        Sn	[        R                  " [        U	S9   UR                  UR                  S S 2S4   SS
S S S9u  p4S S S 5        [        R                  " UR                  [        / 5      R!                  UR                  R"                  5      5        Sn	[        R                  " [        U	S9   UR                  UR                  S S 2S4   SS
S SS9u  p4S S S 5        [        R                  " UR                  [        / 5      R!                  UR                  R"                  5      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N= f! , (       d  f       GNL= f! , (       d  f       N= f! , (       d  f       g = f)NF)copyr-   r   r   )r/   
fill_valueright)joinr/   r   r.   innerQThe 'method', 'limit', and 'fill_axis' keywords in DataFrame.align are deprecatedr   padrF   r/   r   rF   r/   r   rD   z)No axis named 2 for object type DataFramer   )r   _mgrr   r   assert_index_equalcolumnsr4   rF   
differencereindexvaluesallrB   r   r   r   astypedtyper   r   r   )
r   float_frameusing_copy_on_writeafbfotherjoin_idxdiff_adiff_a_valsr    s
             r"   test_align_float#TestDataFrameAlign.test_align_float3   sC   "";/wwk....."";U";"77k.....77+"2"2222   "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A &&u75&QFB B
bjj%--8 	 ''SA &&

1a4 wQtPT ' FB B 	bhhb	(8(8(HI 	 ''SA &&

1a4 wQtPQ ' FB B 	bhhb	(8(8(HI :]]:S1bgga!en7C 215 BA BA BA 21s0   4S1'T.'T#T&1
T 
T
T#&
T4c                    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Sn[
        R                  " [        US9   UR	                  USS9u  pES S S 5        [
        R                  " UR                   UR                   5        UR                   Vs0 s H  owU_M     nn[        XR                   UR                  S9n[
        R                  " XX5        g ! , (       d  f       N= fs  snf )	Nr4   r   r.   z=The 'broadcast_axis' keyword in DataFrame.align is deprecatedr   r   )broadcast_axisr4   rN   )r4   r   ranger3   r   r   rM   
isinstancer   r   rN   r   assert_frame_equal)	r   rU   idxsleftrE   r    cexpecteds	            r"   test_align_frame_with_series/TestDataFrameAlign.test_align_frame_with_series   s"   5S?#.!'''2
djj+*;*;<
ekk;+<+<=%((((M''SA%++Aa+@KD B
djj+*;*;<"-"5"56"5QqD"56--{7J7J
 	e. BA 7s   EE+
E(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r   r   r-   )   r'      abrr   r   r'   r   rs   rb   r   )r   r   r   )r   r'   r   )r   r   re   where)r   r   resultrj   s       r"   test_align_series_condition.TestDataFrameAlign.test_align_series_condition   s~    YY78sGqL!q!fXaS3*E
f/"S'Q,*99=>
f/r@   c                    [        [        S5      / SQS9nSn[        R                  " [        US9   UR                  USSSS	9u  pES S S 5        [        R                  " WR                  UR                  5        g ! , (       d  f       N:= f)
Nr'   r   BCrb   rH   r   rG   r   rI   rJ   )r   rc   r   r   r   r   rM   rN   )r   	int_framerY   r    rW   rX   s         r"   test_align_int!TestDataFrameAlign.test_align_int   sn    a/B 	 ''SA__Uq_OFB B
bjj%--8 BAs   A::
Bc                     Sn[         R                  " [        US9   UR                  USSSS9u  p4S S S 5        [         R                  " WR
                  UR
                  5        g ! , (       d  f       N:= f)NrH   r   rG   r   rI   rJ   )r   r   r   r   rM   rN   )r   float_string_framer    rW   rX   s        r"   test_align_mixed_type(TestDataFrameAlign.test_align_mixed_type   sk     	 ''SA'--"q . FB B 	bjj*<*D*DE	 BAs   A%%
A3c           	      8   [        [        S5      / SQS9nSn[        R                  " [        US9   UR                  UR                  S S 2S4   SSS SS	9u  pES S S 5        [        R                  " WR                  [        / 5      5        g ! , (       d  f       N9= f
Nr'   ry   rb   rH   r   r   rG   r   rK   
r   rc   r   r   r   r   r   rM   r4   r   )r   mixed_float_framerY   r    rW   rX   s         r"   test_align_mixed_float)TestDataFrameAlign.test_align_mixed_float   s    a/B 	 ''SA&,,

1a4 wQtPQ - FB B 	bhhb	2	 BA   'B
Bc           	      8   [        [        S5      / SQS9nSn[        R                  " [        US9   UR                  UR                  S S 2S4   SSS SS	9u  pES S S 5        [        R                  " WR                  [        / 5      5        g ! , (       d  f       N9= fr   r   )r   mixed_int_framerY   r    rW   rX   s         r"   test_align_mixed_int'TestDataFrameAlign.test_align_mixed_int   s    a/B 	 ''SA$**

1a4 wQtPQ + FB B 	bhhb	2	 BAr   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 )Nrp   int64rT   aabbcacab)ordered)r   rz   rz   r'   babca)r   r   aranger   listrS   pdCategoricalDtype	set_indexr   rd   r4   r   rM   )r   	l_ordered	r_orderedrj   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-   )rr   rs   ri   )namesrs   name   r   r   r`   rh   )rF   rE   r   r   )r   r   r   r-   rp         	   )r   r   r   r   )r   
MultiIndexfrom_productrc   r   r   r   r   r   r   re   r   )r   midxrf   r9   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)r   r-   r'   rq   ACEr`   r   r   ro   ABDxr4   r   r   r.   r   r-   r'   ABCDEr   ro   )	r   r   r   r   r   r   r   re   assert_series_equal)r   r   rg   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 )Nrn   foor   r   r   bar
foo_seriesr   colrp   r`   r-   r   r.   r   r   r   r   r   r   r   r   r4   r   r   re   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 )Nrn   r   r   r   r   r   r   r   r-   ro   r   r   r   rp   r`   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_left9  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 )Nrn   r   r   r   r   r   r   r   r   r   r   r`   r-   r   r.   r   r   r   r   r   r   r   r   r   r4   r   r   re   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_rightL  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 )Nrn   r   r   )r   r-   ro   r   r   r   r   r   r   r`   r   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 )Nrn   r   r   r   r   r   r   r      rp   r-   r`   )cfoocbarr   r   r.   )r   r   r   r   r   reshaper   r   r   rN   r4   r   r   r   rM   )r   r   r   r   r   rj   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_colsr  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 1r   )	r   r   r   r   r   r   r   r   r   )r   r   r   s      r"   )test_missing_axis_specification_exception<TestDataFrameAlign.test_missing_axis_specification_exception  sW    ryy},,W56		!%]]:^<HHV =<<s   'B
Br   rI   bfillr/   )r   r   N	fill_axisr   r   how)rG   outerrh   rE   
left_slicero   r   right_slicer   Nrp   limitc	           
      >   Un	U	R                   US   US   4   n
U	R                   US   US   4   nSn[        R                  " [        US9   U
R	                  UUUUUUS9u  pS S S 5        Su  nnXnnUb  US:X  aB  U
R
                  R                  UR
                  US9nUR                  US9nUR                  US9nUb  US:X  aB  U
R                  R                  UR                  US9nUR                  US	9nUR                  US	9nS
n[        R                  " [        US9   UR                  XBUS9nUR                  XBUS9nS S S 5        [        R                  " WU5        [        R                  " WU5        g ! , (       d  f       GN = f! , (       d  f       NO= f)Nr   r   rH   r   )r/   rF   r   r   r   )NN)r   r`   )rN   z,DataFrame.fillna with 'method' is deprecated)r/   r   r   )r   r   r   r   r   r4   rF   rP   rN   fillnare   )r   r   r   r/   r   rU   r   r   r   framerh   rE   r    aaab
join_indexjoin_columnseaebs                      r"   test_align_fill_method)TestDataFrameAlign.test_align_fill_method  s   , zz*Q-A67

;q>;q>9: 	
 ''SAZZ#   FB B $. 
LB<419#>J*-B*-B<419<<,,U]],DLL1BL1B<''SA	FB	FB B 	b"%
b"%; BA0 BAs   E<$!F<
F
F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   r   r   r   r.   d   )r   r   rB   r   r   r   r   )r   r   serrj   ru   rY   s         r"   test_align_series_check_copy/TestDataFrameAlign.test_align_series_check_copy  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 )Nrr   r   r   r-   ro   r   r.   r   r   r   r   re   r   r   r   r   ru   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 )Nrr   r   r   r`   r.   r  r  s        r"   -test_align_identical_different_object_columns@TestDataFrameAlign.test_align_identical_different_object_columns  sl    aV}%aS&((3Q(/
f)
w,!!!r@    )"__name__
__module____qualname____firstlineno__r#   r>   r]   rk   rv   r}   r   r   r   r   markparametrizer   CategoricalIndexr   r   r   r   r   r   r   r   r   r   slicer   r  r  r
  __static_attributes__r  r@   r"   r	   r	      s   9-4JDX/(	0
9	F33 [[&4,,-5% D% E2../		
@@0!+F*(5"5&5&5&?$ [[Xw'78[[V\2[[[1a&1[[U$GH[[1XuRy!1XuQx 	
 [[1d^U1d^,1XuQx 	
 [[Wq$i0)& 1 I 2 3 9&)&V0""r@   r	   )datetimer   numpyr   r   pandasr   r   r   r   r   pandas._testing_testingr   r	   r  r@   r"   <module>r     s,         T" T"r@   