Ë
    ž…jÈ1  ã                   óx   — d dl Zd dlmZ d dlZd dlZd dlZd dlZ	d dlm
Z
mZmZmZmZmZ d dlmZ  G d„ d«      Zy)é    N)Úcombinations)Ú	DataFrameÚIndexÚSeriesÚ	TimestampÚconcatÚisnac                   ó>  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Z ej                  d
«       eg d¢«       eg d¢«       e ed«      «       ej                   dj#                  «       «       ej                   dj#                  «       d¬«      ej$                  j'                  g d¢«       ej(                   ej,                  ddd
dd«       ej,                  ddd
dd«       ej,                  ddd
dd«      g«      ej.                  j1                  dj#                  «       dj#                  «       g«      g	Zej6                  j9                  ded„ ¬«      d„ «       Zej6                  j9                  d eed¬ «      d!„ ¬«      d"„ «       Zd#„ Z d$„ Z!d%„ Z"d&„ Z#ej6                  j9                  d'g d(¢«      ej6                  j9                  d)dd*g«      d+„ «       «       Z$ej6                  j9                  d'g d(¢«      ej6                  j9                  d)dd*g«      d,„ «       «       Z%y-).Ú
TestAppendc                 ót  — |j                  «       }d|d<   |j                  d d }|j                  dd  }|j                  |«      }|j                  |«      }t        ||g«      }t	        j
                  |d   |d   «       |d= t        ||g|¬«      }	d|	v sJ ‚t        ||g|¬«      }	d|	v sJ ‚t        |d d |dd  g«      }t	        j                  ||«       t        |d d |dd  g|¬«      }
