a
    oÝEbY  ã                   @   s¤
  d dl Z d dlZd dlm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 d dlmZ ejg d¢d�dd„ ƒZejd	d
gd�dd„ ƒZejdd„ egddgd�dd„ ƒZejddgd�dd„ ƒZejd	d
gd�dd„ ƒZejdd„ ejfdd„ ejfdd„ ejfgd�dd„ ƒZej di d ejifd!d"d#œd ejifg¡d$d%„ ƒZej d&d'd(g¡d)d*„ ƒZ ej d+g d,¢g d-¢g d.¢g¡d/d0„ ƒZ!ej d1g d2¢d3fg d4¢d5fg¡d6d7„ ƒZ"ej d8d9g d2¢fd!d:d;ej#gfg¡d<d=„ ƒZ$ej d>d?d9g d@¢fd!dAdBej#gfg¡dCdD„ ƒZ%dEdF„ Z&ej dGg d,¢d ejifg d-¢i fg d.¢i fg¡dHdI„ ƒZ'ej dJd dKii g¡dLdM„ ƒZ(ej dNdOdOdPgg¡dQdR„ ƒZ)ej dSe  *dT¡dAge  *dU¡dVgdTdAgdUdVgfe +e  *dT¡dAg¡dVgdTdAgdVgfg¡dWdX„ ƒZ,dYdZ„ Z-d[d\„ Z.ej d]g d^¢¡d_d`„ ƒZ/dadb„ Z0dcdd„ Z1dedf„ Z2ej dgdhd9did„ fd!djd„ fg¡dkdl„ ƒZ3ej d+g dm¢dAej#dnej#gg¡dodp„ ƒZ4ej dqg dr¢ej+g dm¢dsdt�fg du¢e +g dv¢¡fg¡dwdx„ ƒZ5dydz„ Z6d{d|„ Z7d}d~„ Z8ej dd€d9ed�d‚gdAdƒgƒfd!eej#dAej#gƒfg¡d„d…„ ƒZ9d†d‡„ Z:dˆd‰„ Z;ej d+g dŠ¢g dm¢ej+g d‹¢dŒdt�g¡ej d�i ejfdŽdiejfdŽd�ie <ej=¡j>fdŽd�ie <ej?d‘ d  ¡fg¡d’d“„ ƒƒZ@ej d”d"dg¡ej d+g dŠ¢g dm¢ej+g d‹¢dŒdt�g¡d•d–„ ƒƒZAd—d˜„ ZBd™dš„ ZCej dŽg d›¢¡ej dœg d�¢ej+g dž¢ejDdt�fg dŸ¢ej+g dŸ¢ejDdt�fg¡d d¡„ ƒƒZEej d¢d"ejFfdejFfd�ejGfg¡d£d¤„ ƒZHej d¥d¦d"eejƒjIeejƒjJgfd§d"eejFƒjIeejFƒjJgfd¨d"eejKƒjIeejKƒjJgfdsd"eejƒjIeejƒjJgfd©d�eejLƒjIeejLƒjJgfdªd�eejGƒjIeejGƒjJgfd«d�eejMƒjIeejMƒjJgfd¬d�eejNƒjIeejNƒjJgfd§d"eejƒjIeejƒjJd: gfd¨d"eejFƒjIeejFƒjJd: gfdsd"eejKƒjIeejKƒjJd: gfd§d"eejƒjId: eejFƒjJgfd¨d"eejFƒjId: eejKƒjJgfdsd"eejKƒjId: eejƒjJgfdªd�eejLƒjIeejLƒjJd: gfd«d�eejGƒjIeejGƒjJd: gfd¬d�eejMƒjIeejMƒjJd: gfg¡d­d®„ ƒZOej d¯ed d°gƒed d°gejNdt�fg¡d±d²„ ƒZPej dSg d³¢d´dµej#ej#d¶gfg d·¢d¸d¹ej#gfg¡dºd»„ ƒZQej d>d9eg d·¢ƒfd¼g¡d½d¾„ ƒZRej d¿g dÀ¢¡ej dÁg dÀ¢¡dÂdÃ„ ƒƒZSdÄdÅ„ ZTej dÆg dÇ¢¡dÈdÉ„ ƒZUej dÊg dË¢ed:d‚ej#gƒfg dr¢eg dm¢ƒfg dÌ¢eg dm¢ƒfg dÍ¢eg dÎ¢ƒfg dÏ¢ed:ej#dÐgƒfg dÑ¢eg dÎ¢ƒfg¡dÒdÓ„ ƒZVej dÔd:d:gdÕd"dÖfdAejWgd×d"dÖfdAdØgd×d"d×fd:ejWgdÕd"dÖfdÙdµgdÕd"dÚfd:d:gd×d"dÖfe ej¡jJd: d:gdÕd"dÕfd:d:gdÕddÖfdAdAgdÛddÖfdAdØgd×dd×fd:ejWgdÕddÖfdÙdÜgdÕddÚfejXe ejN¡jJd: d:gdÝddÝejjYeƒ  dÞdß�dà�d:d:gdÕd�dáfdAdAgdÛd�dáfdAdØgd×d�d×fd:ejWgdÕd�dáfdÙdÜgdÕd�dÕfdâdâgdãd�dãfd:d:gd×d�dÛfd:dØgd×d�dÛff¡dädå„ ƒZZdædç„ Z[dèdé„ Z\dS )êé    N)Úiinfo)Úis_platform_arm)Ú	DataFrameÚIndexÚSeriesÚ
to_numeric)NÚignoreÚraiseÚcoerce)Úparamsc                 C   s   | j S ©N©Úparam©Úrequest© r   úb/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/pandas/tests/tools/test_to_numeric.pyÚerrors   s    r   TFc                 C   s   | j S r   r   r   r   r   r   Úsigned   s    r   c                 C   s   | S r   r   ©Úxr   r   r   Ú<lambda>   ó    r   ÚidentityÚstr)r   Úidsc                 C   s   | j S r   r   r   r   r   r   Ú	transform   s    r   l   ßN"2Ê) l      Fµx:^V c                 C   s   | j S r   r   r   r   r   r   Ú	large_val"   s    r   c                 C   s   | j S r   r   r   r   r   r   Úmultiple_elts'   s    r   c                 C   s   t | dd�S )NÚidx©Úname)r   r   r   r   r   r   .   r   c                 C   s   t | dd�S )NÚserr    )r   r   r   r   r   r   /   r   c                 C   s   t  t| ƒj¡S r   )ÚnpÚarrayr   Úvaluesr   r   r   r   r   0   r   c                 C   s   | j S r   r   r   r   r   r   Útransform_assert_equal,   s    r&   zinput_kwargs,result_kwargsÚdtyper
   Úinteger©r   Údowncastc                 C   s<   t g td�}t|fi | ¤Ž}t g fi |¤Ž}t ||¡ d S ©N©r'   )r   Úobjectr   ÚtmÚassert_series_equal)Zinput_kwargsZresult_kwargsr"   ÚresultÚexpectedr   r   r   Ú
