
    o[weׄ                        d dl Z d dl mZ d dlZd dlZd dlZd dlmZ d dlm	c m
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mZ ej        j        Z ej        d          Zej                            d          d             Zd	 Zd
 Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(ej        )                    dg d          d             Z*d Z+ej,        d             Z-d Z.d Z/d Z0d Z1d Z2dS )    N	timedelta)	Timestamp)	DataFrameSeries_testingconcat
date_rangeread_hdf)_maybe_removeensure_clean_storetablesz!ignore::tables.NaturalNameWarningc                    t          |           5 }t          j                    }t          |d           |                    d|d d                    |                    d|dd                     t          j        |d         |           t          |d           |                    d|d d         d           |                    d|dd                     t          j        |d         |           t          |d           |                    d|d d                    |                    d|dd                     t          j        |d         |           t          |d           |                    d|d d                    |                    d|dd                     t          j        |d	         |           t          d
dgdd
gd
dgddgg          }d|d<   t          j	        |j
        d<   t          |d           |                    d|           t          j        |d         |           t          t          t          j                            d                              ddd          t          j                  t          t          j                            d                              ddd          t          j                  t          t          j                            d                              ddd          t          j                  t          g dt          j                  dt          j        d                    }t          |d           |                    d|           t          j        |d         |d           t          |d           |                    d|g d           t          j        |d         |d           d d d            d S # 1 swxY w Y   d S ) Ndf1
   df2tableformatdf3z/df3z/df3 foozdf3 foo      r   )datatestingmixed_column)r   r   df      )highsizedtypei  i   @)l           l          @l            l            l            )u08u16u32u64indexuintsTcheck_index_type)r#   r$   r%   data_columns)r   tmmakeTimeDataFramer   appendassert_frame_equalputr   npnanlocr   randomdefault_rngintegersuint8uint16uint32uint64arange)
