o
    dʩ                     @   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Z ejZejdd Zejd	d
 Zejdd Zejdd Zejdd Zejdd Z ejdd Z!ejdd Z"ejdd Z#ejdd Z$ejdd Z%ejdd Z&ejdd  Z'ejd!d" Z(ejd#d$ Z)ejd%d& Z*ejd'd( Z+ejd)d* Z,ejd+d, Z-ejd-d. Z.ejd/d0 Z/ejd1d2 Z0ejd3d4 Z1ejd5d6 Z2ejd7d8 Z3ejd9d: Z4ejd;d< Z5ejd=d> Z6ejd?d@ Z7G dAdB dBZ8ej9:dCej;ej<fej=ej>fej?ej@fejAejBfejCejDfejEejFfgdDdE ZGej9:dFg dGdHdI ZHej9:dFg dJej9:dKg dLdMdN ZIej9:dOg dPdQdR ZJej9:dOg dSdTdU ZKG dVdW dWZLG dXdY dYZMG dZd[ d[ZNG d\d] d]ZOG d^d_ d_ZPd`da ZQej9:dbejRdcfejSdcfejTddfejUddfejVddfejWddfejXdefejYdffejZdefej[dffg
dgdh Z\ej9:diej]ej^ejSejUejWej_ej`ejaejbejcej[ejZejdejeejfgdjdk Zgej9:dldmd gdndo Zhej9:dpdeig dqeidrgdsdtg  gej9:dudvdwgdxdy Zje
jke
jlej9:dudvdzgd{d| Zmej9:d}d~dgdd Znej9:dg ddd Zoej9:dejpejqejrejsejteueddgej9:dg ddd ZvdS )    )partialN)is_integer_dtype)Seriesisna)nanops)DatetimeArrayc                 c   sD    |   }|tdd d V  W d    d S 1 sw   Y  d S )N_USE_BOTTLENECKF)contextsetattrr   )monkeypatchm r   ]/var/www/html/visualizacion-main/env/lib/python3.10/site-packages/pandas/tests/test_nanops.pydisable_bottleneck   s
   
"r   c                   C      dS )N      r   r   r   r   r   	arr_shape      r   c                 C   s   t jd t jj|  S )N+  )nprandomseedrandnr   r   r   r   	arr_float$   s   r   c                 C   s   | | d  S )N              ?r   r   r   r   r   arr_complex*      r   c                 C   s   t jd t jdd| S )Nr   
   r   r   r   randintr   r   r   r   arr_int/   s   r%   c                 C   s    t jd t jdd| dkS )Nr   r      r#   r   r   r   r   arr_bool5   s   r'   c                 C      t | dS )NSr   absastyper   r   r   r   arr_str;      r-   c                 C   r(   )NUr*   r   r   r   r   arr_utf@   r.   r0   c                 C   "   t jd t jdd| dS )Nr   r    N  M8[ns]r   r   r   r$   r,   r   r   r   r   arr_dateE      r5   c                 C   r1   )Nr   r   r2   m8[ns]r4   r   r   r   r   
arr_tdeltaK   r6   r8   c                 C   s   t t j| S N)r   tilenanr   r   r   r   arr_nanQ      r<   c                 C      t | |gS r9   r   vstack)r   r<   r   r   r   arr_float_nanV   r=   rA   c                 C   r>   r9   r?   )r<   r   r   r   r   arr_nan_float1[   r=   rB   c                 C   s   t | | gS r9   r?   r<   r   r   r   arr_nan_nan`   r=   rD   c                 C   s
   | t j S r9   )r   infr   r   r   r   arr_infe   s   
