
    Owg:                        d dl mZ d dlZd dlZd dlmc 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 ej(                  Zej,                  d        Zej,                  d        Zej,                  d        Zej,                  d	        Zej,                  d
        Zej,                  d        Zej,                  d        Zej,                  d        Zej,                  d        Zej,                  d        Z ej,                  d        Z!ej,                  d        Z"ej,                  d        Z#ej,                  d        Z$ej,                  d        Z%ej,                  d        Z&ej,                  d        Z'ej,                  d        Z(ej,                  d        Z)ej,                  d        Z*ej,                  d        Z+ej,                  d        Z,ej,                  d        Z-ej,                  d        Z.ej,                  d        Z/ej,                  d        Z0ej,                  d         Z1ej,                  d!        Z2ej,                  d"        Z3 G d# d$      Z4ejj                  jm                  d%g d&      d'        Z7ejj                  jm                  d%g d(      ejj                  jm                  d)g d*      d+               Z8ejj                  jm                  d,g d-      d.        Z9ejj                  jm                  d,g d/      d0        Z: G d1 d2      Z; G d3 d4      Z< G d5 d6      Z= G d7 d8      Z> G d9 d:      Z?d; Z@ejj                  jm                  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
      dA        ZKejj                  jm                  dBej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  g      dC        ZVejj                  jm                  dDdEd g      dF        ZWejj                  jm                  dGd ej                  g dH       ej                  dIgdJdKgz  z         g      ejj                  jm                  dLdMdNg      dO               ZYej                  ej                  ejj                  jm                  dLdMdPg      dQ                      Z\ejj                  jm                  dRdSdTg      dU        Z]ejj                  jm                  dVg dW      dX        Z^ejj                  jm                  dYej                  ej                  ej                  ej                  ej                   ededZd      g      ejj                  jm                  d[g d\      d]               Zey)^    )partialN)is_integer_dtype)Seriesisna)nanopsc              #      K   | j                         5 }|j                  t        dd       d  d d d        y # 1 sw Y   y xY ww)N_USE_BOTTLENECKF)contextsetattrr   )monkeypatchms     O/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/test_nanops.pydisable_bottleneckr      s<     				 !			&+U3  s   A8	AAAc                       y)N       r       r   	arr_shaper      s    r   c                 ^    t         j                  j                  d      j                  |       S N   )nprandomdefault_rngstandard_normalr   s    r   	arr_floatr   !   s"    99  #33I>>r   c                     | | dz  z   S )N              ?r   r   s    r   arr_complexr#   &   s    y2~%%r   c                 b    t         j                  j                  d      j                  dd|       S )Nr   
   r   r   r   integersr   s    r   arr_intr)   +   s&    99  #,,S"i@@r   c                 h    t         j                  j                  d      j                  dd|       dk(  S )Nr   r   r'   r   s    r   arr_boolr+   0   s+    99  #,,Q9=BBr   c                 J    t        j                  |       j                  d      S )NSr   absastyper"   s    r   arr_strr1   5       66)##C((r   c                 J    t        j                  |       j                  d      S )NUr.   r"   s    r   arr_utfr5   :   r2   r   c                     t         j                  j                  d      j                  dd|       j	                  d      S )Nr   r    N  M8[ns]r   r   r   r(   r0   r   s    r   arr_dater:   ?   1    99  #,,QyAHHRRr   c                     t         j                  j                  d      j                  dd|       j	                  d      S )Nr   r   r7   m8[ns]r9   r   s    r   
arr_tdeltar>   D   r;   r   c                 J    t        j                  t         j                  |       S N)r   tilenanr   s    r   arr_nanrC   I   s    772669%%r   c                 0    t        j                  | |g      S r@   r   vstack)r   rC   s     r   arr_float_nanrG   N       99i)**r   c                 0    t        j                  | |g      S r@   rE   )rC   r   s     r   arr_nan_float1rJ   S   s    99gy)**r   c                 0    t        j                  | | g      S r@   rE   rC   s    r   arr_nan_nanrM   X       99gw'((r   c                 (    | t         j                  z  S r@   )r   infr"   s    r   arr_infrQ   ]   s    rvvr   c                 0    t        j                  | |g      S r@   rE   )r   rQ   s     r   arr_float_infrS   b   rH   r   c                 0    t        j                  | |g      S r@   rE   rC   rQ   s     r   arr_nan_infrV   g   rN   r   c                 2    t        j                  | ||g      S r@   rE   )r   rC   rQ   s      r   arr_float_nan_infrX   l   s    99i'233r   c                 2    t        j                  | | |g      S r@   rE   rU   s     r   arr_nan_nan_infrZ   q   s    99gw011r   c                 ,   t        j                  | j                  d      |j                  d      |j                  d      |j                  d      |j                  d      |j                  d      |j                  d      |j                  d      g      S )NO)r   rF   r0   )r   r)   r+   r#   r1   r5   r:   r>   s           r   arr_objr]   v   s     99S!NN3OOC s#NN3NN3OOC c"		
 r   c                 j    t        j                  d      5  | | dz  z   cd d d        S # 1 sw Y   y xY wNignoreinvalidr!   r   errstaterL   s    r   arr_nan_nanjre      s/    	X	& &2%& & &s   )2c                     t        j                  d      5  t        j                  | |g      cd d d        S # 1 sw Y   y xY wNr`   ra   r   rd   rF   )r#   re   s     r   arr_complex_nanri      4    	X	& 6yy+|456 6 6	   8Ac                 d    t        j                  d      5  | dz  cd d d        S # 1 sw Y   y xY wr_   rc   )rQ   s    r   arr_nan_infjrm      s*    	X	& |  s   &/c                     t        j                  d      5  t        j                  | |g      cd d d        S # 1 sw Y   y xY wrg   rh   )r#   rm   s     r   arr_complex_nan_infjro      rj   rk   c                     | d d df   S Nr   r   r"   s    r   arr_float_1drr      s    QT?r   c                     | d d df   S rq   r   rL   s    r   