setup_pathstorer   	uint_datas       Dlib/python3.11/site-packages/pandas/tests/io/pytables/test_append.pytest_appendrB      sI   	J	'	' @P5 !##eU###UBssG$$$UBrssG$$$
eElB///eU###		%CRC	111UBrssG$$$
eElB///eU###VRW%%%VRW%%%
eElB/// 	eZ(((ZCRC)))ZBCC)))
eI.333 aVaVaVaV<===&>$&F !eT"""T2
eDk2... I))!,,55ac5JJ(   I))!,,55ae!5LL)   I))!,,55ae!5LL)   777)   $ )A,,'
 
 
	* 	eW%%%Wi(((
eGni$OOOO 	eW%%%Wi6K6K6KLLL
eGni$OOOOA@P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @Ps   OO66O:=O:c                 X   t          |           5 }t          j                    }t          j                    }t	          t          j        d                    }|                    d|           |d         }t          j        ||           |j	        J |                    d|           |d         }t          j        ||           |j	        J d|_	        |                    d|           |d         }t          j        ||           |j	        |j	        k    sJ ||dk             }|
                    dd          }t          j        ||           ||dk    |j        d	k     z           }|
                    dd
          }t          j        ||d           t          t
          j                            d                              d          dg          }t          j        t!          |                    |d<   d|d<   d|j        dddf<   |                    ddgd           |                    d          }|j                            d          |_        |                    d|           t          j        |d         |d           d d d            d S # 1 swxY w Y   d S )Nd   sstsfoons<   zfoo>60F   Z   zfoo>70 and index<90Tr*   r   )r   r   AcolumnsBCbar   r   inplace)future_stackmi)r   r.   makeStringSeriesmakeTimeSeriesr   r3   r=   r0   assert_series_equalnameselectr(   r   r6   r7   standard_normallenr5   	set_indexstack	droplevel)	r>   r?   rE   rF   rH   resultexpectedrV   ss	            rA   test_append_seriesrd   c   s   	J	'	' )F5 ""  BIcNN##T2t
vr***{"""T2t
vr***{"""T2t
vr***{bg%%%% b2g;dH--
vx000 rBw28b=12d$9::
vx$GGGG ry,,Q//??GGRUQVWWW)CGG$$33 qsCx
c3Z...HH$H'''##A&&T1
uT{AEEEES)F )F )F )F )F )F )F )F )F )F )F )F )F )F )F )F )F )Fs   JJJ#&J#c                    t          |           5 }t          t          t          j                            d                              d                                        d          t          j                            d                              d          t          j                            d                              d          ddt          d          	                    d          t          d          	                    d          d	t          j
        d          
          }t          |d           t          j        |j        ddg df<   |                    d|d d                    |                    d|dd                     t          j        |d         |d           |                                }t          j        |d<   t          |d           |                    d|d d                    |                    d|dd                     t          j        |d         |d           |                                }t          j        |d<   t          |d           |                    d|d d                    |                    d|dd                     t          j        |d         |d           |                                }t          j        |d<   t          |d           |                    d|d d                    |                    d|dd                     t          j        |d         |d           d d d            d S # 1 swxY w Y   d S )Nr      int32rG   rQ   
2001-01-01rH   
2001-01-02)rL   A1A2rO   rP   DEr'   r   r      )rj   rO   rl   rm   r   Tr*   rj   rk   r   rm   r   )r   r   r   r3   r6   r7   r\   astyper   as_unitr=   r   r4   r5   r0   r.   r1   copy)r>   r?   r   r   r   r   s         rA   test_append_some_nansrr      sf   	J	'	' ,H5BI11!44DDRHHIIPP  i++A..>>rBBi++A..>>rBB|,,44T::|,,44T::
 
 )B--
 
 
 	eU###.0fqt****+UBssG$$$UBrssG$$$
eElBFFFF ggiiFD	eU###UCH%%%UCH%%%
eElC$GGGG ggiiFD	eU###UCH%%%UCH%%%
eElC$GGGG ggii6CeU###UCH%%%UCH%%%
eElC$GGGGY,H ,H ,H ,H ,H ,H ,H ,H ,H ,H ,H ,H ,H ,H ,H ,H ,H ,Hs   MM  M$'M$c                 .   t          |           5 }t          t          j                            d                              d          t          j                            d                              d          dt          j        d                    }t          j        |j        ddd d f<   t          |d           |
                    d|d d         d	
           |
                    d|dd          d	
           t          j        |d         |dd          d	           t          |d           |
                    d|d d         d
           |
                    d|dd          d
           t          j        |d         |d	           t          j        dd          5  t          |d           |
                    d|d d                    |
                    d|dd                     t          j        |d         |           d d d            n# 1 swxY w Y   t          j        dd	          5  t          |d           |
                    d|d d                    |
                    d|dd                     t          j        |d         |dd                     t          t          j                            d                              d          t          j                            d                              d          dddt          j        d                    }t          j        |j        ddd d f<   t          |d           |
                    d|d d         d	
           |
                    d|dd          d	
           t          j        |d         |d	           t          |d           |
                    d|d d         d
           |
                    d|dd          d
           t          j        |d         |d	           t          t          j                            d                              d          t          j                            d                              d          ddt          d                              d          t          d                              d          dt          j        d                    }t          j        |j        ddd d f<   t          |d           |
                    d|d d         d	
           |
                    d|dd          d	
           t          j        |d         |d	           t          |d           |
                    d|d d         d
           |
                    d|dd          d
           t          j        |d         |d	           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   rf   )rj   rk   r'   r   rn   r   r   T)dropnar*   r   Fio.hdf.dropna_tabler   df4rG   rQ   )rj   rk   rO   rP   rh   rH   ri   )rj   rk   rO   rP   rl   rm   )r   r   r3   r6   r7   r\   r=   r4   r5   r   r0   r.   r1   pdoption_contextr   rp   r>   r?   r   s      rA   test_append_all_nansr{      s   	J	'	' RK5i++A..>>rBBi++A..>>rBB  )B--
 
 
 &qtQQQw 	eT"""T2crc74000T2bcc74000
eDk2bcc7TJJJJ 	eU###UBssGE222UBrssGE222
eElBFFFF 4e<< 	4 	4%'''LL3B3(((LL233(((!%,333		4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 4d;; 5	K 5	K%'''LL3B3(((LL233(((!%,233888 )//22BB2FF)//22BB2FF	  imm  B !fBF1R47O%&&&LLr#2#wtL444LLr"##wtL444!%+rDIIII%'''LL3B3L666LL233L666!%,TJJJJ )//22BB2FF)//22BB2FF"<0088>>"<0088>>  imm
 
 
B !fBF1R47O%&&&LLr#2#wtL444LLr"##wtL444!%+rDIIII%'''LL3B3L666LL233L666!%,TJJJJk5	K 5	K 5	K 5	K 5	K 5	K 5	K 5	K 5	K 5	K 5	K 5	K 5	K 5	K 5	K;RK RK RK RK RK RK RK RK RK RK RK RK RK RK RK RK RK RKs\   FX
(A(HX
H 	 X
#H 	$X
<N*W2&X
2W6	6X
9W6	:X

XXc                    t          |           5 }t          j                    }|j                            d           |_        t          |d           |                    d|j        d d d df         dg           |                    d|j        d d dd f                    t          j        |d         |           |	                    dd          }|
                    dg          }t          j        ||           |	                    dd          }|
                    dg|j        d	d
                   }t          j        ||           t          j        d          }t          j        t          |          5  |	                    dd           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   r   rN   )axes	columns=ArL   rM   )r~   zindex=df.index[0:4]r      )rN   r(   zOpassing a filterable condition to a non-table indexer [Filter: Not Initialized]matchzcolumns=A and index>df.index[4])r   r.   r/   r(   
_with_freqr   r0   ilocr1   r[   reindexreescapepytestraises	TypeError)r>   r?   r   ra   rb   msgs         rA   !test_append_frame_column_orientedr     sQ   	J	'	' C5!##8&&t,,eU###UBGAAArrEN)===UBGAAAqrrEN+++
eElB///e[11::se:,,
h/// e%IJJ::se28AaC=:AA
h/// i(
 
 ]9C000 	C 	CLL ABBB	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C1C C C C C C C C C C C C C C C C C Cs6   E0F; F#F;#F'	'F;*F'	+F;;F?F?c                    t          |           5 }t          d          D ]A}t          t          j                            d                              d          t          d                    }t          d          |d<   |dxx         |dz  z  cc<   t          dgt          |          z  d	          |d<   t          dgt          |          z  d
	          |d