rF   c                 C   r>   r9   r?   )r   rF   r   r   r   arr_float_infj   r=   rG   c                 C   r>   r9   r?   r<   rF   r   r   r   arr_nan_info   r=   rI   c                 C   s   t | ||gS r9   r?   )r   r<   rF   r   r   r   arr_float_nan_inft   r.   rJ   c                 C   s   t | | |gS r9   r?   rH   r   r   r   arr_nan_nan_infy   r.   rK   c                 C   sJ   t | d|d|d|d|d|d|d|dgS )NO)r   r@   r,   )r   r%   r'   r   r-   r0   r5   r8   r   r   r   arr_obj~   s   rM   c                 C   s<   t jdd | | d  W  d    S 1 sw   Y  d S Nignoreinvalidr   r   errstaterC   r   r   r   arr_nan_nanj   s   
$rT   c                 C   >   t jdd t | |gW  d    S 1 sw   Y  d S NrO   rP   r   rS   r@   )r   rT   r   r   r   arr_complex_nan      $rX   c                 C   s8   t jdd | d W  d    S 1 sw   Y  d S rN   rR   )rF   r   r   r   arr_nan_infj   s   $rZ   c                 C   rU   rV   rW   )r   rZ   r   r   r   arr_complex_nan_infj   rY   r[   c                 C      | d d df S Nr   r   r   r   r   r   arr_float_1d   r.   r^   c                 C   r\   r]   r   rC   r   r   r   
arr_nan_1d   r.   r_   c                 C   r\   r]   r   )rA   r   r   r   arr_float_nan_1d   r.   r`   c                 C   r\   r]   r   )arr_float1_nanr   r   r   arr_float1_nan_1d   r.   rb   c                 C   r\   r]   r   )rB   r   r   r   arr_nan_float1_1d   r.   rc   c                   @   s  e Zd Zdd Zdd ZdBddZ		dCd	d
Z	dDddZ					dEddZdBd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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!dFd$d%Z"d&d' Z#d(d) Z$dFd*d+Z%ejd,d- Z&ejd.d/ Z'd0d1 Z(d2d3 Z)d4d5 Z*d6d7 Z+d8d9 Z,ejd:d; Z-ejd<d= Z.ejd>d? Z/d@dA Z0dS )G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+ | j| jd  | _"t | j| j"g| _#| jd | _$t | j| j$g| _%W d    n	1 s(w   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 )Nr   Fr   r   r!   r"   r   r&   r)   r/   r2   r3   r7   rL   rO   rP   )2r   r   r   r   r   r   r   
arr_float1r   r$   r%   r'   r+   r,   r-   r0   r5   r8   r:   r;   r<   r@   rA   ra   rB   rD   rE   rF   rG   rI   rJ   rK   rM   rS   rT   rX   rZ   r[   arr_float_2darr_float1_2d
arr_nan_2darr_float_nan_2darr_float1_nan_2darr_nan_float1_2dr^   arr_float1_1dr_   r`   rb   rc   )selfr   r   r   r   setup_method   sf   







z TestnanopsDataFrame.setup_methodc                 C   s
   t t_d S r9   )use_bnr   r   rm   r   r   r   teardown_method  s   
z#TestnanopsDataFrame.teardown_methodTc                 C   s:  t |d|}|dkr&t|dr&|jr&|j|jkr&tj||jd gddd }ztj|||d W d S  ty   t|drC|j	dkrC t|drN|j	j
dvrO |j	j
d	krv|j	j
d	krb||j	}nttd
ridnd}||}||}n|j	j
d	kr} tjt|t||d tjt|t||d Y d S w )Nasm8r   shapeaxischeck_dtypedtyper7   )crL   rL   
complex128c16f8)getattrhasattrndimrs   r   splittmassert_almost_equalAssertionErrorrx   kindr,   realimag)rm   targresru   rw   
cast_dtyper   r   r   check_results  s8   

"z!TestnanopsDataFrame.check_resultsNc                 K   s  t t|jd g D ]}	|r|n|}
|r'|r't|
 r'||
fd|	i|}n
||
fd|	i|}|
jtkrP|tju s@|tju rPt	|tj
rL|t}nt|}||f|	|d|}| j|||	|d |ry||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rd S tj|ddd}tj|ddd}| j||||f|||d	| d S )
Nru   ru   skipnarv   r      r   rt   )r   rw   empty_targfunc)listranger   r   allrx   objectr   any
isinstancendarrayr,   boolr   takecheck_fun_data)rm   testfunctargfunc	testarval	targarvalr   rw   r   kwargsru   targartempvalr   r   
testarval2
targarval2r   r   r   r   ,  sR   


z"TestnanopsDataFrame.check_fun_datac           
      K   sb   |}| drt| |d d r|d d }t| |}t| |}	| j||||	f||d| d S )N_nan)r   r   )endswithr~   r}   r   )