arr_nan_1drt      s    1a4=r   c                     | d d df   S rq   r   )rG   s    r   arr_float_nan_1drv      s    Ar   c                     | d d df   S rq   r   )arr_float1_nans    r   arr_float1_nan_1dry          !Q$r   c                     | d d df   S rq   r   )rJ   s    r   arr_nan_float1_1dr|      rz   r   c                      e Zd Zd Zd Zd$dZ	 	 d%dZ	 d&dZ	 	 	 	 	 d'dZd$dZ	e
j                  j                  d	ej                  ej                   fej"                  ej$                  fg      d
        Zd Zd Ze
j                  j-                  d      d        Ze
j                  j                  d ed            d        Ze
j                  j                  d ed            d        Ze
j                  j                  d ed            d        Ze
j                  j-                  d      e
j                  j                  d	ej8                  ej:                  fej<                  ej>                  fg      d               Z d(dZ!e
j                  j-                  d      d        Z"e
j                  j-                  d      d        Z#d(dZ$d Z%d Z&d Z'd Z(d Z)d Z*d Z+d  Z,d! Z-d" Z.d# Z/y))TestnanopsDataFramec                    dt         _        d}t        j                  j	                  d      j                  |      | _        t        j                  j	                  d      j                  |      | _        | j                  | j                  dz  z   | _        t        j                  j	                  d      j                  dd|      | _
        t        j                  j	                  d      j                  dd|      dk(  | _        t        j                  | j                        j                  d      | _        t        j                  | j                        j                  d	      | _        t        j                  j	                  d      j                  dd
|      j                  d      | _        t        j                  j	                  d      j                  dd
|      j                  d      | _        t        j$                  t        j&                  |      | _        t        j*                  | j                  | j(                  g      | _        t        j*                  | j                  | j(                  g      | _        t        j*                  | j(                  | j                  g      | _        t        j*                  | j(                  | j(                  g      | _        | j                  t        j4                  z  | _        t        j*                  | j                  | j6                  g      | _        t        j*                  | j(                  | j6                  g      | _        t        j*                  | j                  | j(                  | j6                  g      | _        t        j*                  | j(                  | j(                  | j6                  g      | _        t        j*                  | j                  j                  d      | j                  j                  d      | j                  j                  d      | j                  j                  d      | j                  j                  d      | j                  j                  d      | j                   j                  d      | j"                  j                  d      g      | _         t        jB                  d      5  | j(                  | j(                  dz  z   | _"        t        j*                  | j                  | jD                  g      | _#        | j6                  dz  | _$        t        j*                  | j                  | jH                  g      | _%        d d d        | j                  | _&        | j                  | _'        | j(                  | _(        | j,                  | _)        | j.                  | _*        | j0                  | _+        | 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        | j0                  d d df   | _1        y # 1 sw Y   xY w)NFr   r   r!   r%   r&   r   r-   r4   r7   r8   r=   r\   r`   ra   )2r   r	   r   r   r   r   r   
arr_float1r#   r(   r)   r+   r/   r0   r1   r5   r:   r>   rA   rB   rC   rF   rG   rx   rJ   rM   rP   rQ   rS   rV   rX   rZ   r]   rd   re   ri   rm   ro   arr_float_2darr_float1_2d
arr_nan_2darr_float_nan_2darr_float1_nan_2darr_nan_float1_2drr   arr_float1_1drt   rv   ry   r|   )selfr   s     r   setup_methodz TestnanopsDataFrame.setup_method   s   !&	..q1AA)L))//2BB9M>>DOOb,@@yy,,Q/88b)L		--a099!Q	JaOvvdnn-44S9vvdnn-44S9II!!!$--a	BII(S 	 II!!!$--a	BII(S 	 wwrvvy1YY'EF ii$,,(GH iit(GH99dllDLL%AB~~.YY'EF99dllDLL%AB!#DNNDLL$,,+W!X!yy$,,dll)STyy%%c*##C($$S)  '',##C(##C($$S)&&s+	
 [[* 	Y $t||b/@ @D#%99d.>.>@Q@Q-R#SD  $r 1D(*		43C3CTEVEV2W(XD%	Y !NN!__,, $ 2 2!%!4!4!%!4!4 NN1a40!__QT2,,q!t, $ 2 21a4 8!%!4!4QT!:!%!4!4QT!:+	Y 	Ys   BY&&Y0c                 "    t         t        _        y r@   )use_bnr   r	   r   s    r   teardown_methodz#TestnanopsDataFrame.teardown_method   s
    !'r   c                    t        |d|      }|dk7  rZt        |d      rN|j                  rB|j                  |j                  k7  r)t	        j
                  ||j                  d   gd      d   }	 t        j                  |||       y # t        $ r_ t        |d      r|j                  dk(  r t        |d      r|j                  j                  dvr |j                  j                  d	k(  rl|j                  j                  d	k7  r|j                  |j                        }nQt        t        d
      rdnd}|j                  |      }|j                  |      }n|j                  j                  d	k(  r t        j                  t	        j                  |      t	        j                  |      |       t        j                  t	        j                  |      t	        j                  |      |       Y y w xY w)Nasm8r   shapeaxischeck_dtypedtyper=   )cr\   r\   
complex128c16f8)getattrhasattrndimr   r   splittmassert_almost_equalAssertionErrorr   kindr0   realimag)r   targresr   r   
cast_dtypes         r   check_resultsz!TestnanopsDataFrame.check_results   ss   c63' AIg&		

cii'((3Aa8;C	Y""4+F 	YtW%$***@
 3(CIINN*,L yy~~$::??c)**TZZ0C*1"l*CJ**Z0C;;z2D C'""2774="''#,KX""2774="''#,KX1	Ys   .B E&G0/G0Nc                 $   t        t        |j                              d gz   D ]  }	|r|n|}
|r'|r%t        |
      j	                         r ||
fd|	i|}n ||
fd|	i|}|
j
                  t        k(  r_|t        j                  u s|t        j                  u r;t        |t        j                        r|j                  t              }nt        |      } ||f|	|d|}t        |t        j                        r<t        |t              r,t        j                  |      rt        j                  |      r|}| j!                  |||	|       |r  ||fd|	i|}| j!                  |||	|       |	  ||fd|i|}| j!                  |||	|       |so|	s ||fi |}| j!                  |||	|        |j                  dk  ry t        j"                  |dd      }t        j"                  |dd      } | j$                  ||||f|||d	| y )
