
    o[we                     L    d dl Zd dlZd dlmZmZ d dlmZ  G d d          Z	dS )    N)	DataFrameSeriesc                      e Zd Zd Zd Zd Zd Zej        	                    dddg          d             Z
ej        	                    dddg          ej        	                    d	g d
 ej        g d
          g          ej        	                    ddg dg dg dgfdg dg dg dgfg          d                                     Zej        	                    dg d          d             Zd Zd Zd Zd ZdS )TestDataFrameClipc                 .   |                                                                  }|                                }|                    ||          }|j        |k                                    rJ |j        |j        k                                    sJ d S )Nupperlower)mediancopyclipvaluesanyall)selffloat_framer   originaldoubles        Dlib/python3.11/site-packages/pandas/tests/frame/methods/test_clip.py	test_clipzTestDataFrameClip.test_clip   s    ##%%,,..##%%!!f!==MV+0022222 "ho5::<<<<<<<    c                     |                                                                  }|                                }|                    ||d          }|J |j        |k                                    rJ d S )NT)r	   r
   inplace)r   r   r   r   r   )r   r   r   
frame_copyreturn_values        r   test_inplace_clipz#TestDataFrameClip.test_inplace_clip   sy    ##%%,,.. %%''
!V64PP###%/446666666r   c                 .   t          t          j                            d                              d                    }dD ]\  }}|                    ||          }t          ||          t          ||          }}|j        |k    }|j        |k    }| | z  }|j        |         |k    	                                sJ |j        |         |k    	                                sJ |j        |         |j        |         k    	                                sJ d S )N     r   ))   )r"   r!   )
r   nprandomdefault_rngstandard_normalr   minmaxr   r   )r   dflbub
clipped_dflb_maskub_maskmasks           r   test_dataframe_clipz%TestDataFrameClip.test_dataframe_clip   s   ry,,Q//??	JJKK( 		F 		FFBRJR[[#b"++Bi2oGi2oG8wh&D%g."499;;;;;%g."499;;;;;%d+ry>CCEEEEEE		F 		Fr   c                    t          g ddt          j        dgd          }|                    dd          }t          g ddt          j        dgd          }t	          j        ||           t          g d	g d
gg d          }|j        }|                    d          j        }t	          j        ||           d S )Nr"   r      g      ?      @)ABr"   r   )r"   r   r          @)r"   r   g333333@)r3      gffffff@)foobarbazcolumnsr3   r	   )r   r#   nanr   tmassert_frame_equaldtypesassert_series_equalr   r)   resultexpecteds       r   test_clip_mixed_numericz)TestDataFrameClip.test_clip_mixed_numeric.   s     YYYc263-?@@AAA999C3EFFGG
fh///[[[1;P;P;PQQQ9q!!(
vx00000r   r   TFc                 6   t          t          j                            d                              d                    }t          t          j                            d                              d                    }|dz   }|                                }|                    ||d|          }|r|}t          d          D ]}|j	        d d |f         |k    }|j	        d d |f         |k    }	| |	 z  }
|j
        ||f         }t          j        |||         d           |j        |k    sJ |j
        |	|f         }t          j        |||	         d           |j        |k    sJ t          j        |j
        |
|f         |j
        |
|f                    d S )	Nr   r   r    r"   r   )axisr   F)check_names)r   r#   r$   r%   r&   r   r   r   rangeiloclocr@   rC   name)r   r   r)   r*   r+   r   r,   ir-   r.   r/   rE   s               r   test_clip_against_seriesz*TestDataFrameClip.test_clip_against_series;   s    ry,,Q//??	JJKKBI))!,,<<TBBCC!V7799WWR!WW==
 	Jq 	M 	MAmAAAqD)R/GmAAAqD)R/G8wh&D^GQJ/F"62g;EJJJJ;!####^GQJ/F"62g;EJJJJ;!####":>$'#:BF47OLLLL	M 	Mr   r
   )r   r3   r8   zaxis,resr   )r7   r7   r4   )      @      @      @)      @rT   rT   r"   )r7   r4   rQ   )rR   rS   rT   c                     |                     d          }|                    |g d||          }t          ||j        |j                  }|r|}t          j        ||d           d S )NT)deep)         )r
   r	   rI   r   )r=   index)check_exact)r   r   r   r=   rZ   r@   rA   )	r   simple_framer   r
   rI   resr   rE   rF   s	            r   test_clip_against_list_likez-TestDataFrameClip.test_clip_against_list_likeX   s|      $$$$//U)))$PWXXS(*:(.QQQ 	F