rm   r   r   testarr   r   r   targarr   r   r   r   r   	check_fund  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}
|rO| j ||d|fi |	 |r| j ||d|fi |	 | j ||d|fi |	 |rw| j ||d	|fi |	 |
| jdg7 }
|r|| j | j ||d
|fi |	 |
| jdg7 }
|rz|| j W n	 ty   Y nw | j ||d|fi |	 |
| jdg7 }
|rt	
|
| _|dkrt| j||d}| j ||d|fi |	 d S d S )Nr   rA   r%   r'   rL   r<   r   rX   rT   r5   r8   convert)funcallow_complexrM   )r   r   r,   r%   r'   r   r5   r8   	TypeErrorr   r@   rM   r   _badobj_wrap)rm   r   r   r   r   allow_all_nan
allow_dateallow_tdelta	allow_objr   objsr   r   r   
check_funsw  sH   



zTestnanopsDataFrame.check_funsc                 K   s6   |j jdkr|r|d}n|d}||fi |S )NrL   r{   r|   )rx   r   r,   )rm   valuer   r   r   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   rm   nan_opnp_opr   r   r   r   test_nan_funcs  s   z"TestnanopsDataFrame.test_nan_funcsc                 C       | j tjtj|ddtjd d S )NF)r   rw   r   )r   r   nansumr   sumrm   r   r   r   r   test_nansum     
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   sX   t jdd t dt | jtjtj|dddd W d    d S 1 s%w   Y  d S )NTrecordrO   Fr   )r   r   r   )	warningscatch_warningssimplefilterRuntimeWarningr   r   	nanmedianr   medianr   r   r   r   test_nanmedian  s   "z"TestnanopsDataFrame.test_nanmedianddof   c              	   C       | j tjtj|ddd|d d S NFr   )r   r   r   r   )r   r   nanvarr   varrm   r   r   r   r   r   test_nanvar     
zTestnanopsDataFrame.test_nanvarc              	   C   r   r   )r   r   nanstdr   stdr   r   r   r   test_nanstd  r   zTestnanopsDataFrame.test_nanstdc                 C   sZ   ddl m} tjdd | jtj||dddd|d W d    d S 1 s&w   Y  d S )Nr   )semrO   rP   Fr   )r   r   r   r   r   )scipy.statsr   r   rS   r   r   nansem)rm   r   r   r   r   r   r   test_nansem  s   "zTestnanopsDataFrame.test_nansemc                 C   sP   t jdd t dt | j|||dd W d    d S 1 s!w   Y  d S )NTr   rO   Fr   )r   r   r   r   r   r   r   r   r   test_nanops_with_warnings  s   "z-TestnanopsDataFrame.test_nanops_with_warningsc                 C   sX   |||}t ||}t|}|jrd||< |S t|dr!| s(t|ds*|r*d}|S )Nr   r   )r   minr   r   r~   r   )rm   r   ru   r   r   nansnullnanr   r   r   _argminmax_wrap
  s    
z#TestnanopsDataFrame._argminmax_wrapc                 C   b   t jdd! t dt t| jtjd}| jt	j
||dd W d    d S 1 s*w   Y  d S NTr   rO   r   Fr   )r   r   r   r   r   r   r   argmaxr   r   	nanargmaxrm   r   r   r   r   r   test_nanargmax  
   "z"TestnanopsDataFrame.test_nanargmaxc                 C   r   r   )r   r   r   r   r   r   r   argminr   r   	nanargminr   r   r   r   test_nanargmin  r   z"TestnanopsDataFrame.test_nanargminc                 C   st   t |jjtjs|d}|||dd}t |tjr,d|tj||dtj||dk< |S t|t|kr8dS |S )Nr|   F)ru   biasr   rt           )	r   rx   typer   floatingr,   r   maxr   )rm   valuesru   r   resultr   r   r   _skew_kurt_wrap%  s   
 z#TestnanopsDataFrame._skew_kurt_wrapc              	   C   sd   ddl m} t| j|d}tjdd | jtj||dddd W d    d S 1 s+w   Y  d S )Nr   )skewr   rO   rP   Fr   r   r   )	r   r   r   r   r   rS   r   r   nanskew)rm   r   r   r   r   r   r   test_nanskew1  s   "z TestnanopsDataFrame.test_nanskewc              	   C   sp   ddl m} t|dd}t| j|d}tjdd | jtj||dddd	 W d    d S 1 s1w   Y  d S )
