
    MhK(                     \    S SK r S SKrS SKrS SKrS SKrS SKJrJr  S SK	J
r   " S S5      rg)    N)	DataFrameSeriesc                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS r\R&                  R)                  SSS/5      S 5       rSrg)TestDataFrameMissingData   c                    [        UR                  5      n[        R                  R	                  S5      R                  U5      n[        R                  US S& [        SU0UR                  S9n[        X1R                  SS9nUR                  5       nUR                  5       UR                  5       pUR                  SS9n	[        R                  " US   U5        UR                  SSS	9n
[        R                  " U	S   U5        [        R                  " US   U5        U
b   eUR                  SS/S
9n	UR                  SS/SS9n
[        R                  " U	S   U5        [        R                  " US   U5        U
b   eg )N      fooindexr   nameallhowT)r   inplace)r   subset)r   r   r   )lenr   nprandomdefault_rngstandard_normalnanr   r   dropnacopytmassert_series_equal)selffloat_frameNmatframeoriginalexpectedinplace_frame1inplace_frame2smaller_framereturn_values              X/var/www/html/env/lib/python3.13/site-packages/pandas/tests/frame/methods/test_dropna.pytest_dropEmptyRows+TestDataFrameMissingData.test_dropEmptyRows   sZ   !!"ii##A&66q9&&BQ5#,k.?.?@#%6%6UC??$).uzz|/
uU|X6%,,,E
}U3X>
~e4h?###w?%,,wPT,U
}U3X>
~e4h?###    c                    [        UR                  5      n[        R                  R	                  S5      R                  U5      n[        R                  US S& [        SU0UR                  S9nSUS'   [        X1R                  SS9nUR                  5       UR                  5       pvUR                  5       n[        R                  " US   U5        UR                  SS9n	[        USS  UR                  SS  SS9n
[        R                  " US   U
5        [        R                  " US   U
5        U	b   eUR                  S/S	9n[        R                  " US   U5        US   S:H  R                  5       (       d   eUR                  S/SS
9n	[        R                  " UR                  UR                  5        [        R                  " UR                  UR                  5        U	b   eg )Nr	   r
   r   r   barr   Tr   r   )r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   assert_index_equal)r   r    r!   r"   r#   r$   
inp_frame1
inp_frame2r(   r)   expsamesize_frames               r*   test_dropIncompleteRows0TestDataFrameMissingData.test_dropIncompleteRows(   s   !!"ii##A&66q9&&BQ5#,k.?.?@e#%6%6UC!&uzz|J
uU|X6!(((6SWK$5$5ab$9F
}U3S9
z%0#6###eW5
uU|X6e!&&((((!(((F
n22K4E4EF
j..0A0AB###r-   c                 Z   [        [        R                  R                  S5      R	                  S5      5      n[        R
                  UR                  S S2S4'   UR                  SS9nUR                  S S 2/ SQ4   nUR                  5       nUR                  SSS9n[        R                  " X#5        [        R                  " XC5        Ub   eUR                  SS9nUR                  [        [        SS	5      5         nUR                  5       nUR                  SSS9n[        R                  " X#5        [        R                  " XC5        Ub   eUR                  SS
S9nUR                  S S 2/ SQ4   nUR                  5       nUR                  SS
SS9n[        R                  " X#5        [        R                  " XC5        Ub   eUR                  SSS9nUR                  [        SS	5         nUR                  5       nUR                  SSSS9n[        R                  " X#5        [        R                  " XC5        Ub   eUR                  SSS9n[        R                  " X!5        UR                  SSS9n[        R                  " X!5        UR                  S/ SQS9nUR                  5       nUR                  S/ SQSS9n[        R                  " X!5        [        R                  " XA5        Ub   eUR                  SSS9n[        R                  " X!5        [        R
                  US'   UR                  SSS9nUR                  S S 2/ SQ4   n[        R                  " X#5        Sn[        R                  " [         US9   UR                  SS9  S S S 5        g ! , (       d  f       g = f)Nr	   )         axis)r   r<      T)r>   r   r   r:   r
   )r>   thresh)r>   r@   r   r;   r?   )r>   r   )r>   r   r   r   )r>   r   z)No axis named 3 for object type DataFramematch)r   r   r   r   r   r   ilocr   locr   r   assert_frame_equallistrangepytestraises
ValueError)r   dfdroppedr%   inpr)   msgs          r*   test_dropna$TestDataFrameMissingData.test_dropnaC   s   ryy,,Q/??GHA)))#66!Y,'ggizzq$z7
g0
c,###)))#66$uQ{+,ggizzq$z7
g0
c,### ))1)-66!Y,'ggizzqDzA
g0
c,###))1)-66%1+&ggizzqDzA
g0
c,###))1)-
g*))1)-
g* ))9)5ggizzqDzI
g*
c&### ))).
g*1))).66!Y,'
g0 :]]:S1II1I 211s   N
N*c                    [        SS[        R                  /SS9n[        SS/UR                  SS9n[	        SUR
                  R                  5       05      nUR                  5       nUS   R                  5         [        R                  " US   U5        US   nUR                  SS9n[        R                  " XR5        [        R                  " US   U5        Ub   eUS   R                  S/5        [        R                  " US   U5        US   nUR                  S/SS9n[        R                  " XQR                  S/5      5        [        R                  " US   U5        Ub   eg )Nr<   r	   A)r   )dtyper   Tr0   )r   r   r   rS   r   valuesr   r   r   r   drop)r   r$   r%   rK   df2serr)   s          r*   test_drop_and_dropna_caching5TestDataFrameMissingData.test_drop_and_dropna_caching   s:   1a.s31a&SAX__11345ggi
3
r#w1gzz$z/
s-
r#w1###Cqc
s3x2#hxxTx2
sMM1#$67
s3x2###r-   c                    Sn[         R                  " [        US9   UR                  SS9  S S S 5        [         R                  " [        SS9   UR                  SS/S9  S S S 5        g ! , (       d  f       NB= f! , (       d  f       g = f)	Nzinvalid how option: foorA   r   r   z	^\['X'\]$rR   Xr1   )rH   rI   rJ   r   KeyError)r   r    rN   s      r*   test_dropna_corner+TestDataFrameMissingData.test_dropna_corner   sj    ']]:S15) 2 ]]8<8sCj1 98 21 98s   A(A9(
A69
Bc           	         [        S[        R                  SS/S[        R                  SS/[        R                  [        R                  [        R                  [        R                  /S[        R                  SS	//5      n[        R                  " [
        S
S9   UR                  SSS/S9  S S S 5        [        R                  " [
        S
S9   UR                  SSS9  S S S 5        UR                  5       n[        R                  " [
        S
S9   UR                  SSSS9  S S S 5        g ! , (       d  f       N= f! , (       d  f       Nc= f! , (       d  f       g = f)Nr<   r	   r?   r;   r
   r:         	   zsupplying multiple axesrA   r   r   )r   r>   )r   r<   T)r   r>   r   )r   r   r   rH   rI   	TypeErrorr   r   )r   rK   rM   s      r*   test_dropna_multiple_axes2TestDataFrameMissingData.test_dropna_multiple_axes   s    BFFAq!BFFAq!0BFFAq!	
 ]]9,EFII%q!fI- G]]9,EFII%fI- G ggi]]9,EFJJ5vtJ< GF GFFF GFs$   D,D=E,
D:=
E
Ec                    [        5       n[        R                  " SSS[        R                  R	                  5       S9n[        R                  " SSS[        R                  R	                  5       S9nU/US'   UR                  SS9n[        SU/05      n[        R                  " XE5        [        SUS [        R                  U/05      nUR                  SS9n[        X#/S/SS/S	9n[        R                  " XE5        g )
Ni  r<   )tzinfor	   Timer   r=   r?   )columnsr   )
r   datetimedateutiltztzutcr   r   rE   r   r   )r   rK   dt1dt2resultr%   s         r*   test_dropna_tz_aware_datetime6TestDataFrameMissingData.test_dropna_tz_aware_datetime   s    [a8;;3D3D3FGa8;;3D3D3FGU6
"fse_-
f/ dBFFC 89:"cZ&!QH
f/r-   c                     [         R                  R                  / SQ5      n[         R                  " U5      n[	        S[        S5      0US9nUnUR                  5       n[        R                  " XT5        g )N)r   g=
ףp=@gQ	@gQ@rR   abcr   )	pdIntervalIndexfrom_breaksCategoricalIndexr   rF   r   r   rE   )r   iicirK   r%   rp   s         r*   &test_dropna_categorical_interval_index?TestDataFrameMissingData.test_dropna_categorical_interval_index   s\    ))*?@  $T%[)4
f/r-   c                    [        [        R                  R                  S5      R	                  S5      [        R                  R                  S5      R	                  S5      [        R                  R                  S5      R	                  S5      / SQS.5      n[        R
                  UR                  S/ SQ4'   [        R
                  UR                  S'   [        R
                  UR                  S'   [        R
                  UR                  S S 2S4'   UR                  / S	QS
S9n/ SQUl        / SQUl        UR                  SS/S
S9n[        R                  " X25        g )Nr	   r
   )abcde)rR   BCD)r   r<   r	   )r   r   )r<   r<   r?   rR   r   r   r   )r   r   )rR   rR   r   r   rR   r   )r   r   r   r   r   r   rC   r   ri   r   rE   r   rK   r%   rp   s       r*   "test_dropna_with_duplicate_columns;TestDataFrameMissingData.test_dropna_with_duplicate_columns   s    YY**1-==a@YY**1-==a@YY**1-==a@.	
 !#9199O9?/)
