U
    ÎZjm�  ã                   @   s¢  d dl mZ d dlZd dlZd dlZd dlZd dlm  m	Z
 d dlmZ d dlZd dlmZmZ d dlmZ d dlmZ d dlm  mZ ejZejddgd�d	d
„ ƒZG dd„ dƒZG dd„ dƒZG dd„ dƒZG dd„ dƒZ G dd„ dƒZ!G dd„ dƒZ"dd„ Z#ej$ %dej&dfej'dfej(dfej)dfej*dfej+dfej,dfej-dfej.dfej/dfg
¡dd„ ƒZ0ej$ %d ej1ej2ej'ej)ej+ej3ej4ej5ej6ej7ej/ej.ej8ej9ej:g¡d!d"„ ƒZ;ej$ %d#d$d g¡d%d&„ ƒZ<ej$ %d'de =dddg¡e =dgd(dg  ¡g¡ej$ %d)d*d+g¡d,d-„ ƒƒZ>e
j?e
j@ej$ %d)d*d.g¡d/d0„ ƒƒƒZAej$ %d1d2d3g¡ej$ %d4ejBejCejDejEejFejGejHejIejJejKejLg¡d5d6„ ƒƒZMdS )7é    )ÚpartialN)Úis_integer_dtype)ÚSeriesÚisna)ÚDatetimeArrayTF)Úparamsc                 C   s   | j S )z5
    Fixture to pass skipna to nanops functions.
    )Úparam)Úrequest© r
   ú[/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/pandas/tests/test_nanops.pyÚskipna   s    r   c                   @   sV  e Zd Zdd„ Zdd„ ZdSdd„ZdTd	d
„ZdUdd„ZdVdd„ZdWdd„Z	e
j dejejfejejfg¡dd„ ƒZdd„ Zdd„ Zdd„ Ze
j dejejejejejeeddƒg¡dd„ ƒZdd„ Ze
j d ed!ƒ¡d"d#„ ƒZ e
j d ed!ƒ¡d$d%„ ƒZ!e"j#e
j d ed!ƒ¡d&d'„ ƒƒZ$e
j dej%ej&fej'ej(fg¡d(d)„ ƒZ)dXd*d+„Z*d,d-„ Z+d.d/„ Z,dYd0d1„Z-e"j#d2d3„ ƒZ.e"j#d4d5„ ƒZ/d6d7„ Z0d8d9„ Z1d:d;„ Z2d<d=„ Z3d>d?„ Z4e"j#d@dA„ ƒZ5e"j#dBdC„ ƒZ6e"j#dDdE„ ƒZ7dFdG„ Z8dHdI„ Z9e
j dJe:j;ej<fe:j=ej>fe:j?ej@fe:jAejBfe:jCejDfe:jEejFfg¡dKdL„ ƒZGdMdN„ ZHdOdP„ ZIdQdR„ ZJdS )ZÚTestnanopsDataFramec                 C   sð  t j d¡ dt_d}t jj|Ž | _t jj|Ž | _| j| jd  | _t j 	dd|¡| _
t j 	dd|¡dk| _t  | j¡ d	¡| _t  | j¡ d
¡| _t j 	dd|¡ d¡| _t j 	dd|¡ d¡| _t  t j|¡| _t  | j| jg¡| _t  | j| jg¡| _t  | j| jg¡| _t  | j| jg¡| _| jt j | _t  | j| jg¡| _t  | j| jg¡| _t  | j| j| jg¡| _t  | j| j| jg¡| _t  | j d¡| j
 d¡| j d¡| j d¡| j d¡| j d¡| j d¡| j d¡g¡| _ t j!dd��L | j| jd  | _"t  | j| j"g¡| _#| jd | _$t  | j| j$g¡| _%W 5 Q R X | j| _&| j| _'| j| _(| j| _)| j| _*| j| _+| jd d …df | _,| jd d …df | _-| jd d …df | _.| jd d …df | _/| jd d …df | _0| jd d …df | _1d S )Niã+  F)é   é   y              ð?iöÿÿÿé
   r   é   ÚSÚUi N  úM8[ns]úm8[ns]ÚOÚignore©Úinvalid)2ÚnpÚrandomÚseedÚnanopsÚ_USE_BOTTLENECKZrandnÚ	arr_floatÚ
arr_float1Úarr_complexÚrandintÚarr_intÚarr_boolÚabsÚastypeÚarr_strÚarr_utfÚarr_dateÚ
arr_tdeltaZtileÚnanÚarr_nanÚvstackÚarr_float_nanÚarr_float1_nanÚarr_nan_float1Úarr_nan_nanÚinfÚarr_infÚarr_float_infÚarr_nan_infÚarr_float_nan_infÚarr_nan_nan_infÚarr_objÚerrstateÚarr_nan_nanjÚarr_complex_nanÚarr_nan_infjÚarr_complex_nan_infjÚarr_float_2dÚarr_float1_2dÚ
arr_nan_2dÚarr_float_nan_2dÚarr_float1_nan_2dÚarr_nan_float1_2dÚarr_float_1dÚarr_float1_1dÚ
arr_nan_1dÚarr_float_nan_1dÚarr_float1_nan_1dÚarr_nan_float1_1d)ÚselfZ	arr_shaper
   r
   r   Úsetup_method!   sd    







