
    Mh                         S SK rS SKrS SKJr  S SKrS SKJrJr  S SK	J
r  S rS rS rS rS r\R"                  R%                  S	5      S
 5       rS rS rg)    N)PerformanceWarning)Index
MultiIndexc                    U R                  SS/5      n[        R                  " SS/5      nU R                  U5      nU / SQ   n[        R                  " X5        [        R                  " X45        U R                  S/5      nU / SQ   n[        R                  " X5        U R                  S5      nU / SQ   n[        R                  " X5        [        R                  " S/5      n[
        R                  " [        S	S
9   U R                  S/5        S S S 5        [
        R                  " [        S	S
9   U R                  U5        S S S 5        [
        R                  " [        SS
9   U R                  SS/5        S S S 5        [        R                  " SS/5      n[
        R                  " [        S	S
9   U R                  U5        S S S 5        U R                  USS9nU / SQ   n[        R                  " X5        U R                  USS9nU / SQ   n[        R                  " X5        U R                  SS/SS9nU / SQ   n[        R                  " X5        U R                  SS/5      nU / SQ   n[        R                  " X5        / SQn[
        R                  " [        SS
9   U R                  U5        S S S 5        U R                  USS9nU / SQ   n[        R                  " X5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNc= f! , (       d  f       N= f)N)footwoquxone)r            bar)r      r      r   r   )r   r   r   r   )r   r   z^\('bar', 'two'\)$matchz^'two'$r   ignore)errors)r   r   r   r   r   r   )r   r   r   r   r   )r   r   r   )r   r	   r   )dropr   from_tuplestmassert_index_equalpytestraisesKeyError)idxdroppedindexdropped2expectedmixed_indexs         V/var/www/html/env/lib/python3.13/site-packages/pandas/tests/indexes/multi/test_drop.py	test_dropr$      s   hh78G""NN#CDExxH< H',(-hhwG?#H',hhuoG< H',""N#34E	x'<	=.!" 
>	x'<	= 
>	xz	2%  
3 ((..)IJK	x'<	= 
> hhuXh.G%&H',hh{8h4G?#H',hhu~hh7G< H', hh~./G9~H', 1K	xz	2 
3hh{8h4G9~H',I 
>	=	=	=	2	2
 
>	=. 
3	2s<   =K)1K;$L1L!L1)
K8;
L

L
L.1
L?c           	      @   X R                  S5         nUR                  S5      nUR                  S:X  d   e[        [	        [        S5      5      [	        [        S5      5      [	        [        S5      5      /[        R                  " / SQ5      [        R                  " / SQ5      [        R                  " / SQ5      // SQS	9nUR                  S5      nUR                  S
:X  d   eUR                  S5      nUR                  S5      nUR                  U5      (       d   eg )Nr   r   secondr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   threelevelscodesnames)r   r+   r   r   )
get_loc	droplevelnamer   r   rangenparrayr/   equals)r   r   r   r!   s       r#   test_droplevel_with_namesr7   H   s    E"#Eooa G<<8###eAhuQx%a/BHH-.HH-.HH-.

 &E ooa G==,,,,ooe$Gq!H>>(####    c            	      F   [        [        [        S5      5      [        [        S5      5      [        [        S5      5      /[        R                  " / SQ5      [        R                  " / SQ5      [        R                  " / SQ5      // SQS9n U S S R                  SS	/5      nU S S R                  S5      R                  S
5      nUR                  U5      (       d   eU S S R                  / 5      nU S S nUR                  U5      (       d   eSn[        R                  " [        US9   U S S R                  / SQ5        S S S 5        [        R                  " [        SS9   U S S R                  S	S/5        S S S 5        g ! , (       d  f       NG= f! , (       d  f       g = f)Nr   r'   r(   r)   r*   r,   r   r+   r   r   zSCannot remove 3 levels from an index with 3 levels: at least one level must be leftr   z'Level four not found'four)r   r   r3   r4   r5   r1   r6   r   r   
ValueErrorr   )r   r   r!   msgs       r#   test_droplevel_listr=   ^   sa   eAhuQx%a/BHH-.HH-.HH-.

 &E BQi!!7E"23GRay""1%//2H>>(####BQi!!"%GRayH>>(####	*  
z	-bq	34 
. 
x'?	@bq	UFO, 
A	@ 
.	- 
A	@s   )F!F
F
F c                  ,   / SQn [         R                  " U SS/S9nUR                  5       (       d   e[        R                  " / SQ/ SQ/ SQ/S9nUR                  S	SS/S
S9nUR                  5       nUR                  nUR                  5       (       a   e[        R                  " X5        [        R                  " [        5         [        R                  " UR                  S	5      UR                  S	5      5        S S S 5        g ! , (       d  f       g = f)N))a )b1c1)b2c2bcr/   )r?   rE   rF   d)r   rA   rB   r   )r   rC   rD   r   )columnsdatar?   rH   )r   rI   values)r   r   _is_lexsortedpd	DataFramepivot_tablereset_indexrI   r   r   assert_produces_warningr   r   )tupleslexsorted_midfnot_lexsorted_mis       r#   test_drop_not_lexsortedrV   |   s     5F))&c
CL%%'''' 
$,>@R+S
B 
cC:c	BB		Bzz--//// ,9		#	#$6	7
l//46F6K6KC6PQ 
8	7	7s   6D
Dc                     [         R                  " SU 4/SS/S9nSn[        R                  " [        US9   UR                  [        R                  " S5      SS9  S S S 5        g ! , (       d  f       g = f)	Nblahr2   daterG   z@labels \[Timestamp\('2001-01-01 00:00:00'\)\] not found in levelr   2001level)r   r   r   r   r   r   rM   	Timestamp)nulls_fixturemir<   s      r#   test_drop_with_nan_in_indexr`      sY    			&-!8 9&&AQ	RB
MC	xs	+
V$F3 
,	+	+s   %A$$
A2z(ignore::pandas.errors.PerformanceWarningc                      [         R                  " / SQ5      n U R                  S5      n[         R                  " S/5      n[        R                  " X5        g )N)r   r   r   r   rb   rb   rc   )r   r   r   r   r   )r_   resultr!   s      r#   'test_drop_with_non_monotonic_duplicatesre      sB     
		 8	9BWWV_F%%vh/H&+r8   c                     [         R                  " / SQ5      n Sn[        R                  " [        US9   U R                  SSS9  S S S 5        [        R                  " [        US9   U R                  SS/SS9  S S S 5        Sn[        R                  " [        US9   U R                  [        R                  /SS9  S S S 5        [        R                  " [        US9   U R                  [        R                  SS	S
/SS9  S S S 5        [         R                  " [        R                  S4S/5      n Sn[        R                  " [        US9   U R                  [        R                  SS/SS9  S S S 5        g ! , (       d  f       GN8= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)N)rb   )r   r   )r   r   zlabels \[4\] not found in levelr   r   r   r[   r   z!labels \[nan\] not found in levelr   r   rb   z!labels \['a'\] not found in levelr?   )r   r   r   r   r   r   r4   nan)r_   r<   s     r#   1test_single_level_drop_partially_missing_elementsrh      s@    
		 8	9B
,C	xs	+
 
,	xs	+
Aa  
,
.C	xs	+
" 
,	xs	+
Aq!+ 
, 
		"&&!f 5	6B
.C	xs	+
C * 
,	+ 
,	+	+	+ 
,	+	+	+
 
,	+s;   E6&F F#F+"F<6
F
F
F(+
F9<
G
c                      [         R                  " S/SS9n U R                  / 5      n[        S/SS9n[        R
                  " X5        g )N)r   )rE   rG   r   rE   )r2   )r   r   r1   r   r   r   )r   rd   r!   s      r#   #test_droplevel_multiindex_one_levelrj      s@    ""D68E__R FaSs#H&+r8   )numpyr4   r   pandas.errorsr   pandasrM   r   r   pandas._testing_testingr   r$   r7   r=   rV   r`   markfilterwarningsre   rh   rj    r8   r#   <module>rs      se      ,  7-t$,-<R.4 FG, H,+*,r8   