
    bMh&              
       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                            ddddgg          d	             Zd
 Zd Zd Zej                            d          ej                            dddg          ej                            ddgddgg          d                                     Zd Z G d d          Zej                            deeeg          ej                            dg ddddg dddgdg ddgddg          d                         ZdS )    N)	DataFrameIndex
MultiIndexSeries	Timestamp
date_rangec                 Z    |                      d          }|                                 d S )Nfirst)level)groupbydescribe) multiindex_dataframe_random_datagroupeds     j/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/groupby/methods/test_describe.pytest_apply_describe_bugr      s0    .66W6EEG    c                     t          t          j        dt          j                  t	          dd                    } |                     d d g          }|                                }t          j        |d         |	                                d	
           t          j        |d         |
                                d	
           t          j        |d         |                                d	
           d S )N
   dtype
2020-01-01periodsindexc                     | j         S Nyearxs    r   <lambda>z/test_series_describe_multikey.<locals>.<lambda>   s    AF r   c                     | j         S r   monthr    s    r   r"   z/test_series_describe_multikey.<locals>.<lambda>   s    ag 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    	
	"BJ'''z,PR/S/S/S
 
 
B jj**,=,=>??GF6&>7<<>>uMMMM6%='++--UKKKK6%='++--UKKKKKKr   c                  T   t          t          j        dt          j                  t	          dd                    } |                     d           }|                    d           }|                                                    d	          }t          j
        ||           d S )
Nr   r   r   r   r   c                     | j         S r   r$   r    s    r   r"   z-test_series_describe_single.<locals>.<lambda>$   s    17 r   c                 *    |                                  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       s    	
	"BJ'''z,PR/S/S/S
 
 
B jj**++G]]1122F!!''T'::H68,,,,,r   keyskey1key2c                    t          g dg dg dd          }|                    ||           d         }|                                }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|                    dd|d                    | r|                    |          }t          j	        ||           d S )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9999#OO	
 	

 
B 
D8	,	,V	4B[[]]F+++$__#OOFBFC("??"??"??"??"??
	
 
	
 H 4yyA~~68F#3444 ,%%d++&(+++++r   c           
         |                      d d g          }|                                }g }| D ]}||                                         }t          t          |g| j        j                  |j        gdgt          |j                  z  t          t          |j                            g          }t          |j	        ||j
                  }|                    |           t          j        |d          }t          j        ||           |rd S d	}	t          j        t"          |	
          5  |                      dddddd          }
d d d            n# 1 swxY w Y   |
                                }|                                 j        }t          ddg|j
        gg dt          t          |j
                            g          |_
        t          j        ||           d S )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    17 r   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   r   ra   r   rT   ranger   valuesr   appendpdconcatr-   rW   assert_produces_warningFutureWarningT)tsframeusing_infer_stringr   r0   desc_groupscolgroup	group_colr8   msggroupedTs              r   test_frame_describe_multikeyrz   J   sB   oo//1B1BCDDGFK " "%%''3%w'<===u}M3U]+++U3u}3E3E-F-FG
 
 
	 %,	MMM5!!!!y1---H&(+++  
7C		#M	=	=	= M M??#C#C!?LLM M M M M M M M M M M M M M M  F!!#HA'||U3x~#6#6778  HN &(+++++s   5EE"%E"c                     t          g ddz  g ddz  g ddz  d          } g ddz  | d<   |                     dd	i
          }d}t          j        t          |          5  |                     d                                           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    d	                                           d d d            d S # 1 swxY w Y   d S )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df2rx   s      r   test_frame_describe_tupleindexr   k   s   
 1$%%%)***Q.	
 	
 C 10014CH
**c5\*
*
*C
6C	z	-	-	- $ $C!!###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $	z	-	-	- & &E##%%%& & & & & & & & & & & & & & & & & &s$   "(BBB<(C11C58C5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
          }|                    d          j                                        }||j        dk             j                                        j                                        ||j        dk             j                                        j                                        g}t          |t          ddgd          g d          }t          j
        ||           d S )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   }   so    	'D1115'D1115'D1115F 	'D111:'D111:'D1119G
 