øÿz TestnanopsDataFrame.setup_methodc                 C   s
   t t_d S ©N)Úuse_bnr   r   ©rJ   r
   r
   r   Úteardown_methoda   s    z#TestnanopsDataFrame.teardown_methodTc                 C   s>  t |d|ƒ}|dkrLt|dƒrL|jrL|j|jkrLtj||jd gdd�d }ztj|||d� W nØ tk
�r8   t|dƒrˆ|j	dkrˆ‚ t|dƒrž|j	j
dkr ‚ |j	j
d	krî|j	j
d	krÆ| |j	¡}qüttd
ƒrÔdnd}| |¡}| |¡}n|j	j
d	krü‚ tjt |¡t |¡|d� tjt |¡t |¡|d� Y nX d S )NZasm8r   Úshape©Úaxis©Úcheck_dtypeÚdtyper   )Úcr   r   Z
complex128Úc16Úf8)ÚgetattrÚhasattrÚndimrP   r   ÚsplitÚtmÚassert_almost_equalÚAssertionErrorrU   Úkindr&   ÚrealÚimag)rJ   ÚtargÚresrR   rT   Z
cast_dtyper
   r
   r   Úcheck_resultsd   s6    ÿþý
ü
z!TestnanopsDataFrame.check_resultsNc                 K   s¤  t t|jƒƒd g D �]8}	|r"|n|}
|rP|rPt|
ƒ ¡ rP||
fd|	i|—Ž}n||
fd|	i|—Ž}|
jtkr¢|tjks‚|tjkr¢t	|tj
ƒrš| t¡}nt|ƒ}||f|	|dœ|—Ž}| j|||	|d� |rô||fd|	i|—Ž}| j|||	|d� |	d k�r$||fd|i|—Ž}| j|||	|d� |r|	d kr||f|Ž}| j|||	|d� q|jdk�r`d S tj|ddd�}tj|ddd�}| j||||f|||d	œ|—Ž d S )
NrR   ©rR   r   rS   r   é   r   éÿÿÿÿrQ   )r   rT   Úempty_targfunc)ÚlistÚranger[   r   ÚallrU   Úobjectr   ÚanyÚ
isinstanceÚndarrayr&   Úboolre   ÚtakeÚcheck_fun_data)rJ   ÚtestfuncÚtargfuncÚ	testarvalÚ	targarvalr   rT   ri   ÚkwargsrR   Ztargartempvalrc   rd   Z
testarval2Z
targarval2r
   r
   r   rs   Œ   sP    
ÿÿ
üùøz"TestnanopsDataFrame.check_fun_datac           
      K   sb   |}|  d¡r,t| |d d… ƒr,|d d… }t| |ƒ}t| |ƒ}	| j||||	f||dœ|—Ž d S )NZ_nanéüÿÿÿ)r   ri   )ÚendswithrZ   rY   rs   )
rJ   rt   ru   Ztestarr   ri   rx   Ztargarrv   rw   r
   r
   r   Ú	check_funÄ   s     

üúùzTestnanopsDataFrame.check_func	                 K   s¬  | j ||d|f|	Ž | j ||d|f|	Ž | j ||d|f|	Ž | j ||d|f|	Ž | j d¡| j d¡| j d¡g}
|rŠ| j ||d|f|	Ž |rà| j ||d|f|	Ž | j ||d|f|	Ž |rÎ| j ||d	|f|	Ž |
| j d¡g7 }
|�r|| jƒ | j ||d
|f|	Ž |
| j d¡g7 }
|�rhz|| jƒ W n tk
�r@   Y n(X | j ||d|f|	Ž |
| j d¡g7 }
|�r¨t	 
|
¡| _|dk�r”t| j||d�}| j ||d|f|	Ž d S )Nr   r.   r#   r$   r   r,   r!   r;   r:   r)   r*   Úconvert)ÚfuncÚallow_complexr8   )r{   r   r&   r#   r$   r!   r)   r*   Ú	TypeErrorr   r-   r8   r   Ú_badobj_wrap)rJ   rt   ru   r   r~   Úallow_all_nanÚ
allow_dateÚallow_tdeltaÚ	allow_objrx   Zobjsr
   r
   r   Ú
check_funsØ   sH    


ý

  ÿzTestnanopsDataFrame.check_funsc                 K   s2   |j jdkr&|r| d¡}n
| d¡}||f|ŽS )Nr   rW   rX   )rU   r`   r&   )rJ   Úvaluer}   r~   rx   r
   r
   r   r€     s
    
