
    Pi                        d dl Zd dlZd dlmZ d dlm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mZ d dlmZ ej        j        gZd Zd Zd Zd	 Zd
 Zd Zd Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(d Z)d Z*d Z+d Z,d Z-d Z.d Z/d Z0d Z1d Z2d Z3d  Z4d! Z5d" Z6d# Z7d$ Z8d% Z9d& Z:ej        ;                    d'd(d)d*g dgg          d+             Z<d, Z=dS )-    N)	Timestamp)PY312)	DataFrameHDFStoreIndex
MultiIndexSeries_testingbdate_rangeconcat
date_rangeisnaread_hdf)Termc                    t          g dg dgg dg dgddg          }t          t          j                            d                              d	          |g d
          }|                     d|d           |dg         }t          j        | 	                    ddg          |           t          j        | 	                    dd          |           t          t          j                            d                              d          |d          }|                     d|d           t          j        | 	                    dd          |           d S )N)foobarbazqux)onetwothree)
r   r   r      r      r      r   r   )
r   r   r   r   r   r   r   r   r   r   foo_namebar_name)levelscodesnamesr   )
   r   )ABCindexcolumnsdftableformatr"   r'   zcolumns=['A']wherer!   )r&   names)r   r   nprandomdefault_rngstandard_normalputtmassert_frame_equalselectr	   assert_series_equal)temp_hdfstorer&   r(   expectedr0   s        x/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/io/pytables/test_select.pytest_select_columns_in_wherer=      s|    ,,,.E.E.EF---/M/M/MN:&  E 

	a  0099
 
 
B dBw///3%yH-..tcU.CCXNNN-..t?.KKXVVV 	ry$$Q''77;;5sSSSAc1W---=//?/KKQOOOOO    c                 ,   t          t          j                            d                              d          g d          }t          dddd	          |_        |                     d
|           |                     d
          }|}t          j
        ||d           |                     d
|j                  }|}t          j
        ||d           |                     d
dg          }|j        d d dgf         }t          j
        ||           d S )Nr   r!      r"   r"   r#   r#   r,   20130101 9:30r!   minnsperiodsfrequnitr(   T	by_blocksr"   )r   r1   r2   r3   r4   r   r&   appendr8   r6   r7   r'   locr:   r(   resultr;   s       r<   test_select_with_dupsrP   9   s    	
	a  0099CWCWCW
 
 
B /2EMMMBHr"""!!$''FH&(d;;;;!!$
!;;FH&(d;;;;!!$!66Fvaaa#hH&(+++++r>   c           
         t          t          t          j                            d                              d          g d          t          t          j                            d                              ddd                              dd          d	d
g          gd          }t          dddd          |_	        | 
                    d|           |                     d          }|}t          j        ||d           |                     d|j                  }|}t          j        ||d           |j        d d d	gf         }|                     dd	g          }t          j        ||d           |j        d d dd	gf         }|                     ddd	g          }t          j        ||d           d S )Nr   r@   rB   r,   r   r!      sizer"   r$   r   axisrC   rD   rE   rF   r(   TrJ   r#   )r   r   r1   r2   r3   r4   integersreshaper   r&   rL   r8   r6   r7   r'   rM   rN   s       r<   #test_select_with_dups_across_dtypesrY   O   s   		%%a((88AA,,,   	%%a((11!Rb1AAII"aPPc
  		
 
 
 
B /2EMMMBHr"""!!$''FH&(d;;;;!!$
!;;FH&(d;;;;vaaa#hH!!$!66F&(d;;;;vaaa#sm$H!!$c
!;;F&(d;;;;;;r>   c           
         t          t          t          j                            d                              d          g d          t          t          j                            d                              ddd                              dd          d	d
g          gd          }t          dddd          |_	        | 
                    d|           | 
                    d|           |j        d d dd	gf         }t          ||g          }|                     ddd	g          }t          j        ||d           d S )Nr   r@   rB   r,   r   r!   rR   rS   r"   r$   r   rU   rC   rD   rE   rF   r(   r#   TrJ   )r   r   r1   r2   r3   r4   rW   rX   r   r&   rL   rM   r8   r6   r7   r:   r(   r;   rO   s       r<   .test_select_with_dups_across_index_and_columnsr\   r   sY   		%%a((88AA,,,   	%%a((11!Rb1AAII"aPPc
  		
 
 
 
B /2EMMMBHr"""r"""vaaa#sm$Hx*++H!!$c
!;;F&(d;;;;;;r>   c           
      <   t          t          j                            d                              d          t          t          d                    t          dddd          	          }|                     d
|           | 	                    d
ddg          }|
                    ddg          }t          j        ||           | 	                    d
dg          }|
                    ddg          }t          j        ||           |                     d
           |                     d
