
    PiG                        d dl Z d dlZ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 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$ej        %                    d          d             Z&d Z'd Z(ej        %                    d          d             Z)d Z*ej        +                    dd ej,        dej-                  g          d             Z.d Z/ej        +                    dej0        ej1        e2ddg          d             Z3d  Z4d! Z5ej        +                    dd ej,        dej-                  g          d"             Z6d*d#Z7d*d$Z8d% Z9d& Z:d' Z;d( Z<d) Z=dS )+    N)	Timestamp)is_platform_windows)		DataFrameDatetimeIndexHDFStoreIndexSeries_testingbdate_range
date_rangeread_hdf)_test_decoratorsc           
           fd}t          t          j        dt          j                  t	          dd                    }t          j        | |d|                     t          t          d          dd	 t          d          D             
          }t          j        | |d|                     t          dt          j        d          	                    d          z  t          t          d                    t          d t          d          D                                 }t          j        | |d|                     t          t          d          t          d          d          }|                     dd           t           ddg          }t          j        ||j        dk             |           d S )Nc                 D     |j         fd| i| t          |           S )Nkey)to_hdfr   )r   objkwargstemp_h5_paths      |/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/io/pytables/test_round_trip.py	roundtripz'test_conv_read_write.<locals>.roundtrip   s2    
<33S3F333c***    
   dtype
2020-01-01periodsindexseriesfloat64c                     g | ]}d | S i_ .0is     r   
<listcomp>z(test_conv_read_write.<locals>.<listcomp>%       1N1N1Nq(q((1N1N1Nr   r   r    string_series皙?x         ABCDc                     g | ]}d | S zi-r&   r'   s     r   r*   z(test_conv_read_write.<locals>.<listcomp>+       111!X!XX111r   r1   columnsr    frame   ABtableTr   appendzindex>2)where   )r	   nparanger"   r   tmassert_series_equalranger   reshaper   listassert_frame_equalr   r   r    )r   r   odfresults   `    r   test_conv_read_writerN      s   + + + + + 	
	"BJ'''z,PR/S/S/S	 	 	A 1ii!44555uRyy	1N1NE"II1N1N1NOOOA1ii;;<<<binn$$W---d6ll##11uRyy11122	 	 	A
 !YYw22333 
qa11	2	2BIIlI555lGI;???F"RX\*F33333r   c                     dgdz  }t          d|i|          }|                     d|dg           |                     d          }t          j        ||           d S )N2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar   ar   rL   )data_columns)r   r@   selectrE   rJ   )temp_hdfstoredatarL   rM   s       r   test_long_stringsrV   6   sl    :?D	C;d	+	+	+Br666!!$''F"f%%%%%r   c                    | }t          t          d                    }|j        d d                             |ddd           |j        dd                              |ddd           t	          j        t          |d          |           |j        d d                             |ddd           |j        dd                              |ddd           t	          j        t          |d          |           d S )N   r   rL   Tr>   r   r@   formatFr   rG   ilocr   rE   rJ   r   r   pathrL   s      r   test_apir_   A   s     D	599		BGCRCL$tGDDDGBCCL$tGDDD(4..333 GCRCL$uWEEEGBCCL$tGDDD(4..33333r   c                    | }t          t          d                    }|j        d d                             |dd           |j        dd                              |ddd           t	          j        t          |d          |           |j        d d                             |ddd           |j        dd                              |dd           t	          j        t          |d          |           d S )	NrX   r   rL   Tr?   r>   rY   Fr[   r]   s      r   test_api_appendra   Q   s    D	599		BGCRCL$t444GBCCL$tGDDD(4..333 GCRCL$uWEEEGBCCL$t444(4..33333r   c                    t          t          d                    }|                    | ddd           t          j        t          | d          |           |                    | ddd           t          j        t          | d          |           |                    | dd           t          j        t          | d          |           |                    | d           t          j        t          | d          |           d S )	NrX   rL   FfixedrY   fr?   )r   )r   rG   r   rE   rJ   r   r   rL   s     r   
test_api_2rf   _   s    	599		BIIlU7ICCC(<66;;;IIlU3I???(<66;;;IIlUI333(<66;;;IIlI%%%(<66;;;;;r   c                 \   t          t          d                    }|                     d|j        d d         dd           |                     d|j        dd          dd           t	          j        |                     d          |           |                     d           |                     d|j        d d         dd           |                     d|j        dd          dd           t	          j        |                     d          |           |                     d           |                     d|j        d d         dd           |                     d|j        dd          dd           t	          j        |                     d          |           |                     d           |                     d|j        d d         dd           |                     d|j        dd          dd            t	          j        |                     d          |           d S )NrX   rL   r   Tr>   )r@   rZ   F)r   rG   r@   r\   rE   rJ   rS   remove)rT   rL   s     r   
test_api_3ri   n   s   	599		Brwss|DIIIrwrss|DIII-..t44b999 rwss|E'JJJrwrss|DIII-..t44b999 rwss|E'JJJrwrss|DIII-..t44b999rwss|E'JJJrwrss|DFFF-..t44b99999r   c           
         | }t          dt          j        d                              d          z  t	          t          d                    t	          d t          d          D                                 }d}t          j        t          |	          5  |
                    |d
