3
Ud0                 @   sH   d dl Zd dlZd dlmZmZmZmZmZ d dl	j
ZG dd dZdS )    N)Categorical	DataFrameSeries	Timestamp
date_rangec               @   sl   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd ZdS )TestDataFrameDescribec          
   C   s   t dddddgdddddgdd	d
ddgd}|j }t ddd
|jj dd	d
ddgiddddddddgd}tj|| |jdgd}t dddddgidddd gd}tj|| d S )!NabcdeTF
         (   2   )Zstring_data	bool_dataint_datar      countmeanstdminz25%z50%z75%max)indexbool)includer         uniquetopfreq)r   describer   r   tmassert_frame_equal)selfdfresultexpected r)   \/var/www/html/virt/lib64/python3.6/site-packages/pandas/tests/frame/methods/test_describe.py!test_describe_bool_in_mixed_frame	   s    z7TestDataFrameDescribe.test_describe_bool_in_mixed_framec             C   st   t jdd d gitd}|j }t jdddtjtjgitddddgd}tj|| |jd d j }tj|| d S )	NA)dtyper   r   r   r    r!   )r-   r   )	pdr   objectr"   npnanr#   r$   iloc)r%   r&   r'   r(   r)   r)   r*   test_describe_empty_object#   s    z0TestDataFrameDescribe.test_describe_empty_objectc          
   C   s.  t jddddgddddgd}|j }tddddgddddgdddd	d
gd}tj|| t jdddddgdddddgd}|j }tddd|jj dddddgiddddddddgd}tj|| t jddddgddddgd}|j }tddddgddddgdddd	d
gd}tj|| d S )NFT)Zbool_data_1Zbool_data_2   r   r   r   r   r    r!   )r   r      )r   r   r   r   r   r   r   z25%z50%z75%r   r   r	   r
   )r   Zstr_data)r.   r   r"   r#   r$   r   r   )r%   r&   r'   r(   r)   r)   r*   test_describe_bool_frame1   s.    
z.TestDataFrameDescribe.test_describe_bool_framec       	      C   s(  t dtjjdddi}dd tdddD }t||}|jdgdd	}tj|j	tdd
dd|d|d< |}|j
 }t|jdksttddddgdddgdd}t|}|j
 }tddddgddddgd}tj|| ttddddg}t |ddddgd}|j
 }tj|d j|d j d S )Nvaluer   i'  d   c             S   s   g | ]}| d |d  qS )z - i  r)   ).0ir)   r)   r*   
<listcomp>Y   s    zCTestDataFrameDescribe.test_describe_categorical.<locals>.<listcomp>i  T)ZbyZ	ascendingi)  F)rightlabelsZvalue_groupr5   r   r	   r
   )
