a
    nÝEbe—  ã                   @   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edƒ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j0dfej1dfg
¡dd „ ƒZ2ej& 'd!ej3ej4ej)ej+ej-ej5ej6ej7ej8ej9ej1ej0ej:ej;ej<g¡d"d#„ ƒZ=dS )$é    )ÚpartialN)Úis_integer_dtype)ÚSeriesÚisna)ÚDatetimeArrayZ
complex128TF)Úparamsc                 C   s   | j S )z5
    Fixture to pass skipna to nanops functions.
    )Úparam)Úrequest© r
   úX/home/ja/django-apps/lartica_env/lib/python3.9/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��V | j| jd  | _"t  | j| j"g¡| _#| jd | _$t  | j| j$g¡| _%W d   ƒ n1 �sP0    Y  | 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)ÚselfÚmethodZ	arr_shaper
   r
   r   Úsetup_method"   sd    







øÿ4z TestnanopsDataFrame.setup_methodc                 C   s
   t t_d S ©N)Úuse_bnr   r   ©rJ   rK   r
   r
   r   Úteardown_methodb   s    z#TestnanopsDataFrame.teardown_methodTc                 C   s6  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�y0   t|dƒr†|j	dkr†‚ t|dƒrœ|j	j
dvrž‚ |j	j
d	kræ|j	j
d	krÄ| |j	¡}qôtrÌd
nd}| |¡}| |¡}n|j	j
d	krô‚ tjt |¡t |¡|d� tjt |¡t |¡|d� Y n0 d S )NZasm8r   Úshape©Úaxis©Úcheck_dtypeÚdtyper   )Úcr   r   Úc16Úf8)ÚgetattrÚhasattrÚndimrQ   r   ÚsplitÚtmÚassert_almost_equalÚAssertionErrorrV   Úkindr&   Úhas_c16ÚrealÚimag)rJ   ÚtargÚresrS   rU   Z
cast_dtyper
   r
   r   Úcheck_resultse   s6    ÿþý
ü
z!TestnanopsDataFrame.check_resultsNc                 K   s¨  t t|jƒƒd g D �]<}	|r"|n|}
|rP|rPt|
ƒ ¡ rP||
fd|	i|¤Ž}n||
fd|	i|¤Ž}|
jtkr¢|tju s‚|tju r¢t	|tj
ƒrš| t¡}nt|ƒ}||f|	|dœ|¤Ž}| j|||	|d� |rô||fd|	i|¤Ž}| j|||	|d� |	d u �r$||fd|i|¤Ž}| j|||	|d� |r|	d u r||fi |¤Ž}| j|||	|d� q|jdk�rdd S tj|ddd�}tj|ddd�}| j||||f|||d	œ|¤Ž d S )
NrS   ©rS   r   rT   r   é   r   éÿÿÿÿrR   )r   rU   Úempty_targfunc)ÚlistÚranger\   r   ÚallrV   Úobjectr   ÚanyÚ
isinstanceÚndarrayr&   Úboolrg   ÚtakeÚcheck_fun_data)rJ   ÚtestfuncÚtargfuncÚ	testarvalÚ	targarvalr   rU   rk   ÚkwargsrS   Ztargartempvalre   rf   Z
testarval2Z
targarval2r
   r
   r   ru   �   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   rk   )Úendswithr[   rZ   ru   )
rJ   rv   rw   Ztestarr   rk   rz   Ztargarrx   ry   r
   r
   r   Ú	check_funÅ   s     

üúùzTestnanopsDataFrame.check_func	                 K   sØ  | j ||d|fi |	¤Ž | j ||d|fi |	¤Ž | j ||d|fi |	¤Ž | j ||d|fi |	¤Ž | j d¡| j d¡| j d¡g}
|rž| j ||d|fi |	¤Ž |�r| j ||d|fi |	¤Ž | j ||d|fi |	¤Ž |rð| j ||d	|fi |	¤Ž |
| j d¡g7 }
|�r<|| jƒ | j ||d
|fi |	¤Ž |
| j d¡g7 }
|�r�z|| jƒ W n t�yd   Y n,0 | j ||d|fi |	¤Ž |
| j d¡g7 }
|�rÔt	 
|
¡| _|dk�r¼t| j||d�}| j ||d|fi |	¤Ž 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   rv   rw   r   r€   Úallow_all_nanÚ
allow_dateÚallow_tdeltaÚ	allow_objrz   Úobjsr
   r
   r   Ú
