
    Owg8                     X    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y)    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"                  j%                  dddddgddgg      d        Zd Zd Zd Zy)TestDataFrameDescribec                 T   t        g dg dg dd      }|j                         }t        ddd|j                  j                         dd	dd
dgig d      }t	        j
                  ||       |j                  dg      }t        dg dig d      }t	        j
                  ||       y )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       _/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/frame/methods/test_describe.py!test_describe_bool_in_mixed_framez7TestDataFrameDescribe.test_describe_bool_in_mixed_frame   s    8>0
 !R!2BBBGHM
 	fh/ fX.*+3U
 	fh/    c                 L   t        dd d git              }|j                         }t        dddt        j                  t        j                  git        g d      }t        j                  ||       |j                  d d j                         }t        j                  ||       y )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1a()4

 	fh/!%%'
fh/r8   c                    t        g dg dd      }|j                         }t        g dg ddg d      }t        j                  ||       t        g dg d	d
      }|j                         }t        ddd|j                  j                         dddddgig d      }t        j                  ||       t        g dg dd      }|j                         }t        g dg ddg d      }t        j                  ||       y )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8
 ,_M4
 	fh/>+
 !Q 11aAqABM
 	fh/4BVW
 *G4
 	fh/r8   c                 6   t        dt        j                  j                  d      j	                  ddd      i      }t        ddd      D cg c]  }| d|dz     }}t        ||      }|j                  dgd	
      }t        j                  |j                  t        ddd      d|      |d<   |}|j                         }t        |j                        dk(  sJ t        g dg dd	      }t        |      }|j                         }t        g dg d      }t        j                   ||       t        t        g d            }t        |g dd      }	|	j                         }t        j"                  |d   j$                  |d   j$                         y c c}w )Nvaluer(   r   i'  d   i  z - 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srT   rU   )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   irO   
cat_labelsrT   r4   rU   r5   df3s
             r6   test_describe_categoricalz/TestDataFrameDescribe.test_describe_categorical^   si   !6!6q!9!B!B1eS!QRS.3Auc.BCQCs1s7)$CC 0
^^yD^9FFHHeAuc*%

=  6>>"a'''
  _d
 3K.0RS
vx0[!567*>?@
##F5M$8$8&+:L:LM7 Ds   Fc                 p   t        dt        g       i      }|j                         }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 y )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1a014

 	fh/xxD)***xxD)***r8   c                    t        j                  g ddd      }t        g dg dg dd|      }|j                         }t        j                  dd	g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g d|      }t        j                  ||       t        j                  |j                  j                  |j                  j                         y )N)int1int2objTXXX)rS   namer   r:   r   NXrF   )r^   rl   rm   )rR   rS   rp   r   r   r   r   r   r   )rl   rm   r   )r$   r^   )r[   CategoricalIndexr   r.   rl   r   rm   r/   r0   assert_categorical_equalr^   ra   r2   r^   r3   r4   exp_columnsr5   s         r6   !test_describe_categorical_columnsz7TestDataFrameDescribe.test_describe_categorical_columns   s    %%&=tRWX,,-
 
 ))V.	
 Br2r2rBBr2r2rB N
 	fh/
##FNN$9$98;K;K;R;RSr8   c                 V   t        j                  g dddd      }t        g dg dg dd      }||_        |j	                         }t        j                  d	d
g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g d      }||_        t        j                  ||       |j                  j                  dk(  sJ |j                  j                  |j                  j                  k(  sJ y )N)
2011-01-01
2011-02-01z
2011-03-01MSz
US/Easternro   )r-   tzrp   r   rq   )r   rF   r(   ry   rz   r   r   r   r   r   r   r   rF   )r   rF   r   r#   )r[   DatetimeIndexr   r^   r.   r@   r   r/   r0   r-   r|   ru   s         r6   test_describe_datetime_columnsz4TestDataFrameDescribe.test_describe_datetime_columns   s)   ""6	
 '')
 