categoriesorderedr4   r   r   r   r   r    r!   )r   )catsr@   rA   )r   r0   randomrandintranger   Zsort_valuesr.   Zcutr7   r"   lencolumnsAssertionErrorr   r#   Zassert_series_equalZassert_numpy_array_equalvalues)	r%   r&   r=   Z
cat_labelsr@   r'   rA   r(   Zdf3r)   r)   r*   test_describe_categoricalW   s&    
z/TestDataFrameDescribe.test_describe_categoricalc             C   sx   t jdtg i}|j }tdddtjtjgiddddgdd}tj|| tj|j	d s`t
tj|j	d stt
d S )NZ	empty_colr   r   r   r    r!   r/   )r   r-   r   r   )r   r   )r   r   )r.   r   r   r"   r0   r1   r#   r$   isnanr2   rG   )r%   r&   r'   r(   r)   r)   r*   &test_describe_empty_categorical_columnv   s    
z<TestDataFrameDescribe.test_describe_empty_categorical_columnc          
   C   s   t jdddgddd}tddd	d
dgddd	d
dgddd ddgd|d}|j }t jddgdddgddd}tdd	|jj ddd	d
dgdd	|jj ddd	d
dgdddddddddg|d}tj|| tj	|j
j|j
j d S )Nint1int2objTXXX)r?   namer   r   r   r   r   r,   r   Xr5   )rL   rM   rN   )rF   )r>   r?   rP   r   )rL   rM   r   r   r   r   z25%z50%z75%r   )r   rF   )r.   ZCategoricalIndexr   r"   rL   r   rM   r#   r$   Zassert_categorical_equalrF   rH   )r%   rF   r&   r'   exp_columnsr(   r)   r)   r*   !test_describe_categorical_columns   s&    z7TestDataFrameDescribe.test_describe_categorical_columnsc          
   C   s  t jdddgdddd}tdd	d
ddgdd	d
ddgddd ddgd}||_|j }t jddgdddd}tdd
|jd d df j dd	d
ddgdd
|jd d df j dd	d
ddgdddddddddgd}||_tj|| |jj	dkst
|jj|jjkst
d S )Nz
2011-01-01z
2011-02-01z
2011-03-01ZMSz
US/EasternrO   )r!   tzrP   r   r   r   r   r   r,   r   rQ   r5   )r   r5   r   r   )r   r5   r   r   r   r   z25%z50%z75%r   )r   )r.   ZDatetimeIndexr   rF   r"   r2   r   r#   r$   r!   rG   rT   )r%   rF   r&   r'   rR   r(   r)   r)   r*   test_describe_datetime_columns   s*    $(z4TestDataFrameDescribe.test_describe_datetime_columnsc             C   s  t jdddd}t jdddd}t j||d}tdt jd|jd d d	f j t jdt jd
t jdt jdt jdgdt jd|jd d df j t jdt jdt jdt jdt jdgdddddddddgd}|j }tj|| d}t	||kst
d S )Nz1 daysDr   )r!   periodsz1 hoursH)t1t2z3 daysr   z2 daysz4 daysz5 daysz3 hoursr5   z2 hoursz4 hoursz5 hoursr   r   r   r   z25%z50%z75%r   )r   a                                t1                         t2
count                          5                          5
mean             3 days 00:00:00            0 days 03:00:00
std    1 days 13:56:50.394919273  0 days 01:34:52.099788303
min              1 days 00:00:00            0 days 01:00:00
25%              2 days 00:00:00            0 days 02:00:00
50%              3 days 00:00:00            0 days 03:00:00
75%              4 days 00:00:00            0 days 04:00:00
max              5 days 00:00:00            0 days 05:00:00)r.   Ztimedelta_ranger   Z	Timedeltar2   r   r"   r#   r$   reprrG   )r%   rY   rZ   r&   r(   r'   Zexp_reprr)   r)   r*   test_describe_timedelta_values   s2    

z4TestDataFrameDescribe.test_describe_timedelta_valuesc       
   
   C   s   |}t td}tddd}tddd}t t|||d}tj||d}tddddddd	d
gdtdddj||j||d |d |d |j|tjgdddddddddgd}|j	ddd}	t
j|	| d S )Nr   i  r5   )rT   )s1s2r   r   r   r4   gvhXL?r   r   r   z25%z50%z75%r   r   )r   allT)r   datetime_is_numeric)r   rD   r   r   r.   r   tz_localizer0   r1   r"   r#   r$   )
r%   Ztz_naive_fixturerT   r]   startendr^   r&   r(   r'   r)   r)   r*   test_describe_tz_values   s&    
z-TestDataFrameDescribe.test_describe_tz_valuesc          
   C   s   t jt jddddddgd}|jdd}t jdt jd	t jd
t jdt jd	t jdt jdtjgddddddddgdddddddddgd}tj|| d S )NZ2012r   )rW   r5   r   )r   r	   T)r`   z
2012-01-02z
2012-01-01z2012-01-01T12:00:00z2012-01-02T12:00:00z
2012-01-03g      ?g      @r   r   r   z25%z50%z75%r   r   )r   )	r.   r   r   r"   r   r0   r1   r#   r$   )r%   r&   r'   r(   r)   r)   r*   *test_datetime_is_numeric_includes_datetime  s     z@TestDataFrameDescribe.test_datetime_is_numeric_includes_datetimec             C   s   d}t td}tddd}tddd}t t|||d}tj||d}|j }tj dd|j jd d|j	||j	|gdd	d
dddgd}dd	d
ddddddddddg}	tj
||gdddgdj|	 }
tjt |jdd}W d Q R X tj||
 d S )NZCETr   i  r5   )rT   )r]   r^   r   r   r   r    r!   firstlast)r   r   r   r   z25%z50%z75%r   r]   r^   )Zaxiskeysr_   )r   )r   rD   r   r   r.   r   r"   Zvalue_countsr   ra   concatlocr#   Zassert_produces_warningFutureWarningr$   )r%   rT   r]   rb   rc   r^   r&   Zs1_Zs2_idxr(   r'   r)   r)   r*   test_describe_tz_values2&  s@    
z.TestDataFrameDescribe.test_describe_tz_values2c             C   s   t jddgi}tjddd}|j|d}tdddtjdfdd |D did	d
ddddddddddddddgd}tj|| d S )Nxr5   r   r   )Zpercentiles      ?c             S   s   g | ]}d qS )g      ?r)   )r9   _r)   r)   r*   r;   V  s    zOTestDataFrameDescribe.test_describe_percentiles_integer_idx.<locals>.<listcomp>r   r   r   r   z0%z10%z20%z30%z40%z50%z60%z70%z80%z90%z100%r   )r      )ro   )r.   r   r0   Zlinspacer"   NaNr#   r$   )r%   r&   Zpctr'   r(   r)   r)   r*   %test_describe_percentiles_integer_idxO  s,     
z;TestDataFrameDescribe.test_describe_percentiles_integer_idxN)__name__
__module____qualname__r+   r3   r6   rI   rK   rS   rU   r\   rd   re   rm   rs   r)   r)   r)   r*   r      s   & 0)r   )Znumpyr0   Zpandasr.   r   r   r   r   r   Zpandas._testingZ_testingr#   r   r)   r)   r)   r*   <module>   s   