<   |dz  dk    r(|d= t          dgt          |          z  d	          |d<   |dz  dk    r|
                    d          }||d<   |                    dd           |                    d|           C	 d d d            n# 1 swxY w Y   t          |           5 }t          t          j                            d                              d          t          d          d          }t          dgt          |          z  d	          |d<   t          dgt          |          z  d
	          |d
<   |                    d|           t          dgt          |          z  d
	          |d<   t          j        d          }t          j        t"          |          5  |                    d|           d d d            n# 1 swxY w Y   t          dgt          |          z  d	          |d<   t          j        d          }t          j        t"          |          5  |                    d|           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   r   )r   r   ABrM   r(   r   int64r!   int16r   rR   rL   TrS   r   float64)rN   r"   int16_2zCcannot match existing table structure for [int16] on appending datar         ?float_3zAcannot match existing table structure for [A,B] on appending data)r   ranger   r3   r6   r7   r\   listr   r]   popr^   r0   r   r   r   r   
ValueError)r>   r?   ir   ar   s         rA   )test_append_with_different_block_orderingr   3  s-   	J	'	' #5r 	# 	#A	%%a((88AA4PT::  B  ))BwKwKKK1r6!KKK !s2wwg>>>BwK !s2wwg>>>BwK1uzzwK$aS3r77]'BBB71uzzFF3KK3LL$L///LLr""""%	## # # # # # # # # # # # # # #. 
J	'	' #5I!!!$$44W==JJ
 
 

 aS3r77]':::7aS3r77]':::7T2 sSWW}G<<<9iQ
 
 ]:S111 	# 	#LLr"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# us2wwi@@@9iO
 
 ]:S111 	# 	#LLr"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#/# # # # # # # # # # # # # # # # # #sn   EE00E47E4
DMJ1%M1J5	5M8J5	9AML3'M3L7	7M:L7	;MMMc           	         t          |           5 fd}t          ddgddgg          }                    d|           t          j                            d          |            |ddd           t          d	d
gddgg          }                    d|           t          ||g          }t          j                            d          |            |ddd           t          ddgddgg          }                    d|ddi           t          j                            d          |            |ddd                               d|           t          d	dgddgg          }d}t          j        t          |          5                      d|           d d d            n# 1 swxY w Y   t          j
                                        d          }                    d|d         ddi           t          j                            d          |d                                        d|d         dddi           t          j                            d          |d                                        d|ddd i!           |                                                                                    d"#                              d          }                    d|           t          j                            d          t          ||g                                         d$|d         ddd i!                               d$|d                    t          j                            d$          t          |d         |d         g                     t#          d%           t          j                    }d&|d'<   t&          j        |j        |j        d(d         d'f<   d)|d*<   t&          j        |j        |j        dd+         d*f<   d,|d-<   t&          j        |j        |j        d(d          d-f<                       d%|                               d%          }t          j        ||           d d d            n# 1 swxY w Y   t          |           5 t          d&d)d.t/          d/          0          }t#          d%                               d%|d1d2i            |d%d1d2                               d%          j        d1gk    sJ t#          d%                               d%|dgd1d2i            |d%d1d2                               d%          j        dd1gk    sJ t#          d%                               d%|dgdd2i            |d%dd2            |d%d3d2                               d%          j        dgk    sJ t#          d%                               d%|d d4         d2                               d%|d4d          d2           t          j        d%         |           t          g d5d1g6          }t#          d%           t5          j        d7          }t          j        t          |          5                      d%|d8d8d9           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S ):Nc                 x    t                              |           j        j        |          j        |k    sJ d S Ngetattr
