
    bMh:                     @   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j5        6                    d%g d&          d'             Z7ej5        6                    d%g d(          ej5        6                    d)g d*          d+                         Z8ej5        6                    d,g d-          d.             Z9ej5        6                    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j5        6                    d<ejA        d=fejB        d=fejC        d>fejD        d>fejE        d>fejF        d>fejG        d?fejH        d@fejI        d?fejJ        d@fg
          dA             ZKej5        6                    dBejL        ejM        ejB        ejD        ejF        ejN        ejO        ejP        ejQ        ejR        ejJ        ejI        ejS        ejT        ejU        g          dC             ZVej5        6                    dDdEd g          dF             ZWej5        6                    dGd ejX        g dH           ejX        dIgdJdKgz  z             g          ej5        6                    dLdMdNg          dO                         ZYejZ        ej[        ej5        6                    dLdMdPg          dQ                                     Z\ej5        6                    dRdSdTg          dU             Z]ej5        6                    dVg dW          dX             Z^ej5        6                    dYej_        ej`        eja        ejb        ejc         ededZd          g          ej5        6                    d[g d\          d]                         ZedS )^    )partialN)is_integer_dtype)Seriesisna)nanopsc              #      K   |                                  5 }|                    t          dd           d V  d d d            d S # 1 swxY w Y   d S )N_USE_BOTTLENECKF)contextsetattrr   )monkeypatchms     X/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/test_nanops.pydisable_bottleneckr      s      					 !			&+U333                 s   !AA	A	c                      dS )N       r       r   	arr_shaper      s    5r   c                 f    t           j                            d                              |           S N   )nprandomdefault_rngstandard_normalr   s    r   	arr_floatr   !   s&    9  ##33I>>>r   c                     | | dz  z   S )N              ?r   r   s    r   arr_complexr#   &   s    y2~%%r   c                 j    t           j                            d                              dd|           S )Nr   
   r   r   r   integersr   s    r   arr_intr)   +   s*    9  ##,,S"i@@@r   c                 r    t           j                            d                              dd|           dk    S )Nr   r   r'   r   s    r   arr_boolr+   0   s/    9  ##,,Q9==BBr   c                 P    t          j        |                               d          S )NSr   absastyper"   s    r   arr_strr1   5        6)##C(((r   c                 P    t          j        |                               d          S )NUr.   r"   s    r   arr_utfr5   :   r2   r   c                     t           j                            d                              dd|                               d          S )Nr   r    N  M8[ns]r   r   r   r(   r0   r   s    r   arr_dater:   ?   8    9  ##,,QyAAHHRRRr   c                     t           j                            d                              dd|                               d          S )Nr   r   r7   m8[ns]r9   r   s    r   
arr_tdeltar>   D   r;   r   c                 @    t          j        t           j        |           S N)r   tilenanr   s    r   arr_nanrC   I   s    7269%%%r   c                 .    t          j        | |g          S r@   r   vstack)r   rC   s     r   arr_float_nanrG   N       9i)***r   c                 .    t          j        | |g          S r@   rE   )rC   r   s     r   arr_nan_float1rJ   S   s    9gy)***r   c                 .    t          j        | | g          S r@   rE   rC   s    r   arr_nan_nanrM   X       9gw'(((r   c                      | t           j        z  S r@   )r   infr"   s    r   arr_infrQ   ]   s    rvr   c                 .    t          j        | |g          S r@   rE   )r   rQ   s     r   arr_float_infrS   b   rH   r   c                 .    t          j        | |g          S r@   rE   rC   rQ   s     r   arr_nan_infrV   g   rN   r   c                 0    t          j        | ||g          S r@   rE   )r   rC   rQ   s      r   arr_float_nan_infrX   l   s    9i'2333r   c                 0    t          j        | | |g          S r@   rE   rU   s     r   arr_nan_nan_infrZ   q   s    9gw0111r   c                 j   t          j        |                     d          |                    d          |                    d          |                    d          |                    d          |                    d          |                    d          |                    d          g          S )NO)r   rF   r0   )r   r)   r+   r#   r1   r5   r:   r>   s           r   arr_objr]   v   s     9S!!NN3OOC  s##NN3NN3OOC  c""		
  r   c                 p    t          j        d          5  | | dz  z   cd d d            S # 1 swxY w Y   d S Nignoreinvalidr!   r   errstaterL   s    r   arr_nan_nanjre      s    	X	&	&	& & &2%& & & & & & & & & & & & & & & & & &s   +//c                     t          j        d          5  t          j        | |g          cd d d            S # 1 swxY w Y   d S Nr`   ra   r   rd   rF   )r#   re   s     r   arr_complex_nanri          	X	&	&	& 6 6y+|4556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6   9= =c                 j    t          j        d          5  | dz  cd d d            S # 1 swxY w Y   d S 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xY w Y   d S 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    QQQT?r   c                     | d d df         S rq   r   rL   s    r   