dd           d d d            n# 1 swxY w Y   t          j        t          |	          5  |
                    |d
dd           d d d            n# 1 swxY w Y   d}t          j        t          |	          5  |
                    |d
dd           d d d            n# 1 swxY w Y   t          j        t          |	          5  |
                    |d
dd           d d d            n# 1 swxY w Y   d}d| d}t          j        t          |	          5  t          |d
           d d d            d S # 1 swxY w Y   d S )Nr.   r/   r0   r3   c                     g | ]}d | S r5   r&   r'   s     r   r*   z$test_api_invalid.<locals>.<listcomp>   r6   r   r1   r7   zCan only append to TablesmatchrL   Trd   rY   rc   z)invalid HDFStore format specified \[foo\]fooF zFile z does not exist)r   rC   rD   rH   r   rI   rG   pytestraises
ValueErrorr   	TypeErrorFileNotFoundErrorr   )r   r^   rL   msgs       r   test_api_invalidrv      s-   D	binn$$W---d6ll##11uRyy11122
 
 
B &C	z	-	-	- ; ;
		$Dc	:::; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 
z	-	-	- ? ?
		$Dg	>>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 7C	y	,	,	, = =
		$De	<<<= = = = = = = = = = = = = = = 
y	,	,	, > >
		$Du	===> > > > > > > > > > > > > > > D
'$
'
'
'C	(	4	4	4  t                 sZ   B>>CC$D

DD2EEE>F$$F(+F(G00G47G4c                    t          t          j        dt          j                  t	          dd                    | d<   |                     d          }| d         }t          j        ||           |                     d          }| d         }t          j        ||           t          j	        t          d	          5  |                     d
           d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   r   rQ   z/az'No object named b in the file'rl   b)r	   rC   rD   r"   r   getrE   rF   rp   rq   KeyError)rT   leftrights      r   test_getr}      s/   
	"BJ'''z,PR/S/S/S  M# S!!D#E4'''T""D$E4'''	x'H	I	I	I  #                 s   C$$C(+C(c                     t          t          j                            d                              d                    }t          |t          j        |            d S )NrB   )2   d   )r   rC   randomdefault_rngstandard_normal_check_roundtriprE   rJ   re   s     r   test_put_integerr      sH    	29((++;;IFF	G	GBR.=====r   c                 $   t          dg did          }|                     d|           t          j        |j        | d         j                   t          dg did          }|                     d|           t          j        |j        | d         j                   t          j        d          }t          j        t          |	          5  |                     d|           d d d            n# 1 swxY w Y   t          t          j        d
