o
    _~#g%                  
   @   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) multiindex_dataframe_random_datagrouped r   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/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periodsindexc                 S      | j S Nyearxr   r   r   <lambda>       z/test_series_describe_multikey.<locals>.<lambda>c                 S   r   r   monthr   r   r   r   r      r    meanF)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   r   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   %   s    T)future_stack)r   r'   r(   r)   r   r
   applyr   stackr*   r+   )r,   r   r-   expectedr   r   r   test_series_describe_single    s   r3   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rM|dd|d  | rT||}t	|| d S )N)onetwor8   threer8   )         r<      )r5   r6   foo2as_indexr>   )r7   r9   r8   )      ?rA         @)rA         @rC          @)rA   rC   rD   )rA   rC   rB   )rA   rC         @)rA   rC         @)	r5   countr#   r%   r&   25%50%75%maxr;   r:   r6   r5   )
r   r
   r   r'   nanleninsert	set_indexr*   assert_frame_equal)r@   r4   dfgbr-   r2   r   r   r   test_series_describe_as_index*   s2   
rS   c           
      C   s2  |  dd dd g}| }g }| D ]-}||  }t|g|jgdgt|j tt|jgd}t|j||jd}|	| qt
j|dd}t|| d	}tjt|d
 | j ddddddd}	W d    n1 snw   Y  |	 }|  j}tddg|jgg dtt|jgd|_t|| d S )Nc                 S   r   r   r   r   r   r   r   r   K   r    z.test_frame_describe_multikey.<locals>.<lambda>c                 S   r   r   r!   r   r   r   r   r   K   r    r   levelscodes)columnsr   r:   axisz+DataFrame.groupby with axis=1 is deprecatedmatch)ABCD)r   r   r:   r:   )r
   r   r   rW   rM   ranger   valuesr   appendpdconcatr*   rP   assert_produces_warningFutureWarningT)
tsframer   r-   desc_groupscolgroup	group_colr2   msggroupedTr   r   r   test_frame_describe_multikeyJ   s0   

ro   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?w   Y  tjt|d |d	  W d    d S 1 s^w   Y  d S )N)r:   r;      r<      rp   )r         (   2   )d      i,  i  i  )r   yz))r   r   r:   )r   r:   r   )r:   r   r   rq   kkeyrW   z*Names should be list-like for a MultiIndexrZ   )r   renamepytestraises
ValueErrorr
   r   )df1df2rm   r   r   r   test_frame_describe_tupleindexg   s   


"r   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)tzia  z2011-01-06 12:43:33ic  z2011-01-06 12:54:09i /hYl    rT i )PRICEVOLUMEr   namerG   r#   r%   r&   rH   rI   rJ   rK   r   rW   )r   r   r
   r   r   r   ra   tolistr   r*   rP   )pricesvolumesrQ   r-   datar2   r   r   r   $test_frame_describe_unstacked_formaty   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r!|jd	d
}t g dddgj}d d g|j_t|dkrQt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   )r:   r;   rp   r<   rq   r=   )r   rr   rs   rt   ru   <   )r   r   bc)r   r   r   r   F)rW   copyr   r   r|   )r   rG   rB   rB   r   r#   rE   rD   r   r%   rA   rA   r   r&   rC   rA   r   rH   g      @g      ?r   rI   rE   rD   r   rJ   g      @g      @r   rK   rF   rB   r   r   r   r   r   r   r   r   r   r:   r;   r   r   )rU   rV   namesr   r?   )r   dropfrom_recordsrO   rg   rW   r   rM   r   r   r   reset_indexr
   r   r*   rP   )r@   r4   rQ   r2   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   r:   r;   rp   )r   r:   r;   r   r:   )percentiles)rG   r#   r%   r&   rI   rK   c              	      s,   g | ]}t d |tj|||ggdg dqS )rA   r:   r   r   r'   rL   ).0valr|   r   r   
<listcomp>   s    z3test_describe_duplicate_columns.<locals>.<listcomp>)        rD   rB   rX   r   r;   r=   rp   rT   )r   rW   r
   r   rc   rd   r   listr`   r   r   r*   rP   )rQ   rR   r-   framesr2   r   r|   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)r:   r;   foor:   barrp   bazr\   r]   r^   r|   r   )selfrQ   r   r   r   rQ      s
   zTestGroupByNonCythonPaths.dfc                 C   s   | d}|S )Nr\   r
   )r   rQ   rR   r   r   r   rR      s   
zTestGroupByNonCythonPaths.gbc                 C   s   |j ddd}|S )Nr\   Fr?   r   )r   rQ   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 )Nr:   rp   r\   r   r]   r   r      rT   rA   rD   r   r   )r   r   r   r`   r   r'   rL   r   r*   rP   r   )r   rQ   rR   r   expected_indexexpected_colr2   r-   r   r   r   test_describe   s"    z'TestGroupByNonCythonPaths.test_describeN)	__name__
__module____qualname__r~   fixturerQ   rR   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d
i |}|djd
i |jdd	jd d }t	|| |jd d dj
jd
i |}|dj
jd
i |jdd	jd d }tg |_t	|| d S )N)r:   r;   rp   r   )rW   r   r]   r^   r   r\   T)r   r   )r   astyper   floatilocr
   r   r   r*   rP   r]   r   r   )r   r   rQ   r-   r2   r   r   r   test_groupby_empty_dataset  s    ("*
r   )numpyr'   r~   pandasrc   r   r   r   r   r   r   pandas._testing_testingr*   r   r.   r3   markparametrizerS   ro   r   r   filterwarningsr   r   r   r   r   objectr   r   r   r   r   <module>   s<     

7-