test_empty7   s    	r2   Úlast_valÚ7é   c                 C   s2   t dd| gƒ}t|ƒ}t g d¢ƒ}t ||¡ d S )NÚ1ú-3.14©é   ç…ëQ¸	Àr5   ©r   r   r.   r/   )r3   r"   r0   r1   r   r   r   Útest_seriesG   s    r<   Údata)r9   é   é   é   )ç      ð?ç      @ç      @g      @)TFTTc                 C   s*   t | tdƒdd�}t|ƒ}t ||¡ d S )NÚABCDZEFG)Úindexr!   )r   Úlistr   r.   r/   )r=   r"   r0   r   r   r   Útest_series_numericP   s    
rG   zdata,msg©r9   r:   Úappleú,Unable to parse string "apple" at position 2)Zoranger9   r:   rI   z-Unable to parse string "orange" at position 0c                 C   sF   t | ƒ}tjt|d�� t|dd� W d   ƒ n1 s80    Y  d S )N©Úmatchr	   ©r   )r   ÚpytestÚraisesÚ
ValueErrorr   )r=   Úmsgr"   r   r   r   Ú
test_error`   s    rR   zerrors,exp_datar   r9   r:   c                 C   s0   t g d¢ƒ}t|| d�}t |ƒ}t ||¡ d S )NrH   rM   r;   )r   Úexp_datar"   r0   r1   r   r   r   Útest_ignore_errorq   s    rT   z
errors,exp)r	   rJ   ©TFrI   rA   g        c                 C   sv   t g d¢ƒ}t|tƒrRtjt|d�� t|| d� W d   ƒ qr1 sF0    Y  n t|| d�}t |ƒ}t ||¡ d S )NrU   rK   rM   ©	r   Ú
isinstancer   rN   rO   rP   r   r.   r/   )r   Úexpr"   r0   r1   r   r   r   Útest_bool_handling|   s    

,rY   c                  C   s.   g d¢} t | ƒ}t g d¢¡}t ||¡ d S )N)r6   r7   r4   r8   ©r   r#   r$   r.   Úassert_numpy_array_equal)r"   Úresr1   r   r   r   Ú	test_list’   s    r]   zdata,arr_kwargsc                 C   s*   t | ƒ}tj| fi |¤Ž}t ||¡ d S r   rZ   )r=   Z
arr_kwargsr0   r1   r   r   r   Útest_list_numericš   s    
r^   ÚkwargsÚOc                 C   s8   g d¢}t |fi | ¤Ž}t|ƒ}t |ƒ}t ||¡ d S )Nr8   r;   )r_   r=   r"   r0   r1   r   r   r   Útest_numeric©   s
    ra   ÚcolumnsÚaÚbc                 C   sl   t dt d¡t d¡dgg d¢dœƒ}t ddtjdgg d¢dœƒ}| ¡ }||   t¡|| < t 	||¡ d S )Ng333333ó?ç…ëQ¸	@Úinfinityz0.1)rA   g       @rB   rC   ©rc   rd   çš™™™™™¹?)
r   ÚdecimalÚDecimalr#   ÚinfÚcopyÚapplyr   r.   Úassert_frame_equal)rb   Údfr1   Zdf_copyr   r   r   Útest_numeric_df_columns´   s    þÿrp   zdata,exp_datare   gš™™™™™ù?rh   c                 C   s:   t d| iƒ}|d  t¡|d< t d|iƒ}t ||¡ d S )Nrc   )r   rm   r   r.   rn   )r=   rS   ro   r1   r   r   r   Útest_numeric_embedded_arr_likesÎ   s    rq   c                  C   s<   t g d¢ƒ} t| dd�}t tjtjtjgƒ}t ||¡ d S )N)rc   rd   Úcr
   rM   )r   r   r#   Únanr.   r/   )r"   r0   r1   r   r   r   Útest_all_naná   s    rt   c                 C   sl   t g d¢g d¢dœƒ}| d ur&d| ini }tjtdd��  t|fi |¤Ž W d   ƒ n1 s^0    Y  d S )Nr8   )Ú4Ú5Ú6rg   r   z	1-d arrayrK   )r   rN   rO   Ú	TypeErrorr   )r   ro   r_   r   r   r   Útest_type_checké   s    ry   Úval)r9   çš™™™™™ñ?i!N  c                 C   s*   |r
|  n| } t || ƒƒt| ƒks&J ‚d S r   ©r   Úfloat)rz   r   r   r   r   r   Útest_scalarñ   s    r~   c           	      C   s¸   |d urd|ini }|r|  n| }||ƒ}t |tƒ}|r„|dv r„d}tjt|d��  t|fi |¤Ž W d   ƒ q´1 sx0    Y  n0|dkr˜|r˜t|ƒn|}t t|fi |¤Ž|¡ d S )Nr   ©Nr	   ú#Integer out of range. at position 0rK   r
   )	rW   r   rN   rO   rP   r   r}   r.   Úassert_almost_equal)	r   r   r   r   r_   rz   Úval_is_stringrQ   r1   r   r   r   Útest_really_large_scalar÷   s    
0rƒ   c                 C   s6  |d urd|ini }|r|  n| }||ƒ}d}|g||g  }t |tƒ}	|dk}
|dv r®|	s`|r®|	rjd}nd}tjt|d��  t|fi |¤Ž W d   ƒ n1 s¢0    Y  n„t|fi |¤Ž}|
rÎ|	rÎt|ƒn|}|g}|�r|
rô| tj	¡ t}n| |¡ t
}nt |ttfƒ�rtnt
}t |tj||d�¡ d S )	Nr   Ústringr
   r   r€   z-Unable to parse string "string" at position 1rK   r,   )rW   r   rN   rO   rP   r   r}   Úappendr#   rs   r-   Úintr.   r�   r$   )r   r   r   r   r   r_   rz   Z	extra_eltÚarrr‚   ZcoercingrQ   r0   Zexp_valr1   Ú	exp_dtyper   r   r   Útest_really_large_in_arr  s0    
