
    Owg%              
       T   d dl Zd dlZd dlZd dlmZmZmZmZm	Z	m
Z
 d dlmZ d Zd Zd Zej"                  j%                  ddddgg      d	        Zd
 Zd Zd Zej"                  j/                  d      ej"                  j%                  dddg      ej"                  j%                  ddgddgg      d                      Zd Z G d d      Zej"                  j%                  deeeg      ej"                  j%                  dg ddddg dddgdg ddgddg      d               Zy)    N)	DataFrameIndex
MultiIndexSeries	Timestamp
date_rangec                 H    | j                  d      }|j                          y )Nfirst)level)groupbydescribe) multiindex_dataframe_random_datagroupeds     a/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/groupby/methods/test_describe.pytest_apply_describe_bugr      s!    .66W6EG    c                     t        t        j                  dt        j                        t	        dd            } | j                  d d g      }|j                         }t        j                  |d   |j                         d	
       t        j                  |d   |j                         d	
       t        j                  |d   |j                         d	
       y )N
   dtype
2020-01-01periodsindexc                     | j                   S Nyearxs    r   <lambda>z/test_series_describe_multikey.<locals>.<lambda>   s
    AFF r   c                     | j                   S r   monthr    s    r   r"   z/test_series_describe_multikey.<locals>.<lambda>   s
    agg r   meanF)check_namesstdmin)r   nparangefloat64r   r   r   tmassert_series_equalr&   r(   r)   )tsr   results      r   test_series_describe_multikeyr1      s    	
		"BJJ'z,PR/S
B jj*,=>?GF6&>7<<>uM6%='++-UK6%='++-UKr   c                  .   t        t        j                  dt        j                        t	        dd            } | j                  d       }|j                  d       }|j                         j                  d	      }t        j                  ||       y )
Nr   r   r   r   r   c                     | j                   S r   r$   r    s    r   r"   z-test_series_describe_single.<locals>.<lambda>$   s
    177 r   c                 "    | j                         S r   )r   r    s    r   r"   z-test_series_describe_single.<locals>.<lambda>%   s    QZZ\ r   T)future_stack)r   r*   r+   r,   r   r   applyr   stackr-   r.   )r/   r   r0   expecteds       r   test_series_describe_singler9       st    	
		"BJJ'z,PR/S
B jj*+G]]12F!''T':H68,r   keyskey1key2c                    t        g dg dg dd      }|j                  ||       d   }|j                         }t        g dg dg dt        j                  t        j                  d	gg d
g dg dg dg dd	      }t        |      dk(  r|j                  dd|d          | r|j                  |      }t        j                  ||       y )N)onetwor?   threer?   )         rC      )r;   r<   foo2as_indexrE   )r>   r@   r?   )      ?rH         @)rH         @rJ          @)rH   rJ   rK   )rH   rJ   rI   )rH   rJ         @)rH   rJ         @)	r;   countr&   r(   r)   25%50%75%maxrB   rA   r<   r;   )
r   r   r   r*   nanleninsert	set_indexr-   assert_frame_equal)rG   r:   dfgbr0   r8   s         r   test_series_describe_as_indexrZ   *   s     
99#	

B 
D8	,V	4B[[]F+$#FFBFFC("""""
	
H 4yA~68F#34%%d+&(+r   c           
      x   | j                  d d g      }|j                         }g }| D ]  }||   j                         }t        |g|j                  gdgt	        |j                        z  t        t	        |j                              g      }t        |j                  ||j                        }|j                  |        t        j                  |d      }t        j                  ||       d}t        j                  t        |	      5  | j                  ddddd
d      }	d d d        	j                         }| j                         j                   }t        ddg|j                  gg dt        t	        |j                              g      |_        t        j                  ||       y # 1 sw Y   xY w)Nc                     | j                   S r   r   r    s    r   r"   z.test_frame_describe_multikey.<locals>.<lambda>K   s
     r   c                     | j                   S r   r$   r    s    r   r"   z.test_frame_describe_multikey.<locals>.<lambda>K   s
    177 r   r   levelscodes)columnsr   rA   axisz+DataFrame.groupby with axis=1 is deprecatedmatch)ABCD)r   r   rA   rA   )r   r   r   ra   rT   ranger   valuesr   appendpdconcatr-   rW   assert_produces_warningFutureWarningT)