arr_nan_1drt      s    111a4=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                            d
ej        ej        fej        ej        fg          d             Zd Zd Ze
j                            d          d             Ze
j                            d ed                    d             Ze
j                            d ed                    d             Ze
j                            d ed                    d             Ze
j                            d          e
j                            d
ej        ej        fej        ej        fg          d                         Z d)dZ!e
j                            d          d             Z"e
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/dS )*TestnanopsDataFramec                    dt           _        d}t          j                            d                              |          | _        t          j                            d                              |          | _        | j        | j        dz  z   | _        t          j                            d          	                    dd|          | _
        t          j                            d          	                    dd|          dk    | _        t          j        | j                                      d          | _        t          j        | j                                      d	          | _        t          j                            d          	                    dd
|                              d          | _        t          j                            d          	                    dd
|                              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          j        z  | _        t          j        | j        | j        g          | _        t          j        | j        | j        g          | _        t          j        | j        | j        | j        g          | _        t          j        | j        | j        | j        g          | _        t          j        | j                            d          | j
                            d          | j                            d          | j                            d          | j                            d          | j                            d          | j                            d          | j                            d          g          | _         t          j!        d          5  | j        | j        dz  z   | _"        t          j        | j        | j"        g          | _#        | j        dz  | _$        t          j        | j        | j$        g          | _%        d d d            n# 1 swxY 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         | _1        d S )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1AA)LL)//22BB9MM>DOb,@@y,,Q//88b)LL	--a0099!Q	JJaOvdn--44S99vdn--44S99I!!!$$--a	BBII(SS 	 I!!!$$--a	BBII(SS 	 wrvy11Y'EFF i$,(GHH it(GHH9dlDL%ABB~.Y'EFF9dlDL%ABB!#DNDL$,+W!X!X!y$,dl)STTy%%c**##C(($$S)) '',,##C((##C(($$S))&&s++	
 
 [*** 	Y 	Y $t|b/@ @D#%9d.>@Q-R#S#SD  $r 1D(*	43CTEV2W(X(XD%	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y !N!_, $ 2!%!4!%!4 N111a40!_QQQT2,qqq!t, $ 2111a4 8!%!4QQQT!:!%!4QQQT!:s   +A1S((S,/S,c                 (    t           t          _        d S r@   )use_bnr   r	   r   s    r   teardown_methodz#TestnanopsDataFrame.teardown_method   s    !'r   Tc                    t          |d|          }|dk    rPt          |d          r@|j        r9|j        |j        k    r)t	          j        ||j        d         gd          d         }	 t          j        |||           d S # t          $ rE t          |d          r|j	        dk    r t          |d          r|j	        j
        dvr |j	        j
        d	k    ro|j	        j
        d	k    r|                    |j	                  }nUt          t          d
          rdnd}|                    |          }|                    |          }n|j	        j
        d	k    r t          j        t	          j        |          t	          j        |          |           t          j        t	          j        |          t	          j        |          |           Y d S 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   s   c63'' AIIg&& 	  
