
    뾙h                     ,   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dl	Z
d dl	mZmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZmZ d dlmZmZ ej<                  j>                  gZ  ejB                  d      Z"d Z#d Z$d Z%d	 Z&d
 Z'd Z(ej<                  jS                  ddddh e*       f e*       ddhfdhddhf e*       dhfdfddhddhf e*       dhfdfg      d        Z+d Z,d Z-d Z.d Z/ej<                  jS                  ddd g      d!        Z0d" Z1d# Z2d$ Z3d% Z4d& Z5d' Z6d( Z7d) Z8ej<                  jS                  d*dd+g      ej<                  jS                  d,d dg      d-               Z9d. Z:d/ Z;d0 Z<d1 Z=d2 Z>d3 Z?d4 Z@d5 ZAej<                  jS                  d6g d7      d8        ZBd9 ZCd: ZDd; ZEej<                  jS                  d<d=d>g      d?        ZFd@ ZGdA ZHdB ZIej<                  j                  dC      ej<                  jS                  dD ed dEgej                  F       edGdHgej                  F       edIdJK       edLdJK       edIdJdMN      g      dO               ZMej<                  jS                  dPddQg      dR        ZNdS ZOdT ZPy)U    N)
	DataFrameDatetimeIndexIndex
MultiIndexSeries	Timestampconcat
date_rangeperiod_rangetimedelta_range)_maybe_removeensure_clean_storeHDFStoreread_hdftablesc                    t        j                  |       5 }	 t        |      5 }t        d      # 1 sw Y   nxY wn# t        $ r Y nw xY wd d d        n# 1 sw Y   nxY wt        j                  |       5 }t        |      5 }t	        dt        j                  d      j                  d      z  t        t        d      t              t        t        d      D cg c]  }d| 	 nc c}w c}t              	      |d
<   t        |      dk(  sJ t        |d
         t        k(  sJ 	 d d d        n# 1 sw Y   nxY wd d d        y # 1 sw Y   y xY w)Nblah皙?x         ABCDdtyper   i-columnsindexa   )tmensure_cleanr   
ValueErrorr   nparangereshaper   listobjectrangelentype)
setup_pathpathtblis       _/var/www/Befach/backend/env/lib/python3.12/site-packages/pandas/tests/io/pytables/test_store.pytest_contextr3   '   s)   		$ 	$ )3 (() ) ) 			   
	$ /d^ 	/s biin,,W55d6l&9uRy9!r!X99HCH
 s8q= =C>Y...	/ 	/ 	// / /si   A</8	<A	AAAAA5EAD0C%$AD0'	E0D9	5EEc                     t         j                  dfdfd} || d      } || d      }t        j                  d        || d      } || d      }||k(  sJ ||k7  sJ y )N   c                      |       t        | d      5 t        fdd      D ]  }j                  |        	 d d d        j                         S # 1 sw Y   j                         S xY w)Nrbc                  @    j                   j                  z        S N)read
block_size)chunk_num_blocksfhs   r2   <lambda>z7test_no_track_times.<locals>.checksum.<locals>.<lambda>@   s    aff-=-L&M    r@   )openiterupdatedigest)filenamehash_factoryr<   chunkr=   r>   s     ` @@r2   checksumz%test_no_track_times.<locals>.checksum=   s`    N(D! 	 QMsS T	  xxz	  xxzs   (AA0c           	          | z  }t        ddgi      }t        |d      5 }|j                  d|ddd |       d d d         |      S # 1 sw Y   xY w)Nr!   r"   wmodetableT)formatdata_columnsr    track_times)r   r   put)tmp_pathrP   r/   dfhdfrH   r.   s        r2   create_h5_and_return_checksumz:test_no_track_times.<locals>.create_h5_and_return_checksumD   sm    *$aSz"d% 	GG!'  	 ~	 	s   A

AF)rP   Tr"   )hashlibmd5timesleep)rR   r.   rU   checksum_0_tt_falsechecksum_0_tt_truechecksum_1_tt_falsechecksum_1_tt_truerH   s    `     @r2   test_no_track_timesr^   9   s}     )0c   8eT6xTR 	JJqM7eT6xTR "5555 !3333r@   c                 f    t        |       5 }t        |      g k(  sJ 	 d d d        y # 1 sw Y   y xY wr9   )r   r)   )r.   stores     r2   test_iter_emptyra   d   s3    	J	' !5E{b   ! ! !s   '0c                    t        |       5 }t        |       |j                          t        t	        j
                  dt        j                        t        dd            |d<   t        t        d      dt        d      D cg c]  }d| 	 c}	      |d
<   t        dt	        j
                  d      j                  d      z  t        t        d      t              t        t        d      D cg c]  }d| 	 c}t                    |d<   t        dt	        j
                  d      j                  d      z  t        t        d      t              t        t        d      D cg c]  }d| 	 c}t                    }d|d<   d|d<   |d   dkD  |d<   |d   dkD  |d<   d|d<   d|d<   d |d!<   t        d"      |d#<   t        d$      |d%<   t        j                   d&dd dd      |d'<   t        j                   d&dd(dd      |d)<   t        j"                  |j$                  |j&                  d(d* dgf<   |j)                         }|rd nt*        j,                  j.                  }d+}t1        j2                  ||,      5  ||d-<   d d d        |j4                  j7                  |j4                  j8                  d.       |j:                  t        |      v sJ |j:                  t=        |      v sJ |j                          d d d        t        |       5 }t        dt	        j
                  d      j                  d      z  t        t        d      t              t        t        d      D cg c]  }d| 	 c}t                    }|j?                  d-|       |jA                  d-      }t        |       t=        |       d d d        y c c}w c c}w c c}w # 1 sw Y   UxY w# 1 sw Y   xY wc c}w # 1 sw Y   y xY w)/N
   r   