fhDAAAAAAr   rI   )r   r"   Nc                 (   t          t          j                            d                              d                    }t          t          j                            d                              d                    }|dz   }|                    |||          }||k    }||k    }| | z  }t          j        ||         ||                    t          j        ||         ||                    t          j        ||         ||                    d S )Nr   r   r"   )rI   )r   r#   r$   r%   r&   r   r@   rA   )	r   rI   r)   r*   r+   r,   r-   r.   r/   s	            r   test_clip_against_framez)TestDataFrameClip.test_clip_against_framel   s    ry,,Q//??	JJKKry,,Q//??	JJKK!VWWR$W//
((x7("
j12g;???
j12g;???
j.499999r   c                 2   t          t          j                            d                              d          g d          }t          t          j                            d                              d          g d          }t          |j        dz
  g d          }|                    d|	          }|                    d||j                 	          }|                    |d
	          }|                    ||j                 d
	          }|                    ||	          }|                    ||j                 ||j                 	          }	t          j	        ||           t          j	        ||           t          j	        ||	           d S )Nr   )r    r8   )r5   r6   CDr<   )rc   r5   r6   rb   r"   )r6   rc   rb   r5   r   )r
   r	   r3   )
r   r#   r$   r%   r&   r   r   r=   r@   rA   )
r   df1df2df3result_upperexpected_upperresult_lowerexpected_lowerresult_lower_upperexpected_lower_uppers
             r   #test_clip_against_unordered_columnsz5TestDataFrameClip.test_clip_against_unordered_columns|   s~   I!!!$$44Y??(((
 
 
 I!!!$$44Y??(((
 
 
 
Q0D0D0DEEExxasx33S[1ABBxxcx33CK(8BB XXCsX;;"xxc#+.>c#+FVxWW
lN;;;
lN;;;
02FGGGGGr   c                 P   t          j        |                    t          j                  |           t          j        |                    t          j        t          j                  |           t          g dg dg dd          }|                    ddt          j        gd	          }t          g d
g dg dd          }t          j        ||           |                    ddt          j        gd	          }t          g dg dg dd          }t          j        ||           g dg dd}t          |          }t          ddt          j        ddg          }|                    |d	          }t          g dg dd          }t          j        ||           dS )z&Should process np.nan argument as Noner   r2   )r8   rW   rX   )rY      	   )col_0col_1col_2r8   rW   r   )r
   rI   )r8   rW   r3   r"   )r8   r8   r8   )rW   rW   rX   )rp   r   r!   rW   )irX   ro   )rq   rr   r   rX   r3   )rp   rt   r   rX   rW   )r   rw   rX   ro   r3   N)r@   rA   r   r#   r?   r   r   )r   r   r)   rE   rF   datats          r   test_clip_with_na_argsz(TestDataFrameClip.test_clip_with_na_args   s    	k..rv66DDD
k..RV26.JJKXXX YYYSSTT1bf~A66ii)))iiiHH
 
 	fh///1bf~A66ii)))iiiHH
 
 	fh/// +**5G5G5GHHt__Ar261a())qq))'7'7'7BRBRBRSSTT
fh/////r   c                     t          dg di          }|                    d          }t          dg di          }t          j        ||           d S )Nar2         ?)r
   )r}   r7   r4   r   r   r@   rA   rD   s       r   #test_clip_int_data_with_float_boundz5TestDataFrameClip.test_clip_int_data_with_float_bound   sZ    YYY'((s##c???344
fh/////r   c                    t          ddg          }t          ddg          }|                    dg          }t          j        ||           t          ddg          }|                    dg          }t          j        ||           d S )Nr"   rW   r3   r>   r~   )r   r)   rF   rE   s       r   test_clip_with_list_boundz+TestDataFrameClip.test_clip_with_list_bound   s    1vaV$$!
fh///aV$$s##
fh/////r   N)__name__
__module____qualname__r   r   r0   rG   pytestmarkparametrizerP   r#   asarrayr^   r`   rm   rz   r   r    r   r   r   r      s       = = =7 7 7F F F1 1 1 [Yu66M M 76M8 [Yu66[Wyyy*"*YYY2G2G&HII[///???CD///???CD	
 	B 	B  JI 76	B [V\\\22: : 32:H H H*0 0 0:0 0 0	0 	0 	0 	0 	0r   r   )
numpyr#   r   pandasr   r   pandas._testing_testingr@   r   r   r   r   <module>r      s                     s0 s0 s0 s0 s0 s0 s0 s0 s0 s0r   