
    bMhfJ                        d dl Zd dlZd dlm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 d dlmZ d dlmZmZmZmZmZmZ d dlmZ d dl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j0        d)d*gd+          d,f e
j!        d ej1        gd-          d.f ej+        d dg          d/f ed dg          d0f ej0         ej!        dd1gd                    d,f ej0         ej!        d2d3gd4           ed                    d,fg          d5             Z2d6 Z3ej                             d7 ej!        dd1gej"                   ej!        dd1gej"                  d8f e
j$        ddg           ej!        ddge4          d9fe
j'        j5        6                    d)d*gd:           ej!         e
j7        d)d:           e
j7        d*d:          g          d9f e
j!        d ej1        gd-           ej!        d ej1        g          d9f ej+        g d           ej!         e
j8        d d           e
j8        dd1          ge4          d9f ed dg           ej!        d dgej"                  d9f ej0         ej!        d)d*gd4                     ej!        d)d*gd4          d8f ej0         ej!        d;d<gd4                    9                    d=          :                    d           ej!         ed>d           ed?d          g          d9f ej0         ej!        d d@gdA          ;                    d!                     ej!        d d@gd!          d8f e
j$         edBd1dCD                     ej!         edBdC           edEdC          g          d9fg
          dF             Z<ej                             dGd8d9g          ej                             d# ej!        g d$d           ej!        g dHe4          g          dI                         Z=ej                             dGd8d9g          dJ             Z>ej                             dKg dLdMd g dNf ed)           ed)          e
