
    dY                        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
mZmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d dlmc mc mZ d Z ej!        "                    de#ej$        g          d             Z%d Z&d Z'd	 Z(d
 Z)d Z*d Z+ej!        "                    d edd          ej,         ed          ej-        g e
j.        ej,         ed          f ed          ej-        fg          fg d ej$         ej/        ej0                  j,        d  ej/        ej0                  j-        gd           e
j.         ej/        ej0                  j,        d fd  ej/        ej0                  j-        fg          f ej1        dd           ej1        d d           ej1        dd          g ej$         ej1         ej/        ej0                  j-         d           ej1        d d           ej1         ej/        ej0                  j-        d          g           e
j.         ej1         ej/        ej0                  j-         d           ej1        d d          f ej1        d d           ej1         ej/        ej0                  j-        d          fg          fg          d             Z2d Z3ej!        "                    dg ddfg dddfg          d              Z4ej!        "                    d!d ej5        d           e ej5        d                    g          ej!        "                    d"eeg          d#                         Z6ej!        "                    d$d dddd%ej7        gej7         d dddd%gej7         d dddd%ej7        gg          d&             Z8d' Z9ej!        "                    d(d)g d*d+fd,g d-d.fg          d/             Z:d0 Z;d1 Z<ej!        "                    d2dd,g          d3             Z=d4 Z>d5 Z?ej!        "                    d6d7 d8 fd9 d: fg          d;             Z@d< ZAej!        "                    d= ejB        d>           ejB        d>          d?z  g          d@             ZCej!        "                    dAg dB          dC             ZDdD ZEdE ZFej!        "                    dFdGdHidfi dIfdGdJidIfdGdKidLfg          dM             ZGej!        "                    d$g dN          ej!        "                    dOddg          dP                         ZHej!        "                    dQg dR          dS             ZIej!        "                    dTdU dV dW dX g          dY             ZJej!        "                    d$ e eg dZ                     ejK        d[           ejK        d\           ejK        d]          g ej$         ejK        d[           ejK        d\           ejK        d]          g           eg dZ          g          d^             ZLej!        "                    d_d ed`           eda           edb           edc          gg          ej!        "                    dde#ej$        eeg          de                         ZMdf ZNdg ZOej!        "                    dhg di          dj             ZPdk ZQej!        "                    d_dldmg          ej!        "                    dneejR        fej$        ejS        fe#ejT        fg          do                         ZUej!        "                    d2g dp          dq             ZVej!        "                    d_dg drg          ej!        "                    d+d)d,g          ej!        "                    dsd)d,g          dt                                     ZWej!        "                    dug dvg dwg dxg dydzd{gfg d|g d}g d~g dg dfg          d             ZXej!        "                    dug dvg dwg dg dg dfg d|g d}g dg dg dfg          d             ZYd ZZd Z[d Z\d Z]d Z^d Z_d Z`d ZadS )    N)Categorical	DataFrameDatetimeIndexIndexIntervalIntervalIndexSeriesTimedeltaIndex	Timestampcut
date_rangeinterval_rangeisnaqcuttimedelta_rangeto_datetime)CategoricalDtypec                      t          j        dd          } t          | dd          }t          j        g d          }t	          j        ||d           d S )	N   int64dtype   Flabels)   r   r   r   r   )check_dtype)nponesr   arraytmassert_numpy_array_equal)dataresultexpecteds      Y/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/reshape/test_cut.pytest_simpler'      s[    71G$$$Dq'''Fx((HeDDDDDD    funcc                 d    | g d          }t          |dd          \  }}t          j        |                    d                    }|                    g d          }t          |d          }t          j        ||           t          j        |t          j
        g d                     d S )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@   $   s    4...//DtQ---LFD)$**Q--88I11122I9d333H1114*O*O*O!P!PQQQQQr(   c                  x   t          j        g d          } t          | ddd          \  }}t          j        |                    d                    }t          |d          }|                    g d          }t          j	        ||           t          j
        |t          j        g d                     d S )	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    8999::DtQdD999LFD)$**Q--88I9d333H}}22233H1114*K*K*K!L!LMMMMMr(   c                  |   t          j        g d          } t          | ddd          \  }}t          j        |                    d          d          }|                    g d	          }t          |d
          }t          j	        ||           t          j
        |t          j        g d                     d S )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    8999::DtQeT:::LFD)$**Q--GGGI44455I9d333H1114*K*K*K!L!LMMMMMr(   c                     t          t          d          d          } | }t          t          d          |j                  }t          j        ||           t          j        t          j        | j	        d          | j        d          }t          t          d          |j                  }t          j        ||           d S )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!HHaAHq 3444F111%
	!'21<  H q 3444F11111r(   c                  |   t          j        g d          } t          | g d          }t          j        g d          }t          j        |j        |           t          g d|j                  }t          j        |j        |           t          j        |j	        t          j        g dd                     d S )	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    888899DD'''A()F)F)FGGH!,111AL111F&+X666bhyyy.O.O.OPPPPPr(   c                      d} t          j        g d          }t          j        t          |           5  t          ddg|           d d d            d S # 1 swxY w Y   d S )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Ac                      d} g d}t          j        t          |           5  t          |g d           d d d            d S # 1 swxY w Y   d S )Nz bins must increase monotonicallyr+   rq   )皙?      ?r   r\   rs   rt   ru   r   rv   r#   s     r&   test_bins_not_monotonicr~   k   s    