z TestnanopsDataFrame._badobj_wrapznan_op,np_opc                 C   s   | j |||ddd� d S )NF)r�   r‚   )r…   ©rJ   Znan_opZnp_opr   r
   r
   r   Útest_nan_funcs  s    z"TestnanopsDataFrame.test_nan_funcsc                 C   s    | j tjtj|ddtjd� d S )NF)r‚   rT   ri   )r…   r   Únansumr   Úsum©rJ   r   r
   r
   r   Útest_nansum  s    úzTestnanopsDataFrame.test_nansumc                 C   s   | j tjtj|ddd� d S )NF)r„   r‚   )r…   r   Únanmeanr   Úmeanr‹   r
   r
   r   Útest_nanmean)  s        ÿz TestnanopsDataFrame.test_nanmeanc                 C   s\   dD ]R}t |tdƒtjd�}| ¡ }|j ¡ }||ks:t‚||ksFt‚|jtjkst‚qd S )N)l          lüÿÿÿ       l   Ô|™H%[<iô  )ÚindexrU   )	r   rk   r   Úint64rŽ   Úvaluesr_   rU   Úfloat64)rJ   ÚaÚsÚresultZ	np_resultr
   r
   r   Útest_nanmean_overflow.  s    
z)TestnanopsDataFrame.test_nanmean_overflowrU   Zfloat128c                 C   s€   |d krd S t tdƒ|d�}dddddg}dd	g}|| D ]@}t||ƒƒ }t|ƒrl||krl|jtjkszt‚q:|j|ks:t‚q:d S )
Nr   ©rU   rŽ   ÚstdÚvarÚskewÚkurtÚminÚmax)r   rk   rY   r   rU   r   r“   r_   )rJ   rU   r•   Zgroup_aZgroup_bÚmethodr–   r
   r
   r   Útest_returned_dtype;  s    z'TestnanopsDataFrame.test_returned_dtypec              	   C   sB   t jdd��, t  dt¡ | jtjtj|dddd� W 5 Q R X d S )NT©Úrecordr   Fr|   )r~   r‚   r„   )	ÚwarningsÚcatch_warningsÚsimplefilterÚRuntimeWarningr…   r   Ú	nanmedianr   Úmedianr‹   r
   r
   r   Útest_nanmedianU  s    úz"TestnanopsDataFrame.test_nanmedianÚddofé   c              	   C   s    | j tjtj|ddd|d� d S ©NFr|   )r~   r‚   r„   rª   )r…   r   Únanvarr   rš   ©rJ   rª   r   r
   r
   r   Útest_nanvara  s    ùzTestnanopsDataFrame.test_nanvarc              	   C   s    | j tjtj|ddd|d� d S r¬   )r…   r   Únanstdr   r™   r®   r
   r
   r   Útest_nanstdm  s    ùzTestnanopsDataFrame.test_nanstdc                 C   sD   ddl m} tjdd��" | jtj||dddd|d� W 5 Q R X d S )Nr   )Úsemr   r   Fr|   )r~   r‚   rƒ   r„   rª   )Úscipy.statsr²   r   r9   r…   r   Únansem)rJ   rª   r   r²   r
   r
   r   Útest_nansemy  s    øzTestnanopsDataFrame.test_nansemc              	   C   s:   t jdd��$ t  dt¡ | j|||dd� W 5 Q R X d S )NTr¡   r   F©r„   )r£   r¤   r¥   r¦   r…   r‡   r
   r
   r   Útest_nanops_with_warningsŠ  s    z-TestnanopsDataFrame.test_nanops_with_warningsc                 C   sV   |||ƒ}t  ||¡}t|ƒ}|jr.d||< n$t|dƒr@| ¡ sNt|dƒsR|rRd}|S )Nrh   rl   )r   r�   r   r[   rZ   rl   )rJ   r†   rR   r}   rd   ZnansZnullnanr
   r
   r   Ú_argminmax_wrap’  s    

ÿþýüz#TestnanopsDataFrame._argminmax_wrapc              	   C   sL   t jdd��6 t  dt¡ t| jtjd�}| jt	j
||dd� W 5 Q R X d S ©NTr¡   r   ©r}   Fr¶   )r£   r¤   r¥   r¦   r   r¸   r   Zargmaxr…   r   Ú	nanargmax©rJ   r   r}   r
   r
   r   Útest_nanargmax¡  s    z"TestnanopsDataFrame.test_nanargmaxc              	   C   sL   t jdd��6 t  dt¡ t| jtjd�}| jt	j
||dd� W 5 Q R X d S r¹   )r£   r¤   r¥   r¦   r   r¸   r   Zargminr…   r   Ú	nanargminr¼   r
   r
   r   Útest_nanargmin§  s    z"TestnanopsDataFrame.test_nanargminc                 C   st   t |jjtjƒs| d¡}|||dd�}t |tjƒrXd|tj||d�tj||d�k< |S t |¡t |¡krpdS |S )NrX   F)rR   Zbiasr   rQ   ç        )	ro   rU   Útyper   Zfloatingr&   rp   rž   r�   )rJ   r’   rR   r}   r–   r
   r
   r   Ú_skew_kurt_wrap­  s    
 z#TestnanopsDataFrame._skew_kurt_wrapc              	   C   sN   ddl m} t| j|d�}tjdd�� | jtj||dddd� W 5 Q R X d S )Nr   )r›   rº   r   r   F©r~   r‚   rƒ   )	r³   r›   r   rÂ   r   r9   r…   r   Únanskew)rJ   r   r›   r}   r
   r
   r   Útest_nanskew¹  s    úz TestnanopsDataFrame.test_nanskewc              	   C   sZ   ddl m} t|dd�}t| j|d�}tjdd�� | jtj||dddd	� W 5 Q R X d S )
