
    Pi1                         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dS )    N)combinations)	DataFrameIndexSeries	Timestampconcatisnac                   v   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                                           ej        d                                d          e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                            d                                d                                g          g	Zej                            ded           d             Zej                            d eed           d!           d"             Zd# Z d$ Z!d% Z"d& Z#ej                            d'g d(          ej                            d)dd*g          d+                         Z$ej                            d'g d(          ej                            d)dd*g          d,                         Z%d-S ).
TestAppendc                    |                                 }d|d<   |j        d d         }|j        dd          }|                    |          }|                    |          }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        |
                    g d          |                    g d                     d S )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               {/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/reshape/concat/test_append.pytest_appendzTestAppend.test_append   s   !&&(("E!'+%abb)	!))+66''	22	;	233
x}k#.>???cN!;	":FFF&&&&&!9k":FFF&&&&& ;rr?KO<==
h444  RaR+abb/ BNNN +bqb/;qrr?!C$OOO 	""+?+?+?"@@##,@,@,@#AA	
 	
 	
 	
 	
    c                     t                      }t          ||g          }t          j        ||           ||usJ t          ||g          }t          j        ||           ||usJ d S Nr   r   r   r   )r   r   emptyr%   s       r)   test_append_emptyzTestAppend.test_append_empty7   s}    ;.//
k8444{****5+.//
k8444{******r+   c                     d}t          j        t          |          5  t          ||gd           d d d            d S # 1 swxY w Y   d S )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11 	F 	FK-EEEE	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	Fs   ?A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          }|                    |          }t          j        ||           d S )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   s    11--!!4D4DEEFFYYYoooC@@@11--11--1X 
 
 $$S))
fh/////r+   c                     t          g d          }t          ddgddg          }t          ||g|          }t          ddgg d          }t          j        ||           d S )	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   sy    ///q!fsCj999b#YT***Aq6???CCC
c8,,,,,r+   c                 T   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        ||           d S )
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[222$&78QQQx[222GGGQQQooooc
666R^T4L99::
fh/////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        ||           d S )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!fAq622S#JGGGq!fAq6221a&AAAc
... $$$<<<>P>P>PQQ#OO
 
 
 5==0H
fh/////r+   c                    t          t          j                            d                              d          dk    t          j                            d                              ddd          t          j                            d                              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                   	                                sJ t          |d         dd                    	                                sJ d S )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{   sU   ..q11AA"EEI	--a0099!RDD)//22BB2FF!5>A-	 
 
 rrFJqqq55556qrrFJqqq777781a&t,,,HY'!,--1133333HW%abb)**..0000000r+   c                     t          g d          }|                    dg          }t          g dg dg dgg d          }|                    dg          }t          ||g          }|j        j        dk    sJ d S )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   s    000mmSE""iiiIII>XXXmmSE""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773C r+   )idsc                    t          g dg dg|          }|d d         }t          ddg|d          }|                    |          }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          }|                    |          }t          ddt          j        gddt          j        gg dgg d	|
          }t          j	        ||           d S )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   s    			999-u==="1"I	aV91555$$S))[[)))aBF^4IIIu
 
 
 #A&+s2222#A&+s2222
fh/// 	bqb	AA'777YYYia888$$S))BF^aBF^YYY7))
 
 

 	fh/////r+   zdf_columns, series_indexr;   )rc                 *    t          |           j        S r-   r   r   s    r)   r   zTestAppend.<lambda>   s    d1gg& r+   c           
      R   t          g dg dg|          }t          g d|d          }|                    |          }|j                            |          }t          |                                                              |          }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        ||           d S )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    			999-zBBBYYYl;;;$$S))9''
33 !2!2!4!455<<XFFc37Aq"&"&"&1Aq1
 ))$
 
 
 	fh/////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        ||           d S )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&+dAq!Q//T1aA1N1NO!N
 
 

 a&T1aA..D!Q20N0NOT1aA..D!Q20N0NO ":.
 
 
 D!Q266D!Q266	 $   D!Q155D!Q155D!Q155D!Q155	 &  ( -
 
 
0 c
DAAA 	<\ :;HHz :;H
fh/////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 d S )
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  s    bh|||4@@@ABBbh'A'A'ANNNOPP3*4000}"d****}"c))))))r+   c                 ,   t          dt          j                                                  }t	          dd|d          }t          ddg          }|                    |d	
          }t          t          j        t          j        dd|ggg d          }|d         	                    t                    |d<   |d         	                    t                    |d<   t          j        ||           t          t          j        t          j        dd|ggdz  g d          }|d         	                    t                    |d<   |d         	                    t                    |d<   |                    |d	
          }t          j        ||           d S )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;3D3D3F3FGGG3S$7788Sz***&&s&>>fbfc3-.8T8T8T
 
 
 !,,V44 ,,V44
h111fbfc3-.2<X<X<X
 
 
 !,,V44 ,,V44,,St,DD
h11111r+   c                    t          dg                              d          }t          dg                              d          }t          dt          j        id                                          j        }t          ||gd          }t          dt          j        git                    }t          j
        ||           t          dt          j        id                                          j        }t          ||gd          }t          dt          j        gi                              t                    }t          j
        ||           d S )	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C u%%%,,-BCCRV},<===FFHHJU$777cBF8_F;;;
fh/// RV},HIIIRRTTVU$777cBF8_--44V<<
fh/////r+   	dtype_str)r   r   Int64int64valr   c                    t          dg                              |          }t          dt          j        |d          gi          }t	          ||g          }|                    t
                    }t          j        ||           d S )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  s     u%%%,,Y773T!:!: ;<==U$$<<''
fh/////r+   c                 L   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	        ||           d S )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     RXqc;;;<==3T!:!: ;<==U$777cBGDM5:d3C#DEVTTT
fh/////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      sO        
  
  
D	+ 	+ 	+F F F
0 0 0- - -0 0 00 0 01 1 1"( ( ( 	aiiiooodd5kkGMMOO,,GMMOOT:::
$$]]]33D!Q1--D!Q2..D!Q2..	
 	
 	!!7==??GMMOO"DEE$ [#)C)C   0 0 0< ["'1---&&   
0 0 
0,00 00 00d* * *2 2 2,0 0 0" [PPP  [UQJ//0 0 0/ 0 [PPP  [UQJ//0 0 0/ 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      s        " " " " " "                               K0 K0 K0 K0 K0 K0 K0 K0 K0 K0r+   