tsframer   r0   desc_groupscolgroup	group_colr8   msggroupedTs
             r   test_frame_describe_multikeyry   J   s   oo/1BCDGFK "%%'E5==)3U]]++U3u}}3E-FG
	 %,,	M5!" yy1-H&(+
7C		#	#M	= M??#C!?LM F!##HA'U3x~~#678HN &(+M Ms   F00F9c                     t        g ddz  g ddz  g ddz  d      } g ddz  | d<   | j                  dd	i
      }d}t        j                  t        |      5  | j                  d      j                          d d d        t        j                  t        |      5  |j                  d	      j                          d d d        y # 1 sw Y   MxY w# 1 sw Y   y xY w)N)rA   rB      rC      r{   )r         (   2   )d      i,  i  i  )r!   yz))r   r   rA   )r   rA   r   )rA   r   r   r|   kkeyra   z*Names should be list-like for a MultiIndexrd   )r   renamepytestraises
ValueErrorr   r   )df1df2rw   s      r   test_frame_describe_tupleindexr   g   s    
 1$%)*Q.	
C 114CH
**c5\*
*C
6C	z	- $C!!#$	z	- &E##%& &$ $& &s    C CCCc                     t        dd       dt        dd       dt        dd       di} t        dd       dt        dd       dt        dd       d	i}t        | |d
      }|j                  d      j                  j	                         }||j
                  dk(     j                  j	                         j                  j                         ||j
                  dk(     j                  j	                         j                  j                         g}t        |t        ddgd      g d      }t        j                  ||       y )Nz2011-01-06 10:59:05)tzia  z2011-01-06 12:43:33ic  z2011-01-06 12:54:09i /hYl    rT i )PRICEVOLUMEr   namerN   r&   r(   r)   rO   rP   rQ   rR   r   ra   )r   r   r   r   r   r   rk   tolistr   r-   rW   )pricesvolumesrX   r0   datar8   s         r   $test_frame_describe_unstacked_formatr   y   s'    	'D15'D15'D15F 	'D1:'D1:'D19G
 
Vw7	8BZZ ''002F
288u$$--/66==?
288u$$--/66==?D UEN1KH
 &(+r   zZignore:indexing past lexsort depth may impact performance:pandas.errors.PerformanceWarningrG   TFa1a2c                    t        g dg dg dg ddg dd      }|dgk(  r|j                  d	
      }t        j                  g d      j                  ddg      j                  }d d g|j
                  _        t        |      dk(  r"t        ddgddggddgddggdd	g      |_	        nt        ddgd      |_	        | s|j                         }|j                  ||       j                         }t        j                  ||       y )N)c   r   r   X   r   r   )rA   rB   r{   rC   r|   rD   )r   r}   r~   r   r   <   )r   r   bc)r   r   r   r   F)ra   copyr   r   r   )r   rN   rI   rI   r   r&   rL   rK   r   r(   rH   rH   r   r)   rJ   rH   r   rO   g      @g      ?r   rP   rL   rK   r   rQ   g      @g      @r   rR   rM   rI   r   r   r   r   r   r   r   r   r   rA   rB   r   r   )r_   r`   namesr   rF   )r   dropfrom_recordsrV   rq   ra   r   rT   r   r   r   reset_indexr   r   r-   rW   )rG   r:   rX   r8   r0   s        r   0test_describe_with_duplicate_output_column_namesr      s    
**#)		
 '	
B v~WWTW" 		
( 
Aq6		
- 0 #D\H
4yA~#Hr2h'AA/?d|
 Bxd3'')ZZxZ099;F&(+r   c                     t        g dg      } g d| _        | j                  | d         }|j                  g       }g d}dD cg c]&  }t        d|t        j
                  |||ggdg|      ( }}t        j                  |d	      }t        d