gdgdggd          dg          }|                     d|           t          j        |j        | d         j                   |j        j        d         dk    sJ t          d dD                       }d|d<   d|d<   |d                             d          |d<   |d         dk    |d<   t          d                              d          |d<   t          d                              d          |d<   t          d                              d           |d!<   t          d"          |d#<   |                     d$|           |                     d$          j                                        }d% |j        D             |_        |rd&nd'}t'          ddd(d
d)d
dd
d*d
d+d
d,d
|d
d-dd.d
d/d
id01          }|                                }|                                }t          j        ||           d S )2NrQ      rB      f8r   df_f8i8df_i8zdCannot serialize the column [a] because its data contents are not [float] but [integer] object dtyperl   r   rB   r   f4r<   r8   df_f4r   float32c                     i | ]D}|t          t          j                            d                               d          |          ES )rB   r:   r   )r	   rC   r   r   integers)r(   cs     r   
<dictcomp>z6test_table_values_dtypes_roundtrip.<locals>.<dictcomp>   sU     	
 	
 	
 vbi++A..77::!DDD	
 	
 	
r   )r   r"   int32int64int16int8rn   string      ?float322bool20130101stime_s_1z20130101 00:00:00time_s_2z20130101 00:00:00.000mstime_msz20130102 00:00:00.000000000time_nsdf_mixed_dtypes1c                 ,    g | ]}t          |          S r&   )strr'   s     r   r*   z6test_table_values_dtypes_roundtrip.<locals>.<listcomp>   s    111qCFF111r   r   objectr"   r   r   r   r   zdatetime64[s]zdatetime64[ms]zdatetime64[ns]count)name)r   r@   rE   rF   dtypesreescaperp   rq   rr   rC   arrayr\   astyper   as_unitrS   value_countsr    r	   
sort_index)rT   using_infer_stringdf1df2ru   rM   	str_dtypeexpecteds           r   "test_table_values_dtypes_roundtripr      s   
S)))$D
1
1
1C#&&&3:}W'='DEEE
S)))$D
1
1
1C#&&&3:}W'='DEEE )	% C
 
z	-	-	- + +Wc***+ + + + + + + + + + + + + + +
 BHqcA3_D999C5
I
I
IC#&&&3:}W'='DEEE:?1**** 	
 	
N	
 	
 	
 C CMC
O*o,,Y77C
Oi.1$CK
++33C88C
O 344<<SAAC
O677??EEC	N<==C	N+S111!!"455<IIKKF11FL111FL+9IqqQAQAQqQaa	
   H    F""$$H68,,,,,s   C33C7:C7z(ignore::pandas.errors.PerformanceWarningc                    t          t          d          dd t          d          D                       }t          |t          j        |            t          t          j        dt
          j                  t          dd          	          }t          |t          j        |            t          |j	        t          |j	                            }t          |t          j        |            t          |j        t          t          j        |j	                                      }t          |t          j        | d
           d S )Nr   r"   c                     g | ]}d | S r$   r&   r'   s     r   r*   ztest_series.<locals>.<listcomp>  r+   r   r,   r^   r   r   r   r   F)r^   check_index_type)r	   rG   r   rE   rF   rC   rD   r"   r   r    r   valuesasarray)r   r   tsts2ts3s        r   test_seriesr      s   uRyy	1N1NE"II1N1N1NOOOAQ.\BBBB	
	"BJ'''z,PR/S/S/S
 
 
