
    A>i8                     h    S SK r S SKrS SKrS SKJr  S SKrS SKJ	r
  S SKJr  S SKJr   " S S5      rg)    N)NumpyEADtype)ExtensionArray)EABackedBlockc            
       z   \ rS rSrSr\R                  R                  SSS/5      S 5       r\R                  R                  SSS/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S r\R                  R/                  S5      \R                  R                  SSS/\R2                  R5                  SS/SS/S9/5      \R                  R                  SSS/5      S 5       5       5       r\R                  R                  S \R2                  R9                  SS/S!S"//S!S"/S9\R2                  R5                  / S#Q5      \R2                  R9                  / S$Q5      \R2                  R5                  / S%Q5      /5      \R                  R                  S&S'S(/5      S) 5       5       rS* rS+ rS, r S-r!g.)/BaseReshapingTests   z&Tests for reshaping and concatenation.in_frameTFc                 :   [         R                  " U5      nU(       a  [         R                  " U5      n[         R                  " X3/SS9n[	        U5      [	        U5      S-  :X  d   eU(       a  UR
                  S   nOUR                  nXQR                  :X  d   e[        UR                  S5      (       a.  [        UR                  R                  S   [        5      (       d   e[        UR                  R                  S   R                  [        5      (       d   eg )NTignore_index   r   blocks)pdSeries	DataFrameconcatlendtypesdtypehasattr_mgr
isinstancer   r   valuesr   )selfdatar	   wrappedresultr   s         d/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/extension/base/reshaping.pytest_concatBaseReshapingTests.test_concat   s    ))D/ll7+GG-DA6{c$i!m+++MM!$ELLE

"""6;;))fkk003]CCCC&++,,Q/66GGGG    c                 f   [         R                  " UR                  SS/5      [        S5      S9n[         R                  " UR                  SS/5      [        SS5      S9nU(       a0  [         R                  " SU05      n[         R                  " SU05      n[         R
                  " X4/5      nU(       a@  [         R                  " SUR                  / SQ5      05      n[        R                  " XV5        g [         R                  " UR                  / SQ5      5      n[        R                  " XV5        g )N   r   indexr      a)r#   r#   r   r   )	r   r   takeranger   r   tmassert_frame_equalassert_series_equal)r   data_missingr	   valid_blockna_blockr   expecteds          r   test_concat_all_na_block+BaseReshapingTests.test_concat_all_na_block$   s    ii 1 11a& 9qJ99\..1v6eAqkJ,,['9:K||S(O4HK23||S,*;*;L*I$JKH!!&3yy!2!2<!@AH""64r!   c                    [         R                  " SUS S 05      n[         R                  " S/ SQ05      n[         R                  " S/ SQ05      R                  S5      nX#U/n[         R                  " U5      n[         R                  " U Vs/ s H  owR                  [        5      PM     sn5      n[
        R                  " Xh5        [         R                  " U Vs/ s H  owS   PM	     sn5      n[         R                  " U Vs/ s H  owS   R                  [        5      PM     sn5      n[
        R                  " Xh5        [         R                  " X#R                  [        5      /5      n[         R                  " UR                  S5      UR                  S5      /5      n[
        R                  " Xh5        [         R                  " US   US   R                  [        5      /5      n[         R                  " US   R                  S5      US   R                  S5      /5      n[
        R                  " Xh5        g s  snf s  snf s  snf )NA   r#   r   r5   r'   bccategoryobject)r   r   astyper   r;   r*   r+   r,   )	r   r   df1df2df3dfsr   xr0   s	            r   test_concat_mixed_dtypes+BaseReshapingTests.test_concat_mixed_dtypes3   s   llCbq?+llC+,llC1299*Eo 399<1hhv.<=
f/ C0CqcFC0199SASfmmF3SAB
v0 CF!34599cjj2CJJx4HIJ
f/CHc#hoof&=>?99c#hooh7S9RST
v0 = 1As   H=I!Ic           
         [         R                  " SUS S 05      n[         R                  " S/ SQ05      n[         R                  " US S / SQS.5      n[         R                  " X4/SS9n[        R                  " Xe5        [         R                  " US   US   /SS9n[        R                  " Xe5        [         R                  " S/ SQ0/ SQS9n[         R                  " UR                  / [        US S 5      QUPUR                  S	9[        R                  SS
S/S.5      n[         R                  " X4/SS9n[        R                  " Xe5        [         R                  " US   US   /SS9n[        R                  " Xe5        g )Nr4   r5   Br6   r4   rE   r#   axisr$   r   r   )
r   r   r   r*   r+   _from_sequencelistr   npnanr   r   na_valuer=   r>   r0   r   s          r   test_concat_columns&BaseReshapingTests.test_concat_columnsM   sD   llCbq?+llC+,<<d2AhY ?@C:A.
f/CHc#h/a8
f/ llC+9=<<(()D4Ra>)D8)DDJJ(WffaA&
 C:A.
f/CHc#h/a8
f/r!   c           
      P   [         R                  " SUS S 05      n[         R                  " SUSS 05      n[         R                  " UR                  / [        US S 5      QUPUR                  S9USS S.5      n[         R
                  " X4/SS9n[        R                  " Xe5        g )	Nr4   r5   rE      rI   rF   r#   rG   )r   r   rJ   rK   r   r   r*   r+   rN   s          r   'test_concat_extension_arrays_copy_false:BaseReshapingTests.test_concat_extension_arrays_copy_falsee   s    llCbq?+llCa+,<<(()D4Ra>)D8)DDJJ(W!AY
 C:A.
f/r!   c                    [         R                  " SUS S 05      n[         R                  " SUS S 05      n[         R                  " X#/SS9n[         R                  " UR                  [	        [        S5      5      S/S-  -   SS9UR                  S/S-  [	        [        S5      5      -   SS9S.5      n[        R                  " XE5        g )	Nr'      r8   Tr   )
allow_fill)r'   r8   )r   r   r   r(   rK   r)   r*   r+   )r   r   r'   r8   r   r0   s         r   test_concat_with_reindex+BaseReshapingTests.test_concat_with_reindexr   s    LL#tBQx)LL#tBQx)A65<<YYtE!H~":tYLYYqDqN:tYL
 	f/r!   c                    US S nUSS n[         R                  " U5      R                  [         R                  " U/ SQS95      u  pV[         R                  " UR                  / [	        U5      QUPUR
                  S95      n[         R                  " UR                  U/[	        U5      QUR
                  S95      n[        R                  " XW5        [        R                  " Xh5        g )Nr5   r   rW   r6   r$   rI   )r   r   alignrJ   rK   r   r*   r,   	r   r   rO   r'   r8   r1r2e1e2s	            r   
test_alignBaseReshapingTests.test_align   s    !H1I1##BIIay$AB YYt**+?T!W+?h+?tzz*RSYYt**H+?tAw+?tzz*RS
r&
r&r!   c           	         US S nUSS n[         R                  " SU05      R                  [         R                  " SU0/ SQS95      u  pV[         R                  " SUR                  / [	        U5      QUPUR
                  S905      n[         R                  " SUR                  U/[	        U5      QUR
                  S905      n[        R                  " XW5        [        R                  " Xh5        g )Nr5   r   rW   r4   r6   r$   rI   )r   r   r]   rJ   rK   r   r*   r+   r^   s	            r   test_align_frame#BaseReshapingTests.test_align_frame   s    !H1IsAh'--bllC89.UV \\$%%&:Q&:&:$**%MN
 \\$%%x&:$q'&:$**%MN
 	b%
b%r!   c                    [         R                  " USS9n[         R                  " S[        R                  " [        U5      S-   5      05      nUR                  U5      u  pV[         R                  " UR                  / [        U5      QUPUR                  S9UR                  S9n[        R                  " XW5        [        R                  " Xd5        g )Nr'   )namecolr#   rI   )r   r   r   rL   aranger   r]   rJ   rK   r   ri   r*   r,   r+   )r   r   rO   serdfr_   r`   ra   s           r   test_align_series_frame*BaseReshapingTests.test_align_series_frame   s    ii3'\\5"))CHqL"9:;2YY 7$t* 7h 7tzzJ

 	r&
b%r!   c                     [         R                  " SS/[        U5      -  05      nXS'   [         R                  " S/[        U5      -  US.5      n[        R                  " X#5        g Nr4   r#   rE   rF   r   r   r   r*   r+   r   r   rm   r0   s       r   ,test_set_frame_expand_regular_with_extension?BaseReshapingTests.test_set_frame_expand_regular_with_extension   sQ    \\3c$i013<<qcCIoD AB
b+r!   c                     [         R                  " SU05      nS/[        U5      -  US'   [         R                  " US/[        U5      -  S.5      n[        R                  " X#5        g rq   rr   rs   s       r   ,test_set_frame_expand_extension_with_regular?BaseReshapingTests.test_set_frame_expand_extension_with_regular   sR    \\3+&#D	/3<<d!s4y AB
b+r!   c                     [         R                  " SS/[        U5      -  0[        S9nXS'   UR                  S   UR
                  :X  d   eg )Nr4   r#   rI   )r   r   r   r;   r   r   )r   r   rm   s      r   test_set_frame_overwrite_object2BaseReshapingTests.test_set_frame_overwrite_object   sB    \\3c$i0?3yy~+++r!   c                    [         R                  " US S / SQ/ SQS.5      n[         R                  " / SQ/ SQS.5      n[         R                  " X45      n[         R                  " / SQ/ SQ/ S	QUR                  US
   US
   US   /UR                  S9S.5      n[
        R                  " XV/ SQ   5        [         R                  " X4SS9n[         R                  " SSSS[        R                  /SSS[        R                  S// SQUR                  US
   US
   US   US   U/UR                  S9S.5      n[
        R                  " XV/ SQ   5        g )Nr5   r6   r   r#   r   )extint1key)r#   r   r5   r&   )r   r   r#   r5   )int2r   )r#   r#   r   )r   r   r#   r   r#   rI   )r   r   r   r~   )r~   r   r   r   outer)howr   r&   )r   r   r#   r   r5   )	r   r   mergerJ   r   r*   r+   rL   rM   )r   r   rO   r=   r>   resexps          r   
test_mergeBaseReshapingTests.test_merge   s6   ll48YyQRllLFGhhs ll!! **!Wd1gtAw/tzz + 		
 	c'E#FGhhsW-llAq!RVV,Aq"&&!,&**!Wd1gtAwQB$** + 		
 	c'E#FGr!   c                    US S u  p#[        U5      R                  X#/UR                  S9n[        R                  " USS/S.5      n[        R
                  " XUSS9n[        R                  " USS/SS/S.5      n[        R                  " Xg5        [        R
                  " UR                  SS/   USS9nUR                  SS/   R                  S	S
9n[        R                  " Xg5        g )Nr   rI   r#   r   valr   onr   val_xval_yr   T)drop)
typerJ   r   r   r   r   r*   r+   ilocreset_index)r   r   r'   r8   r   rm   r   r0   s           r   test_merge_on_extension_array0BaseReshapingTests.test_merge_on_extension_array   s    BQx4j''djj'A\\#q!f56"U+<<q!f1v NO
f/ "''1a&/2%8==!Q(44$4?
f/r!   c                 |   US S u  p#[        U5      R                  X#U/UR                  S9n[        R                  " U/ SQS.5      n[        R                  " U/ SQS.5      n[        R
                  " XVSS9n[        R                  " UR                  / SQ5      / SQ/ S	QS
.5      n[        R                  " Xx5        g )Nr   rI   r6   r   r   r   )r   r   r#   r   r   )r#   r#   r   r5   r5   )r#   r5   r   r#   r5   r   )	r   rJ   r   r   r   r   r(   r*   r+   )	r   r   r'   r8   r   r=   r>   r   r0   s	            r   (test_merge_on_extension_array_duplicates;BaseReshapingTests.test_merge_on_extension_array_duplicates   s    BQx4j''q	'Dll3y9:ll3y9:#u-<<xx0((
 	f/r!   z9ignore:The previous implementation of stack is deprecatedcolumnsr4   rE   r4   r'   r4   r8   r   inner)namesfuture_stackc                    [         R                  " US S US S S.5      nX$l        UR                  US9nUR	                  [
        5      R                  US9nUR	                  [
        5      n[        U[         R                  5      (       a  U(       a[  [        UR                  [        5      (       a<  UR                  UR                  S S 2S4   R                  5       R                  :X  d   eOhUR                  UR                  S S 2S4   R                  :X  d   eO:[        UR                  UR                  S S 2S4   R                  :H  5      (       d   eUR	                  [
        5      n[        R                  " XV5        g )NrW   rF   )r   r   )r   r   r   stackr<   r;   r   r   r   r   r   to_numpyallr   r*   assert_equal)r   r   r   r   rm   r   r0   s          r   
test_stackBaseReshapingTests.test_stack   s!    \\RatBQx89
|499V$***E ??6*h		**
4::| D D ||rwwq!t}'='='?'E'EEEE||rwwq!t}':'::::v}}1(;(;;<<<<v&
)r!   r%   r'   r8   )r   r   )rE   r8   )rF   r7   r}   ))r4   r'   r#   )r4   r8   r   )r4   r'   r   )rE   r'   r   )rE   r9   r#   objseriesframec                   ^^^ [        [        U5      [        T5      5      nUS U nTS U mUS:X  a  [        R                  " TUS9nO[        R                  " TTS.US9nUR
                  n[        [        U5      5      m[        R                  R                  U4S j[        SU5       5       5      nU GH  nUR                  US9m[        UU4S jTR                   5       5      (       d   eUS:X  aD  UR                  5       n	U	R                  US9R                  SSS	9n
[         R"                  " TU
5        UR%                  [&        5      nUR                  UTR(                  R*                  S
9nUS:X  a(  UR,                  [&        :H  R                  5       (       d   eTR%                  [&        5      m[         R"                  " TU5        GM     g )Nr   r$   rF   c              3   R   >#    U  H  n[         R                  " TU5      v   M     g 7fN)	itertoolspermutations).0ilevelss     r   	<genexpr>2BaseReshapingTests.test_unstack.<locals>.<genexpr>>  s$      5
7B!I""61--{s   $'r#   )levelc              3   h   >#    U  H'  n[        TU   R                  [        T5      5      v   M)     g 7fr   )r   arrayr   )r   rj   r   r   s     r   r   r   D  s,      ESc
6#;,,d4j99^s   /2r   rG   )r   
fill_value)minr   r   r   r   nlevelsrK   r)   r   chainfrom_iterableunstackr   r   to_frame	droplevelr*   r+   r<   r;   r   rO   r   )r   r   r%   r   final_lengthrl   ncombinationsr   rm   altobj_serr0   r   r   s    `           @@r   test_unstackBaseReshapingTests.test_unstack  s   , 3u:s4y1m|$M\"(?))D.C,,T5UCCMMeAh !44 5
7<Q{5
 
 "E[[u[-F EK^^     h\\^jjuj-777B%%fc2jj(GUtzz?R?RSHh 61668888]]6*F!!&(3) "r!   c                    UR                  5       n[        U5      [        U5      :X  d   eUR                  R                  (       a$  [        R
                  " SUR                   S35        US   US'   US   US   :X  d   eg )Nz"test_ravel assumes mutability and  is immutabler#   r   )ravelr   r   _is_immutablepytestskipr   r   r   s      r   
test_ravelBaseReshapingTests.test_ravelX  so    F|tDz)))::##KK<TZZLVW 1Iq	Aw$q'!!!r!   c                 R   UR                  5       n[        U5      [        U5      :X  d   eX!Ld   eUR                  UR                  S S S2   :X  d   eUR                  R                  (       a$  [
        R                  " SUR                   S35        US   US'   US   US   :X  d   eg )NrX   z&test_transpose assumes mutability and r   r#   r   )	transposer   shaper   r   r   r   r   s      r   test_transpose!BaseReshapingTests.test_transposed  s    !F|tDz))) !!! ||tzz$B$////::##KK8MR
 1Iq	Aw$q'!!!r!   c           
         [         R                  " US S US S S./ SQS9nUR                  n[         R                  " [        U5      R	                  US   /S-  UR
                  S9[        U5      R	                  US   /S-  UR
                  S9[        U5      R	                  US   /S-  UR
                  S9[        U5      R	                  US	   /S-  UR
                  S9S.S
S/S9n[        R                  " X45        [        R                  " [        R                  " [        R                  " U5      5      U5        [        R                  " [        R                  " [        R                  " US
/   5      5      US
/   5        g )Nr&   rF   )r'   r8   r9   dr$   r   r   rI   r#   r5   r4   rE   )
r   r   Tr   rJ   r   r*   r+   rL   r   )r   r   rm   r   r0   s        r   test_transpose_frame'BaseReshapingTests.test_transpose_framew  s=   \\RatBQx8@TU<<$Z..Qy1}DJJ.O$Z..Qy1}DJJ.O$Z..Qy1}DJJ.O$Z..Qy1}DJJ.O	 *
 	f/
bll2<<+;<bA
bll2<<C5	+BCRYOr!    N)"__name__
__module____qualname____firstlineno____doc__r   markparametrizer   r1   rB   rP   rT   rZ   rc   rf   rn   rt   rw   rz   r   r   r   filterwarningsr   
MultiIndexfrom_tuplesr   from_productr   r   r   r   __static_attributes__r   r!   r   r   r      s   0[[Z$7H 8H$ [[Z$75 85140000	'&&,,,H>00" [[C [[#JMM%%Z('0B & 	
 [[^dE];* <*. [[ MM&&#sc3Z(@#s&TMM%%&JKMM&&'OPMM%%	
( [[UXw$78%4 9)*%4N
""&Pr!   r   )r   numpyrL   r   pandas.core.dtypes.dtypesr   pandasr   pandas._testing_testingr*   pandas.api.extensionsr   pandas.core.internals.blocksr   r   r   r!   r   <module>r      s+       2   0 6wP wPr!   