0
r‰   c                 C   sà   |d urd|ini }t |r |  n| ƒg}|r8| d| ¡ |dv r’t|ƒ}d|› �}tjt|d��  t|fi |¤Ž W d   ƒ qÜ1 s†0    Y  nJt|fi |¤Ž}|dkr¾dd„ |D ƒ}	t}
n|}	t}
t	 
|tj|	|
d	�¡ d S )
Nr   r   r   z"Integer out of range. at position rK   r
   c                 S   s   g | ]}t |ƒ‘qS r   )r}   )Ú.0Úir   r   r   Ú
<listcomp>D  r   z7test_really_large_in_arr_consistent.<locals>.<listcomp>r,   )r   Úinsertr†   rN   rO   rP   r   r}   r-   r.   r�   r#   r$   )r   r   r   r   r_   r‡   rE   rQ   r0   r1   rˆ   r   r   r   Ú#test_really_large_in_arr_consistent/  s     
0rŽ   zerrors,checker)r	   z+Unable to parse string "fail" at position 0c                 C   s   | dkS )NÚfailr   r   r   r   r   r   Q  r   c                 C   s
   t  | ¡S r   )r#   Úisnanr   r   r   r   r   R  r   c                 C   sb   d}t |tƒrJtjt|d�� t|| d� W d   ƒ q^1 s>0    Y  n|t|| d�ƒs^J ‚d S )Nr�   rK   rM   )rW   r   rN   rO   rP   r   )r   ÚcheckerZscalarr   r   r   Útest_scalar_failM  s
    	