t        |d d |dd  g|¬«      }t	        j                  |
j                  g d¢¬«      |j                  g d¢¬«      «       y )NÚbarÚfooé   ÚA©Úsort)r   ÚBÚCÚD©Úcolumns)ÚcopyÚindexÚreindexr   ÚtmÚassert_almost_equalÚassert_frame_equal)Úselfr   Úfloat_frameÚmixed_frameÚbegin_indexÚ	end_indexÚbegin_frameÚ	end_frameÚappendedÚpartial_appendedÚmixed_appendedÚmixed_appended2s               úh/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/pandas/tests/reshape/concat/test_append.pyÚtest_appendzTestAppend.test_append   sl  € Ø!×&Ñ&Ó(ˆØ"ˆ�EÑà!×'Ñ'¨¨Ð+ˆØ×%Ñ% a bÐ)ˆ	à!×)Ñ)¨+Ó6ˆØ×'Ñ'¨	Ó2ˆ	ä˜;¨	Ð2Ó3ˆÜ
×Ñ˜x¨™}¨k¸#Ñ.>Ô?à�cˆNÜ! ;°	Ð":ÀÔFÐØÐ&Ñ&Ð&Ð&ä! 9¨kÐ":ÀÔFÐØÐ&Ñ&Ð&Ð&ô ˜; r¨˜?¨K¸¸¨OÐ<Ó=ˆÜ
×Ñ˜h¨Ô4ô   ¨R¨a °+¸a¸b°/Ð BÈÔNˆÜ  +¨b¨q /°;¸q¸r°?Ð!CÈ$ÔOˆô 	×ÑØ×"Ñ"Ò+?Ð"Ó@Ø×#Ñ#Ò,@Ð#ÓAõ	
ó    c                 ó¼   — t        «       }t        ||g«      }t        j                  ||«       ||usJ ‚t        ||g«      }t        j                  ||«       ||usJ ‚y ©N©r   r   r   r   )r   r   Úemptyr%   s       r)   Útest_append_emptyzTestAppend.test_append_empty7   sc   € Ü“ˆä˜;¨Ð.Ó/ˆÜ
×Ñ˜k¨8Ô4Ø˜{Ñ*Ð*Ð*ä˜5 +Ð.Ó/ˆÜ
×Ñ˜k¨8Ô4Ø˜{Ñ*Ð*Ñ*r+   c                 ó†   — d}t        j                  t        |¬«      5  t        ||gd¬«       d d d «       y # 1 sw Y   y xY w)NzIndexes have overlapping values)ÚmatchT)Úverify_integrity)ÚpytestÚraisesÚ
ValueErrorr   )r   r   Úmsgs      r)   Útest_append_overlap_raisesz%TestAppend.test_append_overlap_raisesB   s=   € Ø/ˆÜ�]‰]œ:¨SÔ1ñ 	FÜ�K Ð-ÀÕE÷	F÷ 	Fñ 	Fús	   ž7·A c                 óÐ   — t        dddœdddœdœ«      }t        g d¢g d¢d	¬
«      }t        ddddœddddœd	didœ«      }|j                  |«      }t        j                  ||«       y )Né   é   )ÚxÚyé   é   ©ÚaÚb)r   é   é   ©rA   rB   ÚcÚz©r   Únamer   )r<   r=   rG   rC   rD   )r   r   Ú_append_internalr   r   )r   ÚdfÚrowÚexpectedÚresults        r)   Útest_append_new_columnsz"TestAppend.test_append_new_columnsG   su   € ä 1¨1Ñ-¸!À!Ñ4DÑEÓFˆÜ’Y¢o¸CÔ@ˆÜà 1¨1Ñ-Ø 1¨1Ñ-Ø˜1�Xñó
ˆð ×$Ñ$ SÓ)ˆÜ
×Ñ˜f hÕ/r+   c                 ó®   — t        g d¢¬«      }t        ddgddg¬«      }t        ||g|¬«      }t        ddgg d¢¬«      }t        j                  ||«       y )	N©r   r   r   r   r   r:   r   r   ©r   r   r   r.   )r   r   rK   Údf3Údf5rM   s         r)   Útest_append_length0_framez$TestAppend.test_append_length0_frameU   sP   € ÜšÔ/ˆÜ˜q !˜f¨s°C¨jÔ9ˆÜ�b˜#�Y TÔ*ˆä A q 6²?ÔCˆÜ
×Ñ˜c 8Õ,r+   c                 ó2  — t        j                  dd¬«      }ddg|d d  t        j                  dd¬«      }g d¢|d d  t        |«      }t        |«      }t        ||gd¬	«      }t        t        j                  ||f«      «      }t        j                  ||«       y )
N)r;   z	i4,f4,S10©Údtype)r:   ç       @ÚHello)r;   ç      @ÚWorld)r>   ))r>   g      @r   )r   g      @r   )g      @g       @ÚbazT©Úignore_index)ÚnpÚzerosr   r   Úconcatenater   r   )r   Úarr1Úarr2Údf1Údf2rN   rM   s          r)   Útest_append_recordszTestAppend.test_append_records]   sƒ   € Ü�x‰x˜ [Ô2ˆØ$Ð&7Ð8ˆ‰Qˆä�x‰x˜ [Ô2ˆÚGˆ‰Qˆä˜‹oˆÜ˜‹oˆä˜˜c˜
°Ô6ˆÜœRŸ^™^¨T°4¨LÓ9Ó:ˆÜ
×Ñ˜f hÕ/r+   c                 óî   — t        ddgddgdœddg¬«      }t        ddgddgd	œddg¬
«      }t        ||g|¬«      }t        g d¢g d¢g d¢dœg d¢¬«      }|du r|g d¢   }t        j                  ||«       y )Nr:   r;   r@   rB   rA   r   r>   r?   )rA   rF   )r   r   )r:   r;   NN)r:   r;   r:   r;   )NNr>   r?   )rB   rA   rF   rE   Fr.   )r   r   re   rf   rN   rM   s         r)   Útest_append_sortszTestAppend.test_append_sortsl   s‰   € Ü˜q !˜f¨A¨q¨6Ñ2¸SÀ#¸JÔGˆÜ˜q !˜f¨A¨q¨6Ñ2¸1¸a¸&ÔAˆä˜˜c˜
¨Ô.ˆô Ú$ª<Ò>PÑQÚ#ô
ˆð �5‰=Ø¢Ñ0ˆHÜ
×Ñ˜f hÕ/r+   c                 óB  — t        t        j                  j                  d«      j	                  d«      dkD  t        j                  j                  d«      j                  ddd«      t        j                  j                  d«      j	                  d«      ddgdz  dœ«      }|d d j                  d d …g d¢f   }|dd  j                  d d …g d	¢f   }t        ||g|¬
«      }t        |d   dd «      j                  «       sJ ‚t        |d   dd  «      j                  «       sJ ‚y )Nr;   é
   r   r   r   r   )ÚboolsÚintsÚfloatsÚstrings)rl   rm   rn   )ro   rm   rn   r   ro   r?   rl   )