Nr   )ÚkurtosisT)Zfisherrº   r   r   FrÃ   )	r³   rÆ   r   rÂ   r   r9   r…   r   Únankurt)rJ   r   rÆ   Zfunc1r}   r
   r
   r   Útest_nankurtÈ  s    úz TestnanopsDataFrame.test_nankurtc                 C   s    | j tjtj|ddtjd� d S )NF)r‚   rƒ   ri   )r…   r   Únanprodr   Úprodr‹   r
   r
   r   Útest_nanprodØ  s    úz TestnanopsDataFrame.test_nanprodc                 K   s~  || j | jf|Ž}|| j | jfdt| j ƒd i|—Ž}t ||¡ t ||¡ || j| jf|Ž}|| j| jfdt| j ƒd i|—Ž}t ||¡ t ||¡ tj}	|| j	| jf|Ž}
|| j | j	f|Ž}|| j	| j	f|Ž}|| j| j
f|Ž}|| j| j
fdt| j ƒd i|—Ž}|| j | jfdt| j ƒd i|—Ž}t |	|
¡ t |	|¡ t |	|¡ t |	|¡ t |	|¡ t |	|¡ d S ©NZmin_periodsrg   )r>   r?   Úlenr]   r^   rA   rB   r   r+   r@   rC   ©rJ   ÚcheckfunÚtarg0Útarg1rx   Zres00Zres01Zres10Zres11Útarg2Zres20Zres21Zres22Zres23Zres24Zres25r
   r
   r   Úcheck_nancorr_nancov_2dâ  sb    þýüþýüþýüþýüz+TestnanopsDataFrame.check_nancorr_nancov_2dc                 K   s~  || j | jf|Ž}|| j | jfdt| j ƒd i|—Ž}t ||¡ t ||¡ || j| jf|Ž}|| j| jfdt| j ƒd i|—Ž}t ||¡ t ||¡ tj}	|| j	| jf|Ž}
|| j | j	f|Ž}|| j	| j	f|Ž}|| j| j
f|Ž}|| j| j
fdt| j ƒd i|—Ž}|| j | jfdt| j ƒd i|—Ž}t |	|
¡ t |	|¡ t |	|¡ t |	|¡ t |	|¡ t |	|¡ d S rÌ   )rD   rE   rÍ   r]   r^   rG   rH   r   r+   rF   rI   rÎ   r
   r
   r   Úcheck_nancorr_nancov_1d  sb    þýüþýüþýüþýüz+TestnanopsDataFrame.check_nancorr_nancov_1dc                 C   s€   t  | j| j¡d }t  | jj| jj¡d }|  tj||¡ t  | j| j	¡d }t  | jj| j	j¡d }| j
tj||dd� d S ©N©r   rg   Zpearson©rŸ   ©r   Úcorrcoefr>   r?   ÚflatrÓ   r   ÚnancorrrD   rE   rÔ   ©rJ   rÐ   rÑ   r
   r
   r   Útest_nancorr<  s    z TestnanopsDataFrame.test_nancorrc                 C   s„   t  | j| j¡d }t  | jj| jj¡d }| jtj||dd� t  | j| j	¡d }t  | jj| j	j¡d }| j
tj||dd� d S rÕ   rØ   rÜ   r
   r
   r   Útest_nancorr_pearsonD  s    z(TestnanopsDataFrame.test_nancorr_pearsonc                 C   sˆ   ddl m} || j| jƒd }|| jj| jjƒd }| jtj||dd� || j| j	ƒd }|| jj| j	jƒd }| j
tj||dd� d S )Nr   )Ú
kendalltauZkendallr×   )r³   rß   r>   r?   rÚ   rÓ   r   rÛ   rD   rE   rÔ   )rJ   rß   rÐ   rÑ   r
   r
   r   Útest_nancorr_kendallL  s    z(TestnanopsDataFrame.test_nancorr_kendallc                 C   sˆ   ddl m} || j| jƒd }|| jj| jjƒd }| jtj||dd� || j| j	ƒd }|| jj| j	jƒd }| j
tj||dd� d S )Nr   )Ú	spearmanrZspearmanr×   )r³   rá   r>   r?   rÚ   rÓ   r   rÛ   rD   rE   rÔ   )rJ   rá   rÐ   rÑ   r
   r
   r   Útest_nancorr_spearmanW  s    z)TestnanopsDataFrame.test_nancorr_spearmanc              	   C   sb   t  | j| j¡d }t  | jj| jj¡d }d}tjt|d�� | jt	j
||dd� W 5 Q R X d S )NrÖ   z;Unknown method 'foo', expected one of 'kendall', 'spearman'©ÚmatchÚfoor×   )r   rÙ   r>   r?   rÚ   ÚpytestÚraisesÚ
ValueErrorrÔ   r   rÛ   )rJ   rÐ   rÑ   Úmsgr
   r
   r   Útest_invalid_methodb  s
    z'TestnanopsDataFrame.test_invalid_methodc                 C   s|   t  | j| j¡d }t  | jj| jj¡d }|  tj||¡ t  | j| j	¡d }t  | jj| j	j¡d }|  
