
    bMhA`                        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j/                  j+        d  ej.        ej/                  j,        gd           e
j-         ej.        ej/                  j+        d fd  ej.        ej/                  j,        fg          f ej0        dd           ej0        d d           ej0        dd          g ej#         ej0         ej.        ej/                  j,         d           ej0        d d           ej0         ej.        ej/                  j,        d          g           e
j-         ej0         ej.        ej/                  j,         d           ej0        d d          f ej0        d d           ej0         ej.        ej/                  j,        d          fg          fg          d             Z1d Z2ej         !                    dg ddfg dddfg          d              Z3ej         !                    d!d ej4        d           e ej4        d                    g          ej         !                    d"eeg          d#                         Z5ej         !                    d$d dddd%ej6        gej6         d dddd%gej6         d dddd%ej6        gg          d&             Z7d' Z8ej         !                    d(d)g d*d+fd,g d-d.fg          d/             Z9d0 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< Z@ej         !                    d= ejA        d>           ejA        d>          d?z  g          d@             ZBej         !                    dAg dB          dC             ZCdD ZDdE ZEej         !                    dFdGdHidfi dIfdGdJidIfdGdKidLfg          dM             ZFej         !                    d$g dN          ej         !                    dOddg          dP                         ZGej         !                    dQg dR          dS             ZHej         !                    dTdU dV dW dX g          dY             ZIej         !                    dZeeej#        e"g          d[             ZJej         !                    dZe"ej#        eeg          d\             ZKej         !                    d]d ed^d_`          L                    da           edbd_`          L                    da           edcd_`          L                    da           eddd_`          L                    da          gg          ej         !                    dZe"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]ej         ^                    d          d             Z_d Z`d Zad Zbd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      ]/var/www/html/test/jupyter/venv/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                              d          |           }t          |d          }|j        | k    sJ d S )Nr   r5   d   r   r   )r	   r   randomdefault_rngstandard_normalr   r   )r   r   factors      r&   #test_cut_pass_series_name_to_factorr      s]    D
&&q))99#>>T
J
J
JC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                              d          } t	          | g d          }t          |          }| dk     | dk    z  }t          j        ||           d S )Nr5   r   r   rQ   r   )r   r   r   r   r   r   r!   r"   )r   r$   maskex_masks       r&   test_cut_out_of_boundsr     sn    
)


"
"
2
23
7
7C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;   astyper   r!   r   )r   r$   exp_binsr%   s       r&   test_cut_return_intervalsr   _  s    
,,,
-
-Ca[[F{1aQ'''--a00HQKKK5KKK!(7;;;@@'''	
 	
  fd+++,,	 
 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 fd+++,,  68,,,,,r(   z
kwargs,msg
duplicatesdropzBin edges must be uniqueraiser   z(invalid value for 'duplicates' parameterc                    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	        |                              }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!   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D)9)9::;;
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	
 	
  fd+++,,  '&&&X&&&DC4((())F68,,,,,r(   boxc                    t          g d                              d|  d          } ||          }t          |dd          \  }}|t          u rd} | dk    rt	          g d	d|  d
          }nt	          g dd|  d
          }t	          g dd|  d
          }t          j        ||          }t          |                              t          d                    }t          j
        t          |          |           d S )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'    sM   
 AAABBII-PT---XXD3t99DD!T***IFA
d{{s{{ QQQ---
 
 

   
  ---
 
 
 MMMDmmm  E
 "-dE::Mm$$++,<T,J,J,JKKH6&>>844444r(   c                 V    | t          d          t          d          t          d          t          d          g          }t          t          ddd                    }d	}t          j        t
          |
          5  t          ||           d d d            d S # 1 swxY w Y   d S )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_tzawarenessr1    s     3233+,,+,,+,,		
 D JlCCC
D
DC
EC	z	-	-	-  C                 s    BB"%B"r>   r)  UTCr0  r.  r*  r+  r,  c                 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 )Nr.  r-  r2   r/  r   r3  r  r  r!  Tr6   )r	   r   
isinstanceintr   r   r   r   r   r   r!   r   )r>   r  r0  r   r$   r%   s         r&   test_datetime_tz_cutr7     s<    
B
Jb999
:
:CdC   s4yyd^^F:rBBB3;;;  3;;;3;;;  3;;;3;;; 	
 	
 " fd+++,,# $ 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_maskr>  2  s    :q)))