2020-01-01periodsr    r!   float64i_)r   r    br   r   r   r   r   r   r   cfooobj1barobj2Ar   bool1Bbool2Tbool3r"   int1   int220010102
timestamp120010103
timestamp2i  	datetime1   	datetime2   z0cannot
map directly to c-types .* dtype='object'matchrS   bah)!r   reprinfor   r&   r'   rh   r
   r+   r   r(   r   r)   r*   r   dtdatetimenanlocr    _consolidatepderrorsPerformanceWarningr#   assert_produces_warning_handlecreate_grouprootrE   strappend
get_storer)r.   using_infer_stringr`   r1   rS   warningmsgss           r2   	test_reprr   j   sc   	J	' ,5U

IIb

+:lTV3W
c
 "IYr.KAA3x.K
c
 "))C.((11$v,f5595a2aS5VD
c
 "))C.((11$v,f5595a2aS5VD

 6
6
gk7gk776
6
$Z0<$Z0<++dAq!Q7;++dAq!Q7;*,&&rxx!}vh&'__,$"))2N2NA''s; 	E$K	 	""5==#5#5u=~~e,,,~~U+++

Y,^ 
J	' 
5"))C.((11$v,f5595a2aS5VD

 	T2T"QA
 
Q /L
 6 6$	 	I, ,f 6	
 
sr   A7O"OA!O"0O<A+O"'O3D	O"<OA:O"AO3&O.2AO3O"O	O""O+.O33O<c                 ~   t        |       5 }t        t        j                  dt        j                        t        dd            |d<   t        dt        j                  d      j                  d	      z  t        t        d
      t              t        t        d      D cg c]  }d| 	 c}t                    |d<   t        dt        j                  d      j                  d	      z  t        t        d
      t              t        t        d      D cg c]  }d| 	 c}t                    |d<   d|v sJ d|v sJ d|vsJ d|v sJ d|v sJ d|vsJ d|vsJ t        j                  t        j                  d      5  t        dt        j                  d      j                  d	      z  t        t        d
      t              t        t        d      D cg c]  }d| 	 c}t                    |d<   d d d        d|v sJ 	 d d d        y c c}w c c}w c c}w # 1 sw Y   (xY w# 1 sw Y   y xY w)Nrc   r   rd   re   rg   r!   r   r   r   r   r   r   r   rj   zfoo/barrk   z/foo/barz/foo/brn   F)check_stacklevelznode()))r   r   r&   r'   rh   r
   r   r(   r   r)   r*   r+   r#   r   r   NaturalNameWarning)r.   r`   r1   s      r2   test_containsr      s	   	J	' "5IIb

+:lTV3W
c
 "))C.((11$v,f5595a2aS5VD
c

 %"))C.((11$v,f5595a2aS5VD