j?        gd ed)           ej@        dO          gdPz  fg          dQ             ZAej                             dRg dSg dTeBddUdVej1        dWgfg dSg dTeBej1        dUdVej1        dWgfdUdVej1        dWgg dXeCd g dYf ed)           ed)          e
j?        gd  edZ          fd  ed[          fd ed)          fgd ed)           ej@        dO          gdPz  fg          d\             ZDd] ZEej                             d^g d$g dLd_ ej!        g d$           ej!        dd1ej1        g          d_ e
j!        g d$           e
j!        g dL          d_g          ej                             d`eBej1        fe4dfg          da                         ZFej                             dbd e
j!        g dL          i ej!        dUgdVgej1        ggeB          fg d$g d$d_ ej!        ddgd1d1gdPdPggeB          fg          dc             ZGdd ZH G de df          ZIdS )g    N)HAS_PYARROW)np_version_gt2)DatetimeTZDtype)CategoricalIndexSeries	Timedelta	Timestamp
date_range)DatetimeArrayIntervalArrayNumpyExtensionArrayPeriodArraySparseArrayTimedeltaArray)StringArrayNumpySemantics)ArrowStringArrayNumpySemanticsc                      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* Zd+ Zd, Zd-S ).TestToIterableint8int16int32int64uint8uint16uint32uint64float16float32float64datetime64[ns]zdatetime64[ns, US/Eastern]ztimedelta64[ns]zdtype, rdtypemethodc                 *    |                                  S Ntolistxs    a/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/base/test_conversion.py<lambda>zTestToIterable.<lambda>6       ahhjj     c                 *    |                                  S r#   to_listr&   s    r(   r)   zTestToIterable.<lambda>7       aiikk r+   c                      t          |           S r#   listr&   s    r(   r)   zTestToIterable.<lambda>8       d1gg r+   c                 D    t          |                                           S r#   r2   __iter__r&   s    r(   r)   zTestToIterable.<lambda>9       d1::<<(( r+   )r%   r.   r2   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_iterable2   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>V   r*   r+   c                 *    |                                  S r#   r-   r&   s    r(   r)   zTestToIterable.<lambda>W   r/   r+   c                      t          |           S r#   r1   r&   s    r(   r)   zTestToIterable.<lambda>X   r3   r+   c                 D    t          |                                           S r#   r5   r&   s    r(   r)   zTestToIterable.<lambda>Y   r7   r+   c                 l    |} ||g|          } ||          d         }t          ||          sJ d S )Nr?   r   )rG   )	rH   rI   r!   r@   rJ   objrK   rL   rM   s	            r(   !test_iterable_object_and_categoryz0TestToIterable.test_iterable_object_and_categoryJ   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   nextr8   itemsrG   )rH   r@   rJ   rL   _rM   s         r(   test_iterable_itemsz"TestToIterable.test_iterable_itemsh   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 r;   )
rA   rB   rC   rD   rE   rF   maptyperG   tuple)rH   rI   r@   rJ   rK   rL   rM   s          r(   test_iterable_mapz TestToIterable.test_iterable_mapt   s    I*S"(";";2:TUUU & &QCu%%%%& & & & & & & & & & & & & & &FC5!!!tQ&%(( 	YFrO   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#   r1   r&   s    r(   r)   zTestToIterable.<lambda>   r3   r+   c                 D    t          |                                           S r#   r5   r&   s    r(   r)   zTestToIterable.<lambda>   r7   r+   c                     t          t          d          t          d          g          } ||          d         }t          |t                    sJ d S )Nz
1999-12-31z
2000-12-31r   )r   r	   rG   )rH   r!   irM   s       r(   test_categorial_datetimelikez+TestToIterable.test_categorial_datetimelike   sS     i55y7N7NOPP1&),,,,,,,r+   c                 H   t          d          t          d          g}t          |          j                            |          }|j        d| dk    sJ t          ||          D ]:\  }}t          |t                     sJ |j        J ||k    sJ |j        |k    sJ ;d S )N
2011-01-01
2011-01-02datetime64[]	r	   r   dtas_unitr@   ziprG   tzunitrH   ru   valsserresexps         r(   test_iter_box_dt64z!TestToIterable.test_iter_box_dt64   s    ,''<)@)@ATllo%%d++y1$1111111C 	$ 	$HCc9-----6>>>#::::8t#####		$ 	$r+   c                 b   t          dd          t          dd          g}t          |          j                            |          }|j        d| dk    sJ t          ||          D ]C\  }}t          |t                     sJ |j        |j        k    sJ ||k    sJ |j        |k    sJ Dd S )Nrl   
US/Easternrt   rm   rn   z, US/Eastern]rp   rv   s         r(   test_iter_box_dt64tzz#TestToIterable.test_iter_box_dt64tz   s    l|444l|444
 Tllo%%d++y=$=======C 	$ 	$HCc9-----6SV#####::::8t#####		$ 	$r+   c                 6   t          d          t          d          g}t          |          j                            |          }|j        d| dk    sJ t          ||          D ]1\  }}t          |t                     sJ ||k    sJ |j        |k    sJ 2d S )Nz1 daysz2 daysztimedelta64[ro   )r   r   rq   rr   r@   rs   rG   ru   rv   s         r(   test_iter_box_timedelta64z(TestToIterable.test_iter_box_timedelta64   s    (##Yx%8%89Tllo%%d++y242222222C 	$ 	$HCc9-----#::::8t#####	$ 	$r+   c                 $   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 )Nrl   Mfreqrm   z	Period[M]ME)rB   Periodr   r@   rs   rG   r   )rH   rw   rL   ry   rz   s        r(   test_iter_box_periodz#TestToIterable.test_iter_box_period   s    	,S11129\PS3T3T3TU4LLw+%%%%At 	 	HCc29-----8t#####:::::	 	r+   N)__name__
__module____qualname__intfloatr	   r   dtypesrD   markparametrizerN   rP   rY   r^   rc   rj   r{   r   r   r    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   rQ   brP   rR   20172018
US/Centralr~   zdatetime64[ns, US/Central]i  i  Yr   zY-DEC)r   r>      intervalr    l    d(	 zm8[ns]c                 *   |r|dk    rt           rt          nt          }t          |           j        }t          j        |           j        }t          |          |u sJ t          |          t          |          u sJ t          j	        ||           d S )NrP   )
r   r   r   r   _valuesrB   rC   ra   tmassert_equal)arrexpected_typer@   using_infer_stringl_valuesr_valuess         r(   test_values_consistentr      s    <  
ex//.9X**?X 	 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   rx   rM   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?   r   m)	r   r   npr@   kindrG   r   r   r   )any_numpy_dtyperx   rM   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   attrrI   requestboxrM   s         r(   
test_arrayr      sW    2 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 )NArQ   r   z&MultiIndex has no single backing arrayr<   )rB   
MultiIndexfrom_productrD   rE   
ValueErrorr   )idxmsgs     r(   test_array_multiindex_raisesr   #  s    
-
$
$sec3Z%8
9
9C
2C	z	-	-	-  		                 s   AAAzarr, expected, zero_copyTFDz2000-01-01T06:00:00z2000-01-02T06:00:00UTC
2000-01-01
2000-01-02l     qai8z
2016-01-01z
US/Pacificperiodsrt   z
2016-01-02c                    |}t          j        d           5   ||           }d d d            n# 1 swxY w Y   |                                }t          j        ||           t	          j        |          }t          j        ||           t	          j        |d          }t	          j        |d          }t	          j        ||          rJ t          sd S |sNd}	t          j        t          |	          5  t	          j        |d           d d d            d S # 1 swxY w Y   d S t	          j        |d          }
t	          j        |d          }t	          j        |
|          sJ d S )NTr   zGStarting with NumPy 2.0, the behavior of the 'copy' keyword has changedr<   F)
r   assert_produces_warningto_numpyassert_numpy_array_equalr   asarrayr   may_share_memoryr   FutureWarning)r   r   	zero_copyindex_or_series_or_arrayr   thingrM   
result_cp1
result_cp2r   result_nocopy1result_nocopy2s               r(   test_to_numpyr   *  s   x #C		#D	)	)  C               ^^F111ZF111 %d+++J%d+++J":z:::::  	CW'SAAA 	( 	(HU''''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( %e444%e444">>BBBBBBBs   /337DD"D	as_series)rQ   r   cc                 h   t          j        | d          }|rt          |j        d          }|                                }|r:| j        t          k    r*|j        j        dk    rt          j	        | |          du sJ nt          j	        | |          du sJ |                    d          }|r:| j        t          k    r*|j        j        dk    rt          j	        | |          du sJ nt          j	        | |          du sJ |                    d          }t          j	        | |          du sJ d S )NFr   pyarrowT)
rB   rC   r   valuesr   r@   rP   storager   shares_memory)r   r   r   rX   rM   s        r(   test_to_numpy_copyr     sS   
 (3U
#
#
#C -SZe,,, \\^^F 5ci611ci6G96T6TV,,55555V,,4444\\u\%%F 5ci611ci6G96T6TV,,55555V,,4444 \\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 )
Nr}   r   r   r~   r?   rP   r   z2000-01-01T05z2001-01-01T05)
rB   DatetimeIndexr   r   r   r   r	   rP   r   r   )r   ru   rt   rX   rM   r   s         r(   test_to_numpy_dtyper     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   )rI   r   r@   r   r   rX   rM   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   rQ   )r   r   )r>   r   )r>   r   r   r   g      @))rQ   r   )rQ   r>   )rQ   r   )r   r   )r>   r   r   r   20212022c                     t           j                            |          }t          | |          }|                    ||          }t          j        |          }t          j        ||           d S )N)indexr   )	rB   r   from_tuplesr   r   r   r   r   r   )data
multiindexr@   r   r   r   seriesrM   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   rD   rE   	TypeErrorr   )rL   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   )rQ   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?   )rB   	DataFramer   r   r   r   r   )r   r@   r   dfrM   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   )rB   r  r   r   r   nanr   r   )r   r   r  rM   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   )rB   r  r   r   r  r   r   assert_frame_equal)rM   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 )TestAsArrayrt   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   r~   r   )
r   r
   r   r   r   r   rP   r   r	   r   )rH   rt   rx   rM   r   s        r(   test_asarray_object_dt64z$TestAsArray.test_asarray_object_dt644  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   )rH   rx   r   rM   s       r(   test_asarray_tz_naivez!TestAsArray.test_asarray_tz_naiveA  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  )rH   rt   rx   r   rM   s        r(   test_asarray_tz_awarez!TestAsArray.test_asarray_tz_awareI  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+   )	r   r   r   rD   r   r   r  r  r  r   r+   r(   r  r  3  sc        [TD,#788
6 
6 98
66 6 66 6 6 6 6r+   r  )Jnumpyr   rD   pandas.compatr   pandas.compat.numpyr   pandas.core.dtypes.dtypesr   pandasrB   r   r   r   r	   r
   pandas._testing_testingr   pandas.core.arraysr   r   r   r   r   r   pandas.core.arrays.string_r   pandas.core.arrays.string_arrowr   r   r   r   r   r   ndarrayCategoricalr   PeriodIndexcorer   PeriodDtypeIntervalIndexfrom_breaksTimedeltaIndexr   r   r   _from_sequencer  r   r   rP   arraysperiod_arrayr   Intervaltz_localize
tz_convertviewr   r   r   NaT
datetime64r   r   r   r   r   r  r  r	  r  r   r+   r(   <module>r.     s        % % % % % % . . . . . . 5 5 5 5 5 5                                       A @ @ @ @ @ J J J J J Ja a a a a a a aH 	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		./(M(1a&@P)Q)Q)QRR	
 )M(*,AB(   &o666	   	
 0	 	1 0	   	1a&	)	)	)828QF"(+K+K+KTR	c
	#	#XRXsCj%G%G%GOGN''(8s'CCBHibiS111929V#3N3N3NOPP	

 
1bf+W	-	-	-xrxBF/D/DeL%M%iii00BHkbk!Q''Q):):;6JJJ	

 
aV		hbh1vRX>>>F )M(662B()S)S)STTBHff%X666	
 )M(/1FGxXXX  [Z%%BHIl|<<<Il|<<<  	
  *N)!]+4888==hGG  BHa'x888	
 BN::lA,OOOPPBHIl|<<<Il|<<<  		
[7: :v C  Cw: :v CF 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+   