
    Mh8                        S SK J r   S SKrS SKrS SKrS SKJrJrJr  S SK	J
r  \R                  R                  SSS/SS//5      S 5       rS rS	 rS
 rS r\R                  R                  S\" 5       \" / S9\" / SQS9\" / S9\" / SQS9/5      S 5       rS rS rS r\R                  R                  SSS/5      \R                  R                  SS/ SQ0SSS/0SS S/4S/ SQ0SSS/0SS S/4/ SQ/ SQS.SS/SS/S.SS S/4/ SQ/ SQS.SS/SS/S.SS S/4/5      S  5       5       rS! rS" r\R                  R                  S#S/SS$/ S /5      S% 5       rg)&    )datetimeN)	DataFrameNaTconcatsubsetaBc                     [        / SQ/ SQ/ SQS.5      n[        R                  " S5      n[        R                  " [
        US9   UR                  U 5        S S S 5        g ! , (       d  f       g = f)N)r   r      Ar	   CzIndex(['a'], dtype=match)r   reescapepytestraisesKeyErrordrop_duplicates)r   dfmsgs      a/var/www/html/env/lib/python3.13/site-packages/pandas/tests/frame/methods/test_drop_duplicates.py0test_drop_duplicates_with_misspelled_column_namer      sL     
C	DB
)))
*C	xs	+
6" 
,	+	+s   A  
A.c                  T
   [        / SQ/ SQ/ SQ[        S5      S.5      n U R                  S5      nU S S n[        R                  " X5        U R                  SSS	9nU R
                  S
S/   n[        R                  " X5        U R                  SSS	9nU R
                  /    n[        R                  " X5        [        U5      S:X  d   eU R
                  / SQ   nU R                  [        R                  " SS/5      5      n[        R                  " X5        U R                  SS/5      n[        R                  " X5        U R                  SSS	9nU R
                  / SQ   n[        R                  " X5        U R                  SSS	9nU R
                  S/   n[        R                  " X5        U R
                  S S 2/ SQ4   nUR                  5       nUR                  SS/5      n[        R                  " X5        UR                  SS	9nUR                  SS/SS	9n[        R                  " X5        UR                  SS	9nUR                  SS/SS	9n[        R                  " X5        U R                  S5      nU R                  SS/   n[        R                  " X5        U R                  SSS	9nU R                  SS/   n[        R                  " X5        U S   R                  S5      U S'   U R                  S5      nU R                  SS/   n[        R                  " X5        U R                  SSS	9nU R                  SS/   n[        R                  " X5        [        / SQ/ SQS.5      n U R
                  U R                  S:g     n[        R                  " U R                  5       U5        [        SS/SS//5      n [        R                  " U R                  5       U 5        [        SS/SS//5      n [        R                  " U R                  5       U 5        [        R                  " [        R                  5      R                  S-  S-  n[        U* U/SUS-   //5      n [        R                  " U R                  5       U 5        [        U* U/XDS-   //5      n [        R                  " U R                  5       U 5        [        S [        S 5       5       5      n [        U [        S/S/S-  -   /5      /S!S"9n S# H&  nU R!                  US	9R#                  5       S:X  a  M&   e   g )$Nfoobarr   r   r   r   r   r   oner    twor!   r!   r!   r    r!   r   r      r#   r#   r#   r   r#      AAAr	   r   Dr&   r#   lastkeep      Fr   r   r   r#      r	   )r&   r	   r      r+   r,   )r&   r	   r   r   int8E)r,   r+   r.   r.      r$   r   )r   r+   r0   r0   	   r   r#   )xyr.   r   r5   c              3   ,   #    U  H
  o/S -  v   M     g7f)r6   N ).0is     r   	<genexpr>'test_drop_duplicates.<locals>.<genexpr>r   s     .Iq37Is      Tignore_index)firstr(   F)r   ranger   tmassert_frame_equalloclennparrayilocastypeindexiinfoint64maxr   
duplicatedsum)r   resultexpecteddf2r7   r*   s         r   test_drop_duplicatesrV      s   	KI)q		

B &F"1vH&+F3Fvvq!f~H&+E2FvvbzH&+v;! vvl#H% 67F&+-F&+6:Fvvl#H&+59Fvvqc{H&+ &&%%
&C  "F""E3<0H&+  f -F""E3<f"=H&+  e ,F""E3<e"<H&+ $Fww1vH&+&1FwwBx H&+gnnV$BsG$Fww1vH&+&1FwwBx H&+ 
.5JK	LBvvbhh!m$H",,.9	QFQF#	$B",,.3	RGaW%	&B",,.3
"Q&A	aRGaQZ(	)B",,.3	aRGaQZ(	)B",,.3 
.E"I.	.B	YqcAg/0t	DB(}}$}'++-222 )    c                      [        / SQ/ SQ/ SQ// SQS9n U R                  5       n[        R                  " X5        U R                  S5      nU S S n[        R                  " X#5        g )N)r   r#   r0   )r.   r5   r+   )r.   r5   r,   )r   r   bcolumnsr   r#   )r   r   rE   rF   )r   result0result1	expected1s       r   0test_drop_duplicates_with_duplicate_column_namesr_   y   sZ    	Iy)4o	NB  "G'&  %G2AI'-rW   c                     [        / SQ/ SQ/ SQ[        S5      S.5      n U R                  S5      nU R                  / SQ   n[        R
                  " X5        U R                  SSS	9nU R                  / S
Q   n[        R
                  " X5        U R                  SSS	9nU R                  SS/   n[        R
                  " X5        U R                  SS/5      nU R                  / SQ   n[        R
                  " X5        U R                  SS/SS	9nU R                  / SQ   n[        R
                  " X5        U R                  SS/SS	9nU R                  / SQ   n[        R
                  " X5        g )N)r   r   bazr   r   r   quxr   r   r"   r$   r%   r&   )r   r   r#   r+   r(   r)   )r#   r0   r+   r,   Fr#   r+   r	   )r   r   r#   r.   r5   r+   )r   r   r#   r0   r+   r,   )r   rD   r   rK   rE   rF   r   rS   rT   s      r   !test_drop_duplicates_for_take_allrd      sR   	KI)q		

B &Fww|$H&+F3Fww|$H&+E2Fww1vH&+ -Fww)*H&+6:Fww)*H&+59Fww|$H&+rW   c                     [        / SQ/ SQ/ SQ[        S5      S.5      n U R                  S5      nU S S n[        R                  " X5        U R                  SSS	9nU R
                  S
S/   n[        R                  " X5        U R                  SSS	9nU R
                  /    n[        U5      S:X  d   e[        R                  " X5        U R
                  / SQ   nU R                  S5      n[        R                  " X5        g )Nr   r   r"   r$   )AAABr	   r   r'   rf   r#   r(   r)   r+   r,   Fr   r-   )rf   r	   )r   rD   r   rE   rF   rG   rH   rc   s      r   test_drop_duplicates_tupleri      s    	RI)q		

B -F"1vH&+6:Fvvq!f~H&+59FvvbzHv;!&+ vvl#H 34F&+rW   r   rZ   r   rM   c                     U R                  5       n[        R                  " X5        U R                  5       nUR                  SS9  [        R                  " X5        g )NTinplace)r   rE   rF   copy)r   rS   s     r   test_drop_duplicates_emptyro      sJ     !F&%WWYF
4(&%rW   c                     [        / SQ/ SQS[        R                  [        R                  [        R                  SSSS/[        S5      S.5      n U R	                  S5      nU R
                  / SQ   n[        R                  " X5        U R	                  SS	S
9nU R
                  / SQ   n[        R                  " X5        U R	                  SSS
9nU R
                  /    n[        R                  " X5        [        U5      S:X  d   eU R	                  SS/5      nU R
                  / SQ   n[        R                  " X5        U R	                  SS/S	S
9nU R
                  / SQ   n[        R                  " X5        U R	                  SS/SS
9nU R
                  S/   n[        R                  " X5        [        / SQ/ SQS[        R                  [        R                  [        R                  SSSS/[        S5      S.5      n U R	                  S5      nU S S n[        R                  " X5        U R	                  SS	S
9nU R
                  SS/   n[        R                  " X5        U R	                  SSS
9nU R
                  /    n[        R                  " X5        [        U5      S:X  d   eU R	                  SS/5      nU R
                  / SQ   n[        R                  " X5        U R	                  SS/S	S
9nU R
                  / SQ   n[        R                  " X5        U R	                  SS/SS
9nU R
                  S/   n[        R                  " X5        g )N)NNr   r   r   r   r   r   r         ?r   r$   r   r	   r   r'   r   )r   r#   r.   r(   r)   )r   r+   r,   Fr   r	   )r   r#   r.   r+   )r   r0   r+   r,   r+   r   r   r#   r.   r,   )r   r   r#   r5   )r   r.   r+   r,   )	r   rI   nanrD   r   rG   rE   rF   rH   rc   s      r   test_drop_duplicates_NArt      s   	GIrvvrvvrvvsCC@q		

B $Fvvi H&+&1Fvvi H&+%0FvvbzH&+v;! c
+Fvvl#H&+c
8Fvvl#H&+c
7Fvvqc{H&+ 
IIrvvrvvrvvsCC@q		

B $F"1vH&+&1Fvvq!f~H&+%0FvvbzH&+v;! c
+Fvvl#H&+c
8Fvvl#H&+c
7Fvvqc{H&+rW   c                      [        / SQS[        R                  [        R                  [        R                  SSSS/S.5      n U R                  S5      nU R                  / SQ   n[
        R                  " X5        U R                  SSS	9nU R                  / S
Q   n[
        R                  " X5        U R                  SSS	9nU R                  SS/   n[
        R                  " X5        U R                  S5      nU R                  / SQ   n[
        R                  " X5        U R                  SSS	9nU R                  / SQ   n[
        R                  " X5        U R                  SSS	9nU R                  SS/   n[
        R                  " X5        g )N)NNr   r   r   ra   r   rb   rq   g       @r.   )r   r   r   )r   r#   r.   r0   r,   r(   r)   )r   r5   r0   r+   r,   Fr0   r,   r   )r   r   r0   r+   )r.   r0   r+   r,   r+   )r   rI   rs   r   rK   rE   rF   rc   s      r   $test_drop_duplicates_NA_for_take_allrv   $  sZ   	GrvvrvvrvvsCC@	

B $Fww'H&+&1Fww'H&+%0Fww1vH&+
 $Fww|$H&+&1Fww|$H&+%0Fww1vH&+rW   c                  "   [        / SQ/ SQ/ SQ[        S5      S.5      n U R                  5       nUR                  SSS9nU S S	 nUn[        R
                  " XC5        Ub   eU R                  5       nUR                  SS
SS9nU R                  SS/   nUn[        R
                  " XC5        Ub   eU R                  5       nUR                  SSSS9nU R                  /    nUn[        R
                  " XC5        [        U5      S:X  d   eUb   eU R                  5       nUR                  SS/SS9nU R                  / SQ   nUn[        R
                  " XC5        Ub   eU R                  5       nUR                  SS/S
SS9nU R                  / SQ   nUn[        R
                  " XC5        Ub   eU R                  5       nUR                  SS/SSS9nU R                  S/   nUn[        R
                  " XC5        Ub   eU R                  S S 2/ SQ4   R                  5       nUR                  5       nUR                  SS9nUR                  SS/5      nUn[        R
                  " XC5        Ub   eUR                  5       nUR                  S
SS9nUR                  SS/S
S9nUn[        R
                  " XC5        Ub   eUR                  5       nUR                  SSS9nUR                  SS/SS9nUn[        R
                  " XC5        Ub   eg )Nr   r   r"   r$   rr   r   Trl   r#   r(   )r*   rm   r+   r,   Fr   r	   r-   r/   r   r)   )r   rD   rn   r   rE   rF   rG   rH   )origr   return_valuerT   rS   orig2rU   s          r   test_drop_duplicates_inplacer{   J  s7   II)q		
D 
B%%c4%8LBQxHF&+	B%%c%ELxxAHF&+	B%%ct%DLxx|HF&+r7a<< 
B%%sCj$%?Lxx%HF&+	B%%sCjvt%LLxx%HF&+	B%%sCjud%KLxx}HF&+ HHQ'(--/E
**,C&&t&4L$$c3Z0HF&+
**,C&&FD&AL$$c3Zf$=HF&+
**,C&&E4&@L$$c3Ze$<HF&+rW   rm   TFz4origin_dict, output_dict, ignore_index, output_indexr   )r#   r#   r.   r#   r.   r   )r#   r#   r5   )r   r	   r5   c                    [        U5      n[        X$S9nU (       a   UR                  5       nUR                  X0S9  OUR                  X0S9n[        R                  " Xv5        [        R                  " U[        U5      5        g )Nrj   )rB   rm   )r   rn   r   rE   rF   )rm   origin_dictoutput_dictrB   output_indexr   rT   	result_dfs           r   !test_drop_duplicates_ignore_indexr     sm     
;	B9HGGI	!!|!M&&L&R	)."i45rW   c                 x    [        SU /SS//[        S9nUR                  5       n[        R                  " X!5        g )Nr   r#   r   )dtype)r   objectr   rE   rF   )nulls_fixturer   rS   s      r   *test_drop_duplicates_null_in_object_columnr     s8    	Q&C1	@B!F&%rW   c                    [        / SQSS[        R                  [        R                  [        R                  /SS[        R                  [        R                  S// SQ[        SSS5      [        SSS5      [        SSS5      [        [        /S.5      nUR
                   HJ  nX/   R                  U S	9nX   R                  U S	9n[        R                  " X4R                  5       5        ML     g )
N)r   r   r   r    r    r#   r.   three)r   r#   r.   r5   r5   i  r   )r   rY   cder)   )
r   rI   rs   r   r   r[   r   rE   rF   to_frame)r*   r   columndropped_framedropped_seriess        r   (test_drop_duplicates_series_vs_dataframer     s    	(Q/Q0 q!$q!$q!$	

B **844$4?333>
m-D-D-FG rW   argTruec                     [        S/ SQ05      nSn[        R                  " [        US9   UR	                  U S9  S S S 5        g ! , (       d  f       g = f)Nr   )r   r#   r   r.   zC^For argument "ignore_index" expected type bool, received type .*.$r   rA   )r   r   r   
ValueErrorr   )r   r   r   s      r   -test_drop_duplicates_non_boolean_ignore_indexr     sC     
C&	'B
OC	z	-
, 
.	-	-s   A
A)r   r   numpyrI   r   pandasr   r   r   pandas._testing_testingrE   markparametrizer   rV   r_   rd   ri   ro   rt   rv   r{   r   r   r   r   r;   rW   r   <module>r      s    	   
  C#c
#;<# =#]3@	.!,H,: "/*(	&	&G,T#,LM ` T5M2:
y	C!Q=$A7
y	C!Q=%!Q8y	)!Qq!f+EtaQRVTy	)!Qq!f+EuqRSfU	6 36"&H. !aQ 78- 9-rW   