Nr   )kurtosisT)fisherr   rO   rP   Fr   )	r   r   r   r   r   rS   r   r   nankurt)rm   r   r   func1r   r   r   r   test_nankurt@  s   "z TestnanopsDataFrame.test_nankurtc                 C   r   )NF)r   r   r   )r   r   nanprodr   prodr   r   r   r   test_nanprodP  r   z TestnanopsDataFrame.test_nanprodc                 K     || 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 Nmin_periodsr   )rf   rg   lenr   r   ri   rj   r   r;   rh   rk   rm   checkfuntarg0targ1r   res00res01res10res11targ2res20res21res22res23res24res25r   r   r   check_nancorr_nancov_2dZ  b   z+TestnanopsDataFrame.check_nancorr_nancov_2dc                 K   r   r   )r^   rl   r  r   r   r`   rb   r   r;   r_   rc   r  r   r   r   check_nancorr_nancov_1d  r  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   r   pearsonmethodr   corrcoefrf   rg   flatr  r   nancorrr^   rl   r  rm   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_pearson  s   z(TestnanopsDataFrame.test_nancorr_pearsonc                 C      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   )
kendalltaukendallr  )r   r"  rf   rg   r  r  r   r  r^   rl   r  )rm   r"  r  r  r   r   r   test_nancorr_kendall     z(TestnanopsDataFrame.test_nancorr_kendallc                 C   r!  )Nr   )	spearmanrspearmanr  )r   r&  rf   rg   r  r  r   r  r^   rl   r  )rm   r&  r  r  r   r   r   test_nancorr_spearman  r%  z)TestnanopsDataFrame.test_nancorr_spearmanc                 C   sx   t | j| jd }t | jj| jjd }d}tjt|d | jt	j
||dd W d    d S 1 s5w   Y  d S )Nr  z;Unknown method 'foo', expected one of 'kendall', 'spearman'matchfoor  )r   r  rf   rg   r  pytestraises
ValueErrorr  r   r  )rm   r  r  msgr   r   r   test_invalid_method  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   covrf   rg   r  r  r   nancovr^   rl   r  r  r   r   r   test_nancov  s   zTestnanopsDataFrame.test_nancov)T)TNr9   )TTTTT)NN)1__name__
__module____qualname__rn   rq   r   r   r   r   r   r,  markparametrizer   nananyr   r   nanallr   r   r   r   r   r   r   r   tdskip_if_no_scipyr   nanminr   nanmaxr   r   r   r   r   r   r   r   r   r  r  r  r   r$  r(  r0  r3  r   r   r   r   rd      sl    @
.
9


9









--




rd   zop,nanopc                 C   sZ  |  d}|  d}|||}|  d}|  d}|  d}	|  d}
|  d}|jr|||}t|| |jdkrCt||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}|js+d S d S )Nr   r<   rD   rA   rB   r   Frv   r   r   rt   )	getfixturevaluer   r   r   r   r@   hstackassert_numpy_array_equalr   )requestopnanopr   r   re   r  r<   rD   rA   ra   rB   res0r  res1r  res2r   r   r   test_nan_comparison  s8   











rH  zarr, correct)
r   F)r%   F)r'   F)r-   F)r0   FrI  )rX   F)rT   F)rZ   T)r[   Tc                 C   sh   |  |}t|ddr2t|}|r|sJ n|rJ t|ds"d S tj|ddd}t|ddsd S d S Nr   Tr   r   rt   )r?  r}   r   	_has_infsr~   r   r   )rB  arrcorrectr   valrE  r   r   r   test_has_infs_non_float  s   



rO  )	)r   F)r<   F)rA   F)rD   F)rG   T)rF   T)rI   T)rJ   T)rK   Tr,   )Nf4f2c                 C   sz   |  |}|d ur||}t|ddr;t|}|r |sJ n|r$J t|ds+d S tj|ddd}t|ddsd S d S rJ  )r?  r,   r}   r   rK  r~   r   r   )rB  rL  rM  r,   r   rN  rE  r   r   r   test_has_infs_floats9  s   