r   r`   ÚrandomÚdefault_rngÚstandard_normalÚintegersÚlocr   r	   Úall)r   r   rK   rA   rB   r%   s         r)   Útest_append_different_columnsz(TestAppend.test_append_different_columns{   s	  € ÜäŸ™×.Ñ.¨qÓ1×AÑAÀ"ÓEÈÑIÜŸ	™	×-Ñ-¨aÓ0×9Ñ9¸!¸RÀÓDÜŸ)™)×/Ñ/°Ó2×BÑBÀ2ÓFØ! 5˜>¨AÑ-ñ	ó
ˆð ˆr�ˆF�J‰J’qÒ5Ð5Ñ6ˆØˆqˆrˆF�J‰J’qÒ7Ð7Ñ8ˆä˜1˜a˜& tÔ,ˆÜ�H˜YÑ'¨¨!Ð,Ó-×1Ñ1Ô3Ð3Ð3Ü�H˜WÑ% a bÐ)Ó*×.Ñ.Ô0Ð0Ñ0r+   c                 óè   — t        g d¢¬«      }|j                  dg«      }t        g d¢g d¢g d¢gg d¢¬«      }|j                  dg«      }t        ||g«      }|j                  j                  dk(  sJ ‚y )NrQ   r   r   )r:   r?   rD   )r;   r   é   )r>   rC   é	   )Údatar   )r   Ú	set_indexr   r   rI   )r   re   rf   rN   s       r)   Útest_append_preserve_index_namez*TestAppend.test_append_preserve_index_nameŒ   se   € ä¢Ô0ˆØ�m‰m˜S˜EÓ"ˆÜšiª²IÐ>ÊÔXˆØ�m‰m˜S˜EÓ"ˆä˜˜c˜
Ó#ˆØ�|‰|× Ñ  CÒ'Ð'Ñ'r+   r>   ©r?   r   rC   )g      @g      @g      @ÚabczA B CzD E FT)Úordered)rD   rx   ry   rk   éÝ  r:   r   rC   rk   rD   é   r   c                 ó,   — t        | «      j                  S r-   ©ÚtypeÚ__name__©r<   s    r)   ú<lambda>zTestAppend.<lambda>©   s   € ´4¸³7×3CÑ3C€ r+   )Úidsc                 ó¢  — t        g d¢g d¢g|¬«      }|d d }t        ddg|d¬«      }|j                  |«      }t        g d¢g d¢ddt        j                  ggg d	¢|¬
«      }|j
                  j                  d   j                  dk(  sJ ‚|j
                  j                  d   j                  dk(  sJ ‚t        j                  ||«       |}|d d }t        ddgddgg|¬«      }t        g d¢|d¬«      }|j                  |«      }t        ddt        j                  gddt        j                  gg d¢gg d	¢|¬
«      }t        j                  ||«       y )N©r:   r;   r>   r}   r   r;   rD   rx   rH   )r:   r;   r[   ©r   r:   r;   rR   r   Úir:   r?   r   ©rD   rx   ry   )
r   r   rJ   r`   ÚnanÚdtypesÚilocÚkindr   r   )r   r   rK   Ú	ser_indexÚserrN   rM   s          r)   Útest_append_same_columns_typez(TestAppend.test_append_same_columns_type¨   sE  € ô š	¢9Ð-°uÔ=ˆØ˜"˜1�Iˆ	Ü�a˜�V 9°1Ô5ˆØ×$Ñ$ SÓ)ˆÜÚš) a¨¬B¯F©F ^Ð4ºIÈuô
ˆð �‰×#Ñ# AÑ&×+Ñ+¨sÒ2Ð2Ð2Ø�‰×#Ñ# AÑ&×+Ñ+¨sÒ2Ð2Ð2ä
×Ñ˜f hÔ/ð ˆ	Ø�b�q�	ˆÜ˜˜A˜  A Ð'°Ô7ˆÜ’Y i°aÔ8ˆØ×$Ñ$ SÓ)ˆÜØ�”B—F‘Fˆ^˜a ¤B§F¡F˜^ªYÐ7ÚØô
ˆô
 	×Ñ˜f hÕ/r+   zdf_columns, series_indexr;   )Úrc                 ó,   — t        | «      j                  S r-   rƒ   r†   s    r)   r‡   zTestAppend.<lambda>Ì   s   € ”d˜1“g×&Ñ&€ r+   c           
      ód  — t        g d¢g d¢g|¬«      }t        g d¢|d¬«      }|j                  |«      }|j                  j	                  |«      }t        |j                  «       «      j                  |«      }t        ddd	t        j                  t        j                  t        j                  gd