i
 e||e||%E!!!U"""u$$$E!!! ''%%
 	  )biin,,W55d6l&9uRy9!r!X9H E)	 E!!!?" " 6
 6" :	 	/" "sW   BH3!H-A+H3H$A$H3AH'H"+H' H3
H3"H''H0	,H33H<c                    t        |       5 }t        t        j                  dt        j                        t        dd            |d<   t        dt        j                  d      j                  d	      z  t        t        d
      t              t        t        d      D cg c]  }d| 	 c}t                    |d<   t        t        j                  j                  d      j                  d      t        t        d
      t              t        ddd            }t        |d       |j!                  d|d d        |j!                  d|dd         |j"                  j$                  j&                  j(                  dk(  sJ |j"                  j*                  j&                  j(                  dk(  sJ |j"                  j,                  j&                  j(                  dk(  sJ t        |d       |j!                  d|       d |j/                  d      j&                  _        d}t1        j2                  t4        |      5  |j7                  d       d d d        d d d        y c c}w # 1 sw Y   xY w# 1 sw Y   y xY w)Nrc   r   rd   re   rg   r!   r   r   r   r   r   r   r   rj   rv   )   r   
2000-01-01r   rr   rf   freqdf1z0.15.2df2z/'NoneType' object has no attribute 'startswith'r   )r   r   r&   r'   rh   r
   r   r(   r   r)   r*   r+   randomdefault_rngstandard_normalr   r   r   r!   _v_attrspandas_versionrj   r   get_nodepytestraises	Exceptionselect)r.   r`   r1   rS   r   s        r2   test_versioningr      s   	J	'   5IIb

+:lTV3W
c
 "))C.((11$v,f5595a2aS5VD
c

 II!!!$44W=$v,f5\2C@

 	eU#UBsG$UBrsG$zz||$$33x???zz||$$33x???zz~~&&55AAA 	eU#UB 9=u&&5?]]9C0 	 LL	 ?      60	  	 ?     s7   BI2!I!-FI2>I&I2!I2&I/	+I22I;zwhere, expected/first_groupsecond_groupr   r   third_groupdf3s1df4) /first_group/second_group/second_group/third_groupr   )r   r   c                    t        g d      t        g d      t        g d      t        g d      t        g d      t        j                  g dg dg      t        j                  ddgd      t        j                  dd	gd      d
}t	        dd      5 }|j                  d|d          |j                  d|d          |j                  d|d          |j                  d|d          |j                  d|d          |j                  j                  dd|d          |j                  j                  dd|d          |j                  j                  dd|d          t        t        |j                  |                   t        |      k(  sJ |j                  |       D ]  \  }}}||v sJ ||   \  }}|t        |      k(  sJ |t        |      k(  sJ |D ]]  }	dj                  ||	g      }
|j                  |
      }d |	v rt        j                   |||	          Et        j"                  |||	          _  	 d d d        y # 1 sw Y   y xY w)!N)r"   rv   r}   )r      r   )r         )	   rc      )rc   r   r   zi,i,ir   )r   r   r   )rc   r      )r   r   r   r   r   a1tb1tb2zwalk_groups.hdfrJ   rK   z/first_group/df1r   z/first_group/df2r   z/second_group/df3r   z/second_group/s1r   z/second_group/third_group/df4r   r   r   r   )objr   r   wherer   rS   )r   r   r&   arrayr   rQ   r   create_arraycreate_tabler,   r)   walksetjoingetr#   assert_frame_equalassert_series_equal)r   expectedobjsr`   r/   groupsleavesexpected_groupsexpected_framesleaf
frame_pathr   s               r2   	test_walkr      s   0 ###%Z hh	9-.xxI.g>xxL1A
D 
-C	8 <E		$d5k2		$d5k2		%tE{3		$d4j1		14;?"">4dD"">5d5k"J""?EtE{"K4


/01S]BBB$)JJUJ$; D&&8###/7~,O_"c&k111"c&k111 XXtTl3
ii
+4<))#tDz:**3T
;  %<< < <s   F)I

Ic           
      
   t        |       5 }t        t        j                  dt        j                        t        dd            }||d<   |j                  }t        j                  ||       t        |d      }t        j                  ||       t        t        j                  j                  d      j                  d      t        t        d	            t        d
dd            }||d<   |j                   }t        j"                  ||       dD ]8  }d| d}t%        j&                  t(        |      5  t        ||       d d d        : dD ]  }t        |d|         	 d d d        y # 1 sw Y   dxY w# 1 sw Y   y xY w)Nrc   r   rd   re   rg   r!   rv   rc   r   r   r   rr   r   r   rS   )drL   r/   handlecomplibz$'HDFStore' object has no attribute ''r   )rL   r/   r   r   _)r   r   r&   r'   rh   r
   r!   r#   r   getattrr   r   r   r   r   r)   rS   r   r   r   AttributeError)r.   r`   r   resultrS   xr   s          r2   test_getattrr   +  sY   	J	' $5IIb

+:lTV3W
 c
 
vq)$
vq)II!!!$44W=$v,'\2C@

 d
fb) <A81=C~S9 "q!" " < 7AEQqc7# 79$ $0" "1$ $s$   D*E96E- E9-E62E99Fc                 R   t        dt        j                  dgdt        j                  t        j                  gdt        d            }t        ddgdt        j                  gdt        d            }| |z  }|j	                  |dd	
       t        |d      }t        j                  ||       | |z  }|j	                  |dd	d       t        |d      }t        j                  ||       | |z  }|j	                  |dd	d       t        |d      }t        j                  ||       y )N               @      ?)col1col2abcrg   acrS   rM   keyrN   F)r   rN   dropnaT)r   r&   r   r)   to_hdfr   r#   r   )rR   r.   df_with_missingdf_without_missingr/   reloadeds         r2   test_store_dropnar   L  s   rvvs#c266266-BC5kO #sc266]34: j D4T':d#H/84j D4T'%Hd#H/84j D4T'$Gd#H,h7r@   c                     | |z  }d}t        ddddddddg      }t        j                  t        |      5  |j	                  |d       d d d        y # 1 sw Y   y xY w)NztStarting with pandas version 3.0 all arguments of to_hdf except for the argument 'path_or_buf' will be keyword-only.r"   rv   r}   )rp   rr   Cr   r   )r   r#   r   FutureWarningr   )rR   r.   r/   r   rS   s        r2   test_keyword_deprecationr   g  sh    j D	7  
!!!,AAA.FG	HB		#	#M	= 
		$  s   AAc           	      n   | |z  }t        g dg dt        g d      t        dd      d      j                  d      }|j	                  |d	d
ddi       |j                         j                         j                  d      j                  d      }|j	                  |d	dd
       t        j                  t        |d	      t        ||g             |d   j	                  |dd
ddi       |d   j	                  |ddd
       t        j                  t        |d      t        |d   |d   g             y )N)r   r   r   g      @g      @)r   r   r   r   r   )foo1foo2foo3foo4foo520130101r   re   )rp   rr   r   Dr   ss3rM   r    r   )r   rN   min_itemsizelonger)r   T)r   r   rN   rr   ss4)r   r   r
   	set_indexr   copyreset_indexassignr#   r   r   r	   r   )rR   r.   r/   rS   r   s        r2   test_to_hdf_with_min_itemsizer	  u  s   j D 
**?@J2		

 in  IIdgWaLII
'')


!
(
(8
(
4
>
>s
CCJJttGJ<(4/S	1BC sGNN4U7'1NNHOODeDOA8D%0&"S'3s89L2MNr@   rN   fixedrM   c                 >   dg}t        |t        |d      d      }| |z  }|j                  |d|d       t        |dd      }|r&t	        j
                  d	t        j                  
      }nd}t        |t        ||      |      }	t        j                  ||	       y )Nu   foor*   r   )r    r   rM   surrogatepass)r   rN   r   )r   python)storagena_value)
r   r   r   r   r   StringDtyper&   r   r#   r   )
rR   rN   r.   r   dataserr/   r   r   r   s
             r2   test_to_hdf_errorsr    s    =D
U4x8
ICj DJJtJHdGO<F x"&&Ad%E":%HH68,r@   c           
      F   t        |       5 fd}t        t        j                  j	                  d      j                  d      t        t        d            t        ddd      	      }d
|d<   d|d<   j                  d|ddg        |dd      j                  du sJ  |dd      j                  du sJ  |dd      j                  du sJ j                  d|dgddg        |dd      j                  du sJ  |dd      j                  du sJ  |dd      j                  du sJ t        d       j                  d|       d}t        j                  t        |      5  j!                  d       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nc                 b    t        j                  |       j                  j                  |      S r9   r   r   rM   colstcolumnr`   s     r2   colz$test_create_table_index.<locals>.col  '    5++A.44996BBr@   rv   r   r   r   rc   rr   r   r   rl   stringrn   string2r=   rO   r    Tf2)r    rO   Fz1cannot create table index on a Fixed format storer   )r   r   r&   r   r   r   r   r)   r
   r   
is_indexedr   rQ   r   r   	TypeErrorcreate_table_indexr.   r  rS   r   r`   s       @r2   test_create_table_indexr%    s   	J	' +5	C II!!!$44W=$v,'\2C@

 89S"Hi+@A3 ++t3333!,,4443	"--555 	T2hZx>ST4!,,5554"--5554#..%777 	eT"		$A]]9C0 	+$$T*	+9+ +8	+ 	+9+ +s$   EF(F:FF	FF c           
         t        |       5 fd}t        t        j                  j	                  d      j                  d      t        t        d            t        ddd      	      }d
|d<   d|d<   j                  d|dg        |dd      j                  du sJ  |dd      j                  du sJ d}t        j                  t        |      5   |dd      j                   d d d        d}t        j                  t        |      5  j                  ddg       d d d        d d d        y # 1 sw Y   LxY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nc                 b    t        j                  |       j                  j                  |      S r9   r  r  s     r2   r  z:test_create_table_index_data_columns_argument.<locals>.col  r  r@   rv   r   r   r   rc   rr   r   r   rl   r  rn   r  r=   r  r    Tz('Cols' object has no attribute 'string2'r   zcolumn string2 is not a data_column.
In order to read column string2 you must reload the dataframe 
into HDFStore and include string2 with the data_columns argument.r   )r   r   r&   r   r   r   r   r)   r
   r   r!  r   r   r   r#  r$  s       @r2   -test_create_table_index_data_columns_argumentr)    sK    
J	' ?5	C II!!!$44W=$v,'\2C@

 89S"H:63 ++t3333!,,4448]]>5 	+Y**	+
P 	
 ]]>5 	?$$S9+$>	?7? ?$	+ 	+	? 	?7? ?s<   CED4)%EE #E4D=	9E E		EEc                 f   t        j                  t        dd      t        d      gddg      }t	        dg di|	      }t        |       5 }|j                  d
|d       |j                  d
d      }|j                  dgd d f   }t        j                  ||       d d d        y # 1 sw Y   y xY w)Nr   r   re   dateid)namesr!   )r   g333333?g?gffffff?g      ?rg   rS   Tr  zid == 1r   r"   )r   from_arraysr
   r+   r   r   r   r   ilocr#   r   )r.   idxrS   r`   actualr   s         r2   test_mi_data_columnsr2    s    

 
 	L!	,eAh7~C 
C233	?B	J	' 05T2D1d)477A36?
fh/0 0 0s   AB''B0c                 L   t        dt        j                  d      j                  d      z  t	        t        d            t	        t        d      D cg c]  }d| 	 c}            }d|d	<   d
|d<   |d   dkD  |d<   |d   dkD  |d<   d|d<   d|d<   d|d<   t        d      j                  d      |d<   t        d      j                  d      |d<   t        d      j                  d      |d<   t        d      j                  d      |d<   t        j                  |j                  |j                  dd d	gf<   |j                         }t        |       5 }|j                  d |       t        j                   |j#                  d       |       d d d        y c c}w # 1 sw Y   y xY w)!Nr   r   r   r   r   r   r   rl   rm   rn   ro   rp   r   rq   rr   rs   Trt   r"   ru   rv   rw   rx   nsry   rz   r{   r|   r~   r}   r   	df1_mixed)r   r&   r'   r(   r   r)   r+   r   as_unitr   r   r    r   r   r   r#   r   r   )r.   r1   rS   r`   s       r2   test_table_mixed_dtypesr7    s   	biin$$W--d6l#uRy1!r!X12
B
 BvJBvJS'A+BwKS'A+BwKBwKBvJBvJ ,44T:B| ,44T:B|
+33D9B{O
+33D9B{O&(ffBFF288Aa=6("#		B	J	' =5["%
ell;7<= =! 2 = =s   F8FF#c                    d}dt        j                  ddd      t        j                  d      g}t        j
                  j                  ||      }t        j                  ddd	      }t        |d|
      }t        |j                  |      j                  t        dj                                     }t        |       5 }|j                  d|       |j                  d      }t        j                   ||       |j#                  d|       |j                  d      }t        j                   ||       d d d        y # 1 sw Y   y xY w)NzSun Mon Tue Wed Thuz
2012-05-01i  r   r"   z
2014-05-01)holidaysweekmaskr   r   r   zMon Tue Wed Thu Fri Sat Sunr
  rM   )r   r   r&   
datetime64r   offsetsCustomBusinessDayr
   r   weekdaymapsplitr   rQ   r   r#   r   r   )	r.   weekmask_egyptr9  
bday_egyptmydtdtsr   r`   r   s	            r2   test_calendar_roundtrip_issuerE    s    +N
D!Q
l#H
 --N . J ;;tQ#D
T1:
6Cs{{C $$V,I,O,O,Q%RSA	J	' *5		'1g&
vq)Wa g&
vq)* * *s   =A3D99Ec                    t        |       5 }t        t        j                  dt        j                        t        dd            }t        dt        j                  d      j                  d      z  t        t        d	            t        t        d
      D cg c]  }d| 	 c}            }||d<   ||d<   t        |d       t        |      dk(  sJ t        j                  ||d          t        |d       t        |      dk(  sJ t        j                   t"        d      5  |j%                  d       d d d        ||d<   ||d<   t        |d       t        |d       t        |      dk(  sJ ||d<   ||d<   t        |d       t        |      dk(  sJ ||d<   ||d<   |d= |d= t        |      dk(  sJ 	 d d d        y c c}w # 1 sw Y   xY w# 1 sw Y   y xY w)Nrc   r   rd   re   rg   r   r   r   r   r   r   r   r!   rj   r"   r   z1'No object named a_nonexistent_store in the file'r   a_nonexistent_storezb/foorl   )r   r   r&   r'   rh   r
   r   r(   r   r)   r+   r   r,   r#   r   r   r   KeyErrorremove)r.   r`   tsr1   rS   s        r2   test_removerK  (  s   	J	' )5IIb

+:lTV3W
 "))C.((11$v,'595a2aS56

 c
c
eS!5zQ
b%*-eS!5zQ ]]O
 	0 LL./	0 c
geU#eW%5zQc
geS!5zQ c
c
#J#J5zQS) ) 6	0 	0') )s8   BGG$BG&G8B GGG	GGc                    t        |       5 }t        t        j                  j	                  d      j                  d      t        dd            }|j                  d|d	       ||j                  t        d
      kD     }|j                  dd      }t        j                  ||       |j                  dd      }t        j                  ||       |j                  dd      }t        j                  ||       d d d        y # 1 sw Y   y xY w)Nrv   )r   rv   r   r   re   rg   rS   rM   rN   20130105z!index>datetime.datetime(2013,1,5)zindex>datetime(2013,1,5))r   r   r&   r   r   r   r
   rQ   r    r   r   r#   r   )r.   r`   rS   r   r   s        r2   test_same_name_scopingrO  U  s    	J	' 05II!!!$44W=Z4
 			$7	+bhh:!667d$GH
fh/ d$GH
fh/d$>?
fh/'0 0 0s   C,DD
c                    t        dt        j                  d      j                  d      z  t	        t        d            t	        t        d      D cg c]  }d| 	 c}            }d|j                  _        t        |       5 }||d	<   |d	   }t        j                  ||       d d d        y c c}w # 1 sw Y   y xY w)
Nr   r   r   r   r   r   r   rl   frame)r   r&   r'   r(   r   r)   r+   r    namer   r#   r   )r.   r1   rS   r`   reconss        r2   test_store_index_namerT  l  s    	biin$$W--d6l#uRy1!r!X12
B
 BHHM	J	' *5gw
fb)* *	 2* *s   B/!B44B=tzz
US/Pacifictable_formatc                    t        t        j                  ddd      t        j                  ddd      gd      j                  |      }t        t        j                  ddd      t        j                  ddd      gd      j	                  |      j                  |      }t        t        j                  d      j                  dd      ||	      }| |z  }|j                  |d
|       t        |d
      }	t        j                  ||	d       t        |	j                  j                  t               sJ t        |	j"                  j                  t               sJ y )Ni  r"   rv   u   colsג)rR  i  u   rowsאr   r   rS   r   T)check_names)r   r   r+  tz_localizer6  r   r&   r'   r(   r   r   r#   r   
isinstancer    rR  r   r   )
rR   rV  r.   unitrU  r0  idx1rS   r/   r   s
             r2   test_store_index_name_numpy_strr]  z  s    	q!	bggdAq12 k"o 
 	WWT1a "''$1"56	
 
	R 	 
299Q<''1-s$	GB j DIId\I2
4
C"ct4ciinnc***ckk&&,,,r@   c                 h   t        dt        j                  d      j                  d      z  t	        t        d            t	        t        d      D cg c]  }d| 	 c}            }|d   }t        |       5 }||d	<   |d	   }t        j                  ||       d d d        y c c}w # 1 sw Y   y xY w)
Nr   r   r   r   r   r   r   rp   series)
r   r&   r'   r(   r   r)   r+   r   r#   r   )r.   r1   rS   r_  r`   rS  s         r2   test_store_series_namer`    s    	biin$$W--d6l#uRy1!r!X12
B
 WF	J	' /5 hx
vv./ /	 2/ /s   B#9!B((B1c           
         t        |       5 }t        t        j                  j	                  d      j                  d      t        t        d            t        ddd            |d	<   t        t        j                  dt        j                  
      t        dd            }||d	<   t        j                  |d	   |       d d d        y # 1 sw Y   y xY w)Nrv   r   r   r   rc   rr   r   r   r!   r   rd   re   rg   )r   r   r&   r   r   r   r   r)   r
   r   r'   rh   r#   r   )r.   r`   rJ  s      r2   test_overwrite_noderb    s    	J	' /5II!!!$44W=$v,'\2C@
c

 IIb

+:lTV3W
 c

uSz2./ / /s   B5C

Cc           
         t        t        j                  j                  d      j	                  d      t        t        d            t        ddd            }t        |       5 }t        |d	       |j                  d	|       |j                  d	      }|j                  t        j                  t        |j                              k(  j!                         sJ t        |d	       t        t#        d
      t#        d
      d      }|j                  d	|       |j                  d	dg      }|j                  t        j                  d      k(  j!                         sJ |j%                  d	|      }|j&                  ddd d f   }t)        j*                  ||       |j                  d	ddg      }|j                  t        j                  d      dz   k(  j!                         sJ |j%                  d	|      }|j&                  ddd d f   }t)        j*                  ||       t-        |t
              sJ t        |d       t        |d       t        t        j                  j                  d      j	                  d      t        t        d            t        ddd            }|j/                         j1                  dj2                        }|j                  d|ddg       |j                  d|       |j                  dddg      }|j%                  d|      }|j%                  d|      }	t5        ||	gd      }t5        ||gd      }||j6                  dkD  |j8                  dkD  z     }t)        j*                  ||d       d d d        t        |       5 }t        t        j                  j                  d      j	                  d      t        d d!"      #      }|j                  d	|       |j;                  d	d$      }|t=        |      j>                  d
k(     j                  }
|j@                  |
   }|j%                  d	|
      }t)        j*                  ||       |j%                  d	|
      }t)        j*                  ||       d%}tC        jD                  tF        |&      5  |j%                  d	t        j                  t        |      d'(             d d d        tC        jD                  tF        |&      5  |j%                  d	t        j                  t        |      dz                d d d        tC        jD                  tF        |&      5  |j%                  d	t        j                  t        |            d
)       d d d        tC        jD                  tF        |&      5  |j%                  d	t        j                  t        |            d
d*       d d d        t        d d+"      }|j%                  d	d,      }||j                  jI                  |         }t)        j*                  ||       t        t        j                  j                  d      j	                  d-            }|j                  d|       |j%                  dg d.      }|j@                  g d.   }t)        j*                  ||       d/gdz  }
d|
d0<   |j%                  d|
      }|j&                  |
   }t)        j*                  ||       |j%                  dd
d1      }|d
d }t)        j*                  ||       d d d        y # 1 sw Y   xY w# 1 sw Y   jxY w# 1 sw Y   !xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)2Nrv   r   r   r   rc   rr   r   r   rS   r   rp   rr   zindex<3r}   r   r   zindex>=3zindex<=4r   r   r   z{}_2r(  rp   r  zA>0zB>0r"   )axisF)
check_freq)  rv   20000101rg  re   rg   r    zLwhere must be passed as a string, PyTablesExpr, or list-like of PyTablesExprr   rh   r   )r   start)r   ri  stopi  zindex in selectionrc   rv   )r   r}   r   Tri  rj  )%r   r&   r   r   r   r   r)   r
   r   r   r   select_as_coordinatesvaluesr'   r,   r    allr+   r   r   r#   r   rZ  r  renamerN   r	   rp   rr   select_columnr   monthr/  r   r   r"  isin)r.   rS   r`   rk   r   r   r   r   
df1_result
df2_resultr   r   	selections                r2   test_coordinatesrx    sA   	
		a 009d6l#r<
B 
J	' -B5eT"T2 ''-BIIc"((m4499;;; 	eT"U1XE!H56T2''yk:BIIaL(--///d!,66!A#q&>
fh/''z:.FGBIIaL1,,11333d!,66!A#q&>
fh/!U### 	eU#eU#II!!!$44W=$v,'\2C@

 hhj6UCsCj9UC ''u~>\\%+
\\%+
Z0q93*1-XZZ!^

Q?@
fh5A[-Bd 
J	' :05II!!!$44Y?Z6
 	T2g.-"((A-.44775> d%0
fh/ d%0
fh/+ 	 ]]9C0 	JLLRYYs2wi%HLI	J ]]9C0 	=LLRYYs2w{%;L<	= ]]9C0 	BLLRYYs2w%7qLA	B ]]9C0 	KLLRYYs2w%7qrLJ	K z37	d*>?bhhmmI./
fh/ ryy,,Q/??HIUBe95779%
fh/ b	e5166%=
fh/ e126a8
fh/u:0 :0e-B -BR	J 	J	= 	=	B 	B	K 	KA:0 :0s{   $L!\1D]2$2\>#]293],#]21] #]2#2]%E]21\;>]	]2]	]2]"	]2%]/	*]22];c                 P   t        |       5 }t        t        j                  j	                  d      j                  d      t        j                  j	                  d      j                  d      d      }|j                  d|       |j                  dddd      }|j                  dd	d
gf   }t        j                  ||       |j                  dddd      }t        |      dk(  sJ |j                  ddd
gf   }t        j                  ||       d d d        y # 1 sw Y   y xY w)Nrv   r   rd  rS   zcolumns=['A']r   r   rm  r   rp   r   (   )r   r   r&   r   r   r   r   r   r#   r   r,   r.   r`   rS   r   r   s        r2   test_start_stop_tabler|  *  s
   	J	' 05YY**1-44R8YY**1-44R8
 	T2dO11E66!A#u*%
fh/ dO2BG6{a66"R%#,'
fh/%0 0 0s   DDD%c                    t        |       5 }t        ddgddgd      }|j                  dgd d|d       |j                  ddgdd	d
      }|j                  d	gddgf   }t        j                  ||       d d d        y # 1 sw Y   y xY w)Nr"   rv   )rl   rn   rl   )selectorr  r~  )r~  r  r   )r~  ri  rj  rn   )r   r   append_to_multipleselect_as_multipler   r#   r   r{  s        r2   test_start_stop_multipler  @  s    	J	' 
051vq!f56  $/j 	! 	
 )) :QQ * 
 661#u~-.
fh/
0 
0 
0s   A,BB
c                 J   t        |       5 }t        t        j                  j	                  d      j                  d      t        j                  j	                  d      j                  d      dt        dd            }|j                  d|       |j                  ddd	
      }|j                  dd	d d f   }t        j                  ||       |j                  dd	d
      }|j                  d	dd d f   }t        j                  ||       |j                  ddd
      }|j                  ddd d f   }t        j                  ||       |j                  }|j                  d|       |j                  ddd	
      }|j                  dd	 }t        j                  ||       |j                  dd	d
      }|j                  d	d }t        j                  ||       t        dt        j                  d      j                  d      z  t        t!        d            t        t#        d      D cg c]  }d| 	 c}            }t        j$                  |j                  dd	ddf<   t        j$                  |j                  dddf<   d d d        y c c}w # 1 sw Y   y xY w)Nrv   r   rd  r   re   rg   rS   r   r   rm  rc   r   rz  r   r   r   r   r   r   r   r}   r"   r   rl  )r   r   r&   r   r   r
   rQ   r   r/  r#   r   rp   r   r'   r(   r   r)   r+   r   )r.   r`   rS   r   r   r   r1   s          r2   test_start_stop_fixedr  O  sK   	J	' *#5YY**1-44R8YY**1-44R8 Z4
 			$d!!4771Q36?
fh/d!"5771R47#
fh/ d"26772b5!8$
fh/ DD		#qc366!A;
vx0c466!B<
vx0 "))C.((11$v,'595a2aS56

 FF!QqSFF"bU*# *#N 6O*# *#s   H#J/J;AJJJ"c           
         t        t        j                  j                  d      j	                  d            }|j
                  D cg c]  }|d c}|_        |j                  D cg c]  }|d c}|_        t        |       5 }|j                  d|d       d}|j                  d|g      }t        j                  ||j                  d d |j                  d d f          d	}|j                  d|g      }t        j                  ||j                  d d |j                  d dd   f          d d d        y c c}w c c}w # 1 sw Y   y xY w)
Nrv   )2   d   3drQ  rM   rM  zcolumns=df.columns[:75]K   zcolumns=df.columns[:75:2])r   r&   r   r   r   r    r   r   rQ   r   r#   r   r   )r.   rS   rk   r`   critr   s         r2   test_select_filter_cornerr  }  s$   	299((+;;IF	GB#%88,a1R&	,BH%'ZZ0QrF)0BJ	J	' 	D5		'2g	.(gv.
fbffQ

3B-?&@A*gv.
fbffQ

5Bq50A-A&BC	D 	D -0	D 	Ds   D8'D=B*EEc                  @   t        dt        j                  d      j                  d      z  t	        t        d            t	        t        d      D  cg c]  } d|  	 c}             t        j                  fdd	       }t        j                  |       y c c} w )
Nr   r   r   r   r   r   r   c                 *    j                  | d      S NrS   r   r   prS   s    r2   r?   z#test_path_pathlib.<locals>.<lambda>      "))A4)(r@   c                     t        | d      S NrS   r   r  s    r2   r?   z#test_path_pathlib.<locals>.<lambda>      HQ4Er@   
r   r&   r'   r(   r   r)   r+   r#   round_trip_pathlibr   r1   r   rS   s     @r2   test_path_pathlibr    s    	biin$$W--d6l#uRy1!r!X12
B ""(*EF "f% 2   Bzstart, stop))r   rv   )r"   rv   )NNc                 
   t        t        g d      t        g d      d      }t        |      5 }|j                  d|       |j	                  d| |      }t        j                  || | |       d d d        y # 1 sw Y   y xY w)N)i2i2i2)abcdr  r!   rj   test_datasetrm  )r   r   r   r   r   r#   r   )ri  rj  r.   rS   r`   r   s         r2    test_contiguous_mixed_data_tabler    s~     
67*+	

B 
J	' 65^R(nEE
btnf5	6 6 6s   A A99Bc                  H   t        dt        j                  d      j                  d      z  t	        t        d            t	        t        d      D  cg c]  } d|  	 c}             fd}d	 }t        j                  ||      }t        j                  |       y c c} w )
Nr   r   r   r   r   r   r   c                 l    t        |       5 }j                  |d       d d d        y # 1 sw Y   y xY wr  r   r   r/   r`   rS   s     r2   writerz*test_path_pathlib_hdfstore.<locals>.writer  1    d^ 	'uIIeI&	' 	' 	'   *3c                 \    t        |       5 }t        |d      cd d d        S # 1 sw Y   y xY wr  r   r/   r`   s     r2   readerz*test_path_pathlib_hdfstore.<locals>.reader  *    d^ 	)uE4(	) 	) 	)   "+r  r1   r  r  r   rS   s       @r2   test_path_pathlib_hdfstorer    s    	biin$$W--d6l#uRy1!r!X12
B') ""662F"f% 2   Bc                  @   t        dt        j                  d      j                  d      z  t	        t        d            t	        t        d      D  cg c]  } d|  	 c}             t        j                  fdd	       }t        j                  |       y c c} w )
Nr   r   r   r   r   r   r   c                 *    j                  | d      S r  r  r  s    r2   r?   z,test_pickle_path_localpath.<locals>.<lambda>  r  r@   c                     t        | d      S r  r  r  s    r2   r?   z,test_pickle_path_localpath.<locals>.<lambda>  r  r@   r  r  s     @r2   test_pickle_path_localpathr    s    	biin$$W--d6l#uRy1!r!X12
B
 ""(*EF "f% 2r  c                  H   t        dt        j                  d      j                  d      z  t	        t        d            t	        t        d      D  cg c]  } d|  	 c}             fd}d	 }t        j                  ||      }t        j                  |       y c c} w )
Nr   r   r   r   r   r   r   c                 l    t        |       5 }j                  |d       d d d        y # 1 sw Y   y xY wr  r  r  s     r2   r  z,test_path_localpath_hdfstore.<locals>.writer  r  r  c                 \    t        |       5 }t        |d      cd d d        S # 1 sw Y   y xY wr  r   r  s     r2   r  z,test_path_localpath_hdfstore.<locals>.reader  r  r  )
r   r&   r'   r(   r   r)   r+   r#   round_trip_localpathr   r  s       @r2   test_path_localpath_hdfstorer    s    	biin$$W--d6l#uRy1!r!X12
B') $$VV4F"f% 2r  propindexesTFc                 ~   t        dt        j                  d      j                  d      z  t	        t        d            t	        t        d      D cg c]  }d| 	 c}            }t        j                         5 }t        |      5 }|j                  d|d	g
       d d d        t        j                         5 }t        |      5 }t        j                  |j                  |j                   d |             5 }|j#                         }t%        |      t%        |j#                               k(  sJ |j#                         D ]  }	|j'                  |	      j(                  s|j'                  |	      }
|j'                  |	      }|j*                  |
j*                  k(  sJ | s_|j,                  D ]*  }|j.                  s|
|j                      j.                  r*J   	 d d d        d d d        d d d        d d d        y c c}w # 1 sw Y   exY w# 1 sw Y   4xY w# 1 sw Y   8xY w# 1 sw Y   <xY w# 1 sw Y   y xY w)Nr   r   r   r   r   r   r   rS   rp   r  )keysr  )r   r&   r'   r(   r   r)   r+   r#   r$   r   r   tempfileNamedTemporaryFile
contextlibclosingr  rR  r  r   r   is_tablenrowsaxesr!  )r  r1   rS   r/   stnew_fr`   tstorer  knew_torig_tr!   s                r2   	test_copyr    s   	biin$$W--d6l#uRy1!r!X12
B 
	 Hdd^ 	4rIIdBcUI3	4((* 	He$ H5''JJuzz+JN H ::<Dt9FKKM(::::#[[]!,,Q/88$*$5$5a$8E%*%5%5a%8F#)<<5;;#>>#>  +)/A'(||/4QVV}/G/G(G/G *5 +HH	HH H 2	4 	4H HH H	H 	HH Hs   G==H3	HH3;H'2H9A&H	 ?H	 H	<H	H	H$H',H3H	H3HHH$ H''H0	,H33H<c                 v   t        ddgddgg      }| |z  }d}t        j                  t        |      5  |j	                  |dd       d d d        |j	                  |dd	       t        |d      }t        j                  ||       |j                  |      sJ |j                  |      sJ y # 1 sw Y   fxY w)
Nr!   r   )r   r  z/Columns index has to be unique for fixed formatr   rS   r
  r   rM   )	r   r   r   r%   r   r   r#   r   equals)rR   r.   rS   r/   r   others         r2   test_duplicate_column_namer     s    	C:aVH	5Bj D
;C	z	- 2
		$D	12 IIdWI-T4 E"e$99U<<2 2s   B//B8c                    t        t        j                  j                  d      j	                  d            }t        dddd      |_        t        |       5 }||d	<   t        j                  |d	   |       d d d        y # 1 sw Y   y xY w)
Nrv   )rc   r   )size0src   1sexample)ri  rf   r   rR  rS   )
r   r&   r   r   normalr   r    r   r#   r   r.   rS   r`   s      r2   !test_preserve_timedeltaindex_typer    sw    	299((+222@	ABT2DyQBH	J	' /5d
eDk2./ / /s   B  B	c                    t        t        j                  j                  d      j                  d      t	        d      t	        d            }d|j
                  _        |j                  dd	      }|j
                  j                  |j                  j                         z   }| |z  }|j                  |d
dd|d       t	        d      }t	        |      }t        |d
|       ||k(  sJ y )Nrv   )r   r   abcdABCDE)r    r   lettersET)r  r   rS   r!   F)r   rL   r   rO   r    BCDr(  )r   r&   r   r   r)   r    rR  r  r-  r   tolistr   r   )rR   r.   rS   rO   r/   	cols2loadcols2load_originals          r2    test_columns_multiindex_modifiedr    s     

		a ''/6lW
B
 BHHM	3t	,B88>>BJJ$5$5$77Lj DII!   UIiT4+***r@   z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningr   r"   r   r   r   rd   rv   re   z1 dayr   r   c                    t        t        j                  j                  d      j	                  d      |      }| |z  }d}t        j                  t        |      5  |j                  |ddd	       d d d        y # 1 sw Y   y xY w)
Nrv   rk  r(  z-cannot have non-object label DataIndexableColr   rS   rM   Tr   rN   rO   )	r   r&   r   r   r   r   r   r%   r   )rR   r.   r   rS   r/   r   s         r2   0test_to_hdf_with_object_column_names_should_failr  6  st     
299((+;;GDg	VBj D
9C	z	- E
		$Dt	DE E Es   A;;Br   categoryc                    t        t        j                  j                  d      j	                  d      t        ddg|            }| |z  }|j                  |ddd	
       t        |dd|j                  d    d      }t        |      sJ y )Nrv   rk  r!   rj   r   r(  rS   rM   Tr  z	index = [r   ]r   )
r   r&   r   r   r   r   r   r   r    r,   )rR   r.   r   rS   r/   r   s         r2   /test_to_hdf_with_object_column_names_should_runr  J  s     

		a 009sCj.
B j DIIdW4I@dD)BHHQK=(BCFv;;r@   c                     t        g dg dd      }t        |       5 }|j                  d|       |d   j                  j                  |d   d   j                  j                  k(  sJ 	 d d d        y # 1 sw Y   y xY w)N)r"   rv   r}   r   )r   r   r   r   r  rS   r!   )r   r   rQ   ro  stridesr  s      r2   test_hdfstore_stridesr  W  ss    	L9	:B	J	' I5		$#w~~%%tS)9)@)@)H)HHHHI I Is   AA33A<c                     t        dggdgt        dgd            }|j                         }| |z  }|j                  |d       t	        |d      }t        j                  ||       y )	Nr"   TFboolr   r   r!   r  )r   r   r  r   r   r#   r   )rR   r.   rS   r   r/   r   s         r2   test_store_bool_indexr  _  sb    	QC54&ugV0L	MBwwyH j DIIdIdC F(F+r@   )Qr  r   r   rV   r  rX   numpyr&   r   pandasr   r   r   r   r   r   r   r	   r
   r   r   pandas._testing_testingr#   pandas.tests.io.pytables.commonr   r   pandas.io.pytablesr   r   mark
single_cpu
pytestmarkimportorskipr   r3   r^   ra   r   r   r   parametrizer   r   r   r   r   r	  r  r%  r)  r2  r7  rE  rK  rO  rT  r]  r`  rb  rx  r|  r  r  r  r  r  r  r  r  r  r  r  r  filterwarningsint64rh   r  r  r  r   r@   r2   <module>r     s-             

 kk$$%
			X	&/$(4V!:z "F! H  #^4ce<!$ 7#0/E4=!A.1eeW-=		
 #0/E4=!A.1eeW-=	
*%<+*%<P$B86O0 GW#56- 7-&+B?D0=4*6*Z0.* l34'7);<- = 5-6//s0l0,0+#\D"
& (FG6 H6 &&	&&& u6H 7HB /+8 RSq!fBHH%sCj

+<++\137	E	 TE 4"45	 6	I
,r@   