rR  fixture)r   r   r%   r'   r-   r0   c                 C   s    | | }t|jdsJ d S Ntestr?  r   _bn_ok_dtyperx   rS  rB  r   objr   r   r   test_bn_ok_dtypeZ  s   
rZ  )r5   r8   rM   c                 C   s    | | }t|jdrJ d S rT  rV  rX  r   r   r   test_bn_not_ok_dtypeb  s   
	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sJ d S )Nr   皙?y      ?       @)r   _ensure_numericrp   r   r   r   test_numeric_valuesp  s   z%TestEnsureNumeric.test_numeric_valuesc                 C   s   t g d}t t||sJ |t}t t||s"J t jg dtd}t t||s6J t jg dtd}d}tjt	|d t| W d    d S 1 sYw   Y  d S )N)r   r&   r   )123rx   )r+  barbazzCould not convert .* to numericr)  )
r   arrayallcloser   r^  r,   r   r,  r-  r   )rm   r   o_valuess_valuesr/  r   r   r   test_ndarrayz  s   
"zTestEnsureNumeric.test_ndarrayc                 C   sF   t tddsJ t tddsJ t tdds!J d S )Nr`        ?z1.1r]  z1+1jy      ?      ?)r   rg  r   r^  rp   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 sw   Y  d}t jt|d ti  W d    n1 s7w   Y  t jt|d tg  W d    d S 1 sTw   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^  )rm   r/  r   r   r   test_non_convertable_values  s   "z-TestEnsureNumeric.test_non_convertable_valuesN)r4  r5  r6  r_  rj  rl  rm  r   r   r   r   r\  o  s
    