Vw77	8	8BZZ  '0022F
28u$--//6==??
28u$--//6==??D UEN111KKK  H
 &(+++++r   zZignore:indexing past lexsort depth may impact performance:pandas.errors.PerformanceWarningrG   TFa1a2c                 H   t          g dg dg dg ddg dd          }|dgk    r|                    d	
          }t          j        g d                              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|                                }|                    ||                                           }t          j        ||           d S )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      sz    
******###)))		
 	
 '&&	
 	
 	
B v~~WWTW"" 	  	
 	
( 
Aq6			
- 0 #D\H
4yyA~~#Hr2h'AA/?d|
 
 
 Bxd333 *''))ZZxZ0099;;F&(+++++r   c            
         t          g dg          } g d| _        |                     | d                   }|                    g           }g dfddD             }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        ||           d S )N)r   rA   rB   r|   )r   rA   rB   r   rA   )percentiles)rN   r&   r(   r)   rP   rR   c           
      X    g | ]&}t          d |t          j        |||ggdg          'S )rH   rA   r   r   r*   rS   ).0valra   s     r   
<listcomp>z3test_describe_duplicate_columns.<locals>.<listcomp>   sL        	Cbfc345aS'RRR  r   )        rK   rI   rb   r   rB   rD   r|   r^   )r   ra   r   r   rm   rn   r   listrj   r   r   r-   rW   )rX   rY   r0   framesr8   ra   s        @r   test_describe_duplicate_columnsr      s   	LLL>	"	"BBJ	BqE		B[[R[((F;;;G   "  F ya(((H!A A3waS 1s7*AU1XX,>?  H 3HN&(+++++r   c                   t    e Zd Zej        d             Zej        d             Zej        d             Zd ZdS )TestGroupByNonCythonPathsc                 j    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   )selfrX   s     r   rX   zTestGroupByNonCythonPaths.df   sD    ]]Q.BFE0BC#OO
 
 
 	r   c                 0    |                     d          }|S )Nrf   r   )r   rX   rY   s      r   rY   zTestGroupByNonCythonPaths.gb   s    ZZ__	r   c                 4    |                     dd          }|S )Nrf   FrF   r   )r   rX   gnis      r   r   zTestGroupByNonCythonPaths.gni   s    jjuj--
r   c                 L   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||          }|                                }t          j	        ||           |
                                }|                                }t          j	        ||           d S )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00!EVVVW37DqNN+
 
 
 c263S#s;bfbfbfbfbfbfbfM ! 
 
 
 
fh///''))
fh/////r   N)	__name__
__module____qualname__r   fixturerX   rY   r   r    r   r   r   r      sz         ^  ^ ^  ^ ^  ^0 0 0 0 0r   r   r   kwargs)g?g?g333333?all)r   includeexcludeintc                     t          g dgg d|           }|d                             t                    |d<   |d                             t                    |d<    |j        d d                             d          j        di |} |                    d          j        di |                    d	          j        d d         }t          j	        ||            |j        d d                             d          j
        j        di |} |                    d          j
        j        di |                    d	          j        d d         }t          g |j        j        
          |_        t          j	        ||           d S )N)rA   rB   r|   r   )ra   r   rg   rh   r   rf   T)r   r   r   )r   astyper   floatilocr   r   r   r-   rW   rg   r   ra   r   r   )r   r   rX   r0   r8   s        r   test_groupby_empty_datasetr     s    
III;u	E	E	EBgnnS!!BsGgnnU##BsG.RWRaR[  %%.8888F'rzz#'11&11==4=HHMbqbQH&(+++0RWRaR[  %%'0::6::F)rzz# )33F33??T?JJOPRQRPRSH2RZ%5666HN&(+++++r   )numpyr*   r   pandasrm   r   r   r   r   r   r   pandas._testing_testingr-   r   r1   r9   markparametrizerZ   rz   r   r   filterwarningsr   r   r   r   r   objectr   r   r   r   <module>r      s|                                  
L L L- - - &66*:!;<<, , =<,>, , ,B& & &$, , ,4 ' 
 dE]334&4,!7884, 4, 98 43 4,n, , ,**0 *0 *0 *0 *0 *0 *0 *0Z 3v"677***uNN***tPP***w4PP , ,  87, , ,r   