Nr   r   skipnar   r      r   r   )r   r   empty_targfunc)listranger   r   allr   objectr   any
isinstancendarrayr0   boolr   floatisnanr   takecheck_fun_data)r   testfunctargfunc	testarval	targarvalr   r   r   kwargsr   targartempvalr   r   
testarval2
targarval2s                  r   r   z"TestnanopsDataFrame.check_fun_data'  s    y~~./4&8 $	MD)/IYM.T--@-D-D-F%mI$I&ICDCFC""f,BFF"h"&&&8 dBJJ/;;t,D:D9I4I&IC 4/sE*HHTNHHSM tS$KHy>t>v>""4d"L|yBB6B""4d"L$,y3F3""4d"LI$	ML >>Q WWY3
WWY3
			

 #)		
 		
r   c                     |}|j                  d      rt        | |d d       r|d d }t        | |      }t        | |      }	 | j                  ||||	f||d| y )N_nan)r   r   )endswithr   r   r   )
r   r   r   testarr   r   r   targarr   r   s
             r   	check_funzTestnanopsDataFrame.check_funi  sz     ??6"wtVCR['ACR[FD&)	D&)			

 )	
 	
r   c	                 2    | j                   ||d|fi |	  | j                   ||d|fi |	  | j                   ||d|fi |	  | j                   ||d|fi |	 | j                  j                  d      | j                  j                  d      | j                  j                  d      g}
|r | j                   ||d|fi |	 |rc | j                   ||d|fi |	  | j                   ||d|fi |	 |r | j                   ||d	|fi |	 |
| j
                  j                  d      gz  }
|rG || j                          | j                   ||d
|fi |	 |
| j                  j                  d      gz  }
|rH	  || j                          | j                   ||d|fi |	 |
| j                  j                  d      gz  }
|rNt        j                  |
      | _        |dk(  rt        | j                  ||      } | j                   ||d|fi |	 y y # t        $ r Y \w xY w)Nr   rG   r)   r+   r\   rC   r#   ri   re   r:   r>   convert)funcallow_complexr]   )r   r   r0   r)   r+   r#   r:   r>   	TypeErrorr   rF   r]   r   _badobj_wrap)r   r   r   r   r   allow_all_nan
allow_dateallow_tdelta	allow_objr   objss              r   
check_funszTestnanopsDataFrame.check_funs|  s)    	x;I&Ix?FMfMx9fGGx:vHHNN!!#&LL$MM  %
 DNN8Xy&KFKDNN8X}fOODNN8X/@&SFSx>6TVTT%%,,S122DT]]#DNN8Xz6LVLT]]))#.//D6) x<R6R//45599T?DL I%"%%HM DNN8Xy&KFK   s   2H
 
	HHc                     |j                   j                  dk(  r%|r|j                  d      }n|j                  d      } ||fi |S )Nr\   r   r   )r   r   r0   )r   valuer   r   r   s        r   r   z TestnanopsDataFrame._badobj_wrap  sC    ;;s"U+T*E$V$$r   znan_op,np_opc                 0    | j                  |||dd       y )NF)r   r   r   r   nan_opnp_opr   s       r   test_nan_funcsz"TestnanopsDataFrame.test_nan_funcs  s     	vUuUr   c                     | j                  t        j                  t        j                  |ddt        j                         y )NF)r   r   r   )r   r   nansumr   sumr   r   s     r   test_nansumzTestnanopsDataFrame.test_nansum  s1    MMFF99 	 	
r   c                 h    | j                  t        j                  t        j                  |dd       y )NF)r   r   )r   r   nanmeanr   meanr   s     r   test_nanmeanz TestnanopsDataFrame.test_nanmean  s&    NNBGGVu 	 	
r   zignore::RuntimeWarningc                 j    | j                  t        j                  t        j                  |ddd       y )NFr   )r   r   r   )r   r   	nanmedianr   medianr   s     r   test_nanmedianz"TestnanopsDataFrame.test_nanmedian  s/    II 	 	
r   ddof   c           	      l    | j                  t        j                  t        j                  |ddd|       y NFr   )r   r   r   r   )r   r   nanvarr   varr   r   r   s      r   test_nanvarzTestnanopsDataFrame.test_nanvar  0    MMFF 	 	
r   c           	      l    | j                  t        j                  t        j                  |ddd|       y r   )r   r   nanstdr   stdr   s      r   test_nanstdzTestnanopsDataFrame.test_nanstd  r   r   c                     t        j                  d      }t        j                  d      5  | j	                  t
        j                  |j                  |dddd|       d d d        y # 1 sw Y   y xY w)Nscipy.statsr`   ra   Fr   )r   r   r   r   r   )pytestimportorskipr   rd   r   r   nansemsem)r   r   r   sp_statss       r   test_nansemzTestnanopsDataFrame.test_nansem  sd    &&}5[[* 
	OO# "#  	
	 
	 
	s   2A''A0c                 .    | j                  |||d       y )NFr   r   r   s       r   test_nanops_with_warningsz-TestnanopsDataFrame.test_nanops_with_warnings  s    
 	v?r   c                      |||      }t        j                  ||      }t        |      }|j                  rd||<   |S t	        |d      r|j                         st	        |d      s|rd}|S )Nr   r   )r   minr   r   r   r   )r   r   r   r   r   nansnullnans          r   _argminmax_wrapz#TestnanopsDataFrame._argminmax_wrap  sj    5$vveT"t*88CL 
 GU#7E*C
