a
    é´«jœ&  ã                
   @   sB  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d„ Zdd„ Zdd„ Zej d	d
d
dgg¡dd„ ƒZdd„ Zdd„ Zdd„ Zej d¡ej dddg¡ej d	dgddgg¡dd„ ƒƒƒZdd„ ZG d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&d'„ ƒƒZdS )(é    N)Ú	DataFrameÚIndexÚ
MultiIndexÚSeriesÚ	TimestampÚ
date_rangec                 C   s   | j dd�}| ¡  d S )NÚfirst)Úlevel)ÚgroupbyÚdescribe)Z multiindex_dataframe_random_dataÚgrouped© r   úi/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/groupby/methods/test_describe.pyÚtest_apply_describe_bug   s    r   c                  C   sŠ   t tjdtjd�tddd�d�} |  dd„ dd„ g¡}| ¡ }tj|d	 | 	¡ d
d� tj|d | 
¡ d
d� tj|d | ¡ d
d� d S )Né
   ©Údtypeú
2020-01-01©Zperiods©Úindexc                 S   s   | j S ©N©Úyear©Úxr   r   r   Ú<lambda>   ó    z/test_series_describe_multikey.<locals>.<lambda>c                 S   s   | j S r   ©Úmonthr   r   r   r   r      r   ÚmeanF)Zcheck_namesÚstdÚmin)r   ÚnpÚarangeÚfloat64r   r
   r   ÚtmÚassert_series_equalr    r!   r"   )Útsr   Úresultr   r   r   Útest_series_describe_multikey   s    ÿr*   c                  C   s\   t tjdtjd�tddd�d�} |  dd„ ¡}| dd„ ¡}| ¡ jd	d
�}t	 
||¡ d S )Nr   r   r   r   r   c                 S   s   | j S r   r   r   r   r   r   r   $   r   z-test_series_describe_single.<locals>.<lambda>c                 S   s   |   ¡ S r   )r   r   r   r   r   r   %   r   T)Zfuture_stack)r   r#   r$   r%   r   r
   Úapplyr   Ústackr&   r'   )r(   r   r)   Úexpectedr   r   r   Útest_series_describe_single    s    ÿr.   ÚkeysÚkey1Úkey2c                 C   s¸   t g d¢g d¢g d¢dœƒ}|j|| 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 	||¡ d S )N)ÚoneÚtwor3   Úthreer3   )é   é   é   r7   é   )r0   r1   Úfoo2©Úas_indexr9   )r2   r4   r3   )ç      ð?r<   ç      @)r<   ç      @r>   ç       @)r<   r>   r?   )r<   r>   r=   )r<   r>   ç      @)r<   r>   ç      @)	r0   Úcountr    r!   r"   ú25%ú50%ú75%Úmaxr6   r5   r1   r0   )
r   r
   r   r#   ÚnanÚlenÚinsertÚ	set_indexr&   Úassert_frame_equal)r;   r/   ÚdfÚgbr)   r-   r   r   r   Útest_series_describe_as_index*   s2    ýÿ÷ÿ
rN   c                 C   sF  |   dd„ dd„ g¡}| ¡ }g }| D ]f}||  ¡ }tt|g| jjd�|jgdgt|jƒ tt|jƒƒgd�}t|j	||j
d�}| |¡ q&tj|dd	�}t ||¡ |r°d S d
}	tjt|	d��( | j dddddœdd	�}
W d   ƒ n1 sð0    Y  |
 ¡ }|  ¡ j}tddg|j
gg d¢tt|j
ƒƒgd�|_
t ||¡ d S )Nc                 S   s   | j S r   r   r   r   r   r   r   K   r   z.test_frame_describe_multikey.<locals>.<lambda>c                 S   s   | j S r   r   r   r   r   r   r   K   r   r   r   ©ÚlevelsÚcodes)Úcolumnsr   r5   ©Zaxisz+DataFrame.groupby with axis=1 is deprecated©Úmatch)ÚAÚBÚCÚD)r   r   r5   r5   )r
   r   r   r   rR   r   rH   Úranger   Úvaluesr   ÚappendÚpdÚconcatr&   rK   Zassert_produces_warningÚFutureWarningÚT)ZtsframeZusing_infer_stringr   r)   Zdesc_groupsÚcolÚgroupZ	group_colr-   ÚmsgZgroupedTr   r   r   Útest_frame_describe_multikeyJ   s2    þ6
þrd   c                  C   sÈ   t g d¢d g d¢d g d¢d dœƒ} g d¢d | d< | jdd	id
�}d}tjt|d�� |  d¡ ¡  W d   ƒ n1 s~0    Y  tjt|d�� | d	¡ ¡  W d   ƒ n1 sº0    Y  d S )N)r5   r6   é   r7   é   re   )r   é   é   é(   é2   )éd   éÈ   i,  i�  iô  )r   ÚyÚz))r   r   r5   )r   r5   r   )r5   r   r   rf   ÚkÚkey©rR   z*Names should be list-like for a MultiIndexrT   )r   ÚrenameÚpytestZraisesÚ
ValueErrorr
   r   )Zdf1Zdf2rc   r   r   r   Útest_frame_describe_tupleindexk   s    


