
    bMh8                     `    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	 d dl
mZ  G d d          ZdS )    N)Categorical	DataFrameSeries	Timestamp
date_rangec                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zej                            dddddgddgg          d             Zd Zd Zd ZdS )TestDataFrameDescribec                 x   t          g dg dg dd          }|                                }t          ddd|j                                        dd	dd
dgig d          }t	          j        ||           |                    dg          }t          dg dig d          }t	          j        ||           d S )N)abcde)TTFFF
         (   2   )string_data	bool_dataint_datar      r   r   r   r   r   countmeanstdmin25%50%75%maxindexboolincluder   )r      F   r   uniquetopfreq)r   describer   r   tmassert_frame_equalselfdfresultexpecteds       h/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/frame/methods/test_describe.py!test_describe_bool_in_mixed_framez7TestDataFrameDescribe.test_describe_bool_in_mixed_frame   s    888>>>000 
 
 !R!2!2BBBGHMMM
 
 
 	fh/// fX..***+3U3U3U
 
 
 	fh/////    c                 ^   t          dd d git                    }|                                }t          dddt          j        t          j        git          g d          }t          j        ||           |j        d d                                         }t          j        ||           d S )NAdtyper   r*   )r<   r$   )r   objectr.   npnanr/   r0   ilocr1   s       r6   test_describe_empty_objectz0TestDataFrameDescribe.test_describe_empty_object*   s    dD\*&9991a()444
 
 

 	fh///!%%''
fh/////r8   c                 P   t          g dg dd          }|                                }t          g dg ddg d          }t          j        ||           t          g dg d	d
          }|                                }t          ddd|j                                        dddddgig d          }t          j        ||           t          g dg dd          }|                                }t          g dg ddg d          }t          j        ||           d S )N)FFTT)FTTT)bool_data_1bool_data_2)   r(   Fr(   )rE   r(   Tr)   r*   r#   )FFTTF)r      r(   r)   rE   )r   r   r   r   r(   r   rF   r)   rE   r   )r   r   r   r   )r   str_data)rE   r)   r   r(   )r   r.   r/   r0   r   r   r1   s       r6   test_describe_bool_framez.TestDataFrameDescribe.test_describe_bool_frame8   s   999888 
 
 ,,,___MM444
 
 
 	fh///>>>+OO 
 
 !Q 1 11aAqABMMM
 
 
 	fh///444BVBVBVWW
 
 ***GG444
 
 
 	fh/////r8   c                 x   t          dt          j                            d                              ddd          i          }d t          ddd          D             }t          ||          }|                    dgd	          }t          j	        |j
        t          dd
d          d|          |d<   |}|                                }t          |j                  dk    sJ t          g dg dd          }t          |          }|                                }t          g dg d          }t          j        ||           t          t          g d                    }t          |g dd          }|                                }t          j        |d         j        |d         j                   d S )Nvaluer(   r   i'  d   c                 "    g | ]}| d |dz    S )z - i   ).0is     r6   
<listcomp>zCTestDataFrameDescribe.test_describe_categorical.<locals>.<listcomp>`   s*    CCCQ$$1s7$$CCCr8   i  T)by	ascendingi)  F)rightlabelsvalue_grouprF   )r   r   r   r   r   r   r   )
categoriesordered)rE   r(   r   r)   r*   r#   )r   r   r   r   )catsrY   rZ   )r   r>   randomdefault_rngintegersranger   sort_valuespdcutrJ   r.   lencolumnsr   r/   assert_series_equalassert_numpy_array_equalvalues)	r2   r3   rT   
cat_labelsrY   r4   rZ   r5   df3s	            r6   test_describe_categoricalz/TestDataFrameDescribe.test_describe_categorical^   s   !6!6q!9!9!B!B1eS!Q!QRSSCCeAuc.B.BCCC 00
^^yD^99FHeAuc**%

 
 