r   c                     t        | j                  t        j                        }| j	                  t
        j                  ||d       y Nr   Fr   )r   r  r   argmaxr   r   	nanargmaxr   r   r   s      r   test_nanargmaxz"TestnanopsDataFrame.test_nanargmax  2    t++"))<(($%Hr   c                     t        | j                  t        j                        }| j	                  t
        j                  ||d       y r  )r   r  r   argminr   r   	nanargminr  s      r   test_nanargminz"TestnanopsDataFrame.test_nanargmin   r  r   c                    t        |j                  j                  t        j                        s|j                  d      } |||d      }t        |t        j                        r4d|t        j                  ||      t        j                  ||      k(  <   |S t        j                  |      t        j                  |      k(  ry|S )Nr   F)r   biasr   r           )	r   r   typer   floatingr0   r   maxr  )r   valuesr   r   results        r   _skew_kurt_wrapz#TestnanopsDataFrame._skew_kurt_wrap%  s    &,,++R[[9]]4(Ff4e4fbjj)MNF266&t,vD0IIJMVVF^rvvf~-r   c           	         t        j                  d      }t        | j                  |j                        }t        j                  d      5  | j                  t        j                  ||ddd       d d d        y # 1 sw Y   y xY w)Nr   r	  r`   ra   Fr   r   r   )
r   r   r   r  skewr   rd   r   r   nanskew)r   r   r   r   s       r   test_nanskewz TestnanopsDataFrame.test_nanskew1  sp    &&}5t++(--@[[* 	OO# "  	 	 	s   &A<<Bc           	      *   t        j                  d      }t        |j                  d      }t        | j                  |      }t        j                  d      5  | j                  t        j                  ||ddd       d d d        y # 1 sw Y   y xY w)	Nr   T)fisherr	  r`   ra   Fr  )
r   r   r   kurtosisr  r   rd   r   r   nankurt)r   r   r   func1r   s        r   test_nankurtz TestnanopsDataFrame.test_nankurt?  s~    &&}5))$7t++%8[[* 	OO# "  	 	 	s   &B		Bc                     | j                  t        j                  t        j                  |ddt        j                         y )NF)r   r   r   )r   r   nanprodr   prodr   s     r   test_nanprodz TestnanopsDataFrame.test_nanprodN  s1    NNGG:: 	 	
r   c                     || j                   | j                  fi |} || j                   | j                  fdt        | j                         dz
  i|}t        j                  ||       t        j                  ||        || j
                  | j                  fi |} || j
                  | j                  fdt        | j                         dz
  i|}t        j                  ||       t        j                  ||       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z
  i|} || j                   | j                  fdt        | j                         dz   i|}t        j                  |	|
       t        j                  |	|       t        j                  |	|       t        j                  |	|       t        j                  |	|       t        j                  |	|       y Nmin_periodsr   )r   r   lenr   r   r   r   r   rB   r   r   r   checkfuntarg0targ1r   res00res01res10res11targ2res20res21res22res23res24res25s                   r   check_nancorr_nancov_2dz+TestnanopsDataFrame.check_nancorr_nancov_2dX  Y   **D,>,>I&I
 D--.2
 	
 	ue,
ue,..0F0FQ&Q!!""
 D--.2
 	
 	ue,
ue,$*<*<GG**DOOFvF$//DVD..0F0FQ&Q!!""
 D--.2
 	
 
 D--.2
 	
 	ue,
ue,
ue,
ue,
ue,
ue,r   c                     || j                   | j                  fi |} || j                   | j                  fdt        | j                         dz
  i|}t        j                  ||       t        j                  ||        || j
                  | j                  fi |} || j
                  | j                  fdt        | j                         dz
  i|}t        j                  ||       t        j                  ||       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z
  i|} || j                   | j                  fdt        | j                         dz   i|}t        j                  |	|
       t        j                  |	|       t        j                  |	|       t        j                  |	|       t        j                  |	|       t        j                  |	|       y r,  )rr   r   r.  r   r   rv   ry   r   rB   rt   r|   r/  s                   r   check_nancorr_nancov_1dz+TestnanopsDataFrame.check_nancorr_nancov_1d  r?  r   c                 D   t        j                  | j                  | j                        d   }t        j                  | j                  j                  | j                  j                        d   }| j                  t        j                  ||       t        j                  | j                  | j                        d   }t        j                  | j                  j                  | j                  j                        d   }| j                  t        j                  ||d       y Nr   r   pearsonmethodr   corrcoefr   r   flatr>  r   nancorrrr   r   rA  r   r1  r2  s      r   test_nancorrz TestnanopsDataFrame.test_nancorr  s    D--t/A/AB4HD--22D4F4F4K4KLTR$$V^^UEBD--t/A/AB4HD--22D4F4F4K4KLTR$$V^^UE)$Tr   c                 H   t        j                  | j                  | j                        d   }t        j                  | j                  j                  | j                  j                        d   }| j                  t        j                  ||d       t        j                  | j                  | j                        d   }t        j                  | j                  j                  | j                  j                        d   }| j                  t        j                  ||d       y rC  rH  rL  s      r   test_nancorr_pearsonz(TestnanopsDataFrame.test_nancorr_pearson  s    D--t/A/AB4HD--22D4F4F4K4KLTR$$V^^UE)$TD--t/A/AB4HD--22D4F4F4K4KLTR$$V^^UE)$Tr   c                 R   t        j                  d      }|j                  | j                  | j                        d   }|j                  | j                  j
                  | j                  j
                        d   }| j                  t        j                  ||d       |j                  | j                  | j                        d   }|j                  | j                  j
                  | j                  j
                        d   }| j                  t        j                  ||d       y )Nr   r   kendallrF  )r   r   