ci''(3Aa888;C	Y"4+FFFFFF 	Y 	Y 	YtW%% $**@*@
 3(( CIN*,L,L y~$$:?c))**TZ00CC*1"l*C*C!MJ**Z00C;;z22DD C''"274=="'#,,KXXXX"274=="'#,,KXXXXXXX1	Ys   )B EGGNc                 >   t          t          |j                            d gz   D ]}	|r|n|}
|r/|r-t          |
                                          r ||
fd|	i|}n ||
fd|	i|}|
j        t          k    r`|t          j        u s|t          j        u rDt          |t          j
                  r|                    t                    }nt          |          } ||f|	|d|}t          |t          j                  r?t          |t                    r*t          j        |          rt          j        |          r|}|                     |||	|           |r$ ||fd|	i|}|                     |||	|           |	$ ||fd|i|}|                     |||	|           |r$|	" ||fi |}|                     |||	|           |j        dk    rd S t          j        |dd          }t          j        |dd          } | j        ||||f|||d	| d S )
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 $	MD)/>IIYM D. DT--@-@-D-D-F-F D%~mII$I&IIxCCDCFCC"f,,BF""h"&&8&8 dBJ// &;;t,,DD::D(9I4II&IIC 4//sE** HTNN HSMM	 tS$KHHH Mhy>>t>v>>""4d"LLL|hyBBB6BB""4d"LLL M$,hy33F33""4d"LLL>QF WY333
WY333
			

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

 )	
 	
 	
 	
 	
 	
 	
r   c	                     | 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 |	 |rS | j         ||d|fi |	  | j         ||d|fi |	 |r | j         ||d	|fi |	 |
| j                            d          gz  }
|r? || j                    | j         ||d
|fi |	 |
| j                            d          gz  }
|rQ	  || j                    | j         ||d|fi |	 |
| j                            d          gz  }
n# t          $ r Y nw xY w|rIt          j
        |
          | _        |dk    rt          | j        ||          } | j         ||d|fi |	 d S d S )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&IIIx?FMMfMMMx9fGGGGGx:vHHHHHN!!#&&L$$M  %%
  	LDN8Xy&KKFKKK 	3DN8X}fOOOOODN8X/@&SSFSSS Ux>6TTVTTTT%,,S1122D 	0HT]###DN8Xz6LLVLLLT]))#..//D 	66))) x<RR6RRR//4455	      		L9T??DL I%%"%HM   DN8Xy&KKFKKKKK		L 		Ls   >E> >
F
Fc                     |j         j        dk    r-|r|                    d          }n|                    d          } ||fi |S )Nr\   r   r   )r   r   r0   )r   valuer   r   r   s        r   r   z TestnanopsDataFrame._badobj_wrap  sV    ;s"" +U++T**tE$$V$$$r   znan_op,np_opc                 :    |                      |||dd           d S )NF)r   r   r   r   nan_opnp_opr   s       r   test_nan_funcsz"TestnanopsDataFrame.test_nan_funcs  s&     	vUuUUUUUr   c                 x    |                      t          j        t          j        |ddt          j                   d S )NF)r   r   r   )r   r   nansumr   sumr   r   s     r   test_nansumzTestnanopsDataFrame.test_nansum  s?    MF9 	 	
 	
 	
 	
 	
r   c                 b    |                      t          j        t          j        |dd           d S )NF)r   r   )r   r   nanmeanr   meanr   s     r   test_nanmeanz TestnanopsDataFrame.test_nanmean  s6    NBGVu 	 	
 	
 	
 	
 	
r   zignore::RuntimeWarningc                 d    |                      t          j        t          j        |ddd           d S )NFr   )r   r   r   )r   r   	nanmedianr   medianr   s     r   test_nanmedianz"TestnanopsDataFrame.test_nanmedian  s>    I 	 	
 	
 	
 	
 	
r   ddof   c           	      f    |                      t          j        t          j        |ddd|           d S NFr   )r   r   r   r   )r   r   nanvarr   varr   r   r   s      r   test_nanvarzTestnanopsDataFrame.test_nanvar  @    MF 	 	
 	
 	
 	
 	
r   c           	      f    |                      t          j        t          j        |ddd|           d S r   )r   r   nanstdr   stdr   s      r   test_nanstdzTestnanopsDataFrame.test_nanstd  r   r   c                     t          j        d          }t          j        d          5  |                     t
          j        |j        |dddd|           d d d            d S # 1 swxY w Y   d S )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  s    &}55[*** 
	 
	OO# "#  	 	 	
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	s   -A$$A(+A(c                 8    |                      |||d           d S )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||<   n8t	          |d          r|                                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  s    d5$veT""t**8 	CLLGU##		 7E**	 		 C
r   c                     t          | j        t          j                  }|                     t
          j        ||d           d S Nr   Fr   )r   r  r   argmaxr   r   	nanargmaxr   r   r   s      r   test_nanargmaxz"TestnanopsDataFrame.test_nanargmax  <    t+")<<<($%HHHHHr   c                     t          | j        t          j                  }|                     t
          j        ||d           d S r  )r   r  r   argminr   r   	nanargminr  s      r   test_nanargminz"TestnanopsDataFrame.test_nanargmin   r  r   c                    t          |j        j        t          j                  s|                    d          } |||d          }t          |t          j                  r3d|t          j        ||          t          j        ||          k    <   |S t          j        |          t          j        |          k    rdS |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9 	)]]4((Ff4e444fbj)) 	MNF26&t,,,vD0I0I0IIJMVF^^rvf~~--3r   c           	      
   t          j        d          }t          | j        |j                  }t          j        d          5  |                     t          j	        ||ddd           d d d            d S # 1 swxY w Y   d S )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  s    &}55t+(-@@@[*** 	 	OO# "    	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   &A88A<?A<c           	      ,   t          j        d          }t          |j        d          }t          | j        |          }t          j        d          5  |                     t          j	        ||ddd           d d d            d S # 1 swxY w Y   d S )	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5)$777t+%888[*** 	 	OO# "    	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   &B		BBc                 x    |                      t          j        t          j        |ddt          j                   d S )NF)r   r   r   )r   r   nanprodr   prodr   s     r   test_nanprodz TestnanopsDataFrame.test_nanprodN  s?    NG: 	 	
 	
 	
 	
 	
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        |	|           d S 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     *D,>II&II
 
 D-..2
 	
 
 	ue,,,
ue,,,.0FQQ&QQ!"
 
 D-..2
 	
 
 	ue,,,
ue,,,$*<GGGG*DOFFvFF$/DDVDD.0FQQ&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        |	|           d S 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                    t          j        | j        | j                  d         }t          j        | j        j        | j        j                  d         }|                     t          j        ||           t          j        | j        | j	                  d         }t          j        | j        j        | j	        j                  d         }| 
                    t          j        ||d           d S 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BB4HD-2D4F4KLLTR$$V^UEBBBD-t/ABB4HD-2D4F4KLLTR$$V^UE)$TTTTTr   c                    t          j        | j        | j                  d         }t          j        | j        j        | j        j                  d         }|                     t          j        ||d           t          j        | j        | j	                  d         }t          j        | j        j        | j	        j                  d         }| 
                    t          j        ||d           d S rC  rH  rL  s      r   test_nancorr_pearsonz(TestnanopsDataFrame.test_nancorr_pearson  s    D-t/ABB4HD-2D4F4KLLTR$$V^UE)$TTTD-t/ABB4HD-2D4F4KLLTR$$V^UE)$TTTTTr   c                    t          j        d          }|                    | j        | j                  d         }|                    | j        j        | j        j                  d         }|                     t          j        ||d           |                    | j	        | j
                  d         }|                    | j	        j        | j
        j                  d         }|                     t          j        ||d           d S )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5##D$5t7IJJ1M##D$5$:D<N<STTUVW$$V^UE)$TTT##D$5t7IJJ1M##D$5$:D<N<STTUVW$$V^UE)$TTTTTr   c                    t          j        d          }|                    | j        | j                  d         }|                    | j        j        | j        j                  d         }|                     t          j        ||d           |                    | j	        | j
                  d         }|                    | j	        j        | j
        j                  d         }|                     t          j        ||d           d S )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5""4#4d6HII!L""4#4#94;M;RSSTUV$$V^UE*$UUU""4#4d6HII!L""4#4#94;M;RSSTUV$$V^UE*$UUUUUr   c                    t          j        d           t          j        | j        | j                  d         }t          j        | j        j        | j        j                  d         }d}t          j        t          |          5  | 	                    t          j        ||d           d d d            d S # 1 swxY w Y   d S )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BB4HD-2D4F4KLLTRK]:S111 	U 	U((e(TTT	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	Us   $B77B;>B;c                    t          j        | j        | j                  d         }t          j        | j        j        | j        j                  d         }|                     t          j        ||           t          j        | j        | j	                  d         }t          j        | j        j        | j	        j                  d         }| 
                    t          j        ||           d S )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/FGGM$$V]E5AAAt($*<==dCt(-t/A/FGGM$$V]E5AAAA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~      s       A; A; A;F( ( (%Y %Y %Y %Y\ @
 @
 @
 @
F BF
 
 
 
0 7L 7L 7L 7Lr% % % % [&-06="&2IJ V V V
 
 

 
 

 [ 899
 
 :9
 [VUU1XX..	
 	
 /.	
 [VUU1XX..	
 	
 /.	
 [VUU1XX..  /. [ 899[&-06="&2IJ @ @  :9@    [ 899I I :9I [ 899I I :9I
 
 
 
    
 
 
+- +- +-Z+- +- +-ZU U UU U UU U UV V VU U UB B B B Br   r~   zarr, correct)
r#   F)r)   F)r+   F)r1   F)r5   Frp  )ri   F)re   F)rm   T)ro   Tc                    |                      |          }t          |dd          r[t          j        |          }|r|sJ n|rJ t	          |d          sd S t          j        |dd          }t          |dd          Yd S d S Nr   Tr   r   r   )getfixturevaluer   r   	_has_infsr   r   r   )requestarrcorrectr   valres0s         r   test_has_infs_non_floatrz    s      
!
!#
&
&C
#vt
$
$ '$$ 	KKKKOOOsF## 	E gc12&&& #vt
$
$ ' ' ' ' 'r   )	)r   F)rC   F)rG   F)rM   F)rS   T)rQ   T)rV   T)rX   T)rZ   Tr0   )Nf4f2c                 6   |                      |          }||                    |          }t          |dd          r[t          j        |          }|r|sJ n|rJ t          |d          sd S t          j        |dd          }t          |dd          Yd S d S 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
$
$ '$$ 	KKKKOOOsF## 	E gc12&&& #vt
$
$ ' ' ' ' 'r   fixture)r   r#   r)   r+   r1   r5   c                 h    |                     |           }t          j        |j        d          sJ d S Ntestrs  r   _bn_ok_dtyper   r  ru  r   objs       r   test_bn_ok_dtyper  '  s8     
!
!'
*
*Csy&1111111r   )r:   r>   r]   c                 h    |                     |           }t          j        |j        d          rJ d S r  r  r  s       r   test_bn_not_ok_dtyper  /  s8     
!
!'
*
*C"39f5555555r   c                   &    e Zd Zd Zd Zd Zd ZdS )TestEnsureNumericc                     t          j        d          dk    sJ t          j        d          dk    sJ t          j        d          dk    sJ d S )Nr   g?y      ?       @)r   _ensure_numericr   s    r   test_numeric_valuesz%TestEnsureNumeric.test_numeric_values=  s`    %a((A---- %c**c1111 %f--777777r   c                    t          j        g d          }t          j        t          j        |          |          sJ |                    t                    }t          j        t          j        |          |          sJ t          j        g dt                    }d}t          j        t          |          5  t          j        |           d d d            n# 1 swxY w Y   t          j        g dt                    }d}t          j        t          |          5  t          j        |           d d d            d S # 1 swxY w Y   d S )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&996BBBBB ==(({61(;;VDDDDD 8OOO6:::=]9C000 	- 	-"8,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 8111@@@0]9C000 	- 	-"8,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-s$   =CC"%C"#EE	E	c                    t          j        t          d          5  t          j        d           d d d            n# 1 swxY w Y   t          j        t          d          5  t          j        d           d d d            n# 1 swxY w Y   t          j        t          d          5  t          j        d           d d d            d S # 1 swxY w Y   d S )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VV 	( 	("3'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(]H
 
 
 	* 	* "5)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* ]K
 
 
 	+ 	+ "6***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s3   =AA#BBB*CCCc                    d}t          j        t          |          5  t          j        d           d d d            n# 1 swxY w Y   d}t          j        t          |          5  t          j        i            d d d            n# 1 swxY w Y   t          j        t          |          5  t          j        g            d d d            d S # 1 swxY w Y   d S )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00 	* 	*"5)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 6]9C000 	' 	'"2&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	']9C000 	' 	'"2&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's3   ?AA'BBB.CCCN)rf  rg  rh  r  r  r  r  r   r   r   r  r  <  sP        8 8 8- - -*