r\  c                   @   s   e Zd Zejdd Zej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   r   )Ng      @r   rp   r   r   r   variance  r   zTestNanvarFixedValues.variancec                 C   s   | j j|d ddS )N      ?i )scalesize)prngnormal)rm   ro  r   r   r   samples     zTestNanvarFixedValues.samplesc                 C   s   t |}tj||dd d S )N{Gz?rtol)r   r   r   r   )rm   ru  ro  actual_variancer   r   r   test_nanvar_all_finite  s   
z,TestNanvarFixedValues.test_nanvar_all_finitec                 C   sj   t jt d|jd   }||d d d< tj|dd}tj||dd tj|dd}tj|t jdd d S )Nr&   r   Tr   rw  rx  F)r   r;   onesrs   r   r   r   r   )rm   ru  ro  samples_testrz  r   r   r   test_nanvar_nans  s   z&TestNanvarFixedValues.test_nanvar_nansc                 C   sn   t jt d|jd   }||d d d< tj|dd}tj||d dd tj|dd}tj|t jdd d S )	Nr&   r   Tr|  rp  rw  rx  F)	r   r;   r}  rs   r   r   r   r   r   )rm   ru  ro  r~  
actual_stdr   r   r   test_nanstd_nans  s   z&TestNanvarFixedValues.test_nanstd_nansc                 C   sN   | j j|jd d}t||g}tj|dd}tj|t	|dgdd d S )Nr   rr  r   rt   UUUUUU?rw  rx  )
rs  uniformrs   r   r@   r   r   r   r   rf  )rm   ru  ro  samples_unifrz  r   r   r   test_nanvar_axis  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'  r   r  r   Tr   )ru   r   r   r&   r  rw  rx  rk  g       @)	rs  r  r   r;   r   r   r   r   r   )rm   nru  
variance_0
variance_1
variance_2r   r   r   r   test_nanvar_ddof  s   $z&TestNanvarFixedValues.test_nanvar_ddofru   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 saJ tj	|d||d}t|d d |||f d  t |d sJ d S )N)   r  )g*f#?g| 9?gֆ?)gvZ?gן?gצʺ?)g6bڷ?gE-9?g$mxP?r   )gӞ?g/-:Ŭ?g??)g-ull?g(I0쓵?gM6?)g-ull?gF?gmɉM6?)g
^?g)܌	?g쵇Z&?)g@#)G?g/TS?g6܃?)g@#)G?g/TS?gSW_܃?T)r   ru   r   rp  )
r   emptyrf  r;   r   r   r   r   isnanr   )rm   ru   r   ru  ro  r   r   r   r   r   test_ground_truth  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   )rm   r   datar   r   r   r   test_nanstd_roundoff  s   z*TestNanvarFixedValues.test_nanstd_roundoffc                 C      t jdS Ni  r   r   RandomStaterp   r   r   r   rs    r    zTestNanvarFixedValues.prngN)r4  r5  r6  r,  rS  ro  ru  r{  r  r  r  r  r7  r8  r   r  r  propertyrs  r   r   r   r   rn    s"    




&
rn  c                   @   v   e Zd Zejdd Zej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 )TestNanskewFixedValuesc                 C      t t dddS Nr   r      r   sinlinspacerp   r   r   r   ru    rv  zTestNanskewFixedValues.samplesc                 C   r   )Ng5ȿr   rp   r   r   r   actual_skew  r   z"TestNanskewFixedValues.actual_skewrN  gfffff@g@g     @c                 C   (   |t d }t|}|dksJ d S Ni,  r   )r   r}  r   r   )rm   rN  r  r   r   r   r   test_constant_series     
z+TestNanskewFixedValues.test_constant_seriesc                 C   \   d\}}| j j||dd}t|dk sJ d\}}| j j||dd}t|dks,J d S N)333333?皙?d   r  r   )r  r  )rs  betar   r   rm   alphar  left_tailedright_tailedr   r   r   test_all_finite&     z&TestNanskewFixedValues.test_all_finitec                 C      t |}t|| d S r9   )r   r   r   r   rm   ru  r  r   r   r   r   r  /     
z(TestNanskewFixedValues.test_ground_truthc                 C   H   t |t jt t| g}tj|dd}t|t 	|t jg d S Nr   rt   )
r   r@   r;   r}  r  r   r   r   r   rf  r  r   r   r   	test_axis3     z TestNanskewFixedValues.test_axisc                 C   0   t |t jg}tj|dd}t |sJ d S NFr|  )r   r@  r;   r   r   r  )rm   ru  r   r   r   r   	test_nans8     z TestNanskewFixedValues.test_nansc                 C   .   t |t jg}tj|dd}t|| d S NTr|  )r   r@  r;   r   r   r   r   r  r   r   r   test_nans_skipna=     z'TestNanskewFixedValues.test_nans_skipnac                 C   r  r  r  rp   r   r   r   rs  B  r    zTestNanskewFixedValues.prngN)r4  r5  r6  r,  rS  ru  r  r7  r8  r  r  r  r  r  r  r  rs  r   r   r   r   r        


	r  c                   @   r  )TestNankurtFixedValuesc                 C   r  r  r  rp   r   r   r   ru  J  rv  zTestNankurtFixedValues.samplesc                 C   r   )Ng|vKr   rp   r   r   r   actual_kurtN  r   z"TestNankurtFixedValues.actual_kurtrN  r  c                 C   r  r  )r   r}  r   r   )rm   rN  r  kurtr   r   r   r  R  r  z+TestNankurtFixedValues.test_constant_seriesc                 C   r  r  )rs  r  r   r   r  r   r   r   r  Y  r  z&TestNankurtFixedValues.test_all_finitec                 C   r  r9   )r   r   r   r   rm   ru  r  r  r   r   r   r  b  r  z(TestNankurtFixedValues.test_ground_truthc                 C   r  r  )
r   r@   r;   r}  r  r   r   r   r   rf  r  r   r   r   r  f  r  z TestNankurtFixedValues.test_axisc                 C   r  r  )r   r@  r;   r   r   r  )rm   ru  r  r   r   r   r  k  r  z TestNankurtFixedValues.test_nansc                 C   r  r  )r   r@  r;   r   r   r   r   r  r   r   r   r  p  r  z'TestNankurtFixedValues.test_nans_skipnac                 C   r  r  r  rp   r   r   r   rs  u  r    zTestNankurtFixedValues.prngN)r4  r5  r6  r,  rS  ru  r  r7  r8  r  r  r  r  r  r  r  rs  r   r   r   r   r  G  r  r  c                   @   sF   e Zd Zejg dddd Zdd Zejddd	gd
d Z	dS )TestDatetime64NaNOps)smsusns)paramsc                 C   s   |j S r9   )param)rm   rB  r   r   r   unit{  s   zTestDatetime64NaNOps.unitc                 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sBJ q5d S )Nz
2016-01-01r   )periodsr   )	pd
date_rangeas_unitr   r   r   r   insertNaT)rm   r  dtiexpectedrY  r   dti2r   r   r   r     s   