check_funsÙ   sD    


ý

ÿzTestnanopsDataFrame.check_funsc                 K   s6   |j jdkr&|r| d¡}n
| d¡}||fi |¤ŽS )Nr   rX   rY   )rV   ra   r&   )rJ   Úvaluer   r€   rz   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„   rU   rk   )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:J ‚||ksFJ ‚|jtjksJ ‚qd S )N)l          lüÿÿÿ       l   Ô|™H%[<iô  )ÚindexrV   )r   rm   r   Úint64r‘   ÚvaluesrV   Úfloat64)rJ   ÚaÚsÚresultZ	np_resultr
   r
   r   Útest_nanmean_overflow/  s    
z)TestnanopsDataFrame.test_nanmean_overflowrV   Zfloat128c                 C   sz   |d u rd S t tdƒ|d�}g d¢}ddg}|| D ]@}t||ƒƒ }t|ƒrf||v rf|jtjkstJ ‚q4|j|ks4J ‚q4d S )Nr   ©rV   )r‘   ÚstdÚvarÚskewÚkurtÚminÚmax)r   rm   rZ   r   rV   r   r–   )rJ   rV   r˜   Zgroup_aZgroup_brK   r™   r
   r
   r   Útest_returned_dtype<  s    z'TestnanopsDataFrame.test_returned_dtypec              	   C   sV   t jdd��6 t  dt¡ | jtjtj|dddd� W d   ƒ n1 sH0    Y  d S )NT©Úrecordr   Fr~   )r€   r„   r†   )	ÚwarningsÚcatch_warningsÚsimplefilterÚRuntimeWarningrˆ   r   Ú	nanmedianr   ÚmedianrŽ   r
   r
   r   Útest_nanmedianV  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_nanvarb  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_nanstdn  s    ùzTestnanopsDataFrame.test_nanstdc                 C   sX   ddl m} tjdd��, | jtj||dddd|d� W d   ƒ n1 sJ0    Y  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_nansemz  s    øzTestnanopsDataFrame.test_nansemc                 C   sN   t jdd��. t  dt¡ | j|||dd� W d   ƒ n1 s@0    Y  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 )Nrj   rn   )r   r    r   r\   r[   rn   )rJ   r‰   rS   r   rf   ZnansZnullnanr
   r
   r   Ú_argminmax_wrap“  s    

ÿþýüz#TestnanopsDataFrame._argminmax_wrapc                 C   s`   t jdd��@ t  dt¡ t| jtjd�}| jt	j
||dd� W d   ƒ n1 sR0    Y  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   s`   t jdd��@ t  dt¡ t| jtjd�}| jt	j
||dd� W d   ƒ n1 sR0    Y  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 )NrY   F)rS   Zbiasr   rR   ç        )	rq   rV   Útyper   Zfloatingr&   rr   r¡   r    )rJ   r•   rS   r   r™   r
   r
   r   Ú_skew_kurt_wrap®  s    
 z#TestnanopsDataFrame._skew_kurt_wrapc              	   C   sb   ddl m} t| j|d�}tjdd��( | jtj||dddd� W d   ƒ n1 sT0    Y  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   sn   ddl m} t|dd�}t| j|d�}tjdd��( | jtj||dddd	� W d   ƒ n1 s`0    Y  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…   rk   )rˆ   r   Únanprodr   ÚprodrŽ   r
   r
   r   Útest_nanprodÙ  s    úz TestnanopsDataFrame.test_nanprodc                 K   s–  || j | jfi |¤Ž}|| j | jfdt| j ƒd i|¤Ž}t ||¡ t ||¡ || j| jfi |¤Ž}|| j| jfdt| j ƒd i|¤Ž}t ||¡ t ||¡ tj}	|| j	| jfi |¤Ž}