+ 
+ 
+
' 
' 
' 
' 
'r   r  c                      e Zd Zej        d             Zej        d             Zd Zd Zd Z	d Z
d Zej                            d ed	                    ej                            d
 ed                    d                         Zej                            d
 ed                    d             Zed             ZdS )TestNanvarFixedValuesc                     dS )Ng      @r   r   s    r   variancezTestNanvarFixedValues.variancex  s    sr   c                 @    | j                             |dz  d          S )N      ?i )scalesize)prngnormal)r   r  s     r   sampleszTestNanvarFixedValues.samples|  s!    yhm&AAAr   c                 \    t          j        |          }t          j        ||d           d S )N{Gz?rtol)r   r   r   r   )r   r  r  actual_variances       r   test_nanvar_all_finitez,TestNanvarFixedValues.test_nanvar_all_finite  s/     -00
tDDDDDDr   c                 <   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           d S )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    vGM!,<(< = ==#SSqS -TBBB
tDDDD -UCCC
TBBBBBBr   c                 B   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           d S )	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    vGM!,<(< = ==#SSqS]<===

z8S=tDDDD]<>>>

z26======r   c                     | j                             |j        d                   }t          j        ||g          }t          j        |d          }t          j        |t          j	        |dg          d           d S )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  s    y((gmA.>(??)Wl344 -a888
RXx&:;;$	
 	
 	
 	
 	
 	
r   c                 $   d}| j                             d|dz   f          }t          j        |d d df<   t	          j        |ddd                                          }t	          j        |ddd                                          }t	          j        |ddd	                                          }d
}t          j        ||d           t          j        ||dz
  |z  |z  d           t          j        ||dz
  |dz
  z  |z  d           d S )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82]74aHHHMMOO
]74aHHHMMOO
]74aHHHMMOO
 