tj||¡ d S )NrÖ   )r   Zcovr>   r?   rÚ   rÓ   r   ZnancovrD   rE   rÔ   rÜ   r
   r
   r   Útest_nancovj  s    zTestnanopsDataFrame.test_nancovc                 C   s.  | j }| j}| j}| j}| j}| j}| j}	|j�r*|||ƒ}
t 	||
¡ |jdkrbt
 ||g¡}nt
 ||g¡}|||ƒ}tj||dd� |}|||	ƒ}tj||dd� t
j|ddd�}t
j|ddd�}t
j|ddd�}t
j|ddd�}t
j|ddd�}t
j|ddd�}t
j|	ddd�}	t
j|ddd�}q*d S )Nrg   FrS   r   rh   rQ   )r   r    r,   r1   r.   r/   r0   r[   r]   r^   r   r-   ÚhstackÚassert_numpy_array_equalrr   )rJ   rÏ   rÐ   r   r    r,   r1   r.   r/   r0   Úres0rÑ   Zres1rÒ   Zres2r
   r
   r   Úcheck_nancompr  s4    



z!TestnanopsDataFrame.check_nancompzop,nanopc                 C   s   || j | jƒ}|  ||¡ d S rL   )r   r    rï   )rJ   ÚopZnanoprÐ   r
   r
   r   Útest_nan_comparison”  s    z'TestnanopsDataFrame.test_nan_comparisonc                 C   sL   t |ddƒrH||ƒ}|r"|s*t‚n|r*t‚t|dƒs6qHtj|ddd�}q d S )Nr[   Tr   rh   rQ   )rY   r_   rZ   r   rr   )rJ   r}   r†   Úcorrectrî   r
   r
   r   Ú
check_bool£  s    

zTestnanopsDataFrame.check_boolc              
   C   s®   dddddddddd	g
}d
ddddddddg	}|D ]"\}}t | |ƒ}|  tj||¡ q2|D ]N\}}t | |ƒ}|  tj||¡ |  tj| d¡|¡ |  tj| d¡|¡ qZd S )N)r!   F)r#   F)r$   F)r'   F)r(   F)r;   F)r:   F)r<   T)r=   T)r   F)r,   F)r.   F)r1   F)r4   T)r3   T)r5   T)r6   T)r7   TZf4Úf2)rY   ró   r   Z	_has_infsr&   )rJ   ÚpairsZpairs_floatÚarrrò   Úvalr
   r
   r   Útest__has_infs±  s:    ö÷

z"TestnanopsDataFrame.test__has_infsc                 C   s¸   t  | jjd¡st‚t  | jjd¡s(t‚t  | jjd¡s<t‚t  | jjd¡sPt‚t  | jjd¡sdt‚t  | j	jd¡sxt‚t  | j
jd¡rŒt‚t  | jjd¡r t‚t  | jjd¡r´t‚d S )NÚtest)r   Ú_bn_ok_dtyper   rU   r_   r!   r#   r$   r'   r(   r)   r*   r8   rN   r
   r
   r   Útest__bn_ok_dtypeÔ  s    z%TestnanopsDataFrame.test__bn_ok_dtype)T)TN)N)TTTTT)T)NN)NN)KÚ__name__Ú
__module__Ú__qualname__rK   rO   re   rs   r{   r…   r€   ræ   ÚmarkÚparametrizer   Únananyr   rn   Únanallrl   rˆ   rŒ   r�   r—   Úint16Úint32r‘   Úfloat32r“   rY   r    r©   rk   r¯   r±   ÚtdZskip_if_no_scipyrµ   Únanminr�   Únanmaxrž   r·   r¸   r½   r¿   rÂ   rÅ   rÈ   rË   rÓ   rÔ   rÝ   rÞ   rà   râ   rê   rë   rï   ÚoperatorÚeqZnaneqÚneZnanneÚgtZnangtÚgeZnangeÚltZnanltÚleZnanlerñ   ró   rø   rû   r
   r
   r
   r   r       s¤   @
/  ø
9 ÿ
     ÷
9
 ÿ


úþ


 ÿ





--




"





úþ
#r   c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚTestEnsureNumericc                 C   s:   t  d¡dkst‚t  d¡dks$t‚t  d¡dks6t‚d S )Nrg   çš™™™™™ñ?y      ð?       @)r   Ú_ensure_numericr_   rN   r
   r
   r   Útest_numeric_valuesá  s    z%TestEnsureNumeric.test_numeric_valuesc              	   C   s°   t  dddg¡}t  t |¡|¡s&t‚| t¡}t  t |¡|¡sFt‚t jdddgtd�}t  t |¡|¡spt‚t jdd	d
gtd�}d}tj	t
|d�� t |¡ W 5 Q R X d S )Nrg   r   r«   Ú1Ú2Ú3r˜   rå   ÚbarZbazzCould not convert .* to numericrã   )r   ÚarrayÚallcloser   r  r_   r&   rm   ræ   rç   r   )rJ   r’   Zo_valuesZs_valuesré   r
   r
   r   Útest_ndarrayë  s    