B R/lCCCC
5??
+
+CS"0|DDDD
E"*RX"6"677
8
8CR#,     r   c                 $   t           j                            d                              d          }t	          t           j                            d                              d          |          }t          |t          j        |            d S )NrB   r   r   r   )rC   r   r   r   r	   r   rE   rF   )r   r    r   s      r   test_float_indexr     ss    I!!!$$44R88Ery$$Q''77;;5IIIAQ.\BBBBBBr   c                 v   t          j        d          }g d}t           j                            d                              d                              d          }t          |||          }t          j        |          5  t          |t          j
        |            d d d            d S # 1 swxY w Y   d S )Nr   ))g        r   )       @      @)g      @g      @rB   r1   )r   r   )r    r8   r   )rC   rD   r   r   r   rH   r   rE   assert_produces_warningr   rJ   )r   performance_warningcolidxrU   DFs         r   test_tuple_indexr     s   
)B--C
.
.
.C9  ##33B77??HHD	4sC	0	0	0B		#$7	8	8 G GR2FFFFG G G G G G G G G G G G G G G G G Gs   B..B25B2c                 6   t           j                            d                              d          }d }t	          |ddg          }t          |||            t	          |t          j                                        dg          }t          |||            t	          |ddg          }t          |||            t	          |t          j                                        dg          }t          |||            t	          |ddg          }t          |||            t	          |t          j                                        dg          }t          |||            t	          |ddg          }t          |||            t	          |t          j                                        dg          }t          |||            t	          |ddg          }t          |||            t	          |d	d
g          }t          |||            t	          |d	dg          }t          |||            t          ddgd          }t	          ||          }t          |||            |j
                            d          |_
        t          |||            d S )NrB   c                 0    t          j        | |d          S )NT)r   )rE   rF   )lhsrhss     r   <lambda>z"test_index_types.<locals>.<lambda>)  s    B23dSSS r   r   yr   rQ   gGz?rx   r   g{Gz?r:   z
2012-01-01z
2012-01-02M8[ns]r   r   r   )rC   r   r   r   r	   r   datetimetodaydater   r    r   )r   r   funcserdtis        r   test_index_typesr   %  s   Y""1%%55a88FSSD
!S
"
"CS$\2222
(+1133Q7
8
8CS$\2222
#q
"
"CS$\2222
(---//5
6
6CS$\2222
!S
"
"CS$\2222
(+1133Q7
8
8CS$\2222
#q
"
"CS$\2222
(---//5
6
6CS$\2222
$
%
%CS$\2222
!T
#
#CS$\2222
!Q
 
 CS$\2222
|4H
E
E
EC
s
#
#
#CS$\2222	!!#&&CIS$\222222r   c                    t          dd          }t          t          j                            d                              t          |                    |          }	 t          |t          j	        |            d S # t          $ rB t                      r2|                    t          j                            d                      w xY w)Nz1/1/1940z1/1/1960rB   r   r   z'known failure on some windows platforms)r   r	   rC   r   r   r   lenr   rE   rF   OverflowErrorr   applymarkerrp   markxfail)r   requestdrr   s       r   test_timeseries_preepochr   T  s    	Z	,	,B		%%a((88RAA	L	L	LBR3,GGGGGG      	!!"KLL   	s    A> >AC
compressionFT)marksc           
      t   t          dt          j        d                              d          z  t	          t          d                    t	          d t          d          D                                 }t          j        |j        d<   t          j        |j        d	<   t          |t          j        || 
           t          |t          j        || 
           t          t          j                            d                              d          t	          t          d                    t!          ddd                    }t          |t          j        || 
           t#          |          5 }t          j                            d                              t%          |                    |d<   ||d<   |d         }|j                                        sJ 	 d d d            n# 1 swxY w Y   |d d         }t	          g           |_        t          |d d         t          j        |           d S )Nr.   r/   r0   r3   c                     g | ]}d | S r5   r&   r'   s     r   r*   ztest_frame.<locals>.<listcomp>h  r6   r   r1   r7   )r   r   )r:   r   r^   r   rB   )r   r2   z
2000-01-01r   r=   )r   freqrn   rL   r   r   )r   rC   rD   rH   r   rI   rG   nanr\   _check_roundtrip_tablerE   rJ   r   r   r   r   r   r   r   _mgris_consolidatedr    )r   r   rL   tdfstorereconsr   s          r   
test_framer   a  sJ    
binn$$W---d6ll##11uRyy11122
 
 
B FBGDMFBGDM
B!+    
B!+    
	a  0099d6ll##r<<<  C
 R";    
