
    Mh                     l    S r SSKrSSKJrJrJrJrJrJ	r	J
r
  SSKJr   " S S5      rS rS rS rS	 rg)
zC
Tests for DataFrame.mask; tests DataFrame.where as a side-effect.
    N)NA	DataFrameFloat64DtypeSeriesStringDtype	Timedeltaisnac                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
TestDataFrameMask   c                    [        [        R                  R                  S5      R	                  S5      5      nUS:  nUR                  U[        R                  5      n[        R                  " X1R                  US:*  5      5        [        R                  " X1R                  U) 5      5        [        [        R                  R                  S5      R	                  S5      5      nUR                  X$5      n[        R                  " X1R                  US:*  U5      5        [        R                  " X1R                  U) U5      5        g )N         r   )
r   nprandomdefault_rngstandard_normalwherenantmassert_frame_equalmask)selfdfcondrsothers        W/var/www/html/env/lib/python3.13/site-packages/pandas/tests/frame/indexing/test_mask.py	test_maskTestDataFrameMask.test_mask   s    ryy,,Q/??GHAvXXdBFF#
b''"'"23
b''4%.1"))//2BB6JKXXd"
b''"'5"9:
b''4%"78    c                     [        SS/5      nUR                  S/S//5      n[        [        R                  S/5      n[        R
                  " X#5        g N   r   TFr   r   r   r   r   r   )r   r   resexps       r    
test_mask2TestDataFrameMask.test_mask2!   sG    1vggvw'($
c'r#   c                 D   [        [        R                  R                  S5      R	                  S5      5      nUS:  nUR                  5       nUR                  USS9nUb   e[        R                  " X1R                  U5      5        [        R                  " X1R                  U) 5      5        UR                  5       nUR                  X!* SS9nUb   e[        R                  " X1R                  X!* 5      5        [        R                  " X1R                  U) U* 5      5        g )Nr   r   r   Tinplace)
r   r   r   r   r   copyr   r   r   r   )r   r   r   rdfreturn_values        r    test_mask_inplace#TestDataFrameMask.test_mask_inplace)   s    ryy,,Q/??GHAvggiyyty4###
c88D>2
c77D5>2ggiyysDy9###
c88D##67
c77D52##67r#   c                     [        SS//5      nUR                  [        SS//5      5      n[        [        R                  S//5      n[        R
                  " X#5        g r%   r'   )r   r   r(   expecs       r    test_mask_edge_case_1xN_frame/TestDataFrameMask.test_mask_edge_case_1xN_frame;   sM    Ax ggi$01BFFA;-(
c)r#   c                    [        / SQ/ SQ/ SQ/5      nUR                  S S 5      n[        / SQ/ SQ/ SQ/5      n[        R                  " X#5        [        R                  " X!R                  US:  US	-   5      5        UR                  S
 S 5      n[        / SQ/ SQ/ SQ/5      n[        R                  " X#5        [        R                  " X!R                  US-  S:H  S5      5        US-   R                  S S 5      n[        / SQ/ SQ/ SQ/5      n[        R                  " X#5        [        R                  " X!S-   R                  US-   S:  US-   S-   5      5        g )N)r&   r   r   )   r      )      	   c                     U S:  $ )Nr9    xs    r    <lambda>6TestDataFrameMask.test_mask_callable.<locals>.<lambda>E   s    1q5r#   c                     U S-   $ )Nr&   r?   r@   s    r    rB   rC   E   s    AEr#   )r9   r:   r;   )r<   r=   
   r9   r&   c                 &    U S-  S:H  R                   $ )Nr   r   )valuesr@   s    r    rB   rC   K   s    AEQJ#6#6r#   c                     g)Nc   r?   r@   s    r    rB   rC   K   s    "r#   )r&   rI   r   )rI   r   rI   )r;   rI   r=   r   r   rI   c                     U S:  $ )Nr<   r?   r@   s    r    rB   rC   Q   s    Qr#   c                     U S-   $ )NrE   r?   r@   s    r    rB   rC   Q   s    !b&r#   )r   r9   r   )r:   r;   r<   )r         r<   rE   )r   r   r   r   )r   r   resultr)   s       r    test_mask_callable$TestDataFrameMask.test_mask_callableB   s   	9i89/:Iz:;
f*
fggb1fb1f&=> 6E[*=>
f*
fggb1fk2&>? q&0@AI|<=
f*
fAvmmR!VqL26R-&PQr#   c                 L   [        [        R                  R                  S5      R	                  S5      S9nUR                  US:  5      nUS:  n[        U5      nUR                  [        5      R                  U5      nUR                  U5      n[        R                  " XT5        g )Nr   )d   2   )datar   )r   r   r   r   r   r   r	   astypeobjectr   r   r   )r   r   boolsr   expectedrN   s         r    test_mask_dtype_bool_conversion1TestDataFrameMask.test_mask_dtype_bool_conversionV   s    BII11!4DDYOPXXb1fQBx<<',,T2D!
f/r#   r?   N)__name__
__module____qualname____firstlineno__r!   r*   r2   r6   rO   rY   __static_attributes__r?   r#   r    r   r      s!    9(8$*R(0r#   r   c                 R   [        SSSS[        /0/ SQ[        5       S9n[        SSS/0S	S
/[        5       S9n[        S[        SS[        /0/ SQ[        5       S9nU [        L a  US   nUS   nUS   n[        / SQ5      nUR	                  XB5      n[
        R                  " XS5        g )NAfoobarbaz)id1id2id3id4)indexdtypethisthatrf   rg   )FTTF)r   r   r   r   r   r   assert_equal)frame_or_seriesobjfiltered_objrX   
filter_serrN   s         r    test_mask_stringdtyperr   a   s    
	ueUB'(*mC
 	vvu~[]L 	r662&'*mH
 & #h#C(C=23JXXj/FOOF%r#   c            
      $   [        [        S5       V s/ s H  n [        U SS9PM     sn 5      n[        [        R                  " S[        R
                  SS95      n[        R                  " UR                  UR                  5       5      U5        [        [        R
                  [        R
                  [        R
                  [        S5      [        S5      /5      n[        R                  " UR                  U[        SSS9:  5      U5        g s  sn f )	Nr   d)unitztimedelta64[ns]rj   z3 dayz4 dayr   )r   ranger   r   fullr   r   r   r   notnar   )ir   rX   s      r    test_mask_where_dtype_timedeltar{   {   s    	E!H=HqIac*H=	>BBFF2CDEH"''"((*-x8	7!3Yw5GHH "((2	!#(>#>?J >s   Dc                      [        / SQ[        5       S9n U R                  5       ) n[        / SQ5      n[        / SQU R                  S9nU R	                  X5      n[
        R                  " XC5        g )N)              ?       @g      @rv   )TFTF)r~   r}   r~   r}   )r   r   r	   rj   r   r   assert_series_equal)serr   r   exceptedrN   s        r    test_mask_return_dtyper      sV    
%\^
<CHHJ;D-.E*#))<HXXd"F6,r#   c                      [        SS/SS/S.5      n [        SS/SS/S.5      nU R                  USS9  [        [        R                  S	/S[        R                  /S.5      n[        R
                  " X5        g )
Nr~   r   rA   y)abTFr-   r   r'   )r   r   rX   s      r    test_mask_inplace_no_otherr      sm    	#s3*5	6BD%=t}=>DGGD$G{#rvv?@H"'r#   )__doc__numpyr   pandasr   r   r   r   r   r   r	   pandas._testing_testingr   r   rr   r{   r   r   r?   r#   r    <module>r      sE       K0 K0\&4
K-(r#   