zTestEnsureNumeric.test_ndarrayc                 C   sF   t  t d¡d¡st‚t  t d¡d¡s,t‚t  t d¡d¡sBt‚d S )Nr  ç      ð?z1.1r  z1+1jy      ð?      ð?)r   r  r   r  r_   rN   r
   r
   r   Útest_convertable_valuesþ  s    z)TestEnsureNumeric.test_convertable_valuesc              	   C   sx   d}t jt|d�� t d¡ W 5 Q R X d}t jt|d�� t i ¡ W 5 Q R X t jt|d�� t g ¡ W 5 Q R X d S )Nz Could not convert foo to numericrã   rå   z%argument must be a string or a number)ræ   rç   r   r   r  )rJ   ré   r
   r
   r   Útest_non_convertable_values  s    z-TestEnsureNumeric.test_non_convertable_valuesN)rü   rý   rþ   r  r  r  r  r
   r
   r
   r   r  à  s   
r  c                   @   sŽ   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Ze	j
 dedƒ¡e	j
 dedƒ¡dd„ ƒƒZe	j
 dedƒ¡dd„ ƒZedd„ ƒZdS )ÚTestNanvarFixedValuesc                 C   s$   d | _ }| jj|d dd�| _d S )Ng      @ç      à?i † )ÚscaleÚsize)ÚvarianceÚprngÚnormalÚsamples)rJ   r"  r
   r
   r   rK     s    
z"TestNanvarFixedValues.setup_methodc                 C   s&   | j }t |¡}tj|| jdd� d S )Nç{®Gáz„?©Zrtol)r%  r   r­   r]   r^   r"  ©rJ   r%  Úactual_variancer
   r
   r   Útest_nanvar_all_finite  s    
z,TestNanvarFixedValues.test_nanvar_all_finitec                 C   sp   t jt  d| jjd  ¡ }| j|d d d…< tj|dd�}tj|| j	dd� tj|dd�}tj|t jdd� d S )Nr   r   T©r   r&  r'  F)
r   r+   Úonesr%  rP   r   r­   r]   r^   r"  r(  r
   r
   r   Útest_nanvar_nans  s    z&TestNanvarFixedValues.test_nanvar_nansc                 C   st   t jt  d| jjd  ¡ }| j|d d d…< tj|dd�}tj|| j	d dd� tj
|dd�}tj|t jdd� d S )	Nr   r   Tr+  r  r&  r'  F)r   r+   r,  r%  rP   r   r°   r]   r^   r"  r­   )rJ   r%  Z
actual_stdr
   r
   r   Útest_nanstd_nans(  s    z&TestNanvarFixedValues.test_nanstd_nansc                 C   sV   | j }| jj|jd d�}t ||g¡}tj|dd�}tj	|t 
| jdg¡dd� d S )Nr   ©r!  rg   rQ   çUUUUUUµ?r&  r'  )r%  r#  ÚuniformrP   r   r-   r   r­   r]   r^   r  r"  )rJ   Zsamples_normZsamples_unifr%  r)  r
   r
   r   Útest_nanvar_axis2  s      ÿz&TestNanvarFixedValues.test_nanvar_axisc                 C   sÂ   d}| j jd|d fd�}tj|d d …df< tj|dddd� ¡ }tj|dddd� ¡ }tj|ddd	d� ¡ }d
}tj||dd� tj||d | | dd� tj||d |d  | dd� d S )Né   i'  rg   r/  rh   Tr   )rR   r   rª   r   r0  r&  r'  r  g       @)	r#  r1  r   r+   r   r­   rŽ   r]   r^   )rJ   Únr%  Z
variance_0Z
variance_1Z
variance_2rš   r
   r
   r   Útest_nanvar_ddof=  s    z&TestNanvarFixedValues.test_nanvar_ddofrR   r   rª   r«   c                 C   s  t  d¡}t  dddgdddgdd	d
gg¡|d d…d d…f< t j |d< |d d …df< t  dddgdddgdddggdddgdddgdddggg¡}tj|d||d�}t |d d… |||f ¡ t  |d ¡sÔt	‚tj
|d||d�}t |d d… |||f d  ¡ t  |d ¡�st	‚d S )!N)é   r6  g*ßùf#ï?g›§| 9þË?gôÖ†«Çá?gävý¼ˆZç?g†§Û×Ÿ?g¤Å×¦Êºï?gžã«6bÚ·?gEƒó-œ9ã?g$mx´PÄ?r«   gÓžõ��Á?g/�-²:Å¬?g¥¼?½�½?g-u±ållÊ?g(I•0ì“µ?güÍïM6Æ?g-u±ållÚ?gFºì“Å?gmÉ‰úM6Ö?gý
€Žâ^¸?g)õÜŒ	Å?gìµ‡Z&ª?gÍ@#à)GÂ?g/·æTSŽÏ?g6æØîÜƒ³?gÍ@#à)GÒ?g/·æTSŽß?gSW_ÙÜƒÃ?T)r   rR   rª   r  )r   Úemptyr  r+   r   r­   r]   r^   Úisnanr_   r°   )rJ   rR   rª   r%  r"  rš   r™   r
   r
   r   Útest_ground_truthP  s2    