z3T:::: 	zAGq=3+>TJJJJ 	zAGC+@3+FTRRRRRRr   r   r   r   r   c                 d   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 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   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444444
 
BQB &(V+
WQQQT] 8 988888888 988888888
 
  mGDt$GGG
s2A2wt(<===xA mGDt$GGG
s2A2wt(<(CDDDxAr   c                     t          dt          j        d          z            }|                    |          }|dk    sJ d S )Ni-r&   )r   r  )r   r   r  r   )r   r   datar  s       r   test_nanstd_roundoffz*TestNanvarFixedValues.test_nanstd_roundoff  sB     i"'"++-..t$$}}}}}}r   c                 @    t           j                            d          S r   r   r   r   r   s    r   r  zTestNanvarFixedValues.prng      y$$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  sR        ^  ^ ^B B ^BE E EC C C> > >
 
 
S S S& [VUU1XX..[VUU1XX..$  $  /. /.$ L [VUU1XX..  /. ( ( X( ( (r   r  c                       e Zd Zej        d             Zej        d             Zej                            dg d          d             Z	d Z
d Zd Zd	 Zd
 Zed             ZdS )TestNanskewFixedValuesc                 R    t          j        t          j        ddd                    S Nr   r      r   sinlinspacer   s    r   r  zTestNanskewFixedValues.samples       vbk!Q,,---r   c                     dS )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 d S Ni,  r  )r   r  r   r  )r   rx  r  r  s       r   test_constant_seriesz+TestNanskewFixedValues.test_constant_series  6     RWS\\!~d##s{{{{{{r   c                     d\  }}| j                             ||d          }t          j        |          dk     sJ d\  }}| j                             ||d          }t          j        |          dk    sJ d S )N333333?皙?d   r  r   r  r  )r  betar   r  r   alphar  left_tailedright_taileds        r   test_all_finitez&TestNanskewFixedValues.test_all_finite      tinnUDsn;;~k**Q....ty~~eT~<<~l++a//////r   c                 X    t          j        |          }t          j        ||           d S r@   )r   r  r   r   r   r  r  r  s       r   r  z(TestNanskewFixedValues.test_ground_truth  *    ~g&&
t[11111r   c           	         t          j        |t           j        t          j        t	          |                    z  g          }t          j        |d          }t          j        |t          j	        |t           j        g                     d S Nr   r   )
r   rF   rB   r  r.  r   r  r   r   r  r  s       r   	test_axisz TestNanskewFixedValues.test_axis	  k    )Wbfrws7||/D/D&DEFF~gA...
tRX{BF.C%D%DEEEEEr   c                     t          j        |t           j        g          }t          j        |d          }t          j        |          sJ d S NFr  )r   hstackrB   r   r  r   )r   r  r  s      r   	test_nansz TestNanskewFixedValues.test_nans  F    )Wbf-..~ge444x~~r   c                     t          j        |t           j        g          }t          j        |d          }t          j        ||           d S NTr  )r   r  rB   r   r  r   r   r  s       r   test_nans_skipnaz'TestNanskewFixedValues.test_nans_skipna  E    )Wbf-..~gd333
t[11111r   c                 @    t           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 0 02 2 2F F F
  
2 2 2
 ( ( X( ( (r   r  c                       e Zd Zej        d             Zej        d             Zej                            dg d          d             Z	d Z
d Zd Zd	 Zd
 Zed             ZdS )TestNankurtFixedValuesc                 R    t          j        t          j        ddd                    S r  r  r   s    r   r  zTestNankurtFixedValues.samples   r  r   c                     dS )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 d S r  )r   r  r   r$  )r   rx  r  kurts       r   r  z+TestNankurtFixedValues.test_constant_series(  r  r   c                     d\  }}| j                             ||d          }t          j        |          dk     sJ d\  }}| j                             ||d          }t          j        |          dk     sJ d S )Nr  r  r  r   r  r   )r  r  r   r$  r  s        r   r  z&TestNankurtFixedValues.test_all_finite/  r  r   c                 X    t          j        |          }t          j        ||           d S 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                     d S 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 d S 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        ||           d S r  )r   r  rB   r   r$  r   r   r
  s       r   r  z'TestNankurtFixedValues.test_nans_skipnaF  r  r   c                 @    t           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                            dddg          d             Z	d	S )