get_storerr   descriptionitemsizekeyrZ   r    r?   s      rA   	check_colz+test_append_with_strings.<locals>.check_colj  <    ((--3?FFOSWWWWWWW    {   	asdqwertyiY  dggnhebbsdfbdfbdf_bigvalues_block_1rn   |   asdqyiZ  dggnhefbdfbdf_big2values2   min_itemsizedf_new
abcdefqhijabcdefghijklmnopqrtsuvwxyzzTrying to store a string with len \[26\] in \[values_block_1\] column but\nthis column has a limit of \[15\]!\nConsider using min_itemsize to preset the sizes on these columnsr   rP   rE   rO   r(   r   ss2Tr-   r   ss3r      )r   r   longer)rP   ss4r   rG   stringr   rQ   string2   bahstring3rL   rO   r   r'   rL      values_block_0r   )rG   rG   rG   barhr   r   rM   zBmin_itemsize has the key [foo] which is not an axis or data_columnrf   )rG   foobar)r   r   r0   r.   r1   r[   r	   r   r   r   makeMixedDataFramer^   rY   r2   rq   reset_indexassignr   r/   r3   r4   r5   r(   r   r   r-   r   r   )	r>   r   r   r   rb   r   r   ra   r?   s	           @rA   test_append_with_stringsr   g  sM   	J	'	' G*5	 	 	 	 	 k*S2C,DEFFXr"""
ell844b999	(,b111 #w#})=>??Xs###2s)$$
ell844h???	(,b111 k*S2C,DEFFY(B@@@
ell955r:::	)-r222 	Xr"""S,/#7S1TUVV 	 ]:S111 	+ 	+LL6***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ "$$..s33T2c7'1>>>
u||D112c7;;; 	UBsG$gq\RRR
u||E22BsG<<< 			%G7A,	GGGggii##%%,,x,88BB3GGUC   
ell51162s)3D3DEEE 			%C|	LLLUCH%%%
u||E22FBsGSX;N4O4OPPP 	eT"""!##8*,&rx!}h&'9+-6rx!}i'(9*,&rx|Y&'T2d##
fb)))OG* G* G* G* G* G* G* G* G* G* G* G* G* G* G*R 
J	'	' #K5U//uRyyAAA 	eT"""T2S#J777	$S!!!%%2se;;;; 	eT"""T2SEc
KKK	$S!!!%%2sCj@@@@ 	eT"""T2SE3PPP	$S!!!	$(#...%%2se;;;; 	eT"""T2bqb6444T2abb6444
eDk2... DDDseTTTeT"""iP
 
 ]:S111 	K 	KLLrb0I0ILJJJ	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	KE#K #K #K #K #K #K #K #K #K #K #K #K #K #K #K #K #K #Ksn   FR!F7+R!7F;	;R!>F;	?KR!!R%(R%;G:[55[[5[!	![5$[!	%[55[9<[9c                 T   t          |           5 }t          dg di          }|                    d|d d         ddi           |                    d|dd          ddi           t          j        |                    d          |           d d d            d S # 1 swxY w Y   d S )Nx)r   bcdef r   r   r   )r   r   r0   r.   r1   r[   rz   s      rA   test_append_with_empty_stringr     s    	J	'	' 65???@AAT2crc7#q:::T2bcc7#q:::
ell400"5556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s   B BB!$B!c           
        	 t          |           5 	t          j                    }d|j        d|j                            d          f<   t          	d           	                    d|d d         dg           	                    d|dd                     t          j        	d         |           	j	        j
        j        j        j        j        j        du sJ 	j	        j
        j        j        j        j        j        du sJ 	                    dd          }||j        dk             }t          j        ||           	                    dd	          }|                    |j        d
d                    }||j        dk             }t          j        ||           |                                }d|d<   t(          j        |j        |j        dd
         df<   d|j        |j        dd         df<   t          	d           	                    d|dg           	                    dd          }||j        dk             }t          j        ||           	fd}d d d            n# 1 swxY w Y   t          |           5 	t          	d           	                    d|dgddi            |ddd           t          	d           	                    d|dgd            |ddd           t          	d           	                    d|dgddi            |ddd           d d d            n# 1 swxY w Y   t          |           5 	d|d<   d|d<   d|d<   t          	d           	                    d|ddgdddd            |ddd            |ddd            |dd d           d d d            n# 1 swxY w Y   t          |           5 	|                                }d|j        d|j                            d!          f<   d"|j        d|j                            d          f<   d|d<   |j                            d          }t(          j        |j        dd
|f<   d|j        dd|f<   d|d<   |j                            d          }t(          j        |j        dd|f<   d|j        d#d$|f<   t          	d           	                    d|g d%           	                    dd&          }||j        dk    |j        dk    z  |j        dk    z  |j        dk     z           }t          j        ||d'(           	                    dd)          }||j        dk    |j        d*k    z           }t          j        ||           d d d            n# 1 swxY w Y   t          |           5 	|                                }d|d<   t(          j        |j        |j        d
d         df<   d|j        |j        d#d+         df<   d*|d<   t5          d,                              d-          |d.<   t(          j        |j        |j        d/d         g d0f<   t          	d1           	                    d1|g d2           	                    d1d          }||j        dk             }t          j        ||           	                    d1g d3          }||j        dk    |j        dk    z  |j        dk    z           }t          j        ||d'(           d d d            n# 1 swxY w Y   t          |           5 	t;          d4d$5          }t=          t(          j                             d          !                    d6          |g d78          }d|d<   t(          j        |j        |j        d
d         df<   d|j        |j        d#d+         df<   |dd9g         "                                |dd9g<   d*|d<   	                    d1|g d:           	                    d1d          }||j        dk             }t          j        ||           	                    d1g d;          }||j        dk    |j        dk    z  |j        dk    z           }t          j        ||           d d d            d S # 1 swxY w Y   d S )<Nr   r   rO   r   r   r,   TB>0zB>0 and index>df.index[3]r   r'   rG   r   r   rQ   r   r   zstring='foo'c                 x    t                              |           j        j        |          j        |k    sJ d S r   r   r   s      rA   r   z0test_append_with_data_columns.<locals>.check_col  r   r      r   r   	foobarbahr   
foobarbah1string_block1
foobarbah2string_block2(   r   )r   r   r   r   rL   g         r   )rL   rO   r   r   z.string='foo' and string2='foo' and A>0 and B<0F)
check_freqzstring='foo' and string2='cool'cool	   20010102rH   datetimerR   )rL   rO   r   df_dc)rO   rP   r   r   r   )B > 0C > 0zstring == fooz1/1/2000)periods)r   rR   )rL   rO   rP   )r(   rN   rP   )rO   rP   r   r   )r   r   zstring == "foo")#r   r.   r/   r   rN   get_locr   r0   r1   _handlerootr   r   colsr(   
is_indexedrO   r[   r   rq   r3   r4   r5   r   r   rL   r   rp   rP   r
   r   r6   r7   r\   abs)
r>   r   ra   rb   r   r   slr   r(   r?   s
            @rA   test_append_with_data_columnsr     s
   	J	'	' &5!##.12:%%c***+eT"""T2bqb6666T2abb6"""
eDk2... }!$*/5@DHHHH}!$*/1<DDDD dE**bdQh<
fh/// d$?@@"(122,//&(Q,'
fh///  x24&
6<!$h./27
6<!$h./eT"""T6
;;;dN33&-501
fh///	 	 	 	 	G& & & & & & & & & & & & & & &P 
J	'	' 	&5eT"""T6
(TVXXX	$"%%%eT"""T6
LLL	$"%%%eT"""T6
(TVXXX	$"%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 
J	'	' .5'y".".eT""""I.$&2DD	 	 	
 	
 	
 		$"%%%	$	2&&&	$("---. . . . . . . . . . . . . . . 
J	'	' 0569Av~--c22236:Av~--c2223 x^##H--!vAaCG$AaCG!y^##I..!vAaCG$AaCGeT"""T60O0O0OPPPd$TUU]e#~&(x!| x!|
 	fh5AAAA d$EFF6=E1fn6NOP
fh///=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0@ 
J	'	' B5		h02	%+ac"H,-05	%+ac"H,-!i%j1199$??j>@f	%+ac"$:$:$::;eW%%%U)T)T)T 	 	
 	
 	
 gu--1%
fh///g'J'J'JKK%'A+%'A+6%,%:OPQ
fh5AAAA+B B B B B B B B B B B B B B B2 
J	'	' 05 :q111I!!!$$44V<<#OO
 
 

  h02	%+ac"H,-05	%+ac"H,-!3*-1133sCj!i 	We2Q2Q2QRRRgu--1%
fh///g'L'L'LMM%'A+%'A+6%,%:OPQ
fh///10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0sq   II++I/2I/B*L;;L?L?A&OOO!F;V((V,/V,E#\11\58\5E)cccc                 8   |}d |j         _        t          |          5 }|                    d|           |                    d          }t          j        ||           |                    dddg          }|                    ddg          }t          j        ||           d d d            n# 1 swxY w Y   | dz  }|                    |dd           t          |dddg          }|                    ddg          }t          j        ||           d S )	NrV   rL   rO   rM   ztest.hdfr   r   r   )
rN   rZ   r   r0   r[   r.   r1   r   to_hdfr   )tmp_pathr>    multiindex_dataframe_random_datar   r?   ra   rb   paths           rA   test_append_hierarchicalr   w  sY   	)BBJO	J	'	' 05T2d##
fb))) dS#J77::sCj:11
fh///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j DIIdDI)))dD3*555Fzz3*z--H&(+++++s   BB11B58B5c                    t          |           5 }t          j                    }|                    d|d           |                    d          }t          j        ||           |                    d|d           |                    d          }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nr   r   	chunksizer   r   )expectedrows)r   r.   makeDataFramer0   r[   r1   )r>   r?   r   ra   s       rA   test_append_miscr     s    	J	'	' *5T2+++d##
fb)))UBR000e$$
fb)))* * * * * * * * * * * * * * * * * *s   BB55B9<B9r   )r   r   i  c                    t          j                    }d|d<   d|d<   |d                             d          |d<   |d         dk    |d<   t          d                              d	          |d
<   t          d                              d	          |d<   t          | d          5 }|                    d||           |                    d          }t          j        ||           d d d            d S # 1 swxY w Y   d S )NrG   r   r   float322float32r   bool20130101rH   time120130102time2w)modeobjr   )	r.   r   ro   r   rp   r   r0   r[   r1   )r>   r   r   r?   ra   s        rA   test_append_misc_chunksizer	    s?    
			BBxLBzN