,		 -5I))!,,<<SWWEE5	dt{**,,,,,,- - - - - - - - - - - - - - - RaR&Cb		CIS!Wb3,GGGGGGs   3A+G++G/2G/c                    t          t                    }t          dt                    }t                      }t          g d          }t          g d          }t          |t          j        |            t          |t          j        |            t          |t          j        |            t          |t          j        |            t          |t          j        |            d S )	Nr   myseries)r   r   rQ   rx   r   r   )derd   r   r   )r	   r   r   r   rE   rF   rJ   )r   s0s1df0r   r   s         r   test_empty_series_framer     s    	f			B	Zv	.	.	.B
++C
///
*
*
*C
OOO
,
,
,CR/lCCCCR/lCCCCS"/lCCCCS"/lCCCCS"/lCCCCCCr   r   zm8[ns]r   c                 ^    t          |           }t          |t          j        |           d S )Nr   r   )r	   r   rE   rF   )r   r   r   s      r   test_empty_seriesr     s0    UAQ.\BBBBBBr   c                    d t          dd          D             }t          t          j                            d                              t          |          df          |          }t          |t          j	        |            d S )Nc                 6    g | ]}|                                 S r&   )r   )r(   xs     r   r*   z,test_can_serialize_dates.<locals>.<listcomp>  s     
B
B
B16688
B
B
Br   z1/1/2000z	1/30/2000rB   r2   r   r   )
r   r   rC   r   r   r   r   r   rE   rJ   )r   rngr9   s      r   test_can_serialize_datesr    s    
B
B[[AA
B
B
BC
	a  00#c((A??s  E UB1EEEEEEr   c                 \   |}t          |t          j        |            t          |j        t          j        |            t          |d         t          j        |            t          |           5 }||d<   |d         }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nr   r<   r9   )r   rE   rJ   TrF   r   )r   r    multiindex_dataframe_random_datar9   r   r   s         r   test_store_hierarchicalr    s     -EUB1EEEEUWb3,GGGGU3Z!7lKKKK 
,		 -5gw
fe,,,- - - - - - - - - - - - - - - - - -s   1#B!!B%(B%c                 D   d } |            } |            }t          |t          j        |           t          |t          j        |           t          |          5 }||d<   t          j        |d         |           ||d<   t          j        |d         |           d d d            n# 1 swxY w Y   t          |d         t          j        ||            t          |d         t          j        ||            t          |d         t          j        ||            d S )Nc            
      ~   t          dt          j        d                              d          z  t	          t          d                    t	          d t          d          D                                 } d| d	<   d
| d<   | d         dk    | d<   | d         dk    | d<   d| d<   d| d<   |                                 S )Nr.   r/   r0   r3   c                     g | ]}d | S r5   r&   r'   s     r   r*   z7test_store_mixed.<locals>._make_one.<locals>.<listcomp>  s    555aa555r   r1   r7   rn   obj1barobj2r<   r   bool1r=   bool2r   int1rB   int2)r   rC   rD   rH   r   rI   rG   _consolidate)rL   s    r   	_make_onez#test_store_mixed.<locals>._make_one  s    ")C..((111$v,,''5559955566
 
 

 6
6
gk7gk76
6
   r   r   r   r
  r   r  r  )r   rE   rJ   r   rF   )r   r   r  r   r   r   s         r   test_store_mixedr    s   ! ! ! )++C
)++CS"/lCCCCS"/lCCCC	,		 15e
eElC000e
eElC000	1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 F
	    G
	    F
	     s   AB,,B03B0c                     i }|rd|d<   t          |dfi |5 }| |d<   |d         } ||| fi | d d d            d S # 1 swxY w Y   d S )Nblosccomplibwr   )r   )r   