|| j | j	fi |¤Ž}|| j	| j	fi |¤Ž}|| j| j
fi |¤Ž}|| 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_periodsri   )r>   r?   Úlenr^   r_   rA   rB   r   r+   r@   rC   ©rJ   ÚcheckfunÚtarg0Útarg1rz   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i |¤Ž}|| j | jfdt| j ƒd i|¤Ž}t ||¡ t ||¡ || j| jfi |¤Ž}|| j| jfdt| j ƒd i|¤Ž}t ||¡ t ||¡ tj}	|| j	| jfi |¤Ž}
|| j | j	fi |¤Ž}|| j	| j	fi |¤Ž}|| j| j
fi |¤Ž}|| 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   ri   Zpearson©rK   ©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_pearsonE  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_kendallM  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_spearmanX  s    z)TestnanopsDataFrame.test_nancorr_spearmanc                 C   sv   t  | j| j¡d }t  | jj| jj¡d }d}tjt|d��$ | jt	j
||dd� W d   ƒ n1 sh0    Y  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_methodc  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_nancovk  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 )Nri   FrT   r   rj   rR   )r   r    r,   r1   r.   r/   r0   r\   r^   r_   r   r-   ÚhstackÚassert_numpy_array_equalrt   )rJ   rÑ   rÒ   r   r    r,   r1   r.   r/   r0   Úres0rÓ   Zres1rÔ   Zres2r
   r
   r   Úcheck_nancomps  s4    



z!TestnanopsDataFrame.check_nancompzop,nanopc                 C   s   || j | jƒ}|  ||¡ d S rM   )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*J ‚n|r*J ‚t|dƒs6qHtj|ddd�}q d S )Nr\   Tr   rj   rR   )rZ   r[   r   rt   )rJ   r   r‰   Úcorrectrð   r
   r
   r   Ú
check_bool¤  s    

zTestnanopsDataFrame.check_boolc                 C   s�   g d¢}g d¢}|D ]"\}}t | |ƒ}|  tj||¡ q|D ]N\}}t | |ƒ}|  tj||¡ |  tj| d¡|¡ |  tj| d¡|¡ q<d S )N)
©r!   F)r#   F)r$   F)r'   F)r(   Frö   )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)rZ   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J ‚t  | jjd¡s(J ‚t  | jjd¡s<J ‚t  | jjd¡sPJ ‚t  | jjd¡sdJ ‚t  | jjd¡sxJ ‚t  | j	jd¡rŒJ ‚t  | j
jd¡r J ‚t  | jjd¡r´J ‚d S )NÚtest)r   Z_bn_ok_dtyper   rV   r!   r#   r$   r'   r(   r)   r*   r8   ©rJ   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__rL   rP   rg   ru   r}   rˆ   r‚   rè   ÚmarkÚparametrizer   Únananyr   rp   Únanallrn   r‹   r�   r’   rš   Zint16Zint32r”   Zfloat32r–   rZ   r¢   r«   rm   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J ‚t  d¡dks$J ‚t  d¡dks6J ‚d S )Nri   çš™™™™™ñ?y      ð?       @)r   Ú_ensure_numericrý   r
   r
   r   Útest_numeric_valuesâ  s    z%TestEnsureNumeric.test_numeric_valuesc                 C   s¾   t  g d¢¡}t  t |¡|¡s$J ‚| t¡}t  t |¡|¡sDJ ‚t jg d¢td�}t  t |¡|¡slJ ‚t jg d¢td�}d}tjt	|d�� t |¡ W d   ƒ n1 s°0    Y  d S )N)ri   r   r­   )Ú1Ú2Ú3r›   )rç   ÚbarZbazzCould not convert .* to numericrå   )