TestDatetime64NaNOps)smsusns)paramsc                     |j         S r@   )param)r   ru  s     r   unitzTestDatetime64NaNOps.unitQ  s
    }r   c                 H   t          j        dd                              |          }|d         }||j        fD ]}t	          j        |          }||k    sJ |                    dt           j                  }||j        fD ]}t	          j        |          }||k    sJ d S )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    mL!444<<TBBq6# 	& 	&C^C((FX%%%%%zz!RV$$$*% 	& 	&C^C((FX%%%%%	& 	&r   constructorM8m8c                    | d| d}t          j        d                              t           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        ||           d S )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  s3   (((((imm""28,,11%88@@AFFFE222x|u$$$$!E:::8MMM;;;
#FH555!E:::8SYD	3t9c&kJKK
#FH55555r   N)
rf  rg  rh  r   r  r  r   ri  rj  r1  r   r   r   r  r  P  s        V^222333  43
& & & []T4L996 6 :96 6 6r   r  c                  4   t           j        rt          j        dd          5  t          j        d          sJ 	 d d d            n# 1 swxY w Y   t          j        dd          5  t          j        d          rJ 	 d d d            d S # 1 swxY w Y   d S d S )Nuse_bottleneckTF)r   _BOTTLENECK_INSTALLEDr  option_context
get_optionr   r   r   test_use_bottleneckr7  y  s.   # 7/66 	3 	3=!1222222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 /77 	7 	7}%5666666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7	7 7s#   AA
A
&BBBznumpy_op, expectedr&   g      @r   r  c                 J     | t          g d                    }||k    sJ d S )N)r   r   r   r  )r   )numpy_opr"  r  s      r   test_numpy_opsr:    s6    " Xf\\\**++FXr   	operationc                     t          ddt          j        dt          j        dg          }|                                } | |j                  } | |j        |          }||k    sJ d S )Nr   r   r   r  )mask)r   r   rB   r   _values)r;  serr=  median_expectedmedian_results        r   %test_nanops_independent_of_mask_paramrB    sm    , !Q261-
.
.C88::Di,,OIck555Mm++++++r   	min_countr   c                 F    t          j        dd |           }d}||k    sJ d S )N)   %   Fr   check_below_min_count)rC  r  expected_results      r   5test_check_below_min_count_negative_or_zero_min_countrJ    s4     )(D)DDFO_$$$$$$r   r=  )FFTT	   Fzmin_count, expected_result)r   F)e   Tc                 F    d}t          j        || |          }||k    sJ d S )N)r&   r&   rG  )r=  rC  rI  r   r  s        r   -test_check_below_min_count_positive_min_countrN    s4     E)%yAAF_$$$$$$r   )l   l$=O Tc                 H    d}t          j        |d |           }||k    sJ d S )N)i?" i  )r=  rC  rG  )rC  rI  r   r  s       r   &test_check_below_min_count_large_shaperP    s7    
 E)%diPPPF_$$$$$$r   r   r   r   c                 b    t          j        t          j        |           j        |          rJ d S r@   )r   r  r   r   r  )any_real_numpy_dtyper   s     r   test_check_bottleneck_disallowrS    s1     "28,@#A#A#FMMMMMMMr   rx  )l          l       l   |H%[<c                     t          |t          d          t          j                  }|                                }|j                                        }||k    sJ ||k    sJ |j        t          j        k    sJ d S )Ni  )indexr   )r   r   r   r,  r   r  r   float64)r   rx  r?  r  	np_results        r   test_nanmean_overflowrX    sw     E#JJbh
7
7
7CXXZZF
!!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 d S |j        |k    sJ d S )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\    s     }/000
r%
(
(
(C!WS&!!##F %6#?#?|rz))))))|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 6 6 6 6 6                       		       ? ? ? & & & A A A C C C ) ) ) ) ) ) S S S S S S & & & + + + + + + ) ) )    + + + ) ) ) 4 4 4 2 2 2   " & & &
 6 6 6
   
 6 6 6
                     kB kB kB kB kB kB kB kB\    ' ' '  
 
 
  #5#5#566' ' 76 '$ XXX 2 2 2
    6 6 6
6' 6' 6' 6' 6' 6' 6' 6'rr( r( r( r( r( r( r( r(j0( 0( 0( 0( 0( 0( 0( 0(f0( 0( 0( 0( 0( 0( 0( 0(f&6 &6 &6 &6 &6 &6 &6 &6R7 7 7 		B	#	S	C	s			A	A     (, ,) (, r1g..% % /.% 
T82800011828TFQ%[<P3Q3QR  5
K7PQQ% % RQ % 5
DV7WXX% % YX  % )X!677N N 87N
  D D DEE
& 
& FE
& 






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