=  6>""a''''
    ___d
 
 
 3KK...0R0R0RSSS
vx000[!5!5!56677*>*>*>??@@
#F5M$8&+:LMMMMMr8   c                 t   t          dt          g           i          }|                                }t          dddt          j        t          j        gig dd          }t          j        ||           t          j        |j        d                   sJ t          j        |j        d                   sJ d S )N	empty_colr   r*   r=   r$   r<   )r(   r   )r)   r   )	r   r   r.   r>   r?   r/   r0   isnanr@   r1   s       r6   &test_describe_empty_categorical_columnz<TestDataFrameDescribe.test_describe_empty_categorical_column}   s     [__5661a01444
 
 

 	fh///xD)*****xD)*******r8   c                    t          j        g ddd          }t          g dg dg dd|          }|                                }t          j        dd	gg ddd
          }t          dd|j                                        dddddgdd|j                                        dddddgdg d|          }t          j        ||           t          j	        |j
        j        |j
        j                   d S )N)int1int2objTXXX)rX   namer   r:   r   NXrF   )rc   rp   rq   )rW   rX   rt   r   r   r   r   r   r   )rp   rq   r   )r$   rc   )r`   CategoricalIndexr   r.   rp   r   rq   r/   r0   assert_categorical_equalrc   rf   r2   rc   r3   r4   exp_columnsr5   s         r6   !test_describe_categorical_columnsz7TestDataFrameDescribe.test_describe_categorical_columns   s@   %&=&=&=tRWXXX,,,,,,--- 
 
 
 
 )V...	
 
 
 Br2r2rBBr2r2rB  NMM
 
 
 	fh///
#FN$98;K;RSSSSSr8   c                 :   t          j        g dddd          }t          g dg dg dd          }||_        |                                }t          j        d	d
gddd          }t          dd|j        d d df                                         dddddgdd|j        d d df                                         dddddgdg d          }||_        t          j        ||           |j        j	        dk    sJ |j        j
        |j        j
        k    sJ d S )N)
2011-01-01
2011-02-01z
2011-03-01MSz
US/Easternrs   )r-   tzrt   r   ru   )r   rF   r(   r}   r~   r   r   r   r   r   r   r   rF   )r   rF   r   r#   )r`   DatetimeIndexr   rc   r.   r@   r   r/   r0   r-   r   ry   s         r6   test_describe_datetime_columnsz4TestDataFrameDescribe.test_describe_datetime_columns   sy   "666	
 
 
 ''''''))) 
 
 
&<(t5
 
 
 r27111a4=,,..BBCr27111a4=,,..BBC  NMM
 
 
 '
fh///~"d****~ H$4$7777777r8   c                    t          j        ddd          }t          j        ddd          }t          ||d          }t          dt          j        d          |j        d d d	f                                         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                                         t          j        d          t          j        d          t          j        d          t          j        d          t          j        d          gdg d          }|                                }t          j        ||           d}t          |          |k    sJ d S )Nz1 daysDr   )r-   periodsz1 hoursh)t1t2z3 daysr   z2 daysz4 daysz5 daysz3 hoursrF   z2 hoursz4 hoursz5 hoursr   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`   timedelta_ranger   	Timedeltar@   r   r.   r/   r0   repr)r2   r   r   r3   r5   r4   exp_reprs          r6   test_describe_timedelta_valuesz4TestDataFrameDescribe.test_describe_timedelta_values   s   sA>>>	Q???b++,, L**GAAAqDM%%''L**L**L**L**L**	 L++GAAAqDM%%''L++L++L++L++L++	 , NMM/
 
 
4 
fh///J 	 F||x''''''r8   c                 F   |}t          t          d                    }t          ddd          }t          ddd          }t          t          |||                    }t	          ||d          }t	          g ddt          ddd                              |          |                    |          |d         |d         |d         |                    |          t          j        gdg d	
          }|                    d          }	t          j
        |	|           d S )Nr     rF   r   s1s2)r   r(   r   rF   r(   r)   rE   gvhXL?r)   r(   r   r   r   r   r    r!   r"   r   r#   allr&   )r   r^   r   r   r   tz_localizer>   r?   r.   r/   r0   )
r2   tz_naive_fixturer   r   startendr   r3   r5   r4   s
             r6   test_describe_tz_valuesz-TestDataFrameDescribe.test_describe_tz_values   s-   E!HH$1%%a##Jucb11122b++,,555dAq))55b99%%b))qEqEqEOOB''F	  NMM
 
 
  U++
fh/////r8   c                    t          t          dd          g dd          }|                                }t          dt          d          t          d          t          d          t          d          t          d	          t          d
          t          j        gg ddg d          }t          j        ||           d S )N2012r)   )r   rF   r(   r)   r   r   z
2012-01-02z
2012-01-01z2012-01-01T12:00:00z2012-01-02T12:00:00z
2012-01-03)r)   r(   rF         ?r(         @r)   rF   r   r#   )r   r   r.   r   r>   r?   r/   r0   r1   s       r6   *test_datetime_is_numeric_includes_datetimez@TestDataFrameDescribe.test_datetime_is_numeric_includes_datetime  s    Z:::KKLL l++l++344l++344l++F	 211  NMM
 
 
  	fh/////r8   c                    d}t          t          d                    }t          ddd          }t          ddd          }t          t          |||                    }t	          ||d          }|                                }|                                }g d}	t          j        ||gddd	g
                              |	d          }
|                    d          }t          j
        ||
           d S )NCETr   r   rF   r   r   r   r   r   )axiskeysF)copyr   r&   )r   r^   r   r   r   r.   r`   concatreindexr/   r0   )r2   r   r   r   r   r   r3   s1_s2_idxr5   r4   s               r6   test_describe_tz_values2z.TestDataFrameDescribe.test_describe_tz_values2-  s   E!HH$1%%a##Jucb11122b++,,kkmmkkmm	
 	
 	
 9c3ZatTlCCCKKe L 
 
 U++
fh/////r8   c                    t          ddgi          }t          j        ddd          }|                    |          }t          dddt          j        dgd |D             dig d	          }t          j        ||           d S )
NxrF   r      )percentiles      ?c              3      K   | ]}d V  dS )r   NrM   )rN   _s     r6   	<genexpr>zNTestDataFrameDescribe.test_describe_percentiles_integer_idx.<locals>.<genexpr>O  s"      +=+=AC+=+=+=+=+=+=r8   )r   r   r   r   z0%z10%z20%z30%z40%r    z60%z70%z80%z90%z100%r"   r#   )r   r>   linspacer.   r?   r/   r0   )r2   r3   pctr4   r5   s        r6   %test_describe_percentiles_integer_idxz;TestDataFrameDescribe.test_describe_percentiles_integer_idxH  s    aSz""k!Q''--3RVSC+=+=+=+=+=CsCD  
 
 
* 	fh/////r8   c                     t          dddiidddiig          }t          dddddidgig d          }|                                }t          j        ||           d S )	Ntestr   12r(   rF   r*   r#   )r   r.   r/   r0   )r2   r3   r5   r4   s       r6   8test_describe_does_not_raise_error_for_dictlike_elementszNTestDataFrameDescribe.test_describe_does_not_raise_error_for_dictlike_elementse  s    #s,vSz.BCDDaS#J*+3U3U3U
 
 
 
fh/////r8   excluder   yzc                     t          dgdgdgd          }d}t          j        t          |          5  |                    d|           d	d	d	           d	S # 1 swxY w Y   d	S )
zU
        When include is 'all', then setting exclude != None is not allowed.
        rF   r(   r)   )r   r   r   z*exclude must be None when include is 'all')matchr   r'   r   N)r   pytestraises
ValueErrorr.   )r2   r   r3   msgs       r6   2test_describe_when_include_all_exclude_not_allowedzHTestDataFrameDescribe.test_describe_when_include_all_exclude_not_allowedn  s    
 aSs!5566:]:S111 	8 	8KKwK777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8s   AA Ac                    t          g dg dg dgg dd          }|                                }|j        d d df                                         }t          j        |||g|j        d	          }t          j        ||           d S )
N)rF   rF   rF   )r(   r(   r(   )r)   r)   r)   )barr   r   float64)rc   r<   r   rF   )r   r   )r   r.   r@   r`   r   rc   r/   r0   )r2   r3   r4   serr5   s        r6   $test_describe_with_duplicate_columnsz:TestDataFrameDescribe.test_describe_with_duplicate_columnsx  s    YY			999-%%%
 
 

 gaaadm$$&&9c3_2:AFFF
fh/////r8   c                 <   t          dt          j        t          j        gt          j        d|          }|                                }t          ddt          j        gdgdz  z   dgt          j        gdz  z   dg dd	
          }t	          j        ||           d S )NrF   r   r;   r   r   g           r   Float64rl   )r   r`   NAr.   r/   r0   )r2   any_numeric_ea_dtyper3   r4   r5   s        r6   test_ea_with_naz%TestDataFrameDescribe.test_ea_with_na  s     a.RU;;CWXXXRU#seai/serugk6IJJMMM
 
 

 	fh/////r8   c                    t          j        d          }t          t          g dt	          j        |                                                    t          g dt	          j        |                                                    t          g dt	          j        |                                                    d          }|	                    t	          j        |                                          t	          j        |                                                    }t          dg dig dt	          j        |
                                          	          }t          j        ||           d S )
Npyarrowr   r;   rV   r   r   )r)   r(   rF   rF   r   r(   r   r)   r   rl   )r   importorskipr   r   r`   
ArrowDtypeint8int16int32r.   r   r/   r0   )r2   par3   r4   r5   s        r6   test_describe_exclude_pa_dtypez4TestDataFrameDescribe.test_describe_exclude_pa_dtype  s>    ++IIIR]27799-E-EFFFIIIR]288::-F-FGGGIIIR]288::-F-FGGG 
 
 M"'')),,bmBHHJJ6O6O  
 
 .../MMM-

--
 
 

 	fh/////r8   N)__name__
__module____qualname__r7   rA   rH   ri   rn   r{   r   r   r   r   r   r   r   r   markparametrizer   r   r   r   rM   r8   r6   r	   r	      sM       0 0 040 0 0$0 $0 $0LN N N>+ + + T T T>8 8 8@.( .( .(`0 0 080 0 0*0 0 060 0 0:0 0 0 [YcC:Sz(JKK8 8 LK8	0 	0 	0
0 
0 
00 0 0 0 0r8   r	   )numpyr>   r   pandasr`   r   r   r   r   r   pandas._testing_testingr/   r	   rM   r8   r6   <module>r      s                               R0 R0 R0 R0 R0 R0 R0 R0 R0 R0r8   