kendalltaur   r   rJ  r>  r   rK  rr   r   rA  r   r   r1  r2  s       r   test_nancorr_kendallz(TestnanopsDataFrame.test_nancorr_kendall  s    &&}5##D$5$5t7I7IJ1M##D$5$5$:$:D<N<N<S<STUVW$$V^^UE)$T##D$5$5t7I7IJ1M##D$5$5$:$:D<N<N<S<STUVW$$V^^UE)$Tr   c                 R   t        j                  d      }|j                  | j                  | j                        d   }|j                  | j                  j
                  | j                  j
                        d   }| j                  t        j                  ||d       |j                  | j                  | j                        d   }|j                  | j                  j
                  | j                  j
                        d   }| j                  t        j                  ||d       y )Nr   r   spearmanrF  )r   r   	spearmanrr   r   rJ  r>  r   rK  rr   r   rA  rS  s       r   test_nancorr_spearmanz)TestnanopsDataFrame.test_nancorr_spearman  s    &&}5""4#4#4d6H6HI!L""4#4#4#9#94;M;M;R;RSTUV$$V^^UE*$U""4#4#4d6H6HI!L""4#4#4#9#94;M;M;R;RSTUV$$V^^UE*$Ur   c                    t        j                  d       t        j                  | j                  | j
                        d   }t        j                  | j                  j                  | j
                  j                        d   }d}t        j                  t        |      5  | j                  t        j                  ||d       d d d        y # 1 sw Y   y xY w)NscipyrD  z;Unknown method 'foo', expected one of 'kendall', 'spearman'matchfoorF  )r   r   r   rI  r   r   rJ  raises
ValueErrorrA  r   rK  )r   r1  r2  msgs       r   test_invalid_methodz'TestnanopsDataFrame.test_invalid_method  s    G$D--t/A/AB4HD--22D4F4F4K4KLTRK]]:S1 	U((e(T	U 	U 	Us   !$CCc                 @   t        j                  | j                  | j                        d   }t        j                  | j                  j                  | j                  j                        d   }| j                  t        j                  ||       t        j                  | j                  | j                        d   }t        j                  | j                  j                  | j                  j                        d   }| j                  t        j                  ||       y )NrD  )r   covr   r   rJ  r>  r   nancovrr   r   rA  rL  s      r   test_nancovzTestnanopsDataFrame.test_nancov  s    t(($*<*<=dCt((--t/A/A/F/FGM$$V]]E5At(($*<*<=dCt((--t/A/A/F/FGM$$V]]E5Ar   )T)TNr@   )TTTTT)NN)0__name__
__module____qualname__r   r   r   r   r   r   r   r   markparametrizer   nananyr   r   nanallr   r   r   r   filterwarningsr   r   r   r   r   nanminr  nanmaxr  r  r  r  r  r  r   r&  r*  r>  rA  rM  rO  rT  rX  ra  re  r   r   r   r~   r~      s5   A;F(%Y\ @
F BF
0 7Lr% [[&--06=="&&2IJVV


 [[ 89
 :
 [[VU1X.	
 /	
 [[VU1X.	
 /	
 [[VU1X. / [[ 89[[&--06=="&&2IJ@ :@ [[ 89I :I [[ 89I :I

+-Z+-ZUUUVUBr   r~   zarr, correct)
r#   F)r)   F)r+   F)r1   F)r5   Frp  )ri   F)re   F)rm   T)ro   Tc                     | j                  |      }t        |dd      rSt        j                  |      }|r|sJ |rJ t	        |d      sy t        j                  |dd      }t        |dd      rRy y Nr   Tr   r   r   )getfixturevaluer   r   	_has_infsr   r   r   )requestarrcorrectr   valres0s         r   test_has_infs_non_floatrz    sp      
!
!#
&C
#vt
$$K4O8sF# ggc12& #vt
$r   )	)r   F)rC   F)rG   F)rM   F)rS   T)rQ   T)rV   T)rX   T)rZ   Tr0   )Nf4f2c                    | j                  |      }||j                  |      }t        |dd      rSt        j                  |      }|r|sJ |rJ t        |d      sy t        j                  |dd      }t        |dd      rRy y rr  )rs  r0   r   r   rt  r   r   r   )ru  rv  rw  r0   r   rx  ry  s          r   test_has_infs_floatsr~    s      
!
!#
&Cjj 
#vt
$$K4O8sF# ggc12& #vt
$r   fixture)r   r#   r)   r+   r1   r5   c                 j    |j                  |       }t        j                  |j                  d      sJ y Ntestrs  r   _bn_ok_dtyper   r  ru  r   objs       r   test_bn_ok_dtyper  '  s.     
!
!'
*Csyy&111r   )r:   r>   r]   c                 j    |j                  |       }t        j                  |j                  d      rJ y r  r  r  s       r   test_bn_not_ok_dtyper  /  s1     
!
!'
*C""399f5555r   c                   $    e Zd Zd Zd Zd Zd Zy)TestEnsureNumericc                     t        j                  d      dk(  sJ t        j                  d      dk(  sJ t        j                  d      dk(  sJ y )Nr   g?y      ?       @)r   _ensure_numericr   s    r   test_numeric_valuesz%TestEnsureNumeric.test_numeric_values=  sQ    %%a(A--- %%c*c111 %%f-777r   c                    t        j                  g d      }t        j                  t        j                  |      |      sJ |j                  t              }t        j                  t        j                  |      |      sJ t        j                  g dt              }d}t        j                  t        |      5  t        j                  |       d d d        t        j                  g dt              }d}t        j                  t        |      5  t        j                  |       d d d        y # 1 sw Y   bxY w# 1 sw Y   y xY w)N)r   r   r   )123r   z,Could not convert \['1' '2' '3'\] to numericr[  )r]  barbazzCould not convert .* to numeric)
r   arrayallcloser   r  r0   r   r   r^  r   )r   r  o_valuess_valuesr`  s        r   test_ndarrayzTestEnsureNumeric.test_ndarrayG  s    )${{611&96BBB ==({{611(;VDDD 88O6:=]]9C0 	-""8,	- 881@0]]9C0 	-""8,	- 	-	- 	-	- 	-s   =D4E 4D= E	c                    t        j                  t        d      5  t        j                  d       d d d        t        j                  t        d      5  t        j                  d       d d d        t        j                  t        d      5  t        j                  d       d d d        y # 1 sw Y   |xY w# 1 sw Y   OxY w# 1 sw Y   y xY w)Nz'Could not convert string '1' to numericr[  r  z)Could not convert string '1.1' to numericz1.1z+Could not convert string '1\+1j' to numericz1+1jr   r^  r   r   r  r   s    r   test_convertable_valuesz)TestEnsureNumeric.test_convertable_values\  s    ]]9,UV 	(""3'	(]]H
 	* ""5)	* ]]K
 	+ ""6*	+ 	+	( 	(	* 	*	+ 	+s#   B-B9C-B69CCc                    d}t        j                  t        |      5  t        j                  d       d d d        d}t        j                  t        |      5  t        j                  i        d d d        t        j                  t        |      5  t        j                  g        d d d        y # 1 sw Y   ~xY w# 1 sw Y   OxY w# 1 sw Y   y xY w)Nz)Could not convert string 'foo' to numericr[  r]  z%argument must be a string or a numberr  )r   r`  s     r   test_non_convertable_valuesz-TestEnsureNumeric.test_non_convertable_valuesh  s    9]]9C0 	*""5)	* 6]]9C0 	'""2&	']]9C0 	'""2&	' 	'	* 	*
	' 	'	' 	's#   B1B=C	1B:=C	CN)rf  rg  rh  r  r  r  r  r   r   r   r  r  <  s    8-*
