
    Mhk6                     \    S SK r S SKrS SK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)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   [        5      (       d   eg )NTignore_index   r   blocks)pdSeries	DataFrameconcatlendtypesdtypehasattr_mgr
isinstancer   r   arraysr   )selfdatar   wrappedresultr   s         W/var/www/html/env/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/@@@@    c                 H   [         R                  " UR                  SS/5      SS/S9n[         R                  " UR                  SS/5      SS/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   taker   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H99\..1v6q!fE,,['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Ar%   r"   r   r%   r&   bccategoryobject)r   r   astyper   r8   r(   r)   r*   )	r   r   df1df2df3dfsr   xr.   s	            r   test_concat_mixed_dtypes+BaseReshapingTests.test_concat_mixed_dtypes1   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      U/-   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 )Nr2   r%   Br3   r2   rB   r"   axisr#   r   r   )
r   r   r   r(   r)   _from_sequencelistr   npnanr   r   na_valuer:   r;   r.   r   s          r   test_concat_columns&BaseReshapingTests.test_concat_columnsK   s@   llCbq?+llC+,<<d2AhY ?@C:A.
f/CHc#h/a8
f/ llC+9=<<((d2Ah8*)DDJJ(WffaA&
 C:A.
f/CHc#h/a8
f/r    c           	      R   [         R                  " SUS S 05      n[         R                  " SUSS 05      n[         R                  " UR                  [        US S 5      U/-   UR                  S9USS S.5      n[         R
                  " X4/SSS	9n[        R                  " Xe5        g )
Nr2   r%   rB      rF   rC   r"   F)rE   copy)r   r   rG   rH   r   r   r(   r)   rK   s          r   'test_concat_extension_arrays_copy_false:BaseReshapingTests.test_concat_extension_arrays_copy_falsec   s    llCbq?+llCa+,<<((d2Ah8*)DDJJ(W!AY
 C:AE:
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&      r5   Tr
   )
allow_fill)r&   r5   )r   r   r   r'   rH   ranger(   r)   )r   r   r&   r5   r   r.   s         r   test_concat_with_reindex+BaseReshapingTests.test_concat_with_reindexp   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      U/-   UR
                  S95      n[         R                  " UR                  U/[	        U5      -   UR
                  S95      n[        R                  " XW5        [        R                  " Xh5        g )Nr%   r   rU   r3   r#   rF   )r   r   alignrG   rH   r   r(   r*   	r   r   rL   r&   r5   r1r2e1e2s	            r   
test_alignBaseReshapingTests.test_align}   s    !H1I1##BIIay$AB YYt**47hZ+?tzz*RSYYt**H:Q+?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      U/-   UR
                  S905      n[         R                  " SUR                  U/[	        U5      -   UR
                  S905      n[        R                  " XW5        [        R                  " Xh5        g )Nr%   r   rU   r2   r3   r#   rF   )r   r   r\   rG   rH   r   r(   r)   r]   s	            r   test_align_frame#BaseReshapingTests.test_align_frame   s    !H1IsAh'--bllC89.UV \\$%%d1g
&:$**%MN
 \\$%%xj47&:$**%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      U/-   UR                  S9UR                  S9n[        R                  " XW5        [        R                  " Xd5        g )Nr&   )namecolr"   rF   )r   r   r   rI   aranger   r\   rG   rH   r   rh   r(   r*   r)   )r   r   rL   serdfr^   r_   r`   s           r   test_align_series_frame*BaseReshapingTests.test_align_series_frame   s    ii3'\\5"))CHqL"9:;2YYT
hZ 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 Nr2   r"   rB   rC   r   r   r   r(   r)   r   r   rl   r.   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 rp   rq   rr   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 )Nr2   r"   rF   )r   r   r   r8   r   r   )r   r   rl   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 )Nr%   r3   r   r"   r   )extint1key)r"   r   r%      )r   r   r"   r%   )int2r   )r"   r"   r   )r   r   r"   r   r"   rF   )r~   r   r   r}   )r}   r~   r   r   outer)howr   r   )r   r   r"   r   r%   )	r   r   mergerG   r   r(   r)   rI   rJ   )r   r   rL   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   rF   r"   r   valr   onr   val_xval_yr   T)drop)
typerG   r   r   r   r   r(   r)   ilocreset_index)r   r   r&   r5   r   rl   r   r.   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   rF   r3   r   r   r   )r   r   r"   r   r   )r"   r"   r   r%   r%   )r"   r%   r   r"   r%   r   )	r   rG   r   r   r   r   r'   r(   r)   )	r   r   r&   r5   r   r:   r;   r   r.   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columnsr2   rB   r2   r&   r2   r5   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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 )NrU   rC   )r   r   )r   r   r   stackr9   r8   r   r   r   r   allr   r(   assert_equal)r   r   r   r   rl   r   r.   s          r   
test_stackBaseReshapingTests.test_stack   s     \\RatBQx89
|499V$***E ??6*h		**<<2771a4=#6#6666v}}1(;(;;<<<<v&
)r    r$   r&   r5   )r   r   )rB   r5   )rC   r4   r|   ))r2   r&   r"   )r2   r5   r   )r2   r&   r   )rB   r&   r   )rB   r6   r"   objseriesframec                 p  ^^^ TS [        U5       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#   rC   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>4  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   ri   r   r   s     r   r   r   :  s,      ESc
6#;,,d4j99^s   /2r   rD   )r   
fill_value)r   r   r   r   nlevelsrH   rX   r   chainfrom_iterableunstackr   r   to_frame	droplevelr(   r)   r9   r8   r   rL   r   )r   r   r$   r   rk   ncombinationsr   rl   altobj_serr.   r   r   s    `          @@r   test_unstackBaseReshapingTests.test_unstack  su   , Lc%j!(?))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_ravelN  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 )NrV   z&test_transpose assumes mutability and r   r"   r   )	transposer   shaper   r   r   r   r   s      r   test_transpose!BaseReshapingTests.test_transposeZ  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   rC   )r&   r5   r6   dr#   r   r   rF   r"   r%   r2   rB   )
r   r   Tr   rG   r   r(   r)   rI   r   )r   r   rl   r   r.   s        r   test_transpose_frame'BaseReshapingTests.test_transpose_framem  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   r/   r?   rM   rR   rY   rb   re   rm   rs   rv   ry   r   r   r   filterwarningsr   
MultiIndexfrom_tuplesr   from_productr   r   r   r   __static_attributes__r   r    r   r   r      s   0[[Z$7A 8A$ [[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)*#4J
""&Pr    r   )r   numpyrI   r   pandasr   pandas._testing_testingr(   pandas.api.extensionsr   pandas.core.internals.blocksr   r   r   r    r   <module>r      s(         0 6oP oPr    