,r’   ©r9   é   r>   r>   c                 C   s&   |\}}|| ƒ} t | ƒ}||| ƒ d S r   ©r   )r=   r&   r   Úassert_equalr0   r   r   r   Útest_numeric_dtypes_  s    r—   zdata,exp)r6   Ú2Ú3Úint64r,   )z1.5z2.7z3.4)g      ø?gš™™™™™@g333333@c                 C   s*   |\}}t || ƒƒ}||ƒ}|||ƒ d S r   r•   )r=   rX   r&   r   r–   r0   r1   r   r   r   Útest_strh  s    r›   c                 C   s<   |\}}t jdd| d�}t||ƒƒ}||jƒ}|||ƒ d S )NZ20130101r>   )ÚperiodsÚtz)ÚpdZ
date_ranger   Úasi8)Ztz_naive_fixturer&   r   r–   r   r0   r1   r   r   r   Útest_datetime_likew  s
    
r    c                 C   s<   | \}}t jdddd�}t||ƒƒ}||jƒ}|||ƒ d S )Nz1 daysr>   ÚD)rœ   Úfreq)rž   Ztimedelta_ranger   rŸ   )r&   r   r–   r   r0   r1   r   r   r   Útest_timedelta€  s
    
r£   c                 C   sX   | \}}t jddddd�}||ƒ}t|tƒrJt|ƒ}||jƒ}|||ƒ n
t d¡ d S )Nz2011-01r>   ÚMÚ )rœ   r¢   r!   z)Missing PeriodDtype support in to_numeric)rž   Zperiod_rangerW   r   r   rŸ   rN   Úskip)r&   r   r–   r   Úinpr0   r1   r   r   r   Útest_period‰  s    

r¨   zerrors,expected)r	   z!Invalid object type at position 0ç      $@r”   rI   c                 C   st   t ddgddgƒ}t|tƒrXtjt|d�� t|| d� W d   ƒ qp1 sL0    Y  nt|| d�}t ||¡ d S )Nr©   r”   rA   rI   rK   rM   )	r   rW   r   rN   rO   rx   r   r.   r/   )r   r1   r"   r0   r   r   r   Útest_non_hashable˜  s    