+
'r   r  c                   l   e Zd Zej                  d        Zej                  d        Zd Zd Zd Z	d Z
d Zej                  j                  d ed	            ej                  j                  d
 ed            d               Zej                  j                  d
 ed            d        Zed        Zy)TestNanvarFixedValuesc                      y)Ng      @r   r   s    r   variancezTestNanvarFixedValues.variancex  s    r   c                 B    | j                   j                  |dz  d      S )N      ?i )scalesize)prngnormal)r   r  s     r   sampleszTestNanvarFixedValues.samples|  s     yyhm&AAr   c                 ^    t        j                  |      }t        j                  ||d       y )N{Gz?rtol)r   r   r   r   )r   r  r  actual_variances       r   test_nanvar_all_finitez,TestNanvarFixedValues.test_nanvar_all_finite  s"     --0
tDr   c                 X   t         j                  t        j                  d|j                  d   z        z  }||d d d<   t	        j
                  |d      }t        j                  ||d       t	        j
                  |d      }t        j                  |t         j                  d       y )Nr   r   Tr   r  r  F)r   rB   onesr   r   r   r   r   )r   r  r  samples_testr  s        r   test_nanvar_nansz&TestNanvarFixedValues.test_nanvar_nans  s}    vvGMM!,<(< ==#SqS --TB
tD --UC
TBr   c                 ^   t         j                  t        j                  d|j                  d   z        z  }||d d d<   t	        j
                  |d      }t        j                  ||dz  d       t	        j                  |d      }t        j                  |t         j                  d       y )	Nr   r   Tr  r  r  r  F)	r   rB   r  r   r   r   r   r   r   )r   r  r  r  
actual_stds        r   test_nanstd_nansz&TestNanvarFixedValues.test_nanstd_nans  s    vvGMM!,<(< ==#SqS]]<=

z8S=tD]]<>

z266=r   c                    | j                   j                  |j                  d         }t        j                  ||g      }t        j                  |d      }t        j                  |t        j                  |dg      d       y )Nr   r  r   r   UUUUUU?r  r  )
r  uniformr   r   rF   r   r   r   r   r  )r   r  r  samples_unifr  s        r   test_nanvar_axisz&TestNanvarFixedValues.test_nanvar_axis  sh    yy((gmmA.>(?))Wl34 --a8
RXXx&:;$	
r   c                     d}| j                   j                  d|dz   f      }t        j                  |d d df<   t	        j
                  |ddd      j                         }t	        j
                  |ddd      j                         }t	        j
                  |ddd	      j                         }d
}t        j                  ||d       t        j                  ||dz
  |z  |z  d       t        j                  ||dz
  |dz
  z  |z  d       y )N   i'  r   r  r   Tr   )r   r   r   r   r  r  r  g      ?g       @)	r  r  r   rB   r   r   r   r   r   )r   nr  
variance_0
variance_1
variance_2r   s          r   test_nanvar_ddofz&TestNanvarFixedValues.test_nanvar_ddof  s    ))##%Q#82]]74aHMMO
]]74aHMMO
]]74aHMMO
 
z3T: 	zAGq=3+>TJ 	zAGC+@3+FTRr   r   r   r   r   c                 P   t        j                  d      }t        j                  g dg dg dg      |d dd df<   t         j                  x|d<   |d d df<   t        j                  g dg dg dgg d	g d
g dgg      }t	        j
                  |d||      }t        j                  |d d |||f          t        j                  |d         sJ t	        j                  |d||      }t        j                  |d d |||f   dz         t        j                  |d         sJ y )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   r   r   r  )
r   emptyr  rB   r   r   r   r   r   r   )r   r   r   r  r  r   r   s          r   test_ground_truthz'TestNanvarFixedValues.test_ground_truth  s*    ((6"((444
BQB &(VV+
WQT] 88 988 988
  mmGDt$G