|dg           | 	                    d
dgddg          }||j        dk             
                    ddg          }t          j        ||           |                     d
           |                     d
|d           | 	                    d
dgddg          }||j        dk             
                    ddg          }t          j        ||           |                     d
           |                     d
|dg           | 	                    d
dgddg          }||j        dk             
                    ddg          }t          j        ||           d S )Nr   r@   ABCD
2000-01-01r!   r#   rE   rF   r'   r&   r(   r"   r,   zcolumns=['A', 'B']data_columnszA > 0r   Tr$   D)r   r1   r2   r3   r4   r   listr   rL   r8   reindexr6   r7   remover"   rN   s       r<   test_selectrg      s   	
	a  0099d6ll##r$GGG
 
 
B
 r"""!!$c
!;;Fzz3*z--H(F+++ !!$)=(>??Fzz3*z--H(F+++ r666!!$	C:!FFF"$(|##S#J#77H(F+++ r555!!$	C:!FFF"$(|##S#J#77H(F+++ r666!!$	C:!FFF"$(|##S#J#77H(F+++++r>   c                 p   t          t          ddd          t          j                            d                              d          d          }|                     d|dd	g
           |                     dd          }||j        t          d          k             }t          j        ||           d S )N
2012-01-01,  rE   rG   rI   r   )tsr"   r(   rl   r"   ra   ts>=Timestamp('2012-02-01')
2012-02-01)r   r   r1   r2   r3   r4   rL   r8   rl   r   r6   r7   rN   s       r<   test_select_dtypes_timestampro      s    	lCdCCC&&q))99#>>	
 	

 
B rs<<<!!$(EFFF"%9\2223H(F+++++r>   c                 x   t          t          j                            d                              d          ddg          }d|d<   d|j        d	d
df<   |d         dk    |d<   |                     d|d           ||j        dk                                 ddg          }dD ]4}| 	                    dd| ddg          }t          j        ||           5||j        dk                                 ddg          }dD ]4}| 	                    dd| ddg          }t          j        ||           5d S )Nr   )   r   r"   r#   r,   r   objectr   rA   rq   r   boolvr(   Tra   )Ttruer   z	boolv == F)Ffalser   )r   r1   r2   r3   r4   rM   rL   rs   re   r8   r6   r7   )r:   r(   r;   vrO   s        r<   test_select_dtypes_boolsrw      sh   	29((++;;FCCcSVZ	X	X	XBBxL!BF1Q3=S'A+BwKr555"(d"#++S'N+CCH 0 0%%dOOOc7^%TT
h////"(e#$,,c7^,DDH  0 0%%dOOOc7^%TT
h////0 0r>   c                    t          t          j                            d                              d          t          j                            d                              d          d          }|                     d|           |                     dd          }|                    t          |j                  dd         dg	          }t          j
        ||           d S )
Nr   rR   )r"   r#   df_intzindex<10 and columns=['A']r   r!   r"   r%   )r   r1   r2   r3   rL   r8   re   rd   r&   r6   r7   rN   s       r<    test_select_dtypes_integer_indexrz      s    	&&q))0044&&q))0044	
 	

 
B 2&&&!!(,HIIFzzRXqt 4sezDDH(F+++++r>   c                    t          t          j                            d                              d          t          j                            d                              d          t          j        dd          d          }|                     d|           |                     dd          }|                    t          |j	                  dd	         d
g          }t          j        ||           d S )Nr   rR   f8dtype)r"   r#   r&   df_floatzindex<10.0 and columns=['A']r   r!   r"   r%   )r   r1   r2   r3   arangerL   r8   re   rd   r&   r6   r7   rN   s       r<   test_select_dtypes_float_indexr      s    	&&q))0044&&q))0044Yr...	
 	

 
B R(((!!*.LMMFzzRXqt 4sezDDH(F+++++r>   c                 Z   t          t          d          t          d          dd          }|d         dz                       t                    |d<   |                     d|d	           |                     dd
          }||d         dk             }t          j        ||           d S )N   colsvaluesfloat64r}   r   r!   df1Tra   
values>2.0r-   r          @)r   rangeapplystrrL   r8   r6   r7   rN   s       r<   %test_select_dtypes_floats_without_nanr      s    	E"IIr;;9	M	M	MBV*r/((--BvJ666!!%|!<<F"X,$%H(F+++++r>   c                    t          t          d          t          d          dd          }|d         dz                       t                    |d<   t          j        |j        d<   ||d         d	k             }|                     d
|dd           |                     d
d          }t          j
        ||           d S )Nr   r   r   r}   r   r!   r   r   r   df2TFrb   r&   r   r-   r   r   r   r   r1   nanilocrL   r8   r6   r7   r[   s       r<   "test_select_dtypes_floats_with_nanr      s    	E"IIr;;9	M	M	MBV*r/((--BvJBGAJ"X,$%HUCCC!!%|!<<F(F+++++r>   c                    t          t          d          t          d          dd          }|d         dz                       t                    |d<   t          j        |j        d<   ||d         d	k             }|                     d
|d           |                     d
d          }t          j
        ||           d S )Nr   r   r   r}   r   r!   r   r   r   df4Tra   r   r-   r   r[   s       r<   5test_select_dtypes_floats_with_nan_not_first_positionr     s    	E"IIr;;9	M	M	MBV*r/((--BvJBGAJ"X,$%H666!!%|!<<F(F+++++r>   c           
      J   t          dt          j        d                              d          z  t	          t          d                    t	          d t          d          D                                 }||d         d	k             }|                     d
|d           |                    t          j
                            t          dt                               t          j        d	          }|                     d
dg          }t!          j        ||           d S )N皙?x   )   rA   r^   c                     g | ]}d | S )zi- .0is     r<   
<listcomp>zCtest_select_dtypes_comparison_with_numpy_scalar.<locals>.<listcomp>  s    111!X!XX111r>   r   r`   r"   r   r(   Tra   AST change in PY312reasonraisesz	A>np_zeror-   )r   r1   r   rX   r   rd   r   rL   applymarkerpytestmarkxfailr   
ValueErrorr   r8   r6   r7   )r:   requestr(   r;   np_zerorO   s         r<   /test_select_dtypes_comparison_with_numpy_scalarr     s   	binn$$W---d6ll##11uRyy11122
 
 
B "S'A+Hr555( 	 	
 	
   jmmG!!${m!<<F(F+++++r>   c           
         t          t          ddd          t          j                            d                              d          t          d          dgdz  dgdz  z   d	gd
z  z   d t          d
          D             z   d          }|                     d|g d           |                     dd          }||j	        t          d          k             }t          j        ||           |                     dd          }||j	        t          d          k    |j                            g d          z           }t          j        ||           g dd t          d          D             z   }|                     dd          }||j	        t          d          k    |j                            |          z           }t          j        ||           t          d
d          }|                     dd          }||j                            |                   }t          j        ||           t!          |          d
k    sJ t#          |j	        dd
         j                  }|                     dd          }||j	                            |j                           }t          j        ||           t!          |          d
k    sJ d S )Nri   rj   rE   rk   r   a2   bcd   c                     g | ]}d |d	S r   03dr   r   s     r<   r   z0test_select_with_many_inputs.<locals>.<listcomp>/  s     ///q{1{{{///r>   )rl   r"   r#   usersr(   ra   rm   rn   z1ts>=Timestamp('2012-02-01') & users=['a','b','c'])r   r   r   c                     g | ]}d |d	S r   r   r   s     r<   r   z0test_select_with_many_inputs.<locals>.<listcomp>A  s     !A!A!A!+a+++!A!A!Ar>   <   z.ts>=Timestamp('2012-02-01') and users=selector   z
B=selectorr   zts=selector)r   r   r1   r2   r3   r4   r   rL   r8   rl   r   r6   r7   r   isinr#   lenr   r   )r:   r(   rO   r;   selectors        r<   test_select_with_many_inputsr   &  s   	lCdCCC&&q))99#>>sURZebjeck 0/E#JJ///0		
 	


 

B r0I0I0IJJJ !!$(EFFF"%9\2223H(F+++ !!A F 25Il333rx}}___7U7UUVH(F+++ !A!AuRyy!A!A!AAH!!> F 25Il333rx}}X7N7NNOH(F+++S#H!!$55F"$))H%%&H(F+++v;;# RU1S5\())H!!$66F"%**X_--.H(F+++v;;#r>   c           
         t          t          j                            d                              d          t          t          d                    t          dddd          	          }|                     d
|           | 	                    d
          }t          | 	                    d
d                    }t          |          }t          j        ||           t          | 	                    d
d                    }t          |          dk    sJ t          |          }t          j        ||           t          | 	                    d
d                    }t          |          }t          j        ||           d S )Nr   r@   r^   r_   r!   r#   rE   rF   r`   r(   Titerator	chunksizerq   )r   r1   r2   r3   r4   r   rd   r   rL   r8   r   r6   r7   r   )r:   r(   r;   resultsrO   s        r<   test_select_iteratorr   V  s^   	
	a  0099d6ll##r$GGG
 
 
B
 r"""##D))H=''t'<<==GG__F(F+++='''::;;Gw<<1G__F(F+++='''::;;GG__F&(+++++r>   c           
      (   t          t          j                            d                              d          t          t          d                    t          dddd          	          }|                    | d
           d}t          j
        t          |          5  t          | d