,rª   c                  C   sN   g d¢} d}d}t jt|d�� t| |d� W d   ƒ n1 s@0    Y  d S )N©r6   r”   r>   zunsigned-integerz#invalid downcasting method providedrK   ©r*   ©rN   rO   rP   r   )r=   Zinvalid_downcastrQ   r   r   r   Útest_downcast_invalid_cast¬  s
    r®   c                  C   sN   g d¢} d}d}t jt|d�� t| |d� W d   ƒ n1 s@0    Y  d S )Nr«   Úinvalidzinvalid error value specifiedrK   rM   r­   )r=   Zinvalid_error_valuerQ   r   r   r   Útest_errors_invalid_value¶  s
    r°   r«   )z
1970-01-02z
1970-01-03z
1970-01-04zdatetime64[D]zkwargs,exp_dtyper*   r}   ÚunsignedZUnsignedIntegerc                 C   s2   t | fi |¤Ž}tjg d¢|d�}t ||¡ d S )Nr“   r,   rZ   )r=   r_   rˆ   r0   r1   r   r   r   Útest_downcast_basicÀ  s    r²   Úsigned_downcastc                 C   sB   t  t jd d ¡}t jg d¢|d�}t| |d�}t ||¡ d S )NÚIntegerr   r“   r,   r¬   )r#   r'   Ú	typecodesr$   r   r.   r[   )r=   r³   Zsmallest_int_dtyper1   r\   r   r   r   Útest_signed_downcastÛ  s    r¶   c                  C   s4   g d¢} t j| td�}t| ddd�}t ||¡ d S )N)Zfoor”   r>   r,   r   r±   r)   )r#   r$   r-   r   r.   r[   ©r=   r1   r\   r   r   r   Ú!test_ignore_downcast_invalid_dataí  s    r¸   c                  C   s8   g d¢} t jg d¢t jd�}t| dd�}t ||¡ d S )N)z-1r”   r>   )éÿÿÿÿr”   r>   r,   r±   r¬   )r#   r$   rš   r   r.   r[   r·   r   r   r   Ú$test_ignore_downcast_neg_to_unsignedø  s    rº   )r(   r   r±   zdata,expected)z1.1r”   r>   )r{   r”   r>   )g     ˆÃ@i N  i¸  gR¸…ˆã@iPÃ  g     jè@c                 C   s   t | |d�}t ||¡ d S ©Nr¬   )r   r.   r[   )r=   r1   r*   r\   r   r   r   Ú)test_ignore_downcast_cannot_convert_float  s    r¼   zdowncast,expected_dtypec                 C   s6   g d¢}t jg d¢|d�}t|| d�}t ||¡ d S )N)Ú256é  é  )é   r¾   r¿   r,   r¬   )r#   r$   r   r.   r[   )r*   Úexpected_dtyper=   r1   r\   r   r   r   Útest_downcast_not8bit  s    rÂ   zdtype,downcast,min_maxÚint8Úint16Úint32Úuint8Úuint16Úuint32Úuint64c                 C   s"   t t|ƒ|d�}|j| ksJ ‚d S r»   )r   r   r'   )r'   r*   Zmin_maxZseriesr   r   r   Útest_downcast_limits#  s    rÊ   zser,expectedl            c                 C   s   t | dd�}t ||¡ d S )Nr±   r¬   )r   r.   r/   )r"   r1   r0   r   r   r   Útest_downcast_uint64?  s    rË   )éÈ   é,  r¥   ÚNaNì     p;6$« rÌ   rÍ   rÏ   ©Z12345678901234567890Ú
1234567890ZITEMl   Ò
>V3&¥Z
 iÒ–Ic                 C   s,   t t| ƒdd�}t|td�}t ||¡ d S )Nr
   rM   r,   )r   r   r}   r.   r/   )r=   rS   r0   r1   r   r   r   Útest_coerce_uint64_conflictQ  s    rÒ   )r	   zUnable to parse stringc                 C   sn   t g d¢ƒ}t|tƒrRtjt|d�� t|| d� W d   ƒ qj1 sF0    Y  nt|| d�}t ||¡ d S )NrÐ   rK   rM   rV   )r   rX   r"   r0   r   r   r   Útest_non_coerce_uint64_conflicth  s    