3*%8
f/r-   c                     [        / SQ[        S5      S[        R                  S/S.5      n[        SS/[        S5      S	S
/S.SS/S9nUR	                  SS9n[
        R                  " X25        g )Nr<   r	   r?   rt   r;   r
   r   r<   r?   ac      @g      @r   r	   r   r   r1   )r   rF   r   r   r   r   rE   r   s       r*   test_set_single_column_subset6TestDataFrameMissingData.test_set_single_column_subset   sg    YT%[2661~NOa&tDzc
;Aq6
 #&
f/r-   c                     [        S/ SQ05      n[        R                  " [        SS9   UR	                  SSS9  S S S 5        g ! , (       d  f       g = f)NrR   r   z['D']rA   r   r   )r   r>   )r   rH   rI   r\   r   )r   rK   s     r*   &test_single_column_not_present_in_axis?TestDataFrameMissingData.test_single_column_not_present_in_axis   s=    Y'( ]]873IISqI) 433s   A
Ac                    [        SS[        R                  /[        S5      S[        R                  S/S.5      n[        S/S/S	/S.5      nUR	                  [        R
                  " S
S/5      S9n[        R                  " X25        g )Nr<   r	   rt   r;   r
   r   g      ?r~   r   rR   r   r1   )r   r   r   rF   r   arrayr   rE   r   s       r*   test_subset_is_nparray/TestDataFrameMissingData.test_subset_is_nparray   sn    aBFF^$u+QPQNSTC5uC5AB"((C:"67
f/r-   c                     [        SS/SS//[        R                  " SS5      S9nUR                  5       nUR	                  US9n[
        R                  " XCSS	9  g )
Nr<   r	   r?   r;   r   )ri   r=   T)check_index_type)r   ru   
RangeIndexr   r   r   rE   )r   r>   rK   r%   rp   s        r*   test_no_nans_in_frame.TestDataFrameMissingData.test_no_nans_in_frame   sQ    AA'q!1DE779%
fFr-   c                    [        SS[        R                  /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9  S S S 5        [        R                  " [
        US9   UR                  S S S9  S S S 5        g ! , (       d  f       Ns= f! , (       d  f       NR= f! , (       d  f       g = f)Nr<   r	   zAYou cannot set both the how and thresh arguments at the same timerA   r   )r   r@   any)r   ru   NArH   rI   rc   r   )r   rK   rN   s      r*   "test_how_thresh_param_incompatible;TestDataFrameMissingData.test_how_thresh_param_incompatible  s    1bee}%Q]]9C0II%I* 1 ]]9C0II%I* 1 ]]9C0II$tI, 10 10 10 10s#   B6*CC6
C
C
C&valr<   g      ?c                     [        SSSU/0/ SQS9nUR                  SS9n[        SSSU/05      n[        R                  " X45        UR                  SSS9  [        R                  " X$5        g )	Nr~   r<   r	   )r?   r	   r<   r   T)ignore_index)r   r   )r   r   r   rE   )r   r   rK   rp   r%   s        r*   test_dropna_ignore_index1TestDataFrameMissingData.test_dropna_ignore_index  sl     aC[);-cAq#;/0
f/
		tT	2
b+r-    N)__name__
__module____qualname____firstlineno__r+   r7   rO   rX   r]   rd   rq   r{   r   r   r   r   r   r   rH   markparametrizer   __static_attributes__r   r-   r*   r   r      ss    $0$6?B$02=(0 00*0*0G- [[UQH-, .,r-   r   )rj   rk   numpyr   rH   pandasru   r   r   pandas._testing_testingr   r   r   r-   r*   <module>r      s*         N, N,r-   