d           d d d            n# 1 swxY w Y   t          j
        t          |          5  t          | d
d           d d d            d S # 1 swxY w Y   d S )Nr   r@   r^   r_   r!   r#   rE   rF   r`   df_non_table)keyz0can only use an iterator or chunksize on a tablematchr   Tr   )r   r1   r2   r3   r4   r   rd   r   to_hdfr   r   	TypeErrorr   )temp_h5_pathr(   msgs      r<   test_select_iterator2r   o  s   	
	a  0099d6ll##r$GGG
 
 
B
 IIlI///
<C	y	,	,	, < <~;;;;< < < < < < < < < < < < < < < 
y	,	,	, > >~====> > > > > > > > > > > > > > > > > >s$   "CCC'DDDc           
         t          t          j                            d                              d          t          t          d                    t          dddd          	          }|                    | d
d           t          t          | d
d                    }t          |          }t          |          dk    sJ t          j        ||           t          j        |t          | d
                     d S )Nr   r@   r^   r_   r!   r#   rE   rF   r`   r(   r)   )r   r+   r   rq   )r   r1   r2   r3   r4   r   rd   r   r   r   r   r   r6   r7   )r   r(   r   rO   s       r<   test_select_iterator3r     s    	
	a  0099d6ll##r$GGG
 
 