dg|gdd
gz  ddgz  z   dd
gz  z   dt        t        d            z  g      |_        dg|j                  _        t        j                  ||       y c c}w )N)r   rA   rB   r{   )r   rA   rB   r   rA   )percentiles)rN   r&   r(   r)   rP   rR   )        rK   rI   rH   r   rb   r   rB   rD   r{   r^   )r   ra   r   r   r*   rS   rm   rn   r   listrj   r   r   r-   rW   )rX   rY   r0   ra   valframesr8   s          r   test_describe_duplicate_columnsr      s    	L>	"BBJ	BqE	B[[R[(F;G # 	Cbffc345aS'RF  yya(H!A A3waS 1s7*AU1X,>?H 3HNN&(+s   +C2c                   ~    e Zd Zej                  d        Zej                  d        Zej                  d        Zd Zy)TestGroupByNonCythonPathsc                 r    t        g ddt        j                  dgdt        j                  dggg d      }|S )N)rA   rB   foorA   barr{   bazrf   rg   rh   r   )r   r*   rS   )selfrX   s     r   rX   zTestGroupByNonCythonPaths.df   s6    Q.BFFE0BC#
 	r   c                 (    |j                  d      }|S )Nrf   r   )r   rX   rY   s      r   rY   zTestGroupByNonCythonPaths.gb   s    ZZ_	r   c                 ,    |j                  dd      }|S )Nrf   FrF   r   )r   rX   gnis      r   r   zTestGroupByNonCythonPaths.gni   s    jjuj-
r   c                 N   t        ddgd      }t        dgg dgdgdz  t        t        d            g	      }t	        d
dt
        j                  dddddgdt
        j                  t
        j                  t
        j                  t
        j                  t
        j                  t
        j                  t
        j                  gg||      }|j                         }t        j                  ||       |j                         }|j                         }t        j                  ||       y )NrA   r{   rf   r   rg   r   r      r^   rH   rK   r   r   )r   r   r   rj   r   r*   rS   r   r-   rW   r   )r   rX   rY   r   expected_indexexpected_colr8   r0   s           r   test_describez'TestGroupByNonCythonPaths.test_describe   s    1vC0!EVW37DqN+
 c2663S#s;bffbffbffbffbffbffbffM ! 
 
fh/'')
fh/r   N)	__name__
__module____qualname__r   fixturerX   rY   r   r    r   r   r   r      sO     ^^  ^^  ^^ 0r   r   r   kwargs)g?g?g333333?all)r   includeexcludeintc                    t        g dgg d|       }|d   j                  t              |d<   |d   j                  t              |d<    |j                  d d j                  d      j                  d
i |} |j                  d      j                  d
i |j                  d	      j                  d d }t        j                  ||        |j                  d d j                  d      j                  j                  d
i |} |j                  d      j                  j                  d
i |j                  d	      j                  d d }t        g       |_        t        j                  ||       y )N)rA   rB   r{   r   )ra   r   rg   rh   r   rf   T)r   r   )r   astyper   floatilocr   r   r   r-   rW   rg   r   r   )r   r   rX   r0   r8   s        r   test_groupby_empty_datasetr     s=    
I;u	EBgnnS!BsGgnnU#BsG.RWWRa[  %..88F'rzz#''1&1==4=HMMbqQH&(+0RWWRa[  %''00:6:F)rzz#  ))3F3??T?JOOPRQRSH2YHN&(+r   )numpyr*   r   pandasrm   r   r   r   r   r   r   pandas._testing_testingr-   r   r1   r9   markparametrizerZ   ry   r   r   filterwarningsr   r   r   r   r   objectr   r   r   r   <module>r      sT       
L- &66*:!;<, =,>,:&$,4 '
 dE]34&4,!784, 9 44,n,**0 *0Z 3v"67*uN*tP*w4P, 8,r   