ddt        j                  t        j                  t        j                  gt        j                  t        j                  t        j                  dddggg d¢|¬«      }t        j                  ||«       y )NrŠ   r}   r   r�   r;   rH   ç      ð?rY   r[   r?   r   rC   rD   rx   ry   r‹   rR   )r   r   rJ   r   Ú
differencer   ÚtolistÚappendr`   rŽ   r   r   )	r   Ú
df_columnsÚseries_indexrK   r“   rN   Úidx_diffÚcombined_columnsrM   s	            r)   Ú#test_append_different_columns_typesz.TestAppend.test_append_different_columns_typesÉ   sã   € ô š	¢9Ð-°zÔBˆÜ’Y l¸Ô;ˆà×$Ñ$ SÓ)ˆØ—9‘9×'Ñ'¨
Ó3ˆÜ  ×!2Ñ!2Ó!4Ó5×<Ñ<¸XÓFÐÜà�c˜3¤§¡¬¯©´·±Ð7Ø�A�qœ"Ÿ&™&¤"§&¡&¬"¯&©&Ð1Ü—‘œŸ™¤§¡¨¨A¨qÐ1ðò
 Ø$ô
ˆô 	×Ñ˜f hÕ/r+   c                 ó„  — t        ddgt        j                  ddddd«      t        j                  ddddd«      gdg¬«      }t        ddgt        j                  ddd	dd«      t        j                  ddd	d
d«      gt        j                  ddddd«      t        j                  ddddd«      ggddg¬«      }t        t	        t
        j                  t
        j                  t        j                  ddd	d
d«      t        j                  ddddd«      gd¬«      t	        t        j                  ddddd«      t        j                  ddddd«      t        j                  ddd	dd«      t        j                  ddddd«      gd¬«      gd|¬«      }t        ||gd|¬«      }|r|ddg   }n|ddg   }t        j                  ||«       y )Nr:   r;   r€   r   Ú
start_time)r   rz   r   r?   r   r>   rC   rk   rD   Úend_time)rI   )Úaxisr   T)r_   r   )	r   ÚdtÚdatetimer   r   ÚpdÚNaTr   r   )r   r   re   rf   rM   rN   s         r)   Útest_append_dtype_coercez#TestAppend.test_append_dtype_coerceä   sÄ  € ô Ø�a�&Ü—+‘+˜d A q¨!¨QÓ/´·±¸TÀ1ÀaÈÈAÓ1NÐOØ!�Nô
ˆô
 Ø�a�&ä—‘˜T 1 a¨¨AÓ.´·±¸DÀ!ÀQÈÈ2Ó0NÐOÜ—‘˜T 1 a¨¨AÓ.´·±¸DÀ!ÀQÈÈ2Ó0NÐOðð " :Ð.ô
ˆô ääŸ™ÜŸ™ÜŸ™ D¨!¨Q°°2Ó6ÜŸ™ D¨!¨Q°°2Ó6ð	ð $ôô äŸ™ D¨!¨Q°°1Ó5ÜŸ™ D¨!¨Q°°1Ó5ÜŸ™ D¨!¨Q°°1Ó5ÜŸ™ D¨!¨Q°°1Ó5ð	ð &ôðð( Øô-
ˆô0 ˜˜c˜
°¸DÔAˆÙØ ¨\Ð :Ñ;‰Hà ¨zÐ :Ñ;ˆHä
×Ñ˜f hÕ/r+   c                 ó
  — t        dt        j                  g d¢d¬«      i«      }t        dt        j                  g d¢t        ¬«      i«      }t	        ||g|¬«      }|d   j
                  dk(  sJ ‚|d   j
                  d	k(  sJ ‚y )
Nr   )r:   r;   r>   r?   Úi8rW   r   )TFTFr   Úf8ÚO)r   r`   ÚarrayÚboolr   rX   )r   r   re   rf   r%   s        r)   Ú(test_append_missing_column_proper_upcastz3TestAppend.test_append_missing_column_proper_upcast  sw   € Ü˜œbŸh™h¢|¸4Ô@ÐAÓBˆÜ˜œbŸh™hÒ'AÌÔNÐOÓPˆä˜3 ˜*¨4Ô0ˆØ˜‰}×"Ñ" dÒ*Ð*Ð*Ø˜‰}×"Ñ" cÒ)Ð)Ñ)r+   c                 óÖ  — t        dt        j                  j                  «       ¬«      }t	        dd|dœ«      }t        ddg¬«      }|j                  |d	¬
«      }t        t        j                  t        j                  dd|ggg d¢¬«      }|d   j                  t        «      |d<   |d   j                  t        «      |d<   t        j                  ||«       t        t        j                  t        j                  dd|ggdz  g d¢¬«      }|d   j                  t        «      |d<   |d   j                  t        «      |d<   |j                  |d	¬
«      }t        j                  ||«       y )Nz2018-10-24 07:30:00)Útzr˜   rY   )rA   rB   ÚdaterF   Údr   Tr^   )rF   r´   rA   rB   r³   r;   )r   Údateutilr²   Útzutcr   r   rJ   r`   rŽ   ÚastypeÚobjectr   r   )r   r³   r“   rK   Úresult_arM   Úresult_bs          r)   Ú2test_append_empty_frame_to_series_with_dateutil_tzz=TestAppend.test_append_empty_frame_to_series_with_dateutil_tz  s:  € äÐ.´8·;±;×3DÑ3DÓ3FÔGˆÜ˜3 S°$Ñ7Ó8ˆÜ  S˜zÔ*ˆØ×&Ñ& s¸Ð&Ó>ˆÜÜ�f‰f”b—f‘f˜c 3¨Ð-Ð.Ò8Tô
ˆð ! ™×,Ñ,¬VÓ4ˆ�‰Ø  ™×,Ñ,¬VÓ4ˆ�‰Ü
×Ñ˜h¨Ô1äÜ�f‰f”b—f‘f˜c 3¨Ð-Ð.°Ñ2Ò<Xô
ˆð ! ™×,Ñ,¬VÓ4ˆ�‰Ø  ™×,Ñ,¬VÓ4ˆ�‰Ø×,Ñ,¨S¸tÐ,ÓDˆÜ
×Ñ˜h¨Õ1r+   c                 ó~  — t        dg¬«      j                  d«      }t        dg¬«      j                  d«      }t        dt        j                  id¬«      j                  «       j                  }t        ||gd¬«      }t        dt        j                  git        ¬«      }t        j                  ||«       t        dt        j                  id¬«      j                  «       j                  }t        ||gd¬«      }t        dt        j                  gi«      j                  t        «      }t        j                  ||«       y )	NrA   r   údatetime64[ns, UTC]údatetime64[ns]rW   Tr^   zdatetime64[ns, US/Pacific])r   r·   r   r§   r¨   Úto_frameÚTr   r¸   r   r   )r   rK   ÚotherrN   rM   s        r)   Ú,test_append_empty_tz_frame_with_datetime64nsz7TestAppend.test_append_empty_tz_frame_with_datetime64ns4  só   € ä ˜uÔ%×,Ñ,Ð-BÓCˆô  ˜uÔ%×,Ñ,Ð-BÓCˆÜ˜œRŸV™V�}Ð,<Ô=×FÑFÓH×JÑJˆÜ˜˜U˜°$Ô7ˆÜ˜c¤B§F¡F 8˜_´FÔ;ˆÜ
×Ñ˜f hÔ/ô ˜œRŸV™V�}Ð,HÔI×RÑRÓT×VÑVˆÜ˜˜U˜°$Ô7ˆÜ˜c¤B§F¡F 8˜_Ó-×4Ñ4´VÓ<ˆÜ
×Ñ˜f hÕ/r+   Ú	dtype_str)r½   r¾   ÚInt64Úint64Úvalr¨   c                 óð   — t        dg¬«      j                  |«      }t        dt        j                  |d«      gi«      }t	        ||g«      }|j                  t
        «      }t        j                  ||«       y )NrA   r   Úns)r   r·   r`   Útimedelta64r   r¸   r   r   ©r   rÃ   rÆ   rK   rÁ   rN   rM   s          r)   Ú.test_append_empty_frame_with_timedelta64ns_natz9TestAppend.test_append_empty_frame_with_timedelta64ns_natE  sd   € ô  ˜uÔ%×,Ñ,¨YÓ7ˆä˜3¤§¡°°TÓ!:Ð ;Ð<Ó=ˆÜ˜˜U˜Ó$ˆà—<‘<¤Ó'ˆÜ
