
    o[weGB                     @   d dl Zd dlZd dlmZ d dlZd dlmZmZm	Z	m
Z
mZ d dlmZ d dlmZmZmZmZmZmZ  G d d          Zej                            d ej        d dgej        	          ej        d
f ej        ddg          ej        df ej        ddg          ej        df ej        ddgd          edf ej        ddgd          eej        j         j         !                    d          fej"        #                    g d          edf ej        ddg          edf ej$        dg          edfg          d             Z%ej                            d ej        g d           g          d!             Z&d" Z'ej                            d# ej        ddg          d$f ej(        d%d&gd'	          d(f ej        d ej)        gd)	          d*f ej#        d dg          d+f ed dg          d,f e ej        dd-gd	                    d(f e ej        d.d/gd0	           ed          	          d(fg          d1             Z*d2 Z+ej                            d3 ej        dd-gej        	           ej        dd-gej        	          f ej        ddg           ej        ddge,	          fej        j-        .                    d%d&gd4           ej         ej/        d%d4           ej/        d&d4          g          f ej        d ej)        gd)	           ej        d ej0        ge,	          f ej#        g d           ej         ej1        d d           ej1        dd-          ge,	          f ed dg           ej        d dgej        	          f e ej        d%d&gd0	                     ej        d%d&gd0	          f e ej        d5d6gd0	           ed          	           ej         e
d7d           e
d8d          g          f e ej        d d9gd:	          d;           ej        d d9gd	          f ej         ed<d-d=>                     ej         e
d<d=           e
d?d=          g          fg
          d@             Z2ej                            dAdBdCg          ej                            d ej        g d d
	           ej        g dDe,	          g          dE                         Z3ej                            dAdBdCg          dF             Z4ej                            dGg dHdId g dJf e