B
 IIlWI5558L$!<<<==GG__Fw<<1&"%%%&(<">">?????r>   c           
      h   t          t          j                            d                              d          t          t          d                    t          dddd          	          }|                     d
|d           |	                                
                    dj                  }d|d<   |                     d|           |                     d
dgd
          }t          |                     d
dgd
d                    }t          |          }t          j        ||           d S )Nr   r@   r^   r_   r!   r#   rE   rF   r`   r   Tra   {}_2r,   r   r   r   )r   )r   r   )r   r1   r2   r3   r4   r   rd   r   rL   copyrenamer+   select_as_multipler   r6   r7   )r:   r   r   r;   r   rO   s         r<   test_select_iterator_multipler     s(   

	a  0099d6ll##r$GGG  C
 $777
((**

FM

2
2CCJ$$$ ///OOH((%%ST(UU G G__F(F+++++r>   c           
         t          t          j                            d                              d          t          t          d                    t          dddd          	          }|                     d
|           |j	        d         }|j	        d         }| 
                    d
          }t          j        ||           d| d}| 
                    d
|          }t          j        ||           d| d}| 
                    d
|          }t          j        ||           d| d| d}| 
                    d
|          }t          j        ||           d S )Nr    rA   r^   r_   r   r0   rE   rF   r`   r(   r   
index >= ''r-   
index <= '' & index <= ')r   r1   r2   r3   r4   r   rd   r   rL   r&   r8   r6   r7   )r:   r;   beg_dtend_dtrO   r.   s         r<   "test_select_iterator_complete_8014r     s{    
	a  00==d6ll##vCdKKK  H
 x(((^AF^BF !!$''F(F+++ #"""E!!$e!44F(F+++ #"""E!!$e!44F(F+++ 988v888E!!$e!44F(F+++++r>   c           
         d}t          t          j                            d                              d          t          t          d                    t          dddd	          
          }|                     d|           |j	        d         }|j	        d         }t          | 
                    d|                    }t          |          }t          j        ||           d| d}t          | 
                    d||                    }t          |          }t          j        ||           d| d}t          | 
                    d||                    }t          |          }t          j        ||           d| d| d}t          | 
                    d||                    }t          |          }t          j        ||           d S )N     @r   r   r^   r_   r   r0   rE   rF   r`   r(   r   r   r   r   r   r.   r   r   r   r   r1   r2   r3   r4   r   rd   r   rL   r&   r8   r   r6   r7   )r:   r   r;   r   r   r   rO   r.   s           r<   -test_select_iterator_complete_8014_full_ranger     s   I
	a  00==d6ll##vCdKKK  H
 x(((^AF^BF =''	'BBCCGG__F(F+++ #"""E=''EY'OOPPGG__F(F+++ #"""E=''EY'OOPPGG__F(F+++ 988v888E=''EY'OOPPGG__F(F+++++r>   c           
         d}t          t          j                            d                              d          t          t          d                    t          dddd	          
          }|                     d|           |j	        d         }|j	        d         }d| d}t          | 
                    d||                    }t          |          }||j	        |k             }t          j        ||           d| d}t          | 
                    d||                    }t          |          }||j	        |k             }t          j        ||           d| d| d}t          | 
                    d||                    }t          |          }||j	        |k    |j	        |k    z           }t          j        ||           d S )Nr   r   r   r^   r_   r   r0   rE   rF   r`   r(   r   r   r   r   r   r   r   	r:   r   r;   r   r   r.   r   rO   	rexpecteds	            r<   &test_select_iterator_non_complete_8014r     s    I 
	a  00==d6ll##vCdKKK  H
 x(((^AF^BF #"""E=''EY'OOPPGG__F612I)V,,, #"""E=''EY'OOPPGG__F612I)V,,, 988v888E=''EY'OOPPGG__F(.F2x~7OPQI)V,,,,,r>   c           
         d}t          t          j                            d                              d          t          t          d                    t          dddd	          
          }|                     d|           |j	        d         }d| d}t          | 
                    d||                    }dt          |          k    sJ d S )Nr   r   r   r^   r_   r   r0   rE   rF   r`   r(   r   z	index > 'r   r   r   )r   r1   r2   r3   r4   r   rd   r   rL   r&   r8   r   )r:   r   r;   r   r.   r   s         r<   2test_select_iterator_non_complete_8014_empty_wherer     s    I
	a  00==d6ll##vCdKKK  H
 x(((^BF "!!!E=''EY'OOPPGGr>   c           
         d}t          t          j                            d                              d          t          t          d                    t          dddd	          
          }|                     d|           |j	        d         }|j	        |dz
           }d| d}t          | 
                    d||                    }t          |          }||j	        |k             }t          j        ||           d| d}t          | 
                    d||                    }t          |          dk    sJ t          |          }||j	        |k             }t          j        ||           d| d| d}t          | 
                    d||                    }t          |          dk    sJ t          |          }||j	        |k    |j	        |k    z           }t          j        ||           d| d| d}t          | 
                    d||                    }t          |          dk    sJ d S )Ni'  r   r   r^   r_   r   r0   rE   rF   r`   r(   r   r   r   r   r   r   r   z' & index >= ')r   r1   r2   r3   r4   r   rd   r   rL   r&   r8   r   r6   r7   r   r   s	            r<   &test_select_iterator_many_empty_framesr   $  sa    I 
	a  00==d6ll##vCdKKK  H
 x(((^AF^IM*F #"""E=''EY'OOPPGG__F612I)V,,, #"""E=''EY'OOPPGw<<1G__F612I)V,,, 988v888E=''EY'OOPPG w<<1G__F(.F2x~7OPQI)V,,, 988v888E=''EY'OOPPG w<<1r>   c           
         t          t          j                            d                              d          t          t          d                    t          dddd          	          }|                     d
|d           |j	        t          |          dz           }t          d          }|j        j        d         |k    sJ d}d}|                    t          j                            t$          dt&                               |                     d
||g          }|j        |d ddgf         }t-          j        ||           |                     d
|g          }|j        d d dgf         }t-          j        ||           t          t          j                            d                              d          t          t          d                    t          dddd          	          }|                     d|           d}	t          j        t4          |	          5  |                     dd           d d d            d S # 1 swxY w Y   d S )Nr   r@   r^   r_   r!   r#   rE   rF   r`   framer)   r*   zindex>=datedatezcolumns=['A', 'D']z	columns=Ar   r   r"   rc   df_timez day is out of range for month: 0r   zindex>0)r   r1   r2   r3   r4   r   rd   r   r5   r&   r   r   envscoper   r   r   r   r   r   r8   rM   r6   r7   rL   r   r   )
r:   r   r(   r   crit1crit2crit3rO   r;   r   s
             r<   test_frame_selectr   ]  s   	
	a  0099d6ll##r$GGG
 
 