ýÿýýúÿ z'TestNanvarFixedValues.test_ground_truthc                 C   s.   t dt d¡ ƒ}|j|d�}|dks*t‚d S )NiÂìµ-r   )rª   rÀ   )r   r   r,  r™   r_   )rJ   rª   Údatar–   r
   r
   r   Útest_nanstd_roundoffx  s    z*TestNanvarFixedValues.test_nanstd_roundoffc                 C   s   t j d¡S ©NiÒ  ©r   r   ZRandomStaterN   r
   r
   r   r#  €  s    zTestNanvarFixedValues.prngN)rü   rý   rþ   rK   r*  r-  r.  r2  r5  ræ   rÿ   r   rk   r9  r;  Úpropertyr#  r
   r
   r
   r   r    s   

&
r  c                   @   sP   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	e
dd„ ƒZdS )ÚTestNanskewFixedValuesc                 C   s    t  t  ddd¡¡| _d| _d S )Nr   rg   éÈ   gÌ5ôîÈ¿)r   ÚsinÚlinspacer%  Úactual_skewrN   r
   r
   r   rK   ‰  s    z#TestNanskewFixedValues.setup_methodc                 C   s2   dD ](}|t  d¡ }t |¡}|dkst‚qd S )N)çfffff¨@çš™™™™¨@ç     ¨@é,  rÀ   )r   r,  r   rÄ   r_   )rJ   r÷   r:  r›   r
   r
   r   Útest_constant_seriesŽ  s    
z+TestNanskewFixedValues.test_constant_seriesc                 C   s\   d\}}| j j||dd�}t |¡dk s,t‚d\}}| j j||dd�}t |¡dksXt‚d S ©N)ç333333Ó?çš™™™™™¹?éd   r/  r   )rK  rJ  )r#  Úbetar   rÄ   r_   ©rJ   ÚalpharM  Zleft_tailedZright_tailedr
   r
   r   Útest_all_finite•  s    z&TestNanskewFixedValues.test_all_finitec                 C   s   t  | j¡}t || j¡ d S rL   )r   rÄ   r%  r]   r^   rC  )rJ   r›   r
   r
   r   r9  ž  s    z(TestNanskewFixedValues.test_ground_truthc                 C   sN   t  | jt jt  t| jƒ¡ g¡}tj|dd�}t 	|t  
| jt jg¡¡ d S ©Nrg   rQ   )r   r-   r%  r+   r,  rÍ   r   rÄ   r]   r^   r  rC  ©rJ   r%  r›   r
   r
   r   Ú	test_axis¢  s    "z TestNanskewFixedValues.test_axisc                 C   s2   t  | jt jg¡}tj|dd�}t  |¡s.t‚d S ©NFr+  )r   rì   r%  r+   r   rÄ   r8  r_   rR  r
   r
   r   Ú	test_nans§  s    z TestNanskewFixedValues.test_nansc                 C   s2   t  | jt jg¡}tj|dd�}t || j¡ d S ©NTr+  )	r   rì   r%  r+   r   rÄ   r]   r^   rC  rR  r
   r
   r   Útest_nans_skipna¬  s    z'TestNanskewFixedValues.test_nans_skipnac                 C   s   t j d¡S r<  r=  rN   r
   r
   r   r#  ±  s    zTestNanskewFixedValues.prngN)rü   rý   rþ   rK   rH  rP  r9  rS  rU  rW  r>  r#  r
   r
   r
   r   r?  …  s   	r?  c                   @   sd   e Zd Zdd„ Zej ddddg¡dd„ ƒZd	d
„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zedd„ ƒZdS )ÚTestNankurtFixedValuesc                 C   s    t  t  ddd¡¡| _d| _d S )Nr   rg   r@  g|vÂKó¿)r   rA  rB  r%  Úactual_kurtrN   r
   r
   r   rK   º  s    z#TestNankurtFixedValues.setup_methodr÷   rD  rE  rF  c                 C   s(   |t  d¡ }t |¡}|dks$t‚d S )NrG  rÀ   )r   r,  r   rÇ   r_   )rJ   r÷   r:  rœ   r
   r
   r   rH  ¿  s    
z+TestNankurtFixedValues.test_constant_seriesc                 C   s\   d\}}| j j||dd�}t |¡dk s,t‚d\}}| j j||dd�}t |¡dksXt‚d S rI  )r#  rM  r   rÇ   r_   rN  r
   r
   r   rP  Æ  s    z&TestNankurtFixedValues.test_all_finitec                 C   s   t  | j¡}t || j¡ d S rL   )r   rÇ   r%  r]   r^   rY  )rJ   rœ   r
   r
   r   r9  Ï  s    z(TestNankurtFixedValues.test_ground_truthc                 C   sN   t  | jt jt  t| jƒ¡ g¡}tj|dd�}t 	|t  