s2Awt(<=xxA mmGDt$G
s2Awt(<(CDxxAr   c                 x    t        dt        j                  d      z        }|j                  |      }|dk(  sJ y )Ni-r&   )r   r  )r   r   r  r   )r   r   datar  s       r   test_nanstd_roundoffz*TestNanvarFixedValues.test_nanstd_roundoff  s7     i"''"+-.t$}}r   c                 @    t         j                  j                  d      S r   r   r   r   r   s    r   r  zTestNanvarFixedValues.prng      yy$$Q''r   N)rf  rg  rh  r   r  r  r  r  r  r  r  r  ri  rj  r   r  r  propertyr  r   r   r   r  r  u  s     ^^  ^^B BEC>
S& [[VU1X.[[VU1X.$  / /$ L [[VU1X. / ( (r   r  c                       e Zd Zej                  d        Zej                  d        Zej                  j                  dg d      d        Z	d Z
d Zd Zd	 Zd
 Zed        Zy)TestNanskewFixedValuesc                 V    t        j                  t        j                  ddd            S Nr   r      r   sinlinspacer   s    r   r  zTestNanskewFixedValues.samples      vvbkk!Q,--r   c                      y)Ng5ȿr   r   s    r   actual_skewz"TestNanskewFixedValues.actual_skew      "r   rx  gfffff@g@g     @c                 l    |t        j                  d      z  }t        j                  |      }|dk(  sJ y Ni,  r  )r   r  r   r  )r   rx  r  r  s       r   test_constant_seriesz+TestNanskewFixedValues.test_constant_series  0     RWWS\!~~d#s{{r   c                     d\  }}| j                   j                  ||d      }t        j                  |      dk  sJ d\  }}| j                   j                  ||d      }t        j                  |      dkD  sJ y )N333333?皙?d   r  r   r  r  )r  betar   r  r   alphar  left_tailedright_taileds        r   test_all_finitez&TestNanskewFixedValues.test_all_finite  r    tiinnUDsn;~~k*Q...tyy~~eT~<~~l+a///r   c                 Z    t        j                  |      }t        j                  ||       y r@   )r   r  r   r   r   r  r  r  s       r   r  z(TestNanskewFixedValues.test_ground_truth       ~~g&
t[1r   c           	      ,   t        j                  |t         j                  t        j                  t	        |            z  g      }t        j                  |d      }t        j                  |t        j                  |t         j                  g             y Nr   r   )
r   rF   rB   r  r.  r   r  r   r   r  r  s       r   	test_axisz TestNanskewFixedValues.test_axis	  ]    ))Wbffrwws7|/D&DEF~~gA.
tRXX{BFF.C%DEr   c                     t        j                  |t         j                  g      }t        j                  |d      }t        j
                  |      sJ y NFr  )r   hstackrB   r   r  r   )r   r  r  s      r   	test_nansz TestNanskewFixedValues.test_nans  9    ))Wbff-.~~ge4xx~~r   c                     t        j                  |t         j                  g      }t        j                  |d      }t        j                  ||       y NTr  )r   r  rB   r   r  r   r   r  s       r   test_nans_skipnaz'TestNanskewFixedValues.test_nans_skipna  9    ))Wbff-.~~gd3
t[1r   c                 @    t         j                  j                  d      S r   r  r   s    r   r  zTestNanskewFixedValues.prng  r  r   N)rf  rg  rh  r   r  r  r  ri  rj  r  r  r  r  r  r  r  r  r   r   r   r  r         ^^. . ^^# # [[U$<= >02F

2
 ( (r   r  c                       e Zd Zej                  d        Zej                  d        Zej                  j                  dg d      d        Z	d Z
d Zd Zd	 Zd
 Zed        Zy)TestNankurtFixedValuesc                 V    t        j                  t        j                  ddd            S r  r  r   s    r   r  zTestNankurtFixedValues.samples   r  r   c                      y)Ng|vKr   r   s    r   actual_kurtz"TestNankurtFixedValues.actual_kurt$  r  r   rx  r  c                 l    |t        j                  d      z  }t        j                  |      }|dk(  sJ y r  )r   r  r   r$  )r   rx  r  kurts       r   r  z+TestNankurtFixedValues.test_constant_series(  r  r   c                     d\  }}| j                   j                  ||d      }t        j                  |      dk  sJ d\  }}| j                   j                  ||d      }t        j                  |      dk  sJ y )Nr  r  r  r   r  r   )r  r  r   r$  r  s        r   r  z&TestNankurtFixedValues.test_all_finite/  r  r   c                 Z    t        j                  |      }t        j                  ||       y r@   )r   r$  r   r   r   r  r  r  s       r   r  z(TestNankurtFixedValues.test_ground_truth8  r  r   c           	      ,   t        j                  |t         j                  t        j                  t	        |            z  g      }t        j                  |d      }t        j                  |t        j                  |t         j                  g             y r  )
r   rF   rB   r  r.  r   r$  r   r   r  r
  s       r   r  z TestNankurtFixedValues.test_axis<  r  r   c                     t        j                  |t         j                  g      }t        j                  |d      }t        j
                  |      sJ y r  )r   r  rB   r   r$  r   )r   r  r  s      r   r  z TestNankurtFixedValues.test_nansA  r  r   c                     t        j                  |t         j                  g      }t        j                  |d      }t        j                  ||       y r  )r   r  rB   r   r$  r   r   r
  s       r   r  z'TestNankurtFixedValues.test_nans_skipnaF  r  r   c                 @    t         j                  j                  d      S r   r  r   s    r   r  zTestNankurtFixedValues.prngK  r  r   N)rf  rg  rh  r   r  r  r  ri  rj  r  r  r  r  r  r  r  r  r   r   r   r  r    r   r   r  c                       e Zd Z ej                  g d      d        Zd Zej                  j                  dddg      d        Z	y	)
TestDatetime64NaNOps)smsusns)paramsc                     |j                   S r@   )param)r   ru  s     r   unitzTestDatetime64NaNOps.unitQ  s    }}r   c                 V   t        j                  dd      j                  |      }|d   }||j                  fD ]  }t	        j
                  |      }||k(  rJ  |j                  dt         j                        }||j                  fD ]  }t	        j
                  |      }||k(  rJ  y )Nz