:q0Q0Q0Q  F !!##Dbhw&7&7888;;==Dbh/N/N/N&O&OPPPPPr(   r0  )Nr2  z
US/Pacificc                 x   t          t          dd| |                    }t          |dd          \  }}t          ||          }t          j        ||           |dk    rt          g dd	| d
          }nt          g dd	| d
          }|                    |           }t          j        ||           d S )N20180101r2   )r   r0  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.200000rA  rB  )r	   r   r   r!   r   r   tz_localizerl   )r0  r$  r   r$   result_binsr%   expected_binss          r&   test_datetime_cut_roundtriprF  >  s     JbtDDD
E
ECc1d333FK3$$H68,,,s{{ &QQQ---
 
 

 &  
  ---
 
 
 "--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$   rD  r%   rE  s        r&   test_timedelta_cut_roundtriprI  ^  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_intrN  l  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_labelsrP  ~  s     1XXF
VC	z	-	-	- & &FAf%%%%& & & & & & & & & & & & & & & & & &s   AAA)r   r   r]   include_lowestc                 b   t           j                            d                              ddd                              t
                    }t           j        |d d d<   t          t          j	        |d          | ||          }t          || ||          }t          j        ||           d S )	Nr5   r   r\   ri   )sizeInt64r   )rE   rQ  )r   r   r   integersr   floatr   r   r   r    r!   r<   )r>   rE   rQ  r   r$   r%   s         r&   test_cut_nullable_integerrW    s     		a  ))!Rb)99@@GGA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Br[  )r   r   r   r[  r\  )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_labelsre    S     D???F%?E  H 11111r(   )Cr\  r[  )r2   r   r   r5   c                     t          | ||d          }t          j        ||d          }t          j        ||           d S r_  ra  rb  s          r&   test_cut_unordered_labelsri    rf  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_errorrk    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   Fr`  )r   r   r   r   rY   categoryr   )r	   r   r!   r   )r   r>   r   r$   r%   s        r&   %test_cut_unordered_with_series_labelsrn    s}    

!
!C,,,DOOO$$F4>>>F///zBBBH68,,,,,r(   c            	      p   t          dt          j                            d                              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valuer5   r   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   r   rU  rU   r!   assert_produces_warningr   rp  )dfr   s     r&   test_cut_no_warningsrw    s   	GRY22155>>q#rJJK	L	LB::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   3+B++B/2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   rm  )r   r   r   r9  T)r>   rQ  )r	   r   cat
as_orderedr   r!   r   )r%   r   r$   s      r&   .test_cut_with_duplicated_index_lowest_includedr{    s    	&!G	,	,	,-1Aq)))8FAg+N+N+N
O	Poo	  
 
**,,  
8
8
8C999T:::F68,,,,,r(   z7ignore:invalid value encountered in cast:RuntimeWarningc                  \   t          t          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   )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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                              d          |           }t          j        dg| d	
          }t          j        |j	        |           d S )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    s    )L119\3J3JQUVVVD<0012299(CC$OOOF%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   rT  r   r]  )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(   )c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'  r1  
tz_convertr7  r;  r>  rF  rI  r   r<   assert_equalrN  rP  rW  re  ri  rk  rn  rw  r{  filterwarningsr  r  r  r  r   r(   r&   <module>r     sw                                              $       - - - - - - ' ' ' ' ' ' ' ' ' ' ' '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    
  ""..	 - - -$ $ ?@@#5 #5 A@#5L rx ?@@  A@" 
	I2u===HHVVI+666AA,OOI+666AA,OOI+666AA,OO		
  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- - - UVV, , WV,>2 2 28 8 8- - - - -r(   