&&<(t5
 r2771a4=,,.BBCr2771a4=,,.BBC N
 '
fh/~~""d***~~  H$4$4$7$7777r8   c                 x   t        j                  ddd      }t        j                  ddd      }t        ||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g d      }|j                         }t        j                  ||       d}t        |      |k(  sJ y )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+, LL*GGAqDM%%'LL*LL*LL*LL*LL*	 LL+GGAqDM%%'LL+LL+LL+LL+LL+	, N/
4 
fh/J 	 F|x'''r8   c                    |}t        t        d            }t        ddd      }t        ddd      }t        t        |||            }t	        ||d      }t	        g ddt        ddd      j                  |      |j                  |      |d   |d   |d   |j                  |      t        j                  gdg d	
      }|j                  d      }	t        j                  |	|       y )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   rY   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!H$1%a#Jucb12b+,5dAq)55b9%%b)qEqEqEOOB'FF	 N
  U+
fh/r8   c                 F   t        t        dd      g dd      }|j                         }t        dt        d      t        d      t        d      t        d      t        d	      t        d
      t        j
                  gg ddg d      }t        j                  ||       y )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L l+l+34l+34l+FF	 2 N
  	fh/r8   c                    d}t        t        d            }t        ddd      }t        ddd      }t        t        |||            }t	        ||d      }|j                         }|j                         }g d}	t        j                  ||gddd	g
      j                  |	d      }
|j                  d      }t        j                  ||
       y )NCETr   r   rF   r   r   r   r   r   )axiskeysF)copyr   r&   )r   rY   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!H$1%a#Jucb12b+,kkmkkm	
 99c3ZatTlCKKe L 
 U+
fh/r8   c                     t        ddgi      }t        j                  ddd      }|j                  |      }t        dddt        j                  dgd |D        dig d	      }t        j                  ||       y )
NxrF   r      )percentiles      ?c              3       K   | ]  }d   yw)r   N ).0_s     r6   	<genexpr>zNTestDataFrameDescribe.test_describe_percentiles_integer_idx.<locals>.<genexpr>O  s     +=AC+=s   )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  sz    aSz"kk!Q'-3RVVS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      }|j                         }t        j                  ||       y )	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  sb    #s,vSz.BCDaS#J*+3U
 
fh/r8   excluder   yzc                     t        dgdgdgd      }d}t        j                  t        |      5  |j	                  d|       d	d	d	       y	# 1 sw Y   y	xY w)
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  sS    
 aSs!56:]]:S1 	8KKwK7	8 	8 	8s   AAc                    t        g dg dg dgg dd      }|j                         }|j                  d d df   j                         }t        j                  |||g|j
                  d	      }t        j                  ||       y )
N)rF   rF   rF   )r(   r(   r(   )r)   r)   r)   )barr   r   float64)r^   r<   r   rF   )r   r   )r   r.   r@   r[   r   r^   r/   r0   )r2   r3   r4   serr5   s        r6   $test_describe_with_duplicate_columnsz:TestDataFrameDescribe.test_describe_with_duplicate_columnsx  so    	9-%

 ggadm$$&99c3_2::AF
fh/r8   c                 L   t        dt        j                  t        j                  gt        j                  d|      }|j                         }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
                  ||       y )NrF   r   r;   r   r   g           r   Float64rh   )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.RUU;CWXRUU#seai/seruugk6IJM

 	fh/r8   c                    t        j                  d      }t        t        g dt	        j
                  |j                                     t        g dt	        j
                  |j                                     t        g dt	        j
                  |j                                     d      }|j                  t	        j
                  |j                               t	        j
                  |j                                     }t        dg dig dt	        j
                  |j                               	      }t        j                  ||       y )
Npyarrowr   r;   rQ   r   r   )r)   r(   rF   rF   r   r(   r   r)   r   rh   )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      +IR]]2779-EFIR]]288:-FGIR]]288:-FG
 MM"''),bmmBHHJ6O  
 ./M--

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