
    bMh,                        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mZ d dlmZmZ ej        j        g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 Z0d Z1d Z2d Z3d Z4dS )    N	timedelta)	Timestamp)	DataFrameIndexSeries_testingconcat
date_rangeread_hdf)_maybe_removeensure_clean_storetablesz!ignore::tables.NaturalNameWarningc                    t          |           5 }t          t          j                            d                              d          t          t          d                    t          ddd                    }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   )      ABCD
2000-01-01r   Bperiodsfreqcolumnsindex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r   uintsTcheck_index_type)r.   r/   r0   data_columns)r   r   nprandomdefault_rngstandard_normalr   listr   r   appendtmassert_frame_equalputnanlocr   integersuint8uint16uint32uint64arange)
setup_pathstorer'   	uint_datas       d/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/io/pytables/test_append.pytest_appendrM      s   	J	'	' DP5 I!!!$$44W==$v,,''\2C@@@
 
 

 	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OIDP DP DP DP DP DP DP DP DP DP DP DP DP DP DP DP DP DPs   P2QQQc           	         t          |           5 }t          t          d          t          j        d t          d          D                       }t          t          j        dt          j                  t          dd                    }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 )!Nr   c                     g | ]}d | S )i_ .0is     rL   
<listcomp>z&test_append_series.<locals>.<listcomp>k   s    7T7T7TQQ7T7T7T    )r-   r   r   r,   z
2020-01-01r   r2   d   sstsfoons<   zfoo>60F   Z   zfoo>70 and index<90Tr4   r   )r)   r#   Ar   r   Cbar   r)   inplace)future_stackmi)r   r   ranger8   float64rH   r   r=   r>   assert_series_equalnameselectr   r   r9   r:   r;   lenrB   	set_indexstack	droplevel)	rI   rJ   rY   rZ   r\   resultexpectedrh   ss	            rL   test_append_seriesru   h   s*   	J	'	' +F5E"IIRZ7T7T%PR))7T7T7TUUUIb
+++:lTV3W3W3W
 
 
 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EW+F +F +F +F +F +F +F +F +F +F +F +F +F +F +F +F +F +Fs   KK77K;>K;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   r   int32r[   rc   
2001-01-01r\   
2001-01-02)r`   A1A2r   rb   DEr2   r   r      )rz   r   r|   r}   r   Tr4   rz   r{   r   r}   r"   )r   r   r   r8   r9   r:   r;   astyper   as_unitrH   r   rA   rB   r=   r>   r?   copy)rI   rJ   r'   r   r   r"   s         rL   test_append_some_nansr      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                 N   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	
           |d         }|}|r
|dd          }t          j        ||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   r   )rz   r{   r2   r   r~   r'   r   T)dropnar4   r   Fio.hdf.dropna_tabler"   df4r[   rc   )rz   r{   r   rb   rx   r\   ry   )rz   r{   r   rb   r|   r}   )r   r   r8   r9   r:   r;   rH   rA   rB   r   r=   r>   r?   pdoption_contextr   r   )rI   using_infer_stringrJ   r'   rr   rs   s         rL   test_append_all_nansr      s   	J	'	' X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;; ;	K ;	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4[FH! ) $BCC=!&(TJJJJ%'''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Jw;	K ;	K ;	K ;	K ;	K ;	K ;	K ;	K ;	K ;	K ;	K ;	K ;	K ;	K ;	K;XK XK XK XK XK XK XK XK XK XK XK XK XK XK XK XK XK XKs\   FX(A(HXH 	 X#H 	$X<N:X6XX	X	X	
XX!Xc           
      B   t          |           5 }t          t          j                            d                              d          t          t          d                    t          ddd                    }|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   r   r   r   r   r   r   r   r   r   )axes	columns=Ar`   ra   )r   zindex=df.index[0:4]r   r   zOpassing a filterable condition to a non-table indexer [Filter: Not Initialized]matchzcolumns=A and index>df.index[4])r   r   r8   r9   r:   r;   r   r<   r   r   