^**955BzNJ!#BvJJ''//55BwKJ''//55BwK	JS	1	1	1 *UUB)444e$$
fb)))* * * * * * * * * * * * * * * * * *s   &AC66C:=C:c                    t          |           5 }t          t          d                    }|                    d|           t	          j        t          d          5  |                    d           d d d            n# 1 swxY w Y   t          t          j	        
                    d          	                    d          t          d                    }|                    d|           t          j        |                    d          |           |                    d|           t          j        |                    d          |           t          t          d                    }|                    d|           t          j        |                    d          |           d d d            d S # 1 swxY w Y   d S )	NABCrM   r   z 'No object named df in the file'r   r   )r   rR   r   )r   r   r   r0   r   r   KeyErrorr[   r3   r6   r7   r.   r1   r2   )r>   r?   df_emptyr   s       rA   test_append_misc_empty_framer    s   	J	'	' 75T%[[111T8$$$]8+MNNN 	 	LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ry,,Q//66w??eUUUT2
ell400"555T8$$$
ell400"555 tE{{+++		%
ell5112666#7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7s7   AF>B5F>B	F>B		D(F>>GGc           
      2   t          |           5 }t          j                    }dggt          |          z  |d<   |j        d         t
          j        k    sJ t          j        d          }t          j
        t          |          5  |                    d|           d d d            n# 1 swxY w Y   dggt          |          z  |d<   dggt          |          z  |d<   t          j
        t          |          5  |                    d|           d d d            n# 1 swxY w Y   t          j                    }t          t          j        dd	d
          |j                  }|                    t"                    }t
          j        |dd<   ||d<   |j        d         t
          j        k    sJ d}t          j
        t          |          5  |                    d|           d d d            n# 1 swxY w Y   d}t          j
        t          |          5  |                    dt          j        d                     d d d            n# 1 swxY w Y   t          j        d          }t          j
        t          |          5  |                    dt          t          j        d                               d d d            n# 1 swxY w Y   t          j                    }|                    d|           d|d<   t          j        d          }t          j
        t(          |          5  |                    d|           d d d            n# 1 swxY w Y   t+          |d           t-          d          |d<   |                    d|           d|d<   t          j        d          }t          j
        t(          |          5  |                    d|           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   invalidziCannot serialize the column [invalid]
because its data contents are not [string] but [mixed] object dtyper   r   invalid2invalid3i  r   r   r'   r   r   z>too many timezones in this block, create separate data columnsz(value must be None, Series, or DataFramer   z]cannot properly create the storer for: [group->df,value-><class 'pandas.core.series.Series'>]rG   zinvalid combination of [non_index_axes] on appending data [(1, ['A', 'B', 'C', 'D', 'foo'])] vs current table [(1, ['A', 'B', 'C', 'D'])]r  rQ   zinvalid combination of [values_axes] on appending data [name->values_block_1,cname->values_block_1,dtype->bytes24,kind->string,shape->(1, 30)] vs current table [name->values_block_1,cname->values_block_1,dtype->datetime64,kind->datetime64,shape->None])r   r.   r   r]   dtypesr3   object_r   r   r   r   r   r0   r   r   r(   ro   objectr4   r=   r   r   r   )r>   r?   r   r   rc   s        rA   test_append_raiser    s   	J	'	' G#5 #b'')9y#rz1111iG
 
 ]9C000 	# 	#LLr"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# %3r77*:%3r77*:]9C000 	# 	#LLr"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 8$T1a00AAAHHV!A#9y#rz1111N]9C000 	# 	#LLr"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 9]9C000 	. 	.LLry}}---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. iE
 
 ]9C000 	6 	6LLvbimm44555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 T25	i*
 

 ]:S111 	# 	#LLr"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	eT"""j))5	T25	i>
 
 ]:S111 	# 	#LLr"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#MG# G# G# G# G# G# G# G# G# G# G# G# G# G# G# G# G# G#s  A7PB*P*B.	.P1B.	2AP>D!P!D%	%P(D%	)B*PG6*P6G:	:P=G:	> P)IPI	PI	2P6KPK	PK	A P7MPM	P!M	"A/PO4(P4O8	8P;O8	<PPPc                    t          d                              d          t          fdt          d          D             d          }|d         |d         z
  |d<   t          j        |j        d	d