z!TestDatetime64NaNOps.test_nanmeanconstructorM8m8c                 C   s   | d| d}t dt j|dd}d|d< tj|dd	}t |s*J |j	|ks1J 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[]   r  r   r  )r   r   Fr|  r   r   )r  r  r  rc  r   r  )r   r   )r&   r   )r   aranger,   int64viewreshaper   r   isnatrx   rf  r   rA  )rm   r  r  rx   rL  r   r  r   r   r   test_nanmean_skipna_false  s    "z.TestDatetime64NaNOps.test_nanmean_skipna_falseN)
r4  r5  r6  r,  rS  r  r   r7  r8  r  r   r   r   r   r  z  s    
r  c                   C   s   t jr@tdd tdsJ W d    n1 sw   Y  tdd tdr.J W d    d S 1 s9w   Y  d S d S )Nuse_bottleneckTF)r   _BOTTLENECK_INSTALLEDr  option_context
get_optionr   r   r   r   test_use_bottleneck  s   "r  znumpy_op, expectedr"   g      @r   r  c                 C   s    | t g d}||ksJ d S )N)r   r&   r   r  )r   )numpy_opr  r   r   r   r   test_numpy_ops  s   r  	operationc                 C   sD   t ddtjdtjdg}| }| |}| ||d}||ks J d S )Nr   r&   r   r  )mask)r   r   r;   r   )r  serr  median_expectedmedian_resultr   r   r   %test_nanops_independent_of_mask_param  s
   r  	min_countr   c                 C   s"   t dd | }d}||ksJ d S )N)   %   Fr   check_below_min_count)r  r   expected_resultr   r   r   5test_check_below_min_count_negative_or_zero_min_count  s   r  r  )FFTT	   Fzmin_count, expected_result)r   F)e   Tc                 C   s"   d}t || |}||ksJ d S )N)r"   r"   r  )r  r  r  rs   r   r   r   r   -test_check_below_min_count_positive_min_count  s   r  )l   l$=O Tc                 C   s$   d}t j|d | d}||ksJ d S )N)i?" i  )r  r  r  )r  r  rs   r   r   r   r   &test_check_below_min_count_large_shape  s   r  r   r   r   c                 C   s   t t| j|rJ d S r9   )r   rW  r   rx   r   )any_real_numpy_dtyper   r   r   r   test_check_bottleneck_disallow  s   r  rN  )l          l       l   |H%[<c                 C   sR   t |tdtjd}| }|j }||ksJ ||ksJ |jtjks'J d S )Ni  )indexrx   )r   r   r   r  r   r   rx   float64)r   rN  r  r   	np_resultr   r   r   test_nanmean_overflow  s   
r   rx   float128r  )r   r   r   r   r  r   r   c                 C   sd   |d u r	t d ttd|d}t|| }t|r)|dvr)|jtjks'J d S |j|ks0J d S )Nznp.float128 not availabler"   rc  )r   r   )	r,  skipr   r   r}   r   rx   r   r  )r   rx   r  r  r   r   r   r   test_returned_dtype  s   
r  )w	functoolsr   operatorr   numpyr   r,  pandas.util._test_decoratorsutil_test_decoratorsr;  pandas.core.dtypes.commonr   pandasr  r   r   pandas._testing_testingr   pandas.corer   pandas.core.arraysr   r   ro   rS  r   r   r   r   r%   r'   r-   r0   r5   r8   r<   rA   rB   rD   rF   rG   rI   rJ   rK   rM   rT   rX   rZ   r[   r^   r_   r`   rb   rc   rd   r7  r8  eqnaneqnenannegtnangtgenangeltnanltlenanlerH  rO  rR  rZ  r[  r\  rn  r  r  r  r  r   r   r   r   r   r   r   r   r=  r>  r  r9  r:  r   r   r   r   r   r   r   r   r  r  rf  r  skip_if_windowsskip_if_32bitr  r  r   int16int32r  float32r  r}   r  r   r   r   r   <module>   s^   




























    .






$


0u33)	

	
&


