
    Mh_                        S SK rS SKrS SKrS SKJrJrJrJrJ	r	J
r
JrJrJrJrJrJrJrJrJrJr  S SKJr  S SKJr  S SKJs  Js  Jr  S r\R@                  RC                  S\"\RF                  /5      S 5       r$S r%S r&S	 r'S
 r(S r)S r*\R@                  RC                  S\" SSS9\RV                  \" S5      \RX                  /\
RZ                  " \RV                  \" S5      4\" S5      \RX                  4/5      4/ SQ\RF                  " \R\                  " \R^                  5      RV                  S \R\                  " \R^                  5      RX                  /SS9\
RZ                  " \R\                  " \R^                  5      RV                  S 4S \R\                  " \R^                  5      RX                  4/5      4\R`                  " SS5      \R`                  " S S5      \R`                  " SS5      /\RF                  " \R`                  " \R\                  " \R^                  5      RX                  * S5      \R`                  " S S5      \R`                  " \R\                  " \R^                  5      RX                  S5      /5      \
RZ                  " \R`                  " \R\                  " \R^                  5      RX                  * S5      \R`                  " S S5      4\R`                  " S S5      \R`                  " \R\                  " \R^                  5      RX                  S5      4/5      4/5      S 5       r1S r2\R@                  RC                  S/ SS4/ SQSS4/5      S  5       r3\R@                  RC                  S!S\Rh                  " S5      \" \Rh                  " S5      5      /5      \R@                  RC                  S"\\/5      S# 5       5       r5\R@                  RC                  S$S SSSS%\Rl                  /\Rl                  * S SSSS%/\Rl                  * S SSSS%\Rl                  //5      S& 5       r7S' r8\R@                  RC                  S(S)/ S*QS+4S,/ S-QS.4/5      S/ 5       r9S0 r:S1 r;\R@                  RC                  S2SS,/5      S3 5       r<S4 r=S5 r>\R@                  RC                  S6S7 S8 4S9 S: 4/5      S; 5       r?S< r@\R@                  RC                  S=\R                  " S>5      \R                  " S>5      S?-  /5      S@ 5       rB\R@                  RC                  SA/ SBQ5      SC 5       rCSD rDSE rE\R@                  RC                  SFSGSH0S40 SI4SGSJ0SI4SGSK0SL4/5      SM 5       rF\R@                  RC                  S$/ SNQ5      \R@                  RC                  SOSS/5      SP 5       5       rG\R@                  RC                  SQ/ SRQ5      SS 5       rH\R@                  RC                  STSU SV SW SX /5      SY 5       rI\R@                  RC                  SZ\\\RF                  \"/5      S[ 5       rJ\R@                  RC                  SZ\"\RF                  \\/5      S\ 5       rK\R@                  RC                  S]S\" S^S_S`9R                  Sa5      \" SbS_S`9R                  Sa5      \" ScS_S`9R                  Sa5      \" SdS_S`9R                  Sa5      //5      \R@                  RC                  SZ\"\RF                  \\/5      Se 5       5       rMSf rNSg rO\R@                  RC                  Sh/ SiQ5      Sj 5       rPSk rQ\R@                  RC                  S]SlSm/5      \R@                  RC                  Sn\\R                  4\RF                  \R                  4\"\R                  4/5      So 5       5       rU\R@                  RC                  S2/ SpQ5      Sq 5       rV\R@                  RC                  S]S/ SrQ/5      \R@                  RC                  S+S)S,/5      \R@                  RC                  SsS)S,/5      St 5       5       5       rW\R@                  RC                  Su/ SvQ/ SwQ/ SxQ/ SyQSzS{/4/ S|Q/ S}Q/ S~Q/ SQ/ SQ4/5      S 5       rX\R@                  RC                  Su/ SvQ/ SwQ/ SQ/ SQ/ SQ4/ S|Q/ S}Q/ SQ/ SQ/ SQ4/5      S 5       rYS rZS r[S r\S r]S r^S r_S r`S rag)    N)Categorical	DataFrameDatetimeIndexIndexIntervalIntervalIndexSeriesTimedeltaIndex	Timestampcut
date_rangeinterval_rangeisnaqcuttimedelta_rangeto_datetime)CategoricalDtypec                      [         R                  " SSS9n [        U SSS9n[         R                  " / SQ5      n[        R
                  " XSS9  g )	N   int64dtype   Flabels)   r   r   r   r   )check_dtype)nponesr   arraytmassert_numpy_array_equal)dataresultexpecteds      O/var/www/html/env/lib/python3.13/site-packages/pandas/tests/reshape/test_cut.pytest_simpler'      s>    771G$Dq'Fxx(HeD    funcc                 <   U " / SQ5      n[        USSS9u  p#[        R                  " UR                  S5      5      nUR	                  / SQ5      n[        USS9n[        R                  " X%5        [        R                  " U[        R                  " / SQ5      5        g )N皙?ffffff?      @@ffffff#@ @   Tretbins)r   r   r   r      r   ordered)Mb?g>wa
@g!""@r0   )r   r   from_breaksroundtaker   r!   assert_categorical_equalassert_almost_equalr   r    )r)   r#   r$   bins	intervalsr%   s         r&   	test_binsr@   $   sx    ./DtQ-LF))$**Q-8I12I9d3H14*O!PQr(   c                  Z   [         R                  " / SQ5      n [        U SSSS9u  p[        R                  " UR                  S5      5      n[        USS9nUR                  / SQ5      n[        R                  " X5        [        R                  " U[         R                  " / SQ5      5        g )	Nr,   r-   r.   r/   r0   r1   皙@r   Trightr4   r2   r6   )r   r   r   r5   r2   r   r   )r8   rC   @L@r0   )r   r    r   r   r9   r:   r   r;   r!   r<   r=   r#   r$   r>   r?   r%   s        r&   
test_rightrI   1   s~    889:DtQdD9LF))$**Q-8I9d3H}}23H14*K!LMr(   c                  X   [         R                  " / SQ5      n [        U SSSS9u  p[        R                  " UR                  S5      SS9nUR                  / S	Q5      n[        USS
9n[        R                  " X5        [        R                  " U[         R                  " / SQ5      5        g )NrB   r   FTrD   r2   leftclosed)r   r   r   r5   r2   r   r   r6   )r,   rC   rF   rG   g%Ck#@)r   r    r   r   r9   r:   r;   r   r!   r<   r=   rH   s        r&   test_no_rightrN   =   s    889:DtQeT:LF))$**Q-GI45I9d3H14*K!LMr(   c                  |   [        [        S5      S5      n U n[        [        S5      UR                  S9n[        R                  " X!5        [
        R                  " [        R                  " U R                  S5      U R                  SS9n[        [        S5      UR                  S9n[        R                  " X!5        g )Nr   r2   r>   T
categoriesr7      )
r   rangerS   r!   r<   r   
from_codesr   appendcodes)cr%   r$   s      r&   test_bins_from_interval_indexrZ   I   s    E!HaAHq 3 34F1%%
		!''21<<H q 3 34F1r(   c                     [         R                  " / SQ5      n [        U / SQS9n[        R                  " / SQ5      n[
        R                  " UR                  U5        [        / SQUR                  S9n[
        R                  " UR                  U5        [
        R                  " UR                  [         R                  " / SQSS95        g )	N)	
                     ;   <   )r      #   F   rP   ))r   re   )re   rf   )rf   rg   )ra      2   )r   r   r5   int8r   )
r   r    r   r   from_tuplesr!   assert_index_equalrS   r"   rX   )agesrY   r%   r$   s       r&   )test_bins_from_interval_index_doc_examplern   V   s    8889DD'A(()FGH!,,1ALL1F&++X6bhhy.OPr(   c                      Sn [         R                  " / SQ5      n[        R                  " [        U S9   [        SS/US9  S S S 5        g ! , (       d  f       g = f)Nz)Overlapping IntervalIndex is not accepted))r   r\   )r5   r_   )r      matchr   rT   rP   )r   rk   pytestraises
ValueErrorr   )msgiis     r&   -test_bins_not_overlapping_from_interval_indexrx   b   s@    
5C		"	"#>	?B	z	-QF 
.	-	-s   A


Ac                      Sn / SQn[         R                  " [        U S9   [        U/ SQ5        S S S 5        g ! , (       d  f       g = f)Nz bins must increase monotonicallyr+   rq   )皙?      ?r   r\   rs   rt   ru   r   rv   r#   s     r&   test_bins_not_monotonicr~   k   s1    
,C)D	z	-D#$ 
.	-	-s	   8
Azx, bins, expectedz
2017-12-31r2   periodsz
2018-01-01rQ   r   r   r   r   rQ   nsr   c                 \    [        X5      n[        R                  " UR                  U5        g N)r   r!   rl   rS   )xr>   r%   r$   s       r&   #test_bins_monotonic_not_overflowingr   s   s$    h \F&++X6r(   c                      Sn / SQn[         R                  " [        U S9   [        U/ SQ/ SQS9  S S S 5        g ! , (       d  f       g = f)Nz9Bin labels must be one fewer than the number of bin edgesr+   rq   )r   r   r\   )foobarbazr   r|   r}   s     r&   test_wrong_num_labelsr      s3    
EC)D	z	-D*%:; 
.	-	-s	   9
Az
x,bins,msgr5   zCannot cut empty array)r   r5   r2         ?z#`bins` should be a positive integerc                     [         R                  " [        US9   [        X5        S S S 5        g ! , (       d  f       g = f)Nrq   r|   )r   r>   rv   s      r&   test_cut_cornerr      s%     
z	-A 
.	-	-s   /
=argcut_funcc                     Sn[         R                  " [        US9   U" U S5        S S S 5        g ! , (       d  f       g = f)Nz!Input array must be 1 dimensionalrq   r5   )rs   rt   ru   )r   r   rv   s      r&   test_cut_not_1d_argr      s-     .C	z	-a 
.	-	-s   
/
=r#   r   c                     Sn[         R                  " [        US9   [        U SS9  S S S 5        g ! , (       d  f       g = f)Nz?cannot specify integer `bins` when input data contains infinityrq   r2   rP   r|   )r#   rv   s     r&   test_int_bins_with_infr      s.     LC	z	-Dq 
.	-	-s   0
>c                      Sn [        / SQU S9n[        USS/SS9n[        [        R                  [        R                  [        R                  S[        R                  /U S9n[        R
                  " X#5        g )Nr   )r   rQ   r   r   namer   r   Fr   )r	   r   r   nanr!   assert_series_equal)r   serindexps       r&   test_cut_out_of_range_morer      s[    D
"
.C
cAq6%
(C
"&&"&&"&&!RVV44
@C3$r(   zright,breaks,closedT)MbP      ?r         ?r   rE   F)r   r   r   r   gjt?rK   c                     [         R                  " [         R                  " SSS5      S5      n[        USSU S9u  pE[        R
                  " XS9n[        R                  " UR                  U5        g )Nr   g)\(?rz   r   T)r4   rE   rL   )	r   tilearanger   r   r9   r!   rl   rS   )rE   breaksrM   arrr$   r>   	ex_levelss          r&   test_labelsr      sY     ''"))AtS)1
-CsAt59LF))&@I&++Y7r(   c                      Sn [        [        R                  R                  S5      R	                  S5      U S9n[        US5      nUR                  U :X  d   eg )Nr   r5   d   r   r   )r	   r   randomdefault_rngstandard_normalr   r   )r   r   factors      r&   #test_cut_pass_series_name_to_factorr      sJ    D
&&q)99#>T
JCa[F;;$r(   c                      [         R                  " SSS5      n [        U SSS9n[        R                  " / SQ5      n[
        R                  " UR                  U5        g )Nr   g\(\?{Gz?r   r5   	precision)g9̗Gg
ףp=
?g
ףp=
?gHzG?g
ףp=
?)r   r   r   r   r9   r!   rl   rS   )r   r$   r   s      r&   test_label_precisionr      sI    
))AtT
"Ca1%F))*LMI&++Y7r(   r   c                 ,   [         R                  " SSS5      n[         R                  US S S2'   [        USU S9n[         R                  " U5      n[         R
                  " [        U5      [         R                  U5      n[        R                  " X#5        g )Nr   r   r   r2   r   r   )	r   r   r   r   asarraywherer   r!   r=   )r   r   r$   r%   s       r&   test_na_handlingr      si    
))AtT
"CvvC!Ha'FZZFxxS	26662H6,r(   c                  @   [         R                  " S5      n [        U SS9n[         R                  * SS[         R                  /n[	        X5      n[	        X5      n[
        R                  " U5      n[        R                  " UR                  U5        US   [        S[         R                  5      :X  d   eUS   [        [         R                  * S5      :X  d   eUS   [        S[         R                  5      :X  d   eUS   [        [         R                  * S5      :X  d   eg )NrT   r   r   r5   r   r   r   )r   r   r	   infr   r   r9   r!   rl   rS   r   )r#   data_serr>   r$   
result_ser
ex_uniquess         r&   test_inf_handlingr     s    99Q<Dd'*HVVGQ266"D_FX$J**40J&++Z8!9BFF++++!9"&&!,,,,a=HQ////a=HbffWa0000r(   c                      [         R                  R                  S5      R                  S5      n [	        U / SQ5      n[        U5      nU S:  U S:  -  n[        R                  " X#5        g )Nr5   r   r   rQ   r   )r   r   r   r   r   r   r!   r"   )r   r$   maskex_masks       r&   test_cut_out_of_boundsr     sV    
))


"
2
23
7Cj!F<DRxC!G$G.r(   zget_labels,get_expectedc                     U $ r    r   s    r&   <lambda>r   *  s    6r(   c                 2    [        S/SS/-  -   SS/-   U SS9$ )NMediumr   SmallLargeTrR   )r   r   s    r&   r   r   +  s)    ;
Q']*h-@@!r(   c                 4    [         R                  " / SQU 5      $ )Nr   r   r5   r   rV   r   s    r&   r   r   2  s    ;11)VDr(   c                 J    [         R                  " S/SS/-  -   SS/-   U 5      $ )Nr   r   r   r5   r   r   s    r&   r   r   3  s&    ;111#QC-1a&2H&Qr(   c                 t    / SQn/ SQn/ SQn[        X2U " U5      S9n[        R                  " XQ" U5      5        g )N)r   ra   ri   r   ri   r   r\   r]   rh      rg   )r   r   r   r   )r   r!   r<   )
get_labelsget_expectedr>   r   r   r$   s         r&   test_cut_pass_labelsr   &  s9    $ D
%C)F:f#56FV(<=r(   c            
      |    / SQn / SQn[        U SUS9n[        U S[        XSS9S9n[        R                  " X#5        g )Nr   )Goodr   Badr2   r   TrR   )r   r   r!   r<   )r   r   r$   r   s       r&   test_cut_pass_labels_compatr   @  s=    
%C&Fa'F
c1[DQ
RC,r(   r   g      &@g    _Bc                     [        U S5        g )Nr5   r   )r   s    r&   test_round_frac_just_worksr   J  s     1Ir(   zval,precision,expected))g#]r2   i)眢#]@r2   v   )r   r5   r   )gݔ	~. ?r5   giUMu?c                 :    [         R                  " XS9nX2:X  d   eg )Nr   )tmod_round_frac)valr   r%   r$   s       r&   test_round_fracr   P  s      c7Fr(   c                  P   [        / SQ5      n [        U S5      n[        R                  " SSSS9R	                  S5      nUS==   S-  ss'   [        [
        R                  " USS	9R                  / S
Q5      5      R                  [        SS95      n[        R                  " X5        g )N)	r   r   r5   r2   r   r   rT         r2   r   r   r   )numgMb?rE   rL   )	r   r   r   r   r   r   r5   r5   r5   Tr6   )r	   r   r   linspacer:   r   r9   r;   astyper   r!   r   )r   r$   exp_binsr%   s       r&   test_cut_return_intervalsr   _  s    
,
-Ca[F{{1aQ'--a0HQK5K!!(7;@@'	
 fd+,	 
 6,r(   c                     [        [        R                  " S5      5      n [        U SSS9u  p[        [        R
                  " / SQSS9R                  S5      5      R                  [        SS95      n[        R                  " X5        g )	Nr   r5   Tr3   )g~jthr{   r2   rE   rL   r6   )r	   r   r   r   r   r9   repeatr   r   r!   r   )r   r$   r>   r%   s       r&   test_series_ret_binsr   n  sm    
1
CsAt,LF!!"27CJJ1Mfd+,  6,r(   z
kwargs,msg
duplicatesdropzBin edges must be uniqueraiser   z(invalid value for 'duplicates' parameterc                    / SQn[        [        R                  " / SQ5      / SQS9nUb/  [        R                  " [
        US9   [        X240 U D6  S S S 5        g [        X240 U D6n[        U[        R                  " [        R                  " U5      5      5      n[        R                  " XE5        g ! , (       d  f       g = f)N)r   r5   r   rT   r\   r\   )r   r2   r   r   	   )abrY   deindexrq   )r	   r   r    rs   rt   ru   r   pduniquer   r!   r   )kwargsrv   r>   valuesr$   r%   s         r&   test_cut_duplicates_binr   y  s      DBHH_-5NOF
]]:S1'' 21 V,V,vryyD)9:;
v0 21s   B00
B>)g      "@g      "g        lengthc                     [        U /U-  5      n[        USSS9n[        S/U-  [        R                  S9n[        R
                  " X45        g )Nr   Fr   r   r   )r	   r   r   intpr!   r   )r#   r   r   r$   r%   s        r&   test_single_binr     sF     $&
!Ca&FqcFl"''2H6,r(   z#array_1_writeable,array_2_writeable))TT)TF)FFc                 "   [         R                  " SSS5      nXR                  l        [         R                  " SSS5      nXR                  l        [         R                  " S5      n[        R
                  " [        XB5      [        XC5      5        g )Nr   r   r\   )r   r   flags	writeabler!   r<   r   )array_1_writeablearray_2_writeablearray_1array_2hundred_elementss        r&   test_cut_read_onlyr	    si    
 ii3#G/MMii3#G/MMyy~&,<(Fr(   convc                     [        U 5      $ r   )r   vs    r&   r   r     s    )A,r(   c                     [        U 5      $ r   )r   r  s    r&   r   r     s    +a.r(   c                 .    [         R                  " U 5      $ r   )r   
datetime64r  s    r&   r   r     s    "--"r(   c                 4    [        U 5      R                  5       $ r   )r   to_pydatetimer  s    r&   r   r     s    )A,,,.r(   c                    [         R                  " S5      [         R                  " S5      /n/ SQn[        [        [	        [        US   5      [        US   5      5      [	        [        US   5      [        US   5      5      /5      5      R                  [        SS95      nU Vs/ s H
  o@" U5      PM     nn[        [        XS	95      n[        R                  " Xc5        g s  snf )
Nz
2012-12-13z
2012-12-15)z
2012-12-12z
2012-12-14z
2012-12-16r   r   r5   Tr6   rP   )r   r  r	   r   r   r   r   r   r   r!   r   )r
  r#   bin_datar%   r  r>   r$   s          r&   test_datetime_binr    s     MM,'|)DED9H8A;/8A;1GH8A;/8A;1GH	
 fd+,  &&XDGXD&C()F6, 's   %C!boxc                    [        / SQ5      R                  SU  S35      nU" U5      n[        USSS9u  p4U[        L a  Sn U S:X  a  [	        / S	QSU  S3S
9nO[	        / SQSU  S3S
9n[	        / SQSU  S3S
9n[
        R                  " XV5      n[        U5      R                  [        SS95      n[        R                  " [        U5      U5        g )N)z
2013-01-01z
2013-01-02z
2013-01-03M8[]r2   Tr3   r   s)z2012-12-31 23:57:082013-01-01 16:00:002013-01-02 08:00:00r   )2012-12-31 23:57:07.200000r  r  )r  r  2013-01-03 00:00:00r6   )r   r   r   listr   r   from_arraysr	   r   r!   r   )	unitr  r#   r$   _rK   rE   exp_intervalsr%   s	            r&   test_datetime_cutr$    s    
 ABIICPTvUV-XDt9DD!T*IF
d{s{ QvQ-

 
 vQ-
 MD6mE
 "--d:Mm$++,<T,JKH6&>84r(   c                    U " [        S5      [        S5      [        S5      [        S5      /5      n[        [        SSSS95      nS	n[        R                  " [
        US
9   [        X!5        S S S 5        g ! , (       d  f       g = f)N2013-01-01 04:57:07.2000002013-01-01 21:00:002013-01-02 13:00:002013-01-03 05:00:0020130101r2   
US/Easternr   tzz9Cannot use timezone-naive bins with timezone-aware valuesrq   )r   r	   r   rs   rt   ru   r   )r  r>   r   rv   s       r&   +test_datetime_tz_cut_mismatched_tzawarenessr.    sr     23+,+,+,		
D JlC
DC
EC	z	-C 
.	-	-s    A55
Br>   r&  UTCr-  r+  r'  r(  r)  c                    Sn[        [        SSUS95      n[        U [        5      (       d  U" U 5      n [	        X05      n[        [        [        [        SUS9[        SUS95      [        [        SUS9[        SUS95      [        [        SUS9[        S	US95      /5      5      R                  [        S
S95      n[        R                  " XE5        g )Nr+  r*  r2   r,  r  r0  r  r  r  Tr6   )r	   r   
isinstanceintr   r   r   r   r   r   r!   r   )r>   r  r-  r   r$   r%   s         r&   test_datetime_tz_cutr4     s     
B
Jb9
:CdC  4y^F:rB3; 3;3; 3;3;	
" fd+,# $ 6,r(   c                      Sn [         R                  " [        U S9   [        [	        SSS9/ SQS9  S S S 5        g ! , (       d  f       g = f)Nz bins must be of datetime64 dtyperq   r*  r2   r   r   r5   r   rP   )rs   rt   ru   r   r   rv   s    r&   test_datetime_nan_errorr8  +  s2    
,C	z	-Jz1-I> 
.	-	-s	   :
Ac                  >   [        [        SSS9[        SSS9S9n U R                  R                  5       n[        R
                  " U[        R                  " S/5      5        U R                  5       n[        R
                  " U[        R                  " / SQ5      5        g )	N20130102r   r   r*  r5   rP   F)FTTTT)r   r   rS   r   r!   r"   r   r    )r$   r   s     r&   test_datetime_nan_maskr;  2  su    :q)
:q0QF !!#Dbhhw&78;;=Dbhh/N&OPr(   r-  )Nr/  z
US/Pacificc           	      $   [        [        SSXS95      n[        USSS9u  p4[        X$5      n[        R                  " X55        US:X  a  [        / SQS	U S
3S9nO[        / SQS	U S
3S9nUR                  U 5      n[        R                  " XF5        g )N20180101r2   )r   r-  r!  r5   Tr3   r  )z2017-12-31 23:57:082018-01-02 00:00:002018-01-03 00:00:00r  r  r   )z2017-12-31 23:57:07.200000r>  r?  )r	   r   r   r!   r   r   tz_localizerl   )r-  r!  r   r$   result_binsr%   expected_binss          r&   test_datetime_cut_roundtriprC  >  s     JbD
ECc1d3F3$H6,s{ &QvQ-

 &
 vQ-
 "--b1M+5r(   c                      [        [        SSS95      n [        U SSS9u  p[        X5      n[        R                  " X5        [        / SQ5      n[        R                  " X$5        g )N1dayr2   r   r5   Tr3   )z0 days 23:57:07.200000z2 days 00:00:00z3 days 00:00:00)r	   r   r   r!   r   r
   rl   )r   r$   rA  r%   rB  s        r&   test_timedelta_cut_roundtriprF  ^  sY    
3
4Cc1d3F3$H6,"HM +5r(   rT   r   zbox, comparec                 p    U" / SQS-  5      nU" / SQS-  5      n[        X0SS9n[        X@SS9nU" Xe5        g )N)r   r   r   r   r   r\   )FTTFTr   )r   r   )r>   r  comparedata_expecteddata_resultr%   r$   s          r&   test_cut_bool_coercion_to_intrK  l  sC     ",-M6;<K=6:Hv6FFr(   )r   r   Tc                     [        S5      nSn[        R                  " [        US9   [	        USU S9  S S S 5        g ! , (       d  f       g = f)Nr   zJBin labels must either be False, None or passed in as a list-like argumentrq   r   r   )rU   rs   rt   ru   r   )r   r   rv   s      r&   test_cut_incorrect_labelsrM  ~  s8     1XF
VC	z	-FAf% 
.	-	-s	   <
A
)r   r   r]   include_lowestc                 .   [         R                  R                  S5      R                  SSSS9R	                  [
        5      n[         R                  US S S2'   [        [        R                  " USS9XUS9n[        X0XS9n[        R                  " XE5        g )	Nr5   r   r\   ri   )sizeInt64r   )rE   rN  )r   r   r   integersr   floatr   r   r   r    r!   r<   )r>   rE   rN  r   r$   r%   s         r&   test_cut_nullable_integerrT    s~     			a ))!Rb)9@@GAVVAccF
'"DnF 1%GH1r(   z3data, bins, labels, expected_codes, expected_labels)r]         )rp      re   rh   )ABrX  )r   r   r   rX  rY  )r   r2   r   r   r5   r   rT   r   )r5   r   r   r5   )r5   r   r   r   c                 p    [        XUSS9n[        R                  " X4SS9n[        R                  " XV5        g NFr>   r   r7   rR   r   r   rV   r!   r<   r#   r>   r   expected_codesexpected_labelsr$   r%   s          r&   test_cut_non_unique_labelsrb    7     ?F%%EH 1r(   )CrY  rX  )r2   r   r   r5   c                 p    [        XUSS9n[        R                  " X4SS9n[        R                  " XV5        g r\  r^  r_  s          r&   test_cut_unordered_labelsrf    rc  r(   c                      Sn [         R                  " [        U S9   [        SS// SQSS9  S S S 5        g ! , (       d  f       g = f)Nz.'labels' must be provided if 'ordered = False'rq   r   r2   r   F)r>   r7   r|   r7  s    r&   3test_cut_unordered_with_missing_labels_raises_errorrh    s1    
:C	z	-S!H9e4 
.	-	-s	   5
Ac                      [        / SQ5      n [        / SQ5      n[        / SQ5      n[        XUSS9n[        / SQSS9n[        R                  " X45        g )	N)r   r5   r2   r   r   )r   r5   r   rT   )r   r   rY   Fr]  )r   r   r   r   rY   categoryr   )r	   r   r!   r   )r   r>   r   r$   r%   s        r&   %test_cut_unordered_with_series_labelsrk    sI    

!C,DO$F>F/zBH6,r(   c            	      t   [        S[        R                  R                  S5      R	                  SSS5      05      n [        SSS5       Vs/ s H  o SUS-    3PM     nn[        R                  " S	5         [        U R                  [        SS
S5      S	US9U S'   S S S 5        g s  snf ! , (       d  f       g = f)Nvaluer5   r   r   rh   r\   z - r   Fi   )rE   r   group)
r   r   r   r   rR  rU   r!   assert_produces_warningr   rm  )dfir   s      r&   test_cut_no_warningsrs    s    	GRYY2215>>q#rJK	LB(-ab(9:(913q1ug(9F:		#	#E	*"((E!S"$5U6R7 
+	* ;	*	*s   B$6%B))
B7c            
          [        [        SSSS9/S-  [        SSSS9[        SSSS9/-   / SQSS	9R                  R                  5       n [        / SQ/ SQS
9n[	        U/ SQSS9n[
        R                  " X 5        g )Nr   r5   rE   rL   r2   r   )r   r   r5   r2   r   rj  )r   r   r   r6  T)r>   rN  )r	   r   cat
as_orderedr   r!   r   )r%   r   r$   s      r&   .test_cut_with_duplicated_index_lowest_includedrw    s    	&!G	,-1Aq)8FAg+N
O	P	
 
c**,  
8C9T:F6,r(   c                     [        [        S5      5      n [        U S5      R                  5       R	                  S5      n[        U S5      R                  5       R                  S5      n[        XS.5      n[        R                  " [        SSSS9[        SS	SS9[        S	S
SS9[        S
SSS9[        SSSS9[        SSSS9[        SSSS9[        SSSS9[        SSSS9[        SSSS9/
SS9n[        S/S-  [        R                  /S-  -   [        R                  /S-  S/S-  -   S.US9n[        R                  " XS5        g )Nr   r\   r   )12gMbXg#@rE   rL   g3@g33333=@gC@g     H@g33333M@g33333SQ@gS@gfffffFV@c   Tr6   r   )r	   rU   r   value_countsheadtailr   r   CategoricalIndexr   r   r   r!   assert_frame_equal)r   ser1ser2r$   r   r%   s         r&   *test_cut_with_nonexact_categorical_indicesr    s?    s
CsB<$$&++A.DsB<$$&++A.DT-.FVS1S$w/T40T40T40T40T40T40T40T2g.	
 E  dQh"&&A%RVVHqLB4!8,CDEH (+r(   c                      [        S5      4[        S5      4[        S5      4/n [        / SQ/ SQU S9n[        R                  " / SQU SS	9n[        R
                  " X5        g )
Nr\   rh   r   )r5   r   rT   )r   r2   r   r   )r>   r   r   Tr6   )r   r   r   rV   r!   r<   )r   r$   r%   s      r&   $test_cut_with_timestamp_tuple_labelsr    sS    }2 09R=2BCFf=F%%iFH1r(   c                     [        [        S5      [        S5      SS9n [        [        [        S5      /5      R	                  S5      U S9n[
        R                  " S/U S	S
9n[        R                  " UR                  U5        g )Nz
2022-02-25z
2022-02-271D)freqz
2022-02-26zM8[ns]rP   r   Tr6   )
r   r   r   r	   r   r   rV   r!   r<   r    )r>   r$   r%   s      r&   $test_cut_bins_datetime_intervalindexr    si    )L19\3JQUVD<01299(C$OF%%qc4>Hh7r(   c            
          [        SSSSS[        R                  SS/SS	9n / S
Qn[        R                  " U5      n[        [
        R                  " / SQUSS95      n[        XS9n[        R                  " XC5        g )Nr   r   r5   r2   r   rT   r   rQ  r   rZ  )rQ   r   r   r   r   rQ   r5   r2   Tr6   rP   )
r	   r   NAr   r9   r   rV   r   r!   r   )seriesr>   r?   r%   r$   s        r&   test_cut_with_nullable_int64r    so    Q1aBEE1a0@FD))$/I99dSH #F6,r(   )bnumpyr   rs   pandasr   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   pandas._testing_testingr!   pandas.api.typesr   pandas.core.reshape.tilecorereshaper   r   r'   markparametrizer  r    r@   rI   rN   rZ   rn   rx   r~   minmaxrk   iinfor   timedelta64r   r   r   eyer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	  r  r$  r.  
tz_convertr4  r8  r;  rC  rF  r   r<   assert_equalrK  rM  rT  rb  rf  rh  rk  rs  rw  r  r  r  r  r   r(   r&   <module>r     s.	         $  - ' 'E $!12	R 3	R	N	N
2	Q%  |Q/]]Il3Y]]C%%]]Il$;<|,imm<		
 HH"((#''BHHRXX,>,B,BC7 %%((288$((!,q"((2882D2H2H.IJ	
 r4(q$'q$'
 HHNNBHHRXX$6$:$:#:DANN1d+NN288BHH#5#9#94@ %% (:(>(>'>Eq$/
 q$/rxx'9'='=tD		
).1d7e1d7< 	Q()	C>?
 BFF1Iy/C DEc4[1 2 F 
	
Aq!Q
&&!Q1a 
&&!Q1a(% 	*G4	.7888 D%=1- 2-1"/  "	
 EQ	
">#">- ryy		$$0FGH I
 -- 
	&	'(
	 "<=
	 JK	11 !12Aq6*- + 3- )+X 
 ".	--$ $ ?@#5 A#5L rxx ?@ A" 
	2u=HHV+6AA,O+6AA,O+6AA,O		
 rxx ?@- A-<?	Q :;6 <6>6 !Q(	''(	2../	r ) #34& 5& !Z14-0)D%=92 : 1 22 9	')c3ZP	O\9iH22 9	')_U	O\9lK225-S-,>28-r(   