df<   t          |           5 }t          |d           |	                    d|d           |
                    d          }t          j        ||           |
                    dd          }t          j        ||           |
                    dd          }t          j        ||j        d	d                     |
                    dd          }t          j        ||j        d	d                     |
                    dd          }|                    dg          }t          j        ||j        dd                     |
                    dd          }|j        dd          }t          j        ||j        dd                     t          |d           |                    d|           |
                    d          }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nr  rH   c                 8    g | ]}t          |d           z   S )r   )dayssecondsr   ).0r   rF   s     rA   
<listcomp>z.test_append_with_timedelta.<locals>.<listcomp>  s+    HHH"ya4444HHHr   r   r   rL   rO   rP   rR   r   r   Tr,   zC<100000)wherezC<pd.Timedelta('-3D')zC<'-3D'zC<'-500000s')subsetr   z	C<'-3.5D'r   r   r   )r   rp   r   r   r3   r4   r5   r   r   r0   r[   r.   r1   r   rt   r2   )r>   r   r?   ra   rF   s       @rA   test_append_with_timedeltar    s    
:			&	&t	,	,B	HHHHeBiiHHH	
 	

 
B g3BsGvBF1Q38	J	'	' *5eT"""T2D111d##
fb)))d*55
fb)))d*ABB
fbgabbk222dI..
fbgabbk222 dN33se,,
fbgabbk222dK00QRR
fbgabbk222 	eU###		%e$$
fb)))=* * * * * * * * * * * * * * * * * *s   
GI--I14I1c                    t          j                    }t          j                                        dj                  }d|d<   t	          ||gd          }t          |           5 }d}t          j        t          |          5  |	                    d	d
gd d|d           d d d            n# 1 swxY w Y   t          j        t          |          5  |	                    d d d|d           d d d            n# 1 swxY w Y   d}t          j        t          |          5  |	                    d|d           d d d            n# 1 swxY w Y   |	                    d	d
gd d|d           |
                    ddgddgd          }||j        dk    |j        dk    z           }t          j        ||           d d d            d S # 1 swxY w Y   d S )N{}_2rM   rQ   rG   r   axisz=append_to_multiple requires a selector that is in passed dictr   rL   rO   r   r   r   )selectorzQappend_to_multiple must have a dictionary specified as the way to split the valuer   r   zA>0r   )r  r%  r   )r.   r/   renamer   r	   r   r   r   r   append_to_multipleselect_as_multiplerL   rO   r1   )r>   r   r   r   r?   r   ra   rb   s           rA   test_append_to_multipler)  <  s   


 
 C


 
 
'
'
'
>
>CCJ	c
	#	#	#B	J	'	' 05M]:S111 	 	$$c
400"u %   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
 ]:S111 	U 	U$$T$%?%?e$TTT	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	 ]:S111 	7 	7$$UB666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	  #sD!A!A2PU VVV))EN5%.5 * 
 
 rtaxBD1H-.
fh///10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s   'GB/#G/B3	3G6B3	7GC=1G=D	GD	 G%E	=G	E	GE	A.GGGc                    t          j                    }t          j                                        dj                  }t          j        |j        d|j                            ddg          f<   t          ||gd          }t          |           5 }|                    ddgd d|dd	
           |                    ddg          }|                                }t          j        ||d	           t          j        |                    d          j        |                    d          j                   d d d            d S # 1 swxY w Y   d S )Nr!  rM   r   rL   rO   r"  r$  r   Tr%  rt   r   r*   )r.   r/   r&  r   r3   r4   r   rN   get_indexerr	   r   r'  r(  rt   r1   assert_index_equalr[   r(   )r>   r   r   r   r?   ra   rb   s          rA   test_append_to_multiple_dropnar.  ]  s   


 
 C


 
 
'
'
'
>
>C79vCHQ''c
3334	c
	#	#	#B	J	'	' T5  #Jt,,b5 	! 	
 	
 	
 ))5%.9999;;
fhFFFF
ell5117e9L9L9RSSST T T T T T T T T T T T T T T T T Ts   B&EE	E	c                    t          j                    }t          j                                        dj                  }t          j        |j        d|j                            ddg          f<   t          ||gd          }t          |           5 }t          j        dd          5  |                    ddgd d	|d
d           d}t          j        t           |          5  |                    d
dg           d d d            n# 1 swxY w Y   |                    d
          j                            |                    d          j                  rJ 	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr!  rM   r   rL   rO   r"  rv   T)df1adf2ar0  Fr+  z,all tables must have exactly the same nrows!r   r1  )r.   r/   r&  r   r3   r4   r   rN   r,  r	   r   rx   ry   r'  r   r   r   r(  r[   r(   equals)r>   r   r   r   r?   r   s         rA   $test_append_to_multiple_dropna_falser3  n  sh   


 
 C


 
 
'
'
'
>
>C79vCHQ''c
3334	c
	#	#	#B	J	'	' Q5"2Ct3 3 Q Q 	  3Z..VE 	! 	
 	
 	
 =]:S111 	7 	7$$ff%5666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 <<''-44U\\&5I5I5OPPPPPPQ Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Qs[   E?(<E'$D<E'DE'DA
E'E?'E+	+E?.E+	/E??FFc           
      0   t          t          j        dd          t          j        dd          t          j        dd          dz  d t          d          D             d t          d          D             d          }|j        dg         }t          |           5 }|                    d	gd
dgddgd|j        dg         ddddd           |                    g d          }t          j	        ||d           d d d            d S # 1 swxY w Y   d S )Nr      X   c                     g | ]}d S )r    r  _s     rA   r  z8test_append_to_multiple_min_itemsize.<locals>.<listcomp>  s    +++AC+++r   rf   c                     g | ]}d S )abcder8  r9  s     rA   r  z8test_append_to_multiple_min_itemsize.<locals>.<listcomp>  s    333A333r   )IXNumBigNumStrLongStrr   r=  r>  r?  r@  rA  )r(   numsstrsr(   r   rD   r   )r@  rA  r>  r   Tr*   )
r   r3   r=   r   r   r   r'  r(  r.   r1   )r>   r   rb   r?   ra   s        rA   $test_append_to_multiple_min_itemsizerD    s   	)Ar""9Q##i2&&+++r+++33r333	
 	

 
B ws|H	J	'	' G5  )	* 
 GQCL!#A>> 	! 		
 		
 		
 ))*C*C*CDD
fhFFFFG G G G G G G G G G G G G G G G G Gs   A!DDD)3r   r   r   numpyr3   r   pandas._libs.tslibsr   pandas.util._test_decoratorsutil_test_decoratorstdpandasrx   r   r   r   r.   r	   r
   r   pandas.tests.io.pytables.commonr   r   mark
single_cpu
pytestmarkimportorskipr   filterwarningsrB   rd   rr   r{   r   r   r   r   r   r   r   parametrizer	  r  &skip_array_manager_not_yet_implementedr  r  r)  r.  r3  rD  r8  r   rA   <module>rT     s          				      ) ) ) ) ) ) ) ) ) ) ) ) ) ) )                          
 [#
		X	&	& ?@@AP AP A@APH*F *F *FZ-H -H -H`SK SK SKlC C C:1# 1# 1#hmK mK mK`6 6 6T0 T0 T0n, , ,*	* 	* 	* ooo66* * 76*7 7 72 *H# H# +*H#V,* ,* ,*^0 0 0BT T T"Q Q Q*G G G G Gr   