r   ÚarrayÚallcloser   r  r&   ro   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J ‚t  t d¡d¡s,J ‚t  t d¡d¡sBJ ‚d S )Nr  ç      ð?z1.1r  z1+1jy      ð?      ð?)r   r  r   r  rý   r
   r
   r   Útest_convertable_valuesÿ  s    z)TestEnsureNumeric.test_convertable_valuesc                 C   s´   d}t jt|d�� t d¡ W d   ƒ n1 s20    Y  d}t jt|d�� t i ¡ W d   ƒ n1 sn0    Y  t jt|d�� t g ¡ W d   ƒ n1 s¦0    Y  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   rK   r"  r
   r
   r   rL     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%  rQ   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%  rQ   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!  ri   rR   çUUUUUUµ?r&  r'  )r%  r#  ÚuniformrQ   r   r-   r   r¯   r^   r_   r  r"  )rJ   Zsamples_normZsamples_unifr%  r)  r
   r
   r   Útest_nanvar_axis3  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'  ri   r/  rj   Tr   )rS   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_ddofrS   r   r¬   r­   c                 C   s  t  d¡}t  g d¢g d¢g d¢g¡|d d…d d…f< t j |d< |d d …df< t  g d¢g d¢g d¢gg d	¢g d
¢g d¢gg¡}tj|d||d�}t |d d… |||f ¡ t  |d ¡sÂJ ‚tj	|d||d�}t |d d… |||f d ¡ t  |d ¡�sJ ‚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   rS   r¬   r  )
r   Úemptyr  r+   r   r¯   r^   r_   Úisnanr²   )rJ   rS   r¬   r%  r"  r�   rœ   r
   r
   r   Útest_ground_truthQ  s2    
ýÿýýúÿ z'TestNanvarFixedValues.test_ground_truthc                 C   s.   t dt d¡ ƒ}|j|d�}|dks*J ‚d S )NiÂìµ-r   )r¬   rÂ   )r   r   r,  rœ   )rJ   r¬   Údatar™   r
   r
   r   Útest_nanstd_roundoffy  s    z*TestNanvarFixedValues.test_nanstd_roundoffc                 C   s   t j d¡S ©NiÒ  ©r   r   ZRandomStaterý   r
   r
   r   r#  �  s    zTestNanvarFixedValues.prngN)rÿ   r   r  rL   r*  r-  r.  r2  r5  rè   r  r  rm   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   ri   éÈ   gÌ5ôîÈ¿)r   ÚsinÚlinspacer%  Úactual_skewrO   r
   r
   r   rL   Š  s    z#TestNanskewFixedValues.setup_methodc                 C   s2   dD ](}|t  d¡ }t |¡}|dksJ ‚qd S )N©gfffff¨@gš™™™™¨@g     ¨@é,  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,J ‚d\}}| j j||dd�}t |¡dksXJ ‚d S ©N)ç333333Ó?çš™™™™™¹?éd   r/  r   )rI  rH  )r#  Úbetar   rÆ   ©rJ   ÚalpharK  Zleft_tailedZright_tailedr
   r
   r   Útest_all_finite–  s    z&TestNanskewFixedValues.test_all_finitec                 C   s   t  | j¡}t || j¡ d S rM   )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 ©Nri   rR   )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.J ‚d S ©NFr+  )r   rî   r%  r+   r   rÆ   r8  rP  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  rP  r
   r
   r   Útest_nans_skipna­  s    z'TestNanskewFixedValues.test_nans_skipnac                 C   s   t j d¡S r<  r=  rý   r
   r
   r   r#  ²  s    zTestNanskewFixedValues.prngN)rÿ   r   r  rL   rF  rN  r9  rQ  rS  rU  r>  r#  r
   r
   r
   r   r?  †  s   	r?  c                   @   sb   e Zd Zdd„ Zej dg d¢¡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   ri   r@  g|vÂKó¿)r   rA  rB  r%  Úactual_kurtrO   r
   r
   r   rL   »  s    z#TestNankurtFixedValues.setup_methodrú   rD  c                 C   s(   |t  d¡ }t |¡}|dks$J ‚d S )NrE  rÂ   )r   r,  r   rÉ   )rJ   rú   r:  rŸ   r
   r
   r   rF  À  s    