,rÓ   Údc1)r(   r}   r±   Údc2c                 C   s$   t jtg | d�tg |d�dd� d S )Nr¬   F)Zcheck_dtype)r.   r[   r   )rÔ   rÕ   r   r   r   Útest_downcast_empty}  s
    

ýrÖ   c                  C   sN   t ddd�} t | ¡sJ ‚tddtjgƒ}t tg d¢ƒdd�} t | |¡ d S )NrÉ   r
   rM   é    é@   )Z32Z64rÉ   )r   r#   r�   r   rs   r.   r/   )r0   r"   r   r   r   Ú,test_failure_to_convert_uint64_string_to_NaN‰  s
    rÙ   Ústrrep).z243.164z245.968z249.585z259.745z265.742z272.567z279.196z280.366z275.034z271.351z272.889z270.627z280.828z290.383z308.153z319.945z336.0z344.09z351.385z356.178z359.82z361.03z367.701z380.812z387.98z391.749z391.171z385.97z385.345z386.121z390.996z399.734z413.073z421.532z430.221z437.092z439.746z446.01z451.191z460.463z469.779z472.025z479.49z474.864z467.54z471.978c                 C   s   t | ƒ}|t| ƒksJ ‚d S r   r|   )rÚ   r0   r   r   r   Útest_precision_float_conversion“  s    5rÛ   zvalues, expected)r6   r˜   N)r6   r˜   r>   )r6   r˜   ç      @)r9   r”   rÜ   )r6   NrÜ   rÜ   )r6   r˜   z3.5c                 C   s$   t | |d�}t|ƒ}t ||¡ d S r+   r;   )r%   Znullable_string_dtyper1   Úsr0   r   r   r   Ú$test_to_numeric_from_nullable_stringÍ  s    rÞ   z+data, input_dtype, downcast, expected_dtypeÚInt64ÚInt8ZFloat64r{   iÂ  ZInt16ZFloat32iÔþÿÿZUInt64ZGH38798)Úreason)ZmarksZUInt8r¹   ZInt32c                 C   s8   t j| |d�}t||d�}t j| |d�}t ||¡ d S )Nr,   r¬   )rž   r$   r   r.   Úassert_extension_array_equal)r=   Zinput_dtyper*   rÁ   r‡   r0   r1   r   r   r   Útest_downcast_nullable_numericß  s    !rã   c                  C   s^   t jddt jgdd�} t| dd�}t jddt jgdd�}t ||¡ t j| d< t ||¡ d S )Nr9   r”   rß   r,   r(   r¬   rà   )rž   r$   ÚNAr   r.   râ   )r‡   r0   r1   r   r   r   Ú%test_downcast_nullable_mask_is_copied  s    
rå   c                  C   s"   t dƒ} t d¡}| |ksJ ‚d S )Nz1.7e+308gv;w0ÑBî)r   r#   Úfloat64)r0   r1   r   r   r   Ú#test_to_numeric_scientific_notation  s    
rç   )]ri   Únumpyr#   r   rN   Zpandas.compatr   Zpandasrž   r   r   r   r   Zpandas._testingZ_testingr.   Zfixturer   r   r   r   r   r   Zassert_index_equalr/   r[   r&   ÚmarkZparametrizerš   rÃ   r2   r<   rG   rR   rs   rT   rY   r]   r^   ra   rp   rj   r$   rq   rt   ry   r~   rƒ   r‰   rŽ   r’   r—   r›   r    r£   r¨   rª   r®   r°   r'   Zfloat32Úcharrµ   r²   r¶   r¸   rº   ræ   r¼   rÄ   rÇ   rÂ   ÚminÚmaxrÅ   rÆ   rÈ   rÉ   rÊ   rË   rÒ   rÓ   rÖ   rÙ   rÛ   rÞ   rä   r   Zxfailrã   rå   rç   r   r   r   r   Ú<module>   s   




ýÿ
þþ
	
üþ	

þþþ

ÿ

üþ	


üþ	


üþ	
þ"ûþ

	
'

ýþ

 
þþ
		ýþ


ýþùþýþ	

ÿþþþþ
	         ïþ

þÿþ	
	þ
þûþ

þþ


þ3
úþ
ûåþ 
