
    Pi"              
          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gddgg          d                         Zd Z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     ~/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/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                  P   t          t          j        dt          j                  t	          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   )r   r*   r+   r,   r   r   applyr   stackr-   r.   )r/   r   r0   expecteds       r   test_series_describe_singler8       s    	
	"BJ'''z,PR/S/S/S
 
 
B jj**++G]]1122F!!''))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>   )         rB      )r:   r;   foo2as_indexrD   )r=   r?   r>   )      ?rG         @)rG         @rI          @)rG   rI   rJ   )rG   rI   rH   )rG   rI         @)rG   rI         @)	r:   countr&   r(   r)   25%50%75%maxrA   r@   r;   r:   )
r   r   r   r*   nanleninsert	set_indexr-   assert_frame_equal)rF   r9   dfgbr0   r7   s         r   test_series_describe_as_indexrY   *   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        ||           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   r@   axis)r   r   r   r   r`   r   rS   ranger   valuesr   appendpdconcatr-   rV   )tsframer   r0   desc_groupscolgroup	group_colr7   s           r   test_frame_describe_multikeyrm   J   s   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&(+++++r   c            	      D   d} t          dg ddz  | g ddz  i          }|                    |                                           }t          g dgdz  t          g dd| 	          t	          j        dgd
z  g dg                    }t          j        ||           d S )Nkr!   )r@   rA      rB      rp   ))r   r   r@   )r   r@   r   )r@   r   r   rq   )rK   rH   gvhXL?rG   rJ   rH   rI   rK   F)tupleize_colsname   rM   r&   r(   r)   rN   rO   rP   rQ   r   r`   )r   r   r   r   r   from_arraysr-   rV   )rs   rW   r0   r7   s       r   test_frame_describe_tupleindexrx   [   s    D	1$333a7	

 
B ZZ&&((F	6	6	67!;555UQUVVV&UQYSSST
 
  H &(+++++r   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{   rs   ru   rv   )r   r   r   r|   r   r{   rd   tolistr   r-   rV   )pricesvolumesrW   r0   datar7   s         r   $test_frame_describe_unstacked_formatr   o   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.PerformanceWarning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   )r@   rA   rp   rB   rq   rC   )r         (   2   <   )r   r   bc)r   r   r   r   F)r`   copyr   r   r`   )r   rM   rH   rH   r   r&   rK   rJ   r   r(   rG   rG   r   r)   rI   rG   r   rN   g      @g      ?r   rO   rK   rJ   r   rP   g      @g      @r   rQ   rL   rH   r   r   r   r   r   r   r   r   r   r@   rA   r   r   )r^   r_   namesr}   rE   )r   dropfrom_recordsrU   Tr`   r   rS   r   r   r   reset_indexr   r   r-   rV   )rF   r9   rW   r7   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   r@   rA   rp   )r   r@   rA   r   r@   )percentiles)rM   r&   r(   r)   rQ   c           	      V    g | ]%}t          d |t          j        ||ggdg          &S )rG   r@   rv   )r   r*   rR   ).0valr`   s     r   
<listcomp>z3test_describe_duplicate_columns.<locals>.<listcomp>   sJ        	Cbfc3/0WMMM  r   )        rJ   rH   ra   r   rA   rq   rp   r]   )r   r`   r   r   rf   rg   r   listrc   r   r   r-   rV   )rW   rX   r0   framesr7   r`   s        @r   test_describe_duplicate_columnsr      s   	LLL>	"	"BBJ	BqE		B[[R[((F444G   "  F ya(((H!A A3waS 1s7*AU1XX,>?  H 3HN&(+++++r   c                     t          g ddt          j        dgdt          j        dggg d          } |                     d          }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
        ||           |                     dd          }|                                }|                                }t          j
        ||           d S )N)r@   rA   foor@   barrp   bazABCr   r   r}   r   ru   r   rt   r]   rG   rJ   r   rv   FrE   )r   r*   rR   r   r   r   r   rc   r   r-   rV   r   )rW   rX   expected_indexexpected_colr7   r0   gnis          r   test_describe_non_cython_pathsr      sn    
	BFE*Q,>?
 
 
B 
CBAq6,,,NRRRSsQwU1XX'  L #rvsCc37"&"&"&"&"&"&"&I	
   H [[]]F&(+++
**S5*
)
)C##%%H\\^^F&(+++++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)r@   rA   rp   r   )r`   r   r   r   r   r   T)r   r    )r   astyper   floatilocr   r   r   r-   rV   r   r   r`   r   r   )r   r   rW   r0   r7   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*   pytestpandasrf   r   r   r   r   r   r   pandas._testing_testingr-   r   r1   r8   markparametrizerY   rm   rx   r   filterwarningsr   r   r   r   r   objectr   r   r   r   <module>r      s@                                  
L L L- - - &66*:!;<<, , =<,>, , ,", , ,(, , ,4 ' 
 4&4,!7884, 4, 98 4,n, , ,*, , ,< 3v"677***uNN***tPP***w4PP , ,  87, , ,r   