z+TestNankurtFixedValues.test_constant_seriesc                 C   s\   d\}}| j j||dd�}t |¡dk s,J ‚d\}}| j j||dd�}t |¡dksXJ ‚d S rG  )r#  rK  r   rÉ   rL  r
   r
   r   rN  Ç  s    z&TestNankurtFixedValues.test_all_finitec                 C   s   t  | j¡}t || j¡ d S rM   )r   rÉ   r%  r^   r_   rW  )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 rO  )r   r-   r%  r+   r,  rÏ   r   rÉ   r^   r_   r  rW  ©rJ   r%  rŸ   r
   r
   r   rQ  Ô  s    "z TestNankurtFixedValues.test_axisc                 C   s2   t  | jt jg¡}tj|dd�}t  |¡s.J ‚d S rR  )r   rî   r%  r+   r   rÉ   r8  rX  r
   r
   r   rS  Ù  s    z TestNankurtFixedValues.test_nansc                 C   s2   t  | jt jg¡}tj|dd�}t || j¡ d S rT  )	r   rî   r%  r+   r   rÉ   r^   r_   rW  rX  r
   r
   r   rU  Þ  s    z'TestNankurtFixedValues.test_nans_skipnac                 C   s   t j d¡S r<  r=  rý   r
   r
   r   r#  ã  s    zTestNankurtFixedValues.prngN)rÿ   r   r  rL   rè   r  r  rF  rN  r9  rQ  rS  rU  r>  r#  r
   r
   r
   r   rV  ·  s   
	rV  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(J ‚q(| dt j¡}|t|ƒt|ƒfD ]}t |¡}||ksdJ ‚qdd S )Nz
2016-01-01r­   )Zperiodsri   )ÚpdZ
date_ranger   r   r   r�   ÚinsertÚNaT)rJ   ZdtiÚexpectedÚobjr™   Zdti2r
   r
   r   r’   ë  s    

z!TestDatetime64NaNOps.test_nanmeanrV   r   r   c                 C   s¶   t  d¡ t j¡ |¡ dd¡}d|d< tj|dd�}|tj	u sDJ ‚tj|ddd	�}t j
g d
¢|jd�}t ||¡ tj|ddd	�}t  
|d |d |d |d g¡}t ||¡ d S )Né   r6  r­   r\  )rj   rj   Fr+  r   rh   )r6  r3  r\  r›   ri   rØ   )ri   ri   )r   ri   )r   Zaranger&   r”   ÚviewZreshaper   r�   rZ  r\  r  rV   r^   rï   )rJ   rV   rù   r™   r]  r
   r
   r   Útest_nanmean_skipna_falseù  s     "z.TestDatetime64NaNOps.test_nanmean_skipna_falseN)rÿ   r   r  r’   rè   r  r  ra  r
   r
   r
   r   rY  è  s   rY  c                   C   sJ   t jrFt dd¡ t d¡s J ‚t dd¡ t d¡r:J ‚t dt¡ d S )NZuse_bottleneckTF)r   Z_BOTTLENECK_INSTALLEDrZ  Z
set_optionÚ
get_optionrN   r
   r
   r
   r   Útest_use_bottleneck  s    rc  znumpy_op, expectedr   g      @ri   r6  c                 C   s    | t g d¢ƒƒ}||ksJ ‚d S )N)ri   r   r­   r6  )r   )Znumpy_opr]  r™   r
   r
   r   Útest_numpy_ops  s    rd  Ú	operationc                 C   sD   t ddtjdtjdgƒ}| ¡ }| |ƒ}| ||d�}||ks@J ‚d S )Nri   r   r­   r6  )Úmask)r   r   r+   r   )re  r˜   rf  Zmedian_expectedZmedian_resultr
   r
   r   Ú%test_nanops_independent_of_mask_param-  s
    rg  )>Ú	functoolsr   r	  r¥   Únumpyr   rè   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsr  Zpandas.core.dtypes.commonr   ZpandasrZ  r   r   Zpandas._testingZ_testingr^   Zpandas.core.arraysr   Zpandas.core.nanopsÚcorer   r   rN   r[   rb   Zfixturer   r   r  r  r?  rV  rY  rc  r  r  r�   rŒ   r‘   r�   rª   r©   r    r¡   r  r  rd  r  r  r²   r¯   r¶   r½   rÀ   rÆ   rÉ   rË   rg  r
   r
   r
   r   Ú<module>   s|   

     E0u11#öþ
ñþ