| jt jg¡¡ d S rQ  )r   r-   r%  r+   r,  rÍ   r   rÇ   r]   r^   r  rY  ©rJ   r%  rœ   r
   r
   r   rS  Ó  s    "z TestNankurtFixedValues.test_axisc                 C   s2   t  | jt jg¡}tj|dd�}t  |¡s.t‚d S rT  )r   rì   r%  r+   r   rÇ   r8  r_   rZ  r
   r
   r   rU  Ø  s    z TestNankurtFixedValues.test_nansc                 C   s2   t  | jt jg¡}tj|dd�}t || j¡ d S rV  )	r   rì   r%  r+   r   rÇ   r]   r^   rY  rZ  r
   r
   r   rW  Ý  s    z'TestNankurtFixedValues.test_nans_skipnac                 C   s   t j d¡S r<  r=  rN   r
   r
   r   r#  â  s    zTestNankurtFixedValues.prngN)rü   rý   rþ   rK   ræ   rÿ   r   rH  rP  r9  rS  rU  rW  r>  r#  r
   r
   r
   r   rX  ¶  s   
	rX  c                   @   s.   e Zd Zdd„ Zej dddg¡dd„ ƒZdS )	ÚTestDatetime64NaNOpsc                 C   s„   t jddd�}|d }|t|ƒt|ƒfD ]}t |¡}||ks(t‚q(| dt j¡}|t|ƒt|ƒfD ]}t |¡}||ksdt‚qdd S )Nz
2016-01-01r«   )Zperiodsrg   )	ÚpdZ
date_ranger   r   r   r�   r_   ÚinsertÚNaT)rJ   ZdtiÚexpectedÚobjr–   Zdti2r
   r
   r   r�   ê  s    

z!TestDatetime64NaNOps.test_nanmeanrU   r   r   c                 C   sÆ   t  d¡ t j¡ |¡ dd¡}d|d< tj|dd�}t  |¡sDt	‚|j
|ksRt	‚tj|ddd	�}t jdd
dg|j
d�}t ||¡ tj|ddd	�}t  |d |d |d |d g¡}t ||¡ d S )Né   r6  r«   r^  )rh   rh   Fr+  r   rf   r3  r˜   rg   rÖ   )rg   rg   )r   rg   )r   Zaranger&   r‘   ÚviewZreshaper   r�   Zisnatr_   rU   r  r]   rí   )rJ   rU   rö   r–   r_  r
   r
   r   Útest_nanmean_skipna_falseø  s     "z.TestDatetime64NaNOps.test_nanmean_skipna_falseN)rü   rý   rþ   r�   ræ   rÿ   r   rc  r
   r
   r
   r   r[  ç  s   r[  c                	   C   sV   t jrRt dd¡� t d¡s"t‚W 5 Q R X t dd¡� t d¡rHt‚W 5 Q R X d S )NZuse_bottleneckTF)r   Z_BOTTLENECK_INSTALLEDr\  Zoption_contextÚ
get_optionr_   r
   r
   r
   r   Útest_use_bottleneck  s
    re  znumpy_op, expectedr   g      @rg   r6  c                 C   s$   | t ddddgƒƒ}||ks t‚d S )Nrg   r   r«   r6  )r   r_   )Znumpy_opr_  r–   r
   r
   r   Útest_numpy_ops  s    rf  Ú	operationc                 C   sD   t ddtjdtjdgƒ}| ¡ }| |ƒ}| ||d�}||ks@t‚d S )Nrg   r   r«   r6  )Úmask)r   r   r+   r   r_   )rg  r•   rh  Zmedian_expectedZmedian_resultr
   r
   r   Ú%test_nanops_independent_of_mask_param+  s
    ri  Ú	min_countrh   c                 C   s"   t  dd | ¡}d}||kst‚d S )N)é   é%   F©r   Zcheck_below_min_countr_   )rj  r–   Úexpected_resultr
   r
   r   Ú6test_check_below_min_count__negative_or_zero_min_countH  s    ro  rh  é	   zmin_count, expected_result)rg   F)ée   Tc                 C   s"   d}t  || |¡}||kst‚d S )N)r   r   rm  )rh  rj  rn  rP   r–   r
   r
   r   Ú.test_check_below_min_count__positive_min_countP  s    rr  )l   l$=O Tc                 C   s$   d}t j|d | d�}||ks t‚d S )N)i?" iå  )rh  rj  rm  )rj  rn  rP   r–   r
   r
   r   Ú'test_check_below_min_count__large_shape[  s    rs  r}   r�   r‰   rU   c                 C   s   t  | |¡rt‚d S rL   )r   rú   r_   )rU   r}   r
   r
   r   Útest_check_bottleneck_disallowe  s    rt  )NÚ	functoolsr   r	  r£   Únumpyr   ræ   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsr  Zpandas.core.dtypes.commonr   Zpandasr\  r   r   Zpandas._testingZ_testingr]   Zpandas.core.arraysr   Zpandas.core.nanopsÚcorer   r   rM   Zfixturer   r   r  r  r?  rX  r[  re  rÿ   r   rŠ   r‰   rŽ   r�   r¨   r§   r�   rž   r  r  rf  r  r  r°   r­   r´   r»   r¾   rÄ   rÇ   rÉ   ri  ro  r  rr  Zskip_if_windowsZskip_if_32bitrs  Zuint8Zuint16Zuint32Zuint64Zint8r  r  r‘   Zfloat16r  r“   rt  r
   r
   r
   r   Ú<module>   s´   
     E0u11$öþ
ñþ
	
 &ÿõþ