×Ñ˜f hÕ/r+   c                 ó6  — t        dt        j                  dg|¬«      i«      }t        dt        j                  |d«      gi«      }t        ||gd¬«      }t        d|j                  d   |j                  d   git        ¬«      }t        j                  ||«       y )NrA   r:   rW   rÈ   Tr^   )r   r   )
r   r§   r®   r`   rÉ   r   r�   r¸   r   r   rÊ   s          r)   Ú(test_append_frame_with_timedelta64ns_natz3TestAppend.test_append_frame_with_timedelta64ns_natS  s„   € ô ˜œRŸX™X q c°Ô;Ð<Ó=ˆä˜3¤§¡°°TÓ!:Ð ;Ð<Ó=ˆÜ˜˜U˜°$Ô7ˆä˜c B§G¡G¨D¡M°5·:±:¸dÑ3CÐ#DÐEÌVÔTˆÜ
×Ñ˜f hÕ/r+   N)&r…   Ú
__module__Ú__qualname__r*   r0   r8   rO   rU   rg   ri   rv   r|   r§   Ú
RangeIndexr   ÚlistÚCategoricalIndexÚsplitÚIntervalIndexÚfrom_breaksÚDatetimeIndexr¥   r¦   Ú
MultiIndexÚfrom_arraysÚindexes_can_appendr4   ÚmarkÚparametrizer”   r   r    r©   r°   r»   rÂ   rË   rÍ   © r+   r)   r   r      s2  „ ò 
òD	+òFò
0ò-ò0ò0ò1ò"(ð 	ˆ�‰�aÓÙŠiÓÙŠoÓÙ‰d�5‹kÓØˆ×Ñ˜GŸM™M›OÓ,Øˆ×Ñ˜GŸM™M›O°TÔ:Ø
×Ñ×$Ñ$¢]Ó3Øˆ×Ñà�—‘˜D ! Q¨¨1Ó-Ø�—‘˜D ! Q¨¨2Ó.Ø�—‘˜D ! Q¨¨2Ó.ðó	
ð 	�‰×!Ñ! 7§=¡=£?°G·M±M³OÐ"DÓEðÐð$ ‡[�[×ÑØÐ#Ñ)Cð ó ñ0óð0ð< ‡[�[×ÑØ"ÙÐ'¨1Ô-Ù&ð ó ñ
0óð
0ò,00òd*ò2ò,0ð" ‡[�[×ÑØÒPóð ‡[�[×Ñ˜U Q¨ JÓ/ñ0ó 0óð0ð ‡[�[×ÑØÒPóð ‡[�[×Ñ˜U Q¨ JÓ/ñ0ó 0óñ0r+   r   )r¦   r¥   Ú	itertoolsr   rµ   Únumpyr`   r4   Úpandasr§   r   r   r   r   r   r	   Úpandas._testingÚ_testingr   r   rÜ   r+   r)   ú<module>râ      s2   ðÛ Ý "ã Û Û ã ÷÷ õ ÷K0ò K0r+   