2016-01-01r   )periodsr   )pd
date_rangeas_unit_datar   r   insertNaT)r   r  dtiexpectedr  r  dti2s          r   r   z!TestDatetime64NaNOps.test_nanmeanW  s    mmL!4<<TBq6# 	&C^^C(FX%%%	& zz!RVV$$**% 	&C^^C(FX%%%	&r   constructorM8m8c                    | d| d}t        j                  d      j                  t         j                        j	                  |      j                  dd      }d|d<   t        j                  |d	      }t        j                  |      sJ |j                  |k(  sJ t        j                  |d
d      }t        j                  g d|j                        }t        j                  ||       t        j                  |dd      }t        j                  |d   |d   |d   |d   g      }t        j                  ||       y )N[]   r  r   r   )r   r   Fr  r   r   )r  r  r   r  r   rD  )r   r   )r   r   )r   aranger0   int64viewreshaper   r   isnatr   r  r   assert_numpy_array_equal)r   r$  r  r   rv  r  r"  s          r   test_nanmean_skipna_falsez.TestDatetime64NaNOps.test_nanmean_skipna_falsee  s   -qa(iim""288,11%8@@AFFE2xx||u$$$!E:88M;
##FH5!E:88SYD	3t9c&kJK
##FH5r   N)
rf  rg  rh  r   r  r  r   ri  rj  r1  r   r   r   r  r  P  sN    V^^23 4
& [[]T4L96 :6r   r  c                  2   t         j                  rot        j                  dd      5  t        j                  d      sJ 	 d d d        t        j                  dd      5  t        j                  d      rJ 	 d d d        y y # 1 sw Y   BxY w# 1 sw Y   y xY w)Nuse_bottleneckTF)r   _BOTTLENECK_INSTALLEDr  option_context
get_optionr   r   r   test_use_bottleneckr7  y  s    ##/6 	3==!1222	3 /7 	7}}%56666	7 	7	 $	3 	3	7 	7s   BBB
Bznumpy_op, expectedr&   g      @r   r  c                 8     | t        g d            }||k(  sJ y )N)r   r   r   r  )r   )numpy_opr"  r  s      r   test_numpy_opsr:    s!    " f\*+FXr   	operationc                     t        ddt        j                  dt        j                  dg      }|j                         } | |j                        } | |j                  |      }||k(  sJ y )Nr   r   r   r  )mask)r   r   rB   r   _values)r;  serr=  median_expectedmedian_results        r   %test_nanops_independent_of_mask_paramrB    sZ    , !Q2661-
.C88:D,Ockk5Mm+++r   	min_countr   c                 D    t        j                  dd |       }d}||k(  sJ y )N)   %   Fr   check_below_min_count)rC  r  expected_results      r   5test_check_below_min_count_negative_or_zero_min_countrJ    s+     ))(D)DFO_$$$r   r=  )FFTT	   Fzmin_count, expected_result)r   F)e   Tc                 D    d}t        j                  || |      }||k(  sJ y )N)r&   r&   rG  )r=  rC  rI  r   r  s        r   -test_check_below_min_count_positive_min_countrN    s+     E))%yAF_$$$r   )l   l$=O Tc                 F    d}t        j                  |d |       }||k(  sJ y )N)i?" i  )r=  rC  rG  )rC  rI  r   r  s       r   &test_check_below_min_count_large_shaperP    s+    
 E))%diPF_$$$r   r   r   r   c                 n    t        j                  t        j                  |       j                  |      rJ y r@   )r   r  r   r   r  )any_real_numpy_dtyper   s     r   test_check_bottleneck_disallowrS    s-     ""288,@#A#F#FMMMMr   rx  )l          l       l   |H%[<c                     t        |t        d      t        j                        }|j	                         }|j
                  j	                         }||k(  sJ ||k(  sJ |j                  t        j                  k(  sJ y )Ni  )indexr   )r   r   r   r,  r   r  r   float64)r   rx  r?  r  	np_results        r   test_nanmean_overflowrX    se     E#Jbhh
7CXXZF

!IS==Y<<2::%%%r   r   float128rG  )r   r   r   r  r  r  r  c                     |t        j                  d       t        t        d      |      } t	        ||             }t        |      r$|dvr |j                  t        j                  k(  sJ y |j                  |k(  sJ y )Nznp.float128 not availabler&   r  )r  r  )	r   skipr   r   r   r   r   r   rV  )r   r   rG  r?  r  s        r   test_returned_dtyper\    sn     }/0
r%
(C!WS&!#F6#?||rzz)))||u$$$r   )f	functoolsr   numpyr   r   pandas.util._test_decoratorsutil_test_decoratorstdpandas.core.dtypes.commonr   pandasr  r   r   pandas._testing_testingr   pandas.corer   r	   r   r  r   r   r   r#   r)   r+   r1   r5   r:   r>   rC   rG   rJ   rM   rQ   rS   rV   rX   rZ   r]   re   ri   rm   ro   rr   rt   rv   ry   r|   r~   ri  rj  rz  r~  r  r  r  r  r  r  r  r7  r   r   r   r   r   r   r  r  rn  ro  r:  rk  rl  r   r   r   r  r  r  r$  r(  rB  rJ  r  rN  skip_if_windowsskip_if_32bitrP  rS  rX  int16int32r,  float32rV  r   r\  r   r   r   <module>rm     s      ) ) 6   			     ? ? & & A A C C ) ) ) ) S S S S & & + + + + ) )   + + ) ) 4 4 2 2  " & &
 6 6
  
 6 6
              kB kB\ ''  
 #56' 7'$ X22
 66
6' 6'rr( r(j0( 0(f0( 0(f&6 &6R7 		B	#	S	C	s			A	A (,)(, r1g.% /% 
T8288018288TFQ%[<P3QR 5
K7PQ% R% 5
DV7WX% Y  % )X!67N 8N
  DE
& F
& 








J%
 #WX	% Y
	%r   