d%           e
d%          ej5        gd e
d%           ej6        dK          gdLz  fg          dM             Z7ej                            dNg dOg dPe8ddQdRej)        dSgfg dOg dPe8ej)        dQdRej)        dSgfdQdRej)        dSgg dTe9d g dUf e
d%           e
d%          ej5        gd  e
dV          fd  e
dW          fd e
d%          fgd e
d%           ej6        dK          gdLz  fg          dX             Z:dY Z;ej                            dZg d g dHd[ ej        g d            ej        dd-ej)        g          d[ ej        g d            ej        g dH          d[g          ej                            d\e8ej)        fe,dfg          d]                         Z<ej                            d^d ej        g dH          i ej        dQgdRgej)        gge8	          fg d g d d[ ej        ddgd-d-gdLdLgge8	          fg          d_             Z=d` Z> G da db          Z?dS )c    N)DatetimeTZDtype)CategoricalIndexSeries	Timedelta	Timestamp
date_range)DatetimeArrayIntervalArrayNumpyExtensionArrayPeriodArraySparseArrayTimedeltaArrayc                      e Zd Zdefdefdefdefdefdefdefdefd	efd
efdefdefdefdefgZej	        
                    de          ej	        
                    dd d d d gg d          d                         Zej	        
                    ddedfdedfdedfdedfg          ej	        
                    dd d d d  gg d          d!                         Zej	        
                    de          d"             Zej	        
                    dedefdefgz             d#             Zej	        
                    dd$ d% d& d' gg d          d(             Zd) Zd*S )+TestToIterableint8int16int32int64uint8uint16uint32uint64float16float32float64datetime64[ns]datetime64[ns, US/Eastern]timedelta64[ns]zdtype, rdtypemethodc                 *    |                                  S Ntolistxs    Alib/python3.11/site-packages/pandas/tests/base/test_conversion.py<lambda>zTestToIterable.<lambda>1       ahhjj     c                 *    |                                  S r!   to_listr$   s    r&   r'   zTestToIterable.<lambda>2       aiikk r)   c                      t          |           S r!   listr$   s    r&   r'   zTestToIterable.<lambda>3       d1gg r)   c                 D    t          |                                           S r!   r0   __iter__r$   s    r&   r'   zTestToIterable.<lambda>4       d1::<<(( r)   )r#   r,   r0   iter)idsc                 2   |}|dk    r]t          |t          j                  rCt          j        t
          d          5   |dg|           d d d            n# 1 swxY w Y   d S  |dg|          } ||          d         }t          ||          sJ d S Nr   zfloat16 indexes are not match   dtyper   )
issubclasspdIndexpytestraisesNotImplementedError
isinstance)selfindex_or_seriesr   r>   rdtypetypsresults           r&   test_iterablezTestToIterable.test_iterable-   s     I*S"(";";2:TUUU & &QCu%%%%& & & & & & & & & & & & & & &FC5!!!1&&)))))))   AA Azdtype, rdtype, objobjectar<   categoryc                 *    |                                  S r!   r"   r$   s    r&   r'   zTestToIterable.<lambda>Q   r(   r)   c                 *    |                                  S r!   r+   r$   s    r&   r'   zTestToIterable.<lambda>R   r-   r)   c                      t          |           S r!   r/   r$   s    r&   r'   zTestToIterable.<lambda>S   r1   r)   c                 D    t          |                                           S r!   r3   r$   s    r&   r'   zTestToIterable.<lambda>T   r5   r)   c                 l    |} ||g|          } ||          d         }t          ||          sJ d S )Nr=   r   )rE   )	rF   rG   r   r>   rH   objrI   rJ   rK   s	            r&   !test_iterable_object_and_categoryz0TestToIterable.test_iterable_object_and_categoryE   sL    2 CU###1&&)))))))r)   c                 6   t          dg|          }t          t          |                                                    \  }}t	          ||          sJ t          t          |                                                    \  }}t	          ||          sJ d S )Nr<   r=   )r   nextr6   itemsrE   )rF   r>   rH   rJ   _rK   s         r&   test_iterable_itemsz"TestToIterable.test_iterable_itemsc   s    
 A3e$$$aggii))	6&&)))))aggii))	6&&)))))))r)   c                 h   |}|dk    r]t          |t          j                  rCt          j        t
          d          5   |dg|           d d d            n# 1 swxY w Y   d S  |dg|          }|                    t                    d         }t          |t                    s|f}||v sJ d S r9   )
r?   r@   rA   rB   rC   rD   maptyperE   tuple)rF   rG   r>   rH   rI   rJ   rK   s          r&   test_iterable_mapz TestToIterable.test_iterable_mapo   s    I*S"(";";2:TUUU & &QCu%%%%& & & & & & & & & & & & & & &FC5!!!tQ&%(( 	YFrM   c                 *    |                                  S r!   r"   r$   s    r&   r'   zTestToIterable.<lambda>   r(   r)   c                 *    |                                  S r!   r+   r$   s    r&   r'   zTestToIterable.<lambda>   r-   r)   c                      t          |           S r!   r/   r$   s    r&   r'   zTestToIterable.<lambda>   r1   r)   c                 D    t          |                                           S r!   r3   r$   s    r&   r'   zTestToIterable.<lambda>   r5   r)   c                     t          t          d          t          d          g          } ||          d         }t          |t                    sJ d S )Nz
1999-12-31z
2000-12-31r   )r   r   rE   )rF   r   irK   s       r&   test_categorial_datetimelikez+TestToIterable.test_categorial_datetimelike   sS     i55y7N7NOPP1&),,,,,,,r)   c                    t          d          t          d          g}t          |          }|j        dk    sJ t          ||          D ]-\  }}t	          |t                     sJ |j        J ||k    sJ .t          dd          t          dd          g}t          |          }|j        dk    sJ t          ||          D ]6\  }}t	          |t                     sJ |j        |j        k    sJ ||k    sJ 7t          d          t          d          g}t          |          }|j        d	k    sJ t          ||          D ]$\  }}t	          |t                    sJ ||k    sJ %t          j        dd
          t          j        dd
          g}t          |          }|j        dk    sJ t          ||          D ]6\  }}t	          |t          j                  sJ |j	        d
k    sJ ||k    sJ 7d S )Nz
2011-01-01z
2011-01-02r   
US/Easterntzr   z1 daysz2 daysr   Mfreqz	Period[M])
r   r   r>   ziprE   rl   r   r@   Periodro   )rF   valsrJ   resexps        r&   test_iter_boxzTestToIterable.test_iter_box   sD   ,''<)@)@A4LLw*****At 	 	HCc9-----6>>>#::::: l|444l|444
 4LLw66666At 	 	HCc9-----6SV#####::::: (##Yx%8%894LLw+++++At 	 	HCc9-----#::::: 	,S11129\PS3T3T3TU4LLw+%%%%At 	 	HCc29-----8s????#:::::	 	r)   N)__name__
__module____qualname__intfloatr   r   dtypesrB   markparametrizerL   rN   rW   r\   ra   rh   ru    r)   r&   r   r      s        
	#	#	#	#	3	3	3	E	E	E	9%	%y1	I&F" [_f55[  !!((		
 211  	 	* *	 	 65* [vs#sA%a 		
  [  !!((		
 211  	 		* 	*	 	 &	* [_f55	* 	* 65	* [Hc?Z4E"FF       [  !!((		
 211  	 	- -	 	-$ $ $ $ $r)   r   zarr, expected_type, dtyper<   r=   r   rO   brN   rP   20172018
US/Centralrk   zdatetime64[ns, US/Central]i  i  Arn   zA-DEC)r   r<      intervalr   l    d(	 zm8[ns]c                     t          |           j        }t          j        |           j        }t	          |          |u sJ t	          |          t	          |          u sJ t          j        ||           d S r!   )r   _valuesr@   rA   r_   tmassert_equal)arrexpected_typer>   l_valuesr_valuess        r&   test_values_consistentr      sn    < c{{"Hx}}$H>>]****>>T(^^++++OHh'''''r)   r   r<   r      c                 z    t          |           }|j        }t          |           }t          j        ||           d S r!   )r   arrayr   r   assert_extension_array_equal)r   serrK   expecteds       r&   test_numpy_arrayr      s:    
++CYF"3''H#FH55555r)   c                 :   t          |           }|j        }t          j        |           j        dk    rt          |t                    sJ d S t          j        |           j        dk    rt          |t                    sJ d S t          |t                    sJ d S )Nr=   rm   m)	r   r   npr>   kindrE   r	   r   r   )any_numpy_dtyper   rK   s      r&   test_numpy_array_all_dtypesr      s    

'
'
'CYF	x  %,,&-0000000	/	"	"	'3	.	.&.1111111&"56666666r)   z	arr, attr_codes20002001z	period[D]_ndarrayInt64_data_left_sparse_valuesr   z2000-01-01T12:00:00z2000-01-02T12:00:00M8[ns]c                 ~    |} || d          j         }|r t          | |          } t          ||          }|| u sJ d S )NFcopy)r   getattr)r   attrrG   requestboxrK   s         r&   
test_arrayr      sW    , CS5!!!'F 'c4  &&S======r)   c                      t           j                            dgddgg          } d}t          j        t
          |          5  | j         d d d            d S # 1 swxY w Y   d S )Nr   rO   r   z&MultiIndex has no single backing arrayr:   )r@   
MultiIndexfrom_productrB   rC   
ValueErrorr   )idxmsgs     r&   test_array_multiindex_raisesr     s    
-
$
$sec3Z%8
9
9C
2C	z	-	-	-  		                 s   AAAzarr, expectedDz2000-01-01T06:00:00z2000-01-02T06:00:00
2000-01-01
2000-01-02l     qai8Hz
2016-01-01z
US/Pacificperiodsrl   z
2016-01-02c                    |}t          j        d           5   ||           }d d d            n# 1 swxY w Y   | j        j        dk    rH|t          j        u r:t          j                            d          }|j	        
                    |           |                                }t          j        ||           t          j        |          }t          j        ||           d S )Nr   z,thing is Int64 and to_numpy() returns object)reason)r   assert_produces_warningr>   namer@   r   rB   r|   xfailnode
add_markerto_numpyassert_numpy_array_equalr   asarray)r   r   index_or_series_or_arrayr   r   thingr|   rK   s           r&   test_to_numpyr     s   j #C		#D	)	)  C               y~  SBH__{  (V WW%%%^^F111ZF11111s   /33	as_seriesTF)rO   r   cc                 x   t          j        | d          }|rt          |j        d          }|                                }t          j        | |          du sJ |                    d          }t          j        | |          du sJ |                    d          }t          j        | |          du sJ d S )NFr   T)r@   rA   r   valuesr   r   shares_memory)r   r   rV   rK   s       r&   test_to_numpy_copyr   ]  s    
 (3U
#
#
#C -SZe,,, \\^^FC((D0000\\u\%%FC((D0000 \\t\$$FC((E111111r)   c                     d}t          j        ddg|          }| rt          |          }|                                }t	          j        t          d|          t          d|          gt                    }t          j	        ||           |                    d          }t          j	        ||           |                    d          }t	          j        dd	gd          }t          j	        ||           d S )
Nrj   r   r   rk   r=   rN   r   z2000-01-01T05z2001-01-01T05)
r@   DatetimeIndexr   r   r   r   r   rN   r   r   )r   rl   rV   rK   r   s        r&   test_to_numpy_dtyper   r  s    	B

FF+
3
3
3C Skk \\^^Fx	6b	!	!	!9V#;#;#;<F  H 111\\\))F111\\\))Fx/:(KKKH11111r)   z!values, dtype, na_value, expected)r<   r   Nr   )      ?       @        z2000-01-01T00:00:00.000000000r   c                      | |          }|                     ||          }t          j        |          }t          j        ||           d S Nr>   na_value)r   r   r   r   r   )rG   r   r>   r   r   rV   rK   s          r&   "test_to_numpy_na_value_numpy_dtyper     sP     /&
!
!C\\\99Fx!!H11111r)   z+data, multiindex, dtype, na_value, expected)r<   r   N   ))r   rO   )r   r   )r<   r   )r<   r   r   r   g      @))rO   r   )rO   r<   )rO   r   )r   r   )r<   r   r   r   20212022c                     t           j                            |          }t          | |          }|                    ||          }t          j        |          }t          j        ||           d S )N)indexr   )	r@   r   from_tuplesr   r   r   r   r   r   )data
multiindexr>   r   r   r   seriesrK   s           r&   (test_to_numpy_multiindex_series_na_valuer     si    H M%%j11ED&&&F__58_<<Fx!!H11111r)   c                  x   t          g d          } d}t          j        t          |          5  |                     d           d d d            n# 1 swxY w Y   t          g dd          } t          j        t          |          5  |                     d           d d d            d S # 1 swxY w Y   d S )Nr   z5to_numpy\(\) got an unexpected keyword argument 'foo'r:   T)foor   r=   )r   rB   rC   	TypeErrorr   )rJ   r   s     r&   test_to_numpy_kwargs_raisesr     s;   yyyA
BC	y	,	,	,  	

t
               	yyy(((A	y	,	,	,  	

t
                 s#   AAAB//B36B3r   )rO   r   zdtype, na_valuec                     t          j        |           }|                    ||          }t          j        ddgddgd|gg|          }t          j        ||           d S )Nr   r<   r   r   r=   )r@   	DataFramer   r   r   r   r   )r   r>   r   dfrK   r   s         r&    test_to_numpy_dataframe_na_valuer     sh     
d		B[[ux[88Fx!Q!Q!X7uEEEH11111r)   zdata, expectedc                     t          j        |           }|                    t          t          j                  }t          j        ||           d S r   )r@   r   r   rz   r   nanr   r   )r   r   r   rK   s       r&   $test_to_numpy_dataframe_single_blockr     sC     
d		B[[urv[66F11111r)   c                  (   t          j        t          j        ddt          j        g                    } t          j        t          j        ddt          j        g                    }|                     d           t          j        | |           d S )Nr   r   r   )r   )r@   r   r   r   r   r   r   assert_frame_equal)rK   r   s     r&   .test_to_numpy_dataframe_single_block_no_mutater     ss    \"(Cbf#56677F|BHc3%78899H
OOSO!!!&(+++++r)   c                   f    e Zd Zej                            dddg          d             Zd Zd ZdS )TestAsArrayrl   Nr   c                 d   t          t          dd|                    }t          j        d           5  t	          j        |t                    }d d d            n# 1 swxY w Y   t	          j        t          d|          t          d|          g          }t          j	        ||           d S )Nr   r   r   r=   r   rk   r   )
r   r   r   r   r   r   rN   r   r   r   )rF   rl   r   rK   r   s        r&   test_asarray_object_dt64z$TestAsArray.test_asarray_object_dt64  s    Zb999::'-- 	3 	3Z6222F	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 8|+++Y|-K-K-KL
 
 	#FH55555s   AA #A c                     t          t          dd                    }t          j        ddgd          }t          j        |          }t          j        ||           d S )Nr   r   )r   r   r   r   r=   r   r   r   r   r   r   r   )rF   r   r   rK   s       r&   test_asarray_tz_naivez!TestAsArray.test_asarray_tz_naive  s[    Z222338\<8IIIC
#FH55555r)   c                 $   d}t          t          dd|                    }t          j        ddgd          }t          j        |d	          }t          j        ||           t          j        |d          }t          j        ||           d S )
Nr   r   r   r   z2000-01-01T06z2000-01-02T06r   r=   r   r   )rF   rl   r   r   rK   s        r&   test_asarray_tz_awarez!TestAsArray.test_asarray_tz_aware  s    Zb999::8_o>hOOOC'7888
#FH555 Cx000
#FH55555r)   )	rv   rw   rx   rB   r|   r}   r   r   r   r~   r)   r&   r   r     sc        [TD,#788
6 
6 98
66 6 66 6 6 6 6r)   r   )@numpyr   rB   pandas.core.dtypes.dtypesr   pandasr@   r   r   r   r   r   pandas._testing_testingr   pandas.core.arraysr	   r
   r   r   r   r   r   r|   r}   r   r   ndarrayCategoricalr   PeriodIndexcorer{   PeriodDtypeIntervalIndexfrom_breaksTimedeltaIndexr   r   r   _from_sequencer   r   r   rN   arraysperiod_arrayrq   NAIntervalr   r   r   NaT
datetime64r   rz   ry   r   r   r   r   r   r   r~   r)   r&   <module>r     s        5 5 5 5 5 5                                      [ [ [ [ [ [ [ [| 	1a&	)	)	)2:w?	3*		rz84	c
	#	#R^Z@Bff-,???(	
 BND$<c222GN!--g66	

 
		%	%iii	0	0-LBff-..	
 Bvh''	
) :( (; :( )))!4!4 5666 6 7667 7 7 	c
	#	#X.	#	#VV$4K	H	H	H*U	1bf+W	-	-	-w7	"	"Aq6	*	*G4	aV		./	xrxA.>???	@	@*M M*,AB(   &o666	   	
 *	 	+ *	   	1a&	)	)	)828QF"(+K+K+KL	c
	#	#XRXsCj%G%G%GHGN''(8s'CCBHibiS111929V#3N3N3NOPP	
 
1bf+W	-	-	-xrxBE
&/Q/Q/QR%M%iii00BHkbk!Q''Q):):;6JJJ	
 
aV		hbh1vRX>>>? M("(FF#38DDDEEBHff%X666	
 M*,AB(   &o666	   BHIl|<<<Il|<<< 	
  N828Q$6dCCC#NNNBHa'x888	
 BN::lA,OOOPPBHIl|<<<Il|<<< 	
O03 3h2 2i3 3h2" tUm44	HBHYYYg...PV0W0W0WX 2 2  542" tUm442 2 542* '	y!___5Yv		& 1 126:IfR]:;;<q@		
 2 2 2 1 OO444#rvs#	
 OO444F#rvs#	
 #rvs#444LL	
 Yv		& 1 126:6""#a6):):%;a6ARAR=STIfR]:;;<q@	
-   B2 2C   B2
 
 
 
iilll++bhyyy!!!Q(@(@AAbhyyy!!(>(>??  *eRV_vtn,MNN2 2 ON 2  ("(<<<(()BHsecURVH-U;;;	

 ))))),,BHq!fq!fq!f-U;;;	
	 2 2 2, , ,!6 !6 !6 !6 !6 !6 !6 !6 !6 !6r)   