comparatorr^   r   r   optionsr   	retrieveds           r   r   r     s    G %$		$	'	'w	'	' -5e%L	
9c,,V,,,- - - - - - - - - - - - - - - - - -s   =AAc                     i }|rd|d<   t          |dfi |5 }|                    d| d           |d         } |||            d d d            d S # 1 swxY w Y   d S )Nr  r  r  r   r>   )rZ   )r   put)r   r  r^   r   r  r   r  s          r   r   r     s    G %$		$	'	'w	'	' #5		%W	---%L	
9c"""	# # # # # # # # # # # # # # # # # #s   -AAAc                     ddg}t          t          j                            d                              t          |                    |          }t          |t          j        |            d S )Nu   σu   σσrB   r   )	r	   rC   r   r   r   r   r   rE   rF   )r   unicode_valuesr   s      r   test_unicode_indexr    sg    /N
	a  00^1D1DEE	 	A Q.\BBBBBBr   c                    d}t          d|gi          }|                     d|dd           |                     d          }t          j        ||           t          d|gddgd	          }|                     d           |                     d|dd           |                     d          }t          j        ||           d S )
Nu   Δr<   rL   r>   zutf-8)rZ   encodingrQ   rx   r;   )r   r  ry   rE   rJ   rh   )rT   charrL   rM   s       r   test_unicode_longer_encodedr#    s    D	C$=	!	!BdBwAAAt$$F&"%%%	#tC:66	7	7BdBwAAAt$$F&"%%%%%r   c                    t          g dg dg dd          }t          t          j        dt          j                  t          dd                    }|j        d d	         |d
<   t          |t          j	        |            d S )Nr   )r   r   r   r   r   r   r   r   r   r   r   r   )
r   r	   rC   rD   r"   r   r    r   rE   rJ   )r   rL   r   s      r   test_store_datetime_mixedr%    s    	OO	P	PB	
	"BJ'''z,PR/S/S/S
 
 
B hrrlBsGR.\BBBBBBr   c                    t          ddgddgd          }|                    | dd           t          | d          }t          j        ||           |                    |          sJ |                    |          sJ d S )	Nr   rB   r   r   )r=   r<   rL   r>   r   rZ   )r   r   r   rE   rJ   equals)r   rL   others      r   test_round_trip_equalsr*  &  s    	!QsCj11	2	2BIIlWI555\4((E"e$$$99U<<r   c           
         t          j        d           t          j        dd          5  t	          dt          d          t          t          d                                                  dd	g          }|                                }|	                    | d
d           t          | d
          }t          j        ||           d d d            d S # 1 swxY w Y   d S )Npyarrowzfuture.infer_stringTr   r3   r   r7   r<   r=   rL   r>   r'  )rp   importorskippdoption_contextr   rI   rG   	set_indexcopyr   r   rE   rJ   )r   rL   r   rM   s       r   test_infer_string_columnsr2  1  s   
	"""		0$	7	7 0 0q$v,,d599ooFFFPP#J
 
 7799
		,D	999,--
fh///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s   B CCC)F)>r   r   numpyrC   rp   pandas._libs.tslibsr   pandas.compatr   pandasr.  r   r   r   r   r	   r
   rE   r   r   r   pandas.utilr   tdr   
single_cpu
pytestmarkrN   rV   r_   ra   rf   ri   rv   r}   r   r   filterwarningsr   r   r   r   r   parametrizeparamskip_if_windowsr   r   r   r"   r   r   r  r  r  r   r   r  r#  r%  r*  r2  r&   r   r   <module>r?     s    				      ) ) ) ) ) ) - - - - - -    
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 / . . . . .k$%
4 4 46& & &4 4 4 4 4 4< < <: : :2  B   > > >?- ?- ?-D FGG  HG$C C CG G G FGG+3 +3 HG+3\
 
 
 E<6<B4FGGGH &H &H &HRD D D 28RZ8"TUUC C VUC
F F F- - -  E<6<B4FGGGH - - -`- - - -	# 	# 	# 	#C C C& & &C C C  0 0 0 0 0r   