_with_freqr   r=   ilocr>   r?   rm   reindexreescapepytestraises	TypeError)rI   rJ   r'   rr   rs   msgs         rL   !test_append_frame_column_orientedr   #  s   	J	'	' C5I!!!$$44W==$v,,''\2C@@@
 
 

 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9C C C C C C C C C C C C C C C C C Cs6   G	HG<0H<H 	 HH 	HHH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   ABra   r   r#   int64r,   int16r   rd   r`   Tre   r'   rj   )r   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   ri   r   r8   r9   r:   r;   r<   r   rn   popro   r=   r   r   r   r   
ValueError)rI   rJ   rT   r'   ar   s         rL   )test_append_with_different_block_orderingr   D  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          g dg dt          g d          t          dd          d                              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          t&          j                            d-                              d.          t          t/          d/                    t          d0d1d2          3          }d4|d5<   t&          j        |j        |j        d6d!         d5f<   d7|d8<   t&          j        |j        |j        d!d9         d8f<   d:|d;<   t&          j        |j        |j        d6d          d;f<                       d,|                               d,          }t          j        ||           d d d            n# 1 swxY w Y   t          |           5 t          d4d7d<t7          d1          =          }t%          d,                               d,|d>d?i            |d,d>d?                               d,          j        d>gk    sJ t%          d,                               d,|dgd>d?i$            |d,d>d?                               d,          j        dd>gk    sJ t%          d,                               d,|dgdd?i$            |d,dd?            |d,d@d?                               d,          j        dgk    sJ t%          d,                               d,|d d         d?                               d,|dd          d?           t          j        d,         |           t          g dAd>gB          }t%          d,           t=          j        dC          }t          j        t          |          5                      d,|dDdDdE           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 )FNc                 x    t                              |           j        j        |          j        |k    sJ d S Ngetattr
get_storerr    descriptionitemsizekeyrl   r+   rJ   s      rL   	check_colz+test_append_with_strings.<locals>.check_col{  <    ((--3?FFOSWWWWWWWrV   {   	asdqwertyiY  dggnhebbsdfbdfbdf_bigvalues_block_1r~   |   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   )        r   g       @g      @g      @)r   r   r   r   r   )foo1foo2foo3foo4foo520130101r)   rW   )r`   r   rb   r|   rb   rY   r   r   r   ss2Tr7   r   ss3r       )r!   r   longer)rb   ss4r'   r   r   r   r   r   r   r   r[   stringr#   rc   string2   bahstring3r`   r   r2   r`      values_block_0)r[   r[   r[   barhr   r   ra   zBmin_itemsize has the key [foo] which is not an axis or data_columnr   )r[   foobar) r   r   r=   r>   r?   rm   r
   r   r   r   r   r   ro   rk   r@   r   reset_indexassignr   r8   r9   r:   r;   r<   rA   rB   r   ri   r   r7   r   r   )	rI   r   r'   r   rs   r   r   rr   rJ   s	           @rL   test_append_with_stringsr   x  s   	J	'	' R*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***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ ......CCCDD
A666	 
 
 )C.. 	 	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"""I!!!$$44W==$v,,''\2C@@@
 
 

 8*,&rx!}h&'9+-6rx!}i'(9*,&rx|Y&'T2d##
fb)))eR* R* R* R* R* R* R* R* R* R* R* R* R* R* R*h 
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TF7+T7F;	;T>F;	?MTT!$T!7G:]11]]1]	]1 ]	!]11]58]5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   r=   r>   r?   rm   )rI   rJ   r'   s      rL   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           
      N  	 t          |           5 	t          t          j                            d                              d          t          t          d                    t          ddd                    }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        d0k    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)d1         df<   d0|d<   tA          d2          !                    d3          |d4<   t          j        |j        |j        d5d         g d6f<   t          	d7           	                    d7|g d8           	                    d7d          }||j        d
k             }t          j        ||           	                    d7g d9          }||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          d:d*;          }t          t          j                            d                              d<          |g d=>          }d|d<   t          j        |j        |j        dd         df<   d|j        |j        d)d1         df<   |dd?g         #                                |dd?g<   d0|d<   	                    d7|g d@           	                    d7d          }||j        d
k             }t          j        ||           	                    d7g dA          }||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 )BNr   r   r   r   r   r   r   r   r   r   r'   r6   TB>0zB>0 and index>df.index[3]r   r2   r[   r   r#   rc   r)   r   zstring='foo'c                 x    t                              |           j        j        |          j        |k    sJ d S r   r   r   s      rL   r   z0test_append_with_data_columns.<locals>.check_col$  r   rV      r   r   	foobarbahr   
foobarbah1string_block1
foobarbah2string_block2(   r   )r   r   r   r   r`   g         r   )r`   r   r   r   z.string='foo' and string2='foo' and A>0 and B<0F)
check_freqzstring='foo' and string2='cool'cool	   20010102r\   datetimerd   )r`   r   r   df_dc)r   rb   r   r   r   )B > 0C > 0zstring == fooz1/1/2000rW   )r   rd   )r`   r   rb   )r   r   rb   )r   rb   r   r   )r   r   zstring == "foo")$r   r   r8   r9   r:   r;   r   r<   r   r   r   get_locr   r=   r>   r?   _handlerootr'   r    colsr   
is_indexedr   rm   r   r   rA   rB   r   r   r`   r   r   rb   abs)
rI   r'   rr   rs   r   r   slr   r   rJ   s
            @rL   test_append_with_data_columnsr    s    	J	'	' *5I!!!$$44W==$v,,''\2C@@@
 
 

 /2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///	 	 	 	 	O* * * * * * * * * * * * * * *X 
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   J'KKKB*NNN.A&P  P$'P$:F;XXXE#^