,C)))D	z	-	-	- % %D###$$$% % % % % % % % % % % % % % % % % %s   AA	Azx, bins, expectedz
2017-12-31r2   periodsz
2018-01-01rQ   r   r   r   r   rQ   nsr   c                 Z    t          | |          }t          j        |j        |           d S N)r   r!   rl   rS   )xr>   r%   r$   s       r&   #test_bins_monotonic_not_overflowingr   s   s.    h D\\F&+X66666r(   c                      d} g d}t          j        t          |           5  t          |g dg d           d d d            d S # 1 swxY w Y   d S )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      s    
EC)))D	z	-	-	- < <D***%:%:%:;;;;< < < < < < < < < < < < < < < < < <s   AA
A
z
x,bins,msgr5   zCannot cut empty array)r   r5   r2         ?z#`bins` should be a positive integerc                     t          j        t          |          5  t          | |           d d d            d S # 1 swxY w Y   d S )Nrq   r|   )r   r>   rv   s      r&   test_cut_cornerr      s     
z	-	-	-  At                 s   :>>argcut_funcc                     d}t          j        t          |          5   || d           d d d            d S # 1 swxY w Y   d S )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   8<<r#   r   c                     d}t          j        t          |          5  t          | d           d d d            d S # 1 swxY w Y   d S )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   =AAc                      d} t          g d|           }t          |ddgd          }t          t          j        t          j        t          j        dt          j        g|           }t	          j        ||           d S )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      sv    D
"""
.
.
.C
cAq6%
(
(
(C
"&"&"&!RV44
@
@
@C3$$$$$r(   zright,breaks,closedT)MbP      ?r         ?r   rE   F)r   r   r   r   gjt?rK   c                     t          j        t          j        ddd          d          }t          |dd|           \  }}t	          j        ||          }t          j        |j        |           d S )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      sn     '")AtS))1
-
-CsAt5999LFD)&@@@I&+Y77777r(   c                      d} t          t          j                            d          |           }t	          |d          }|j        | k    sJ d S )Nr   d   r   r   )r	   r   randomrandnr   r   )r   r   factors      r&   #test_cut_pass_series_name_to_factorr      sM    D
%%D
1
1
1Ca[[F;$r(   c                      t          j        ddd          } t          | dd          }t          j        g d          }t          j        |j        |           d S )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      s\    
)AtT
"
"Ca1%%%F)*L*L*LMMI&+Y77777r(   r   c                 &   t          j        ddd          }t           j        |d d d<   t          |d|           }t          j        |          }t          j        t          |          t           j        |          }t          j        ||           d S )Nr   r   r   r2   r   r   )	r   r   r   r   asarraywherer   r!   r=   )r   r   r$   r%   s       r&   test_na_handlingr      s}    
)AtT
"
"CvC!Ha'''FZFxS		26622H68,,,,,r(   c                  V   t          j        d          } t          | d          }t           j         ddt           j        g}t	          | |          }t	          ||          }t          j        |          }t          j        |j	        |           |d         t          dt           j                  k    sJ |d         t          t           j         d          k    sJ |d         t          dt           j                  k    sJ |d         t          t           j         d          k    sJ d S )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   9Q<<Dd'***HVGQ26"Dt__FXt$$J*400J&+Z888!9BF++++++!9"&!,,,,,,a=HQ//////a=HbfWa00000000r(   c                      t           j                            d          } t          | g d          }t	          |          }| dk     | dk    z  }t          j        ||           d S )Nr   r   rQ   r   )r   r   r   r   r   r!   r"   )r   r$   maskex_masks       r&   test_cut_out_of_boundsr     s^    
)//#

Cjjj!!F<<DRxC!G$Gg.....r(   zget_labels,get_expectedc                     | S r    r   s    r&   <lambda>r   *  s    6 r(   c                 @    t          dgddgz  z   ddgz   | d          S )NMediumr   SmallLargeTrR   )r   r   s    r&   r   r   +  s5    ;
Q']*h-@@!   r(   c                 0    t          j        g d|           S )Nr   r   r5   r   rV   r   s    r&   r   r   2  s    ;1)))VDD r(   c                 F    t          j        dgddgz  z   ddgz   |           S )Nr   r   r   r5   r   r   s    r&   r   r   3  s(    ;11#QC-1a&2H&QQ r(   c                     g d}g d}g d}t          || | |                    }t          j        | ||                     d S )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   &  sf    $ D
%
%
%C)))Fd::f#5#5666FV(<(<=====r(   c            	          g d} g d}t          | d|          }t          | dt          ||d                    }t          j        ||           d S )Nr   )Goodr   Badr2   r   TrR   )r   r   r!   r<   )r   r   r$   r   s       r&   test_cut_pass_labels_compatr   @  sh    
%
%
%C&&&Fa'''F
c1[FDQQQ
R
R
RC,,,,,r(   r   g      &@g    _Bc                 &    t          | d           d S )Nr5   r   )r   s    r&   test_round_frac_just_worksr   J  s     1IIIIIr(   zval,precision,expected))g#]r2   i)眢#]@r2   v   )r   r5   r   )gݔ	~. ?r5   giUMu?c                 B    t          j        | |          }||k    sJ d S )Nr   )tmod_round_frac)valr   r%   r$   s       r&   test_round_fracr   P  s0     cY777FXr(   c                     t          g d          } t          | d          }t          j        ddd                              d          }|dxx         dz  cc<   t          t          j        |d	                              g d
                                        t          d                    }t          j        ||           d S )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;   astypeCDTr!   r   )r   r$   exp_binsr%   s       r&   test_cut_return_intervalsr   _  s    
,,,
-
-Ca[[F{1aQ'''--a00HQKKK5KKK!(7;;;@@'''	
 	
  fS	 
 68,,,,,r(   c                  N   t          t          j        d                    } t          | dd          \  }}t          t	          j        g dd                              d                                        t          d                    }t          j
        ||           d S )	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  s    
1

CsAt,,,LFD!"2"2"27CCCJJ1MM fS  68,,,,,r(   z
kwargs,msg
duplicatesdropzBin edges must be uniqueraiser   z(invalid value for 'duplicates' parameterc                 r   g d}t          t          j        g d          g d          }|Dt          j        t
          |          5  t          ||fi |  d d d            d S # 1 swxY w Y   d S t          ||fi | }t          |t          j        |                    }t          j
        ||           d S )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   )kwargsrv   r>   valuesr$   r%   s         r&   test_cut_duplicates_binr   y  s     DBH___--5N5N5NOOOF
]:S111 	( 	('''''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( VT,,V,,vry//
vx00000s   	A%%A),A))g      "@g      "g        lengthc                     t          | g|z            }t          |dd          }t          dg|z  t          j                  }t	          j        ||           d S )Nr   Fr   r   r   )r	   r   r   intpr!   r   )r#   r   r   r$   r%   s        r&   test_single_binr     s^     $&
!
!Ca&&&FqcFl"'222H68,,,,,r(   z#array_1_writeable,array_2_writeable))TT)TF)FFc                    t          j        ddd          }| |j        _        t          j        ddd          }||j        _        t          j        d          }t	          j        t          ||          t          ||                     d S )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	    s    
 i3##G/GMi3##G/GMy~~g&&,<g(F(F    r(   convc                      t          |           S r   )r   vs    r&   r   r     s    )A,, r(   c                      t          |           S r   )r   r  s    r&   r   r     s    +a.. r(   c                 *    t          j        |           S r   )r   
datetime64r  s    r&   r   r     s    "-"" r(   c                 D    t          |                                           S r   )r   to_pydatetimer  s    r&   r   r     s    )A,,,,.. r(   c                 0    t          j        d          t          j        d          g}g d}t          t          t	          t          |d                   t          |d                             t	          t          |d                   t          |d                             g                                        t          d                    } fd	|D             }t          t          ||
                    }t          j
        ||           d S )Nz
2012-12-13z
2012-12-15)z
2012-12-12z
2012-12-14z
2012-12-16r   r   r5   Tr6   c                 &    g | ]} |          S r   r   ).0r  r
  s     r&   
<listcomp>z%test_datetime_bin.<locals>.<listcomp>  s!    &&&DDGG&&&r(   rP   )r   r  r	   r   r   r   r   r   r   r!   r   )r
  r#   bin_datar%   r>   r$   s   `     r&   test_datetime_binr    s    M,''|)D)DED999H8A;//8A;1G1GHH8A;//8A;1G1GHH	
 	
  fS  '&&&X&&&DC4((())F68,,,,,r(   )
2013-01-01
2013-01-02
2013-01-03r  r  r  c                    t          | dd          \  }}t          t          t          t	          d          t	          d                    t          t	          d          t	          d                    t          t	          d          t	          d                    g                                        t          d                    }t          j        t          |          |           d S )	Nr2   Tr3   2012-12-31 23:57:07.2000002013-01-01 16:00:002013-01-02 08:00:002013-01-03 00:00:00r6   )	r   r	   r   r   r   r   r   r!   r   )r#   r$   _r%   s       r&   test_datetime_cutr"    s    . D!T***IFA:;;344  344i@U6V6V  344i@U6V6V 	
 	
  fS   6&>>844444r(   r>   z2013-01-01 04:57:07.200000z2013-01-01 21:00:00z2013-01-02 13:00:00z2013-01-03 05:00:00boxc                 Z   d}t          t          dd|                    }t          | t                    s ||           } t	          ||           }t          t          t          t          d|          t          d|                    t          t          d|          t          d|                    t          t          d|          t          d	|                    g                                        t          d
                    }t          j        ||           d S )Nz
US/Eastern20130101r2   r   tzr  )r'  r  r  r   Tr6   )r	   r   
isinstanceintr   r   r   r   r   r   r!   r   )r>   r#  r'  sr$   r%   s         r&   test_datetime_tz_cutr+    s;    
Bz*aB77788AdC   s4yyD\\F:rBBB3;;;  3;;;3;;;  3;;;3;;; 	
 	
 " fS# $ 68,,,,,r(   c                      d} t          j        t          |           5  t          t	          dd          g d           d d d            d S # 1 swxY w Y   d S )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_errorr/    s    
,C	z	-	-	- ? ?Jz1---III>>>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?s   #AAAc                  `   t          t          dd          t          dd                    } | j                                        }t	          j        |t          j        dg                     |                                 }t	          j        |t          j        g d                     d S )	N20130102r   r   r%  r5   rP   F)FTTTT)r   r   rS   r   r!   r"   r   r    )r$   r   s     r&   test_datetime_nan_maskr2  $  s    :q)))
:q0Q0Q0Q  F !!##Dbhw&7&7888;;==Dbh/N/N/N&O&OPPPPPr(   r'  )NUTCz
US/Pacificc                 .   t          t          dd|                     }t          |dd          \  }}t          ||          }t          j        ||           t          g d          }|                    |           }t          j        ||           d S )N20180101r2   r&  r5   Tr3   )z2017-12-31 23:57:07.200000z2018-01-02 00:00:00z2018-01-03 00:00:00)r	   r   r   r!   r   r   tz_localizerl   )r'  r   r$   result_binsr%   expected_binss         r&   test_datetime_cut_roundtripr9  0  s     Jb999
:
:Cc1d333FK3$$H68,,,!TTT M "--b11M+}55555r(   c                     t          t          dd                    } t          | dd          \  }}t          | |          }t          j        ||           t          g d          }t          j        ||           d S )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$   r7  r%   r8  s        r&   test_timedelta_cut_roundtripr<  @  s    
333
4
4Cc1d333FK3$$H68,,,"HHH M +}55555r(   rT   r   zbox, comparec                      |g ddz            } |g ddz            }t          || d          }t          || d          } |||           d S )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_intrA  N  sw     C",--M#666;<<K=$6:::Hdv666FGFHr(   )r   r   Tc                     t          d          }d}t          j        t          |          5  t	          |d|            d d d            d S # 1 swxY w Y   d S )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_labelsrC  `  s     1XXF
VC	z	-	-	- & &FAf%%%%& & & & & & & & & & & & & & & & & &s   AAA)r   r   r]   include_lowestc                 <   t           j                            ddd                              t                    }t           j        |d d d<   t          t          j        |d          | ||          }t          || ||          }t          j
        ||           d S )	Nr   r\   ri   )sizer5   Int64r   )rE   rD  )r   r   randintr   floatr   r   r   r    r!   r<   )r>   rE   rD  r   r$   r%   s         r&   test_cut_nullable_integerrJ  i  s     		!Rb))0077AVAcccF
'"""Dn  F 1d%GGGH11111r(   z3data, bins, labels, expected_codes, expected_labels)r]         )rp      re   rh   )ABrN  )r   r   r   rN  rO  )r   r2   r   r   r5   r   rT   r   )r5   r   r   r5   )r5   r   r   r   c                     t          | ||d          }t          j        ||d          }t          j        ||           d S NFr>   r   r7   rR   r   r   rV   r!   r<   r#   r>   r   expected_codesexpected_labelsr$   r%   s          r&   test_cut_non_unique_labelsrX  v  S     D???F%?E  H 11111r(   )CrO  rN  )r2   r   r   r5   c                     t          | ||d          }t          j        ||d          }t          j        ||           d S rR  rT  rU  s          r&   test_cut_unordered_labelsr\    rY  r(   c                      d} t          j        t          |           5  t          ddgg dd           d d d            d S # 1 swxY w Y   d S )Nz.'labels' must be provided if 'ordered = False'rq   r   r2   r   F)r>   r7   r|   r.  s    r&   3test_cut_unordered_with_missing_labels_raises_errorr^    s    
:C	z	-	-	- 5 5S!H999e44445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5s   AA	Ac                      t          g d          } t          g d          }t          g d          }t          | ||d          }t          g dd          }t          j        ||           d S )	N)r   r5   r2   r   r   )r   r5   r   rT   )r   r   rY   FrS  )r   r   r   r   rY   categoryr   )r	   r   r!   r   )r*  r>   r   r$   r%   s        r&   %test_cut_unordered_with_series_labelsra    s}    A,,,DOOO$$Ffe<<<F///zBBBH68,,,,,r(   c            	      J   t          dt          j                            ddd          i          } d t	          ddd          D             }t          j        d          5  t          | j        t	          ddd          d|	          | d
<   d d d            d S # 1 swxY w Y   d S )Nvaluer   r   rh   c                 "    g | ]}| d |dz    S )z - r   r   )r  is     r&   r  z(test_cut_no_warnings.<locals>.<listcomp>  s*    :::1q1u:::r(   r\   Fi   )rE   r   group)	r   r   r   rH  rU   r!   assert_produces_warningr   rc  )dfr   s     r&   test_cut_no_warningsrj    s    	GRY..q#r::;	<	<B::ab(9(9:::F		#E	*	* S S"(E!S"$5$5U6RRR7S S S S S S S S S S S S S S S S S Ss    +BBBc            	      J   t          t          ddd          gdz  t          ddd          t          ddd          gz   g dd	          j                                        } t          g dg d
          }t	          |g dd          }t          j        ||            d S )Nr   r5   rE   rL   r2   r   )r   r   r5   r2   r   r`  )r   r   r   r-  T)r>   rD  )r	   r   cat
as_orderedr   r!   r   )r%   r*  r$   s      r&   .test_cut_with_duplicated_index_lowest_includedrn    s    	&!G	,	,	,-1Aq)))8FAg+N+N+N
O	Poo	  
 
**,,  	ooo666A4888F68,,,,,r(   c                  ^   t          t          dd                    } t          | d                                                              d          }t          | d                                                              d          }t          ||d          }t          j        t          ddd	          t          dd
d	          t          d
dd	          t          ddd	          t          ddd	          t          ddd	          t          ddd	          t          ddd	          t          ddd	          t          ddd	          g
d          }t          dgdz  t          j        gdz  z   t          j        gdz  dgdz  z   d|          }t          j        ||           d S )Nr   r   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_indicesrz    s    q#

CsB<<$$&&++A..DsB<<$$&&++A..DT--..FVS111S$w///T4000T4000T4000T4000T4000T4000T4000T2g...	
   E  dQh"&A%RVHqLB4!8,CDDE  H (F+++++r(   c                      t          d          ft          d          ft          d          fg} t          g dg d|           }t          j        g d| d	          }t	          j        ||           d S )
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|    sy    }}2 09R==2BCFf===F%iiiFFFH11111r(   c                     t          t          d          t          d          d          } t          t          t          d          g          |           }t	          j        dg| d	          }t          j        |j        |           d S )
Nz
2022-02-25z
2022-02-271D)freqz
2022-02-26rP   r   Tr6   )	r   r   r   r	   r   rV   r!   r<   r    )r>   r$   r%   s      r&   $test_cut_bins_datetime_intervalindexr    s    )L119\3J3JQUVVVD<00122>>>F%qc4>>>Hh77777r(   c            
         t          dddddt          j        ddgd	          } g d
}t          j        |          }t          t          j        g d|d                    }t          | |          }t          j	        ||           d S )Nr   r   r5   r2   r   rT   r   rG  r   rP  )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    s    Q1aBE1a0@@@F??D)$//I9999dSSS H d###F68,,,,,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   r   pandas.core.reshape.tilecorereshaper   r   r'   markparametrizelistr    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"  r+  r/  r2  r9  r<  r   r<   assert_equalrA  rC  rJ  rX  r\  r^  ra  rj  rn  rz  r|  r  r  r   r(   r&   <module>r     sz                                              $       4 4 4 4 4 4 ' ' ' ' ' ' ' ' ' ' ' 'E E E $!122	R 	R 32	R	N 	N 	N	N 	N 	N
2 
2 
2	Q 	Q 	Q  % % %  J|Q///]IIl33Y]C%M%]IIl$;$;<Y|,,im< 		
 JJBH"(##'HBHRX,>,>,BC7   &M%"(28$$(!,q("(282D2D2H.IJ 	
 r4((q$''q$''
 BH"BNHBHRX$6$6$:#:DAA"BN1d++"BN828BH#5#5#94@@  &M% '(:(:(>'>EE&q$//
 'q$//&xrx'9'9'=tDD	 	
).1 1d7 7e1 1d7< < < 	Q()	C>?   
 FBF1IIyy/C/C DEEc4[11  21 FE 
	
Aq!Q
&!Q1a 
&!Q1a(   % % % 	***G4	...7 8 8 8  8 8 8 D%=11- - 21-1 1 1"/ / /  "! 	
 EDQQ	
 "> ># ">- - - yry		$$0FGHH  IH
      - - -- - - 
	&	'(
	 "<=
	 JK	 1 1 1 !1!1!122Aq6**- - +* 32- )+X+X+X    
  ""..	 - - -$ 
FFEEEFFGGBM,''BM,''BM,''	

 	l++l++l++	
 	
 	@@@AA &5 5' &50 
	I233I+,,I+,,I+,,		
  rx ?@@- - A@ -<? ? ?	Q 	Q 	Q :::;;6 6 <;66 6 6 !Q((	'(	2./	r    )( #3#3#344& & 54& !ZZZ114-00)D%=992 2 :9 10 212 9	''')))c3ZP	OOO\\\999iiiH 2 2 2 9	''')))___U	OOO\\\999lllK 2 2 25 5 5- - -S S S- - -, , ,>2 2 28 8 8- - - - -r(   