ýÿ,ru   c                  C   sÐ   t dd d�dt dd d�dt dd d�di} t dd d�dt dd d�dt d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d�g d¢d�}t	 
||¡ d S )Nz2011-01-06 10:59:05)Útziža  z2011-01-06 12:43:33i›c  z2011-01-06 12:54:09i /hYl    rT i áõ)ÚPRICEÚVOLUMErw   ©Úname©rB   r    r!   r"   rC   rD   rE   rF   ©r   rR   )r   r   r
   rx   r   rw   r[   Útolistr   r&   rK   )ZpricesZvolumesrL   r)   Údatar-   r   r   r   Ú$test_frame_describe_unstacked_format}   s&    ýýþýr   zZignore:indexing past lexsort depth may impact performance:pandas.errors.PerformanceWarningr;   TFÚa1Úa2c                 C   sâ   t g d¢g d¢g d¢g d¢dœg d¢dd�}|dgkrB|jd	d
�}t  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d�|_	nt
ddgdd�|_	| sÀ| ¡ }|j|| d� ¡ }t ||¡ d S )N)éc   r‚   r‚   éX   rƒ   rƒ   )r5   r6   re   r7   rf   r8   )r   rg   rh   ri   rj   é<   )r€   r�   ÚbÚc)r€   r�   r…   r…   F)rR   Úcopyr€   r�   rq   )©r…   rB   r=   r=   ©r…   r    r@   r?   ©r…   r!   r<   r<   ©r…   r"   r>   r<   ©r…   rC   g      @g      ø?©r…   rD   r@   r?   ©r…   rE   g      @g      @©r…   rF   rA   r=   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r�   r   r5   r6   rƒ   r‚   )rP   rQ   Únamesry   r:   )r   ÚdropZfrom_recordsrJ   r`   rR   r�   rH   r   r   r   Úreset_indexr
   r   r&   rK   )r;   r/   rL   r-   r)   r   r   r   Ú0test_describe_with_duplicate_output_column_names—   s6    	üø

ÿìÿ"ÿ
r“   c                     s´   t g d¢gƒ} g d¢| _|  | d ¡}|jg d�}g d¢‰ ‡ fdd„dD ƒ}tj|dd	�}td
dgˆ gdd
g ddg  dd
g  dttdƒƒ gd�|_dg|j	_
t ||¡ d S )N)r   r5   r6   re   )r   r5   r6   r   r5   )Úpercentiles)rB   r    r!   r"   rD   rF   c              	      s,   g | ]$}t d |tj|||ggdgˆ d�‘qS )r<   r5   r|   ©r   r#   rG   )Ú.0Úvalrq   r   r   Ú
<listcomp>Ý   s   ÿz3test_describe_duplicate_columns.<locals>.<listcomp>)ç        r?   r=   rS   r   r6   r8   re   rO   )r   rR   r
   r   r]   r^   r   ÚlistrZ   r   r�   r&   rK   )rL   rM   r)   Úframesr-   r   rq   r   Útest_describe_duplicate_columnsÕ   s    

þ
,þ
rœ   c                   @   s>   e Zd Zejdd„ ƒZejdd„ ƒZejdd„ ƒZdd„ Zd	S )
ÚTestGroupByNonCythonPathsc                 C   s.   t g d¢dtjdgdtjdggg d¢d�}|S )N)r5   r6   Zfoor5   Úbarre   Zbaz©rV   rW   rX   rq   r•   )ÚselfrL   r   r   r   rL   î   s
    þzTestGroupByNonCythonPaths.dfc                 C   s   |  d¡}|S )NrV   ©r
   )r    rL   rM   r   r   r   rM   ö   s    
zTestGroupByNonCythonPaths.gbc                 C   s   |j ddd�}|S )NrV   Fr:   r¡   )r    rL   Úgnir   r   r   r¢   û   s    zTestGroupByNonCythonPaths.gnic              
   C   s®   t ddgdd�}tdgg d¢gdgd ttdƒƒgd	�}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||d�}| ¡ }t 	||¡ | 
¡ }| ¡ }t 	||¡ d S )Nr5   re   rV   ry   rW   r{   r   é   rO   r<   r?   r™   r|   )r   r   rš   rZ   r   r#   rG   r   r&   rK   r’   )r    rL   rM   r¢   Zexpected_indexZexpected_colr-   r)   r   r   r   Útest_describe   s"    þ þúz'TestGroupByNonCythonPaths.test_describeN)	Ú__name__Ú
__module__Ú__qualname__rs   ZfixturerL   rM   r¢   r¤   r   r   r   r   r�   ê   s   


r�   r   Úkwargs)gš™™™™™¹?gš™™™™™É?g333333Ó?Úall)r”   ÚincludeÚexcludeÚintc                 C   sþ   t g d¢gg d¢| d�}|d  t¡|d< |d  t¡|d< |jd d…  d¡jf i |¤Ž}| d¡jf i |¤Žjdd	�jd d… }t 	||¡ |jd d…  d¡j
jf i |¤Ž}| d¡j
jf i |¤Žjdd	�jd d… }tg |jjd
�|_t 	||¡ d S )N)r5   r6   re   rŸ   )rR   r   rW   rX   r   rV   T)r‘   r   )r   Zastyper¬   ÚfloatZilocr
   r   r’   r&   rK   rW   r   rR   r   r   )r   r¨   rL   r)   r-   r   r   r   Útest_groupby_empty_dataset  s     ("*r®   )Únumpyr#   rs   Zpandasr]   r   r   r   r   r   r   Zpandas._testingZ_testingr&   r   r*   r.   ÚmarkZparametrizerN   rd   ru   r   Úfilterwarningsr“   rœ   r�   r¬   r­   Úobjectr®   r   r   r   r   Ú<module>   s:    

!ÿ7-ýþ