B gr'2228CGGqL!DE9?6"d**** EE( 	 	
 	
   !!'E5>::Fvdeec3Z'(H&(+++!!'E733Fvaaa#hH&(+++ 

	a  0099d6ll##r$GGG
 
 
B
 B'''
,C	z	-	-	- 3 3Y	2223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3s   +IIIc           
         t          t          j                            d                              d          t          t          d                    t          dddd          	          }d
|d<   d|j        |j	        dd         df<   | 
                    d|ddg           |                     dd          }|j        |j	        |j	        d         k    |j        dk    z           }t          j        ||           |                     dd          }|j        |j	        |j	        d         k    |j        d
k    z           }t          j        ||           |                     dd          }|j        |j	        |j	        d         k    |j        dk    z           }t          j        ||           |                     dd          }|j        |j	        |j	        d         k    |j	        |j	        d         k    z  |j        dk    z           }t          j        ||           |                     dd          }|j        |j        dk             }t          j        ||           d}t          j        t"          |          5  |                     dd           d d d            n# 1 swxY w Y   |                     dd          }|j        d d |j                            ddg          f         }t          j        ||           |                     dd          }|j        |j	        |j	        d         k                                 ddg          }t          j        ||           d S ) Nr   r@   r^   r_   r!   r#   rE   rF   r`   r   stringr   r   rA   r(   r)   r+   rb   z index>df.index[3] & string="bar"r   z index>df.index[3] & string="foo"z index>df.index[3] | string="bar"z7(index>df.index[3] & index<=df.index[6]) | string="bar"   zstring!="bar"z6cannot use an invert condition when passing to numexprr   z~(string="bar")z~(columns=['A','B'])r"   z(index>df.index[3] & columns in ['A','B']r,   )r   r1   r2   r3   r4   r   rd   r   rM   r&   r5   r8   r   r6   r7   r   r   NotImplementedErrorr'   
differencere   )r:   r(   rO   r;   r   s        r<   test_frame_select_complexr    sw    

	a  0099d6ll##r$GGG
 
 
B
 BxL&+BF28AaC=("#dBwhZHHH !!$(JKKFvrx"(1+-")u2DEFH&(+++!!$(JKKFvrx"(1+-")u2DEFH&(+++ !!$(JKKFvrx"(1+-")u2DEFH&(+++!!G F v
(RXa[
 RX!%<	=")uBTUH &(+++ !!$88Fvbi5()H&(+++ CC	*#	6	6	6 6 6T#45556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 !!$(>??Fvaaa..Sz:::;H&(+++ !!$(RSSFvbh!,-55sCj5IIH&(+++++s   ;JJ"%J"c           
         | dz  }| dz  }t          dg di          }|                    |ddddg           t          |dd	
          }t          t          j                            d                              d          dgt          j        d t          d          D             ddg                    }|                    |ddd           t          |dd
          }|j
                                        }t          |          5 }|                    dd
          }	t          j        |	|           d d d            n# 1 swxY w Y   t          |dd
          }	t          j        |	|           |j
        }
t          |dd
          }	t          j        |	|           t          |dd
          }	t          j        |	|           t          |dd
          }	t          j        |	|           t          |dd
          }	t          j        |	|           t          |          5 }|                    dd
          }	t          j        |	|           |                    dd
          }	t          j        |	|           |                    dd
          }	t          j        |	|           |                    dd
          }	t          j        |	|           d d d            d S # 1 swxY w Y   d S )Nz
params.hdfzhist.hdfr"   )r   r   r   r   r   r(   wr)   )r   moder+   rb   zA=[2,3]r-   r   )   r   datac                 :    g | ]}t          d           D ]}||fS )rq   )r   )r   r   js      r<   r   z.test_frame_select_complex2.<locals>.<listcomp>  s/    888uQxx88!aV8888r>   rq   l1l2)r    r`   )r   r  r+   zl1=[2, 3, 4]zl1=l0zl1=indexzl1=selection.indexzl1=selection.index.tolist()zl1=list(selection.index))r   r   r   r1   r2   r3   r4   r   from_tuplesr   r&   tolistr   r8   r6   r7   )tmp_pathpphhparams	selectionhistr;   l0storerO   r&   s              r<   test_frame_select_complex2r    sz   	L	 B	J	B ___-..F
MM"$SuMMMMT333I
	a  0099$88U1XX888t
 
 
  D 	KK3wK777D777H 
			!	!B	" 0d'22
fh///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 b$g...F&(+++ OEb$j111F&(+++b$&:;;;F&(+++b$&CDDDF&(+++b$&@AAAF&(+++ 
" 0d*55
fh///d*>??
fh///d*GHH
fh///d*DEE
fh///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s%   -EEE+B1K))K-0K-c           
      :   t          t          j                            d                              d          t          t          d                    t          dddd          	          }|                     d
|d           d}t          j
        t          |          5  |                     d
d           d d d            n# 1 swxY w Y   t          j
        t          |          5  |                     d
d           d d d            d S # 1 swxY w Y   d S )Nr   r@   r^   r_   r!   r#   rE   rF   r`   r(   r)   r*   z unable to collapse Joint Filtersr   zcolumns=['A'] | columns=['B']z!columns=['A','B'] & columns=['C'])r   r1   r2   r3   r4   r   rd   r   r5   r   r   r   r8   )r:   r(   r   s      r<   test_invalid_filteringr     s    

	a  0099d6ll##r$GGG
 
 
B dBw///
,C	*#	6	6	6 D DT#BCCCD D D D D D D D D D D D D D D 
*#	6	6	6 H HT#FGGGH H H H H H H H H H H H H H H H H Hs$   #CC
C
,DDDc           
         t          t          j                            d                              d          t          t          d                    t          dddd          	          }d
|d<   d|j        |j	        dd         df<   | 
                    d|dg           |                     dd          }||j        d
k             }t          j        ||           |                     dd          }||j        d
k             }t          j        ||           |                                }t          j        |j        |j        dk    df<   | 
                    d|dg           |                     dd          }|t#          |j                           }t          j        ||           d|d<   d|j        |j	        dd         df<   | 
                    d|dg           |                     dd          }||j        dk             }t          j        ||           |                     dd          }||j        dk             }t          j        ||           d S )Nr   r@   r^   r_   r!   r#   rE   rF   r`   nonex    r(   ra   zx=nonezx!=noner   r   intdf3zint=2zint!=2)r   r1   r2   r3   r4   r   rd   r   rM   r&   rL   r8   r  r6   r7   r   r   r   r  )r:   r(   rO   r;   r   s        r<   test_string_selectr     sC   	
	a  0099d6ll##r$GGG
 
 
B BsG!#BF28AaC=#r666!!$11F"$&.!H&(+++!!$	22F"$&.!H&(+++
''))C "CGCERK3%888!!%33F4;;H&(+++ BuI#$BF28AaC=% %999!!%11F"&A+H&(+++!!%22F"&A+H&(+++++r>   c           
         t          t          j                            d                              d          t          t          d                    t          dddd          	          }|                                	                    d
j
                  }d|d<   d}t          j        t          |          5  |                     d ddgd           d d d            n# 1 swxY w Y   |                     d|ddg           |                     d|           t          j        t          |          5  |                     d ddgd           d d d            n# 1 swxY w Y   t          j        t          |          5  |                     d gddgd           d d d            n# 1 swxY w Y   d}t          j        t           |          5  |                     ddgddgd           d d d            n# 1 swxY w Y   t          j        t           |          5  |                     dgddgd           d d d            n# 1 swxY w Y   t          j        t           d          5  |                     ddgddgd           d d d            n# 1 swxY w Y   |                     dddg          }|                     dgddgd          }t%          j        ||           |                     dddgd          }t%          j        ||           |                     ddgddgd          }t)          ||gd          }||j        dk    |j        dk    z           }t%          j        ||d           |                     ddgd d          }t)          ||gd          }|d!d          }t%          j        ||           |                                                    d          }|                     d|           d"}t          j        t0          |          5  |                     ddgddgd           d d d            d S # 1 swxY w Y   d S )#Nr   r@   r^   r_   r!   r#   rE   rF   r`   r   r,   r   r   zkeys must be a list/tupler   zA>0zB>0r   )r.   r   r"   ra   r   z!'No object named df3 in the file'r  z!'No object named df4 in the file'r   r   rU   r   F)
check_freqzindex>df2.index[4]rq   z,all tables must have exactly the same nrows!)r   r1   r2   r3   r4   r   rd   r   r   r   r+   r   r   r   r   rL   KeyErrorr8   r6   r7   r   r"   r#   headr   )r:   r   r   r   rO   r;   r  s          r<   test_select_as_multipler%  B  s   

	a  0099d6ll##r$GGG  C
 ((**

FM

2
2CCJ
%C	y	,	,	, U U((eU^e(TTTU U U U U U U U U U U U U U U 3*===$$$ 
y	,	,	, U U((eU^e(TTTU U U U U U U U U U U U U U U 
y	,	,	, W W(($u~PU(VVVW W W W W W W W W W W W W W W .C	xs	+	+	+ 
 
((EN5%.5 	) 	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
xs	+	+	+ X X((%QV(WWWX X X X X X X X X X X X X X X 
x'J	K	K	K 
 
((EN5%.5 	) 	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 !!%%88F//	u~ 0  H &(+++//eU^e 0  H &(+++ --	uenu .  F sCjq)))HaHJN;<H&(u==== --	2U .  F sCjq)))H|H&(+++ ((**//!

C$$$
8C	z	-	-	- 
 
((EN5%.5 	) 	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
s~   =C$$C(+C(:E!!E%(E%F//F36F3H  HH&III4JJ!$J!(QQQc                    t          t          d          t          d          dd          }|d         dz                       t                    |d<   t          j        |j        d<   t          g dg d	dg d
          }|                     d|ddg           |                     dd          }t          j
        ||           d S )Nr   r   r   r}   r   r!   r   )z13.0z14.0z15.0)g      @g      @g      @)r   rA   rq   )r&   r(   Tr   r   r-   r   r[   s       r<   test_nan_selection_bug_4858r'    s    	E!HHa99	K	K	KBV*r/((--BvJBGAJ)))___EEii  H rVHEEE!!$l!;;F&(+++++r>   c                     t          g dg dd          }||j        dk             }|                     d|dd           |                     dd	          }t	          j        ||           d S )
N)r   r   r   r   test & testr   r   e)r   r   r   rA   rq   r   r     )r   r   r)  testr)   Tr   za = "test & test")r   r   rL   r8   r6   r7   r[   s       r<   (test_query_with_nested_special_characterr-    s    	CCC)))	
 	

 
B "$-'(HG$GGG!!&*=>>F(F+++++r>   c                    t          dg di          }|                     d|dd           d}|                     dd|d	          }|j        sJ d
}|                     dd|d	          }|j        ddgd d f         }t          j        ||           d}|                     dd|d	          }|j        dgd d f         }t          j        ||           d S )Nr"   )g~  eA$  eAg'1  eAr,  r)   Tr   g  eAzA < z.4fg   eAzA > r   r   r/  zA == )r   rL   r8   emptyrM   r6   r7   )r:   r(   cutoffrO   r;   exacts         r<   test_query_long_float_literalr3    s   	CLLLM	N	NBG$GGGF!!&*=*=*=*=>>F<<F!!&*=*=*=*=>>Fvq!faaai H(F+++E!!&*=%*=*=*=>>Fvqc111f~H(F+++++r>   c                 D   t          ddgt          ddd          ddgddgd	g d	
          }|                     d|dd           t          d          }|                     dd          }|j        dgd d f         }t          j        ||           dD ]}ddt          d          t          j	        dd          fD ]h}d| d}d| dt          |           d}t          j        t          |          5  |                     d|           d d d            n# 1 swxY w Y   id}dD ]_}	|	 d| d}|	dk    rd}nd}t          j        t          |          5  |                     d|           d d d            n# 1 swxY w Y   `t          g d g d          D ]|\  }}	|	 d| d}|                     d|          }|d!k    r|j        d"gd d f         }n*|d#k    r|j        dgd d f         }n|j        g d d f         }t          j        ||           }d S )$N
2014-01-01z
2014-01-02r   rE   rk   r   g333333?r   )r   	real_datefloatr  r,   r,  r)   Tr   zreal_date > tsr-   )<>==g @r0   zdate z vzCannot compare z	 of type z to string columnr   r   )r  r7  r6   r6  z+Given date string "a" not likely a datetimezcould not convert string to)1z1.1r5  r:  r   r9  )r   r   rL   r   r8   rM   r6   r7   pd	Timedeltatyper   r   r   r   zip)
r:   r(   rl   rO   r;   oprv   queryr   cols
             r<   test_query_compare_column_typerD    s:   	!<0#L!$GGG3Zq6		
 	
 655
 
 
B G$GGG	<	 	 B!!&0@!AAFvqc111f~H(F+++ 4 4tY|44bl1c6J6JK 	: 	:A"BNNNEJAJJQJJJCy444 : :$$V5$999: : : : : : : : : : : : : : : 0 	: 	:COOROOOEk!!C3z555 : :$$V5$999: : : : : : : : : : : : : : : 4446S6S6STT 
	4 
	4FAsOOROOOE"))&)>>FTzz61#qqq&>s61#qqq&>6"aaa%=!(F3333
	4'4 4s$   9DD!$D!FFFr.   r  r   )Nc                     t          g d          }|                     d|d           t          | d|          }t          j        ||           d S )N)r   r   r   r(   tr-   )r   r5   r   r6   r7   )r:   r.   r(   rO   s       r<   test_select_empty_whererG    sZ     
999		BdB$$$mT777F&"%%%%%r>   c                 (   t          t          g dg d          ddg          }|                     d|dd	           |                     dd
                              d                              d          }|d         d         }||k    sJ d S )N)r   r   r   d)l l l {   r  yr,   r  TFr   zy==-9223372036854775801r-   r   )r   r@  rL   r8   getrN   s       r<   test_select_large_integerrM    s    	   SSS	
 	
 c

 
 
B $eDDDV+DEEII#NNRRSTUU  #wqzHvr>   )>numpyr1   r   pandas._libs.tslibsr   pandas.compatr   pandasr=  r   r   r   r   r	   r
   r6   r   r   r   r   r   pandas.io.pytablesr   r   
single_cpu
pytestmarkr=   rP   rY   r\   rg   ro   rw   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r   r%  r'  r-  r3  rD  parametrizerG  rM  r   r>   r<   <module>rV     sJ        ) ) ) ) ) )                                    $ # # # # #k$%
P P P<, , ,, <  <  <F< < <0$, $, $,N, , ,0 0 0&
, 
, 
,, , ,, , ,, , ,	, 	, 	,, , ,.- - -`, , ,2> > > @ @ @ , , ,(", ", ",J", ", ",J#- #- #-L  "6 6 6r(3 (3 (3`5, 5, 5,p80 80 80vH H H**, *, *,ZI
 I
 I
X, , , 
, 
, 
,, , ,*04 04 04f 2r7B"?@@& & A@&    r>   