^^$E)dd!d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 )	Nrh   r`   r   ra   ztest.hdfr'   r    )r   r!   )
r   rl   r   r=   rm   r>   r?   r   to_hdfr   )tmp_pathrI    multiindex_dataframe_random_datar'   rJ   rr   rs   paths           rL   test_append_hierarchicalr    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IIdWI---dD3*555Fzz3*z--H&(+++++s   BB11B58B5c                 N   t          |           5 }t          dt          j        d                              d          z  t          t          d                    t          d t          d          D                                 }|                    d|d	
           |	                    d          }t          j        ||           |                    d|d           |	                    d          }t          j        ||           d d d            d S # 1 swxY w Y   d S )N皙?x   r   r   r   c                     g | ]}d | S zi-rQ   rR   s     rL   rU   z$test_append_misc.<locals>.<listcomp>      555aa555rV   r   r   r'   r#   	chunksizer   r   )expectedrows)r   r   r8   rH   reshaper   r<   ri   r=   rm   r>   r?   )rI   rJ   r'   rr   s       rL   test_append_miscr    sN   	J	'	' *5")C..((111$v,,''5559955566
 
 

 	T2+++d##
fb)))UBR000e$$
fb)))* * * * * * * * * * * * * * * * * *s   C=DD!Dr  )r   r   i  c           
         t          dt          j        d                              d          z  t	          t          d                    t	          d t          d          D                                 }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 )Nr	  r
  r  r   c                     g | ]}d | S r  rQ   rR   s     rL   rU   z.test_append_misc_chunksize.<locals>.<listcomp>  s    111!X!XX111rV   r   r   r[   r   r   float322float32r   boolr   r\   time120130102time2w)modeobjr  )r   r8   rH   r  r   r<   ri   r   r   r   r   r=   rm   r>   r?   )rI   r  r'   rJ   rr   s        rL   test_append_misc_chunksizer    s    
binn$$W---d6ll##11uRyy11122
 
 
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EE"E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ABCra   r'   z 'No object named df in the file'r   r   )r   rd   r   )r   r   r<   r=   r   r   KeyErrorrm   r8   r9   r:   r>   r?   r@   )rI   rJ   df_emptyr'   s       rL   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                 
   t          |           5 }t          dt          j        d                              d          z  t          t          d                    t          d t          d          D                                 }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          dt          j        d                              d          z  t          t          d                    t          d t          d          D                                 }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          dt          j        d                              d          z  t          t          d                    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   t1          |d           t3          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	  r
  r  r   c                     g | ]}d | S r  rQ   rR   s     rL   rU   z%test_append_raise.<locals>.<listcomp>  r  rV   r   r   r   invalidziCannot serialize the column [invalid]
because its data contents are not [string] but [mixed] object dtyper   r'   invalid2invalid3c                     g | ]}d | S r  rQ   rR   s     rL   rU   z%test_append_raise.<locals>.<listcomp>  r  rV   i  r#   r   r2   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'>]c                     g | ]}d | S r  rQ   rR   s     rL   rU   z%test_append_raise.<locals>.<listcomp>#  r  rV   r[   zinvalid combination of [non_index_axes] on appending data [(1, ['A', 'B', 'C', 'D', 'foo'])] vs current table [(1, ['A', 'B', 'C', 'D'])]r   rc   zmCannot serialize the column [foo] because its data contents are not [string] but [datetime64[s]] object dtype)r   r   r8   rH   r  r   r<   ri   rn   dtypesobject_r   r   r   r   r   r=   r   r   r   r   objectrA   r   r   r   )rI   r   rJ   r'   r   rt   s         rL   test_append_raiser/    s   	J	'	' P#5 ")C..((111$v,,''5559955566
 
 

 #b'')9y#rz1111iG
 
 ]9C000 	# 	#LLr"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# %3r77*:%3r77*:]9C000 	# 	#LLr"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# ")C..((111$v,,''5559955566
 
 

 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 ")C..((111$v,,''5559955566
 
 

 	T25	i*
 

 ]:S111 	# 	#LLr"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	eT"""j))5	T25	i/
 

 ]:S111 	# 	#LLr"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#_P# P# P# P# P# P# P# P# P# P# P# P# P# P# P# P# P# P#s  CT;,DT;D	T;D	AT;#F:T;F
	
T;F
	DT;K 4T; K	T;K	 T;()LT;L!	!T;$L!	%2T;6NT;N	T; N	!CT;&R	=T;	R	T;R	A/T; T#T;#T'	'T;*T'	+T;;T?T?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   r\   c                 8    g | ]}t          |d           z   S )r   )dayssecondsr   )rS   rT   rZ   s     rL   rU   z.test_append_with_timedelta.<locals>.<listcomp>F  s+    HHH"ya4444HHHrV   r   r   r`   r   rb   rd   r)   r'   Tr6   zC<100000)wherezC<pd.Timedelta('-3D')zC<'-3D'zC<'-500000s')subsetr   z	C<'-3.5D'r#   r   r   )r   r   r   ri   r8   rA   rB   r   r   r=   rm   r>   r?   r   r   r@   )rI   r'   rJ   rr   rZ   s       @rL   test_append_with_timedeltar6  >  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           	      f   t          t          j                            d                              d          t          t          d                    t          ddd                    }|                                	                    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 )Nr   r   r   r   r   r   r   r   {}_2ra   rc   r[   r#   axisz=append_to_multiple requires a selector that is in passed dictr   r`   r   r   r"   )selectorzQappend_to_multiple must have a dictionary specified as the way to split the valuer   r   zA>0r   )r4  r<  r   )r   r8   r9   r:   r;   r   r<   r   r   renamer!   r
   r   r   r   r   append_to_multipleselect_as_multipler`   r   r>   r?   )rI   r   r   r'   rJ   r   rr   rs   s           rL   test_append_to_multipler@  m  sZ   

	a  0099d6ll##r<<<  C
 ((**

FM

2
2C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   H&D	=H&	D	H&D	H&/EH&E	H&E	 H&?F#H&#F'	'H&*F'	+A.H&&H*-H*c           	         t          t          j                            d                              d          t          t          d                    t          ddd                    }t          t          j                            d                              d          t          t          d                    t          ddd                                        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   r   r   r   r   r   r   r   r8  ra   r#   r`   r9  r;  r   Tr<  r   r   r4   )r   r8   r9   r:   r;   r   r<   r   r=  r!   rA   r   r   get_indexerr
   r   r>  r?  r   r>   r?   assert_index_equalrm   r   )rI   r   r   r'   rJ   rr   rs   s          rL   test_append_to_multiple_dropnarE    s,   

	a  0099d6ll##r<<<  C
 
	a  0099d6ll##r<<<   fV]f##	 
 8:vCHQ''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&G77G;>G;c           	         t          t          j                            d                              d          t          t          d                    t          ddd                    }|                                	                    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   r   r   r   r   r   r   r   r8  ra   r#   r`   r9  r   T)df1adf2arG  FrB  z,all tables must have exactly the same nrows!r   rH  )r   r8   r9   r:   r;   r   r<   r   r   r=  r!   rA   r   r   rC  r
   r   r   r   r>  r   r   r   r?  rm   r   equals)rI   r   r   r'   rJ   r   s         rL   $test_append_to_multiple_dropna_falserJ    s   

	a  0099d6ll##r<<<  C
 ((**

FM

2
2C79vCHQ''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[   ,G<G>E"G"E&&G)E&*A
G5GG	GG		GG G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   rQ   rS   _s     rL   rU   z8test_append_to_multiple_min_itemsize.<locals>.<listcomp>  s    +++AC+++rV   r   c                     g | ]}d S )abcderQ   rO  s     rL   rU   z8test_append_to_multiple_min_itemsize.<locals>.<listcomp>  s    333A333rV   )IXNumBigNumStrLongStrr   rS  rT  rU  rV  rW  )r   numsstrsr   r   rX   r   )rV  rW  rT  r   Tr4   )
r   r8   rH   ri   r   r   r>  r?  r>   r?   )rI   r'   rs   rJ   rr   s        rL   $test_append_to_multiple_min_itemsizerZ    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c                    t          dddt          j        d                    }|                                }t          j        |j        ddd d f<   d}t          |           5 }|                    d	|d
                    t          j	        t          |          5  |                    d	|d
                    d d d            n# 1 swxY w Y   |                    d|d         d           t          j	        t          |          5  |                    d|d                    d d d            n# 1 swxY w Y   |                    d|d
         d           |                    d|d
                    |d         }t          |d
         |d
         g          }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nr   r[   r   r   r2   r   r   z8NaN representation is too large for existing column sizesar`   r   sbr   bars)nan_repscn)r   r8   rH   r   rA   rB   r   r=   r   r   r   r
   r>   rk   )rI   r'   df_nanr   rJ   rr   rs   s          rL   test_append_string_nan_reprc    se   	5))2	?	?	?BWWYYFFJqsAAAv
DC	J	'	' 15T2c7###]:S111 	, 	,LLvc{+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	T2c7F333]:S111 	, 	,LLvc{+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	T2c7C000T6#;'''t2c7F3K011
vx000!1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1s[   &8G C;G C	G C	<G D4(G 4D8	8G ;D8	<A7G  GG)5r   r   r   numpyr8   r   pandas._libs.tslibsr   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   r   r   r	   r>   r
   r   r   pandas.tests.io.pytables.commonr   r   mark
single_cpu
pytestmarkimportorskipr   filterwarningsrM   ru   r   r   r   r   r   r   r  r  r  parametrizer  r$  &skip_array_manager_not_yet_implementedr/  r6  r@  rE  rJ  rZ  rc  rQ   rV   rL   <module>rs     s          				      ) ) ) ) ) ) ) ) ) ) ) ) ) ) )                            
 k$%
		X	&	& ?@@EP EP A@EPP,F ,F ,F^-H -H -H`YK YK YKxC C CB1# 1# 1#hxK xK xKv6 6 6X0 X0 X0v, , ,** * *  ooo66* * 76*&7 7 72 *Q# Q# +*Q#h,* ,* ,*^"0 "0 "0JT T T2Q Q Q2G G G81 1 1 1 1rV   