
    bMh                     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        d/var/www/html/test/jupyter/venv/lib/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            ?      @)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locrA   rD   name)r   r   r)   r*   r+   r   r,   ir-   r.   r/   rF   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   r9   zaxis,resr   )r8   r8   r5         @      @      @)      @rV   rV   r"   )r8   r5   rS   )rT   rU   rV   c                    t          j        g dg dg dg          }t          |g dg d          }|                    |g d||          }t          ||j        |j                  }|r|}t          j        ||d	
           d S )N)r4   r8   r5   rR   )rV   g       @g      "@)onetwothree)abc)r>   index)         )r
   r	   rJ   r   T)check_exact)r#   arrayr   r   r>   r^   rA   rB   )	r   r   r
   rJ   resarrr   rF   rG   s	            r   test_clip_against_list_likez-TestDataFrameClip.test_clip_against_list_likeX   s     h///JKK000
 
 
 U)))$PWXXS(*:(.QQQ 	F
fhDAAAAAAr   rJ   )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"   )rJ   )r   r#   r$   r%   r&   r   rA   rB   )	r   rJ   r)   r*   r+   r,   r-   r.   r/   s	            r   test_clip_against_framez)TestDataFrameClip.test_clip_against_framep   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    r9   )r6   r7   CDr=   )rk   r6   r7   rj   r"   )r7   rk   rj   r6   r   )r
   r	   r3   )
r   r#   r$   r%   r&   r   r   r>   rA   rB   )
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                     t          j        |                    t          j                  |           t          j        |                    t          j        t          j                  |           t          g dg dg dd          }d}t          j        t          |          5  |                    dd	t          j        gd
          }ddd           n# 1 swxY w Y   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          }t          j        t          |          5  |                    |d
          }ddd           n# 1 swxY w Y   t          g dg dd          }t          j        ||           dS )z&Should process np.nan argument as Noner   r2   )r9   r_   r`   )ra      	   )col_0col_1col_2z<Downcasting behavior in Series and DataFrame methods 'where')matchr9   r_   r   )r
   rJ   N)r9   r_   r3   r"   )r9   r9   r9   )r_   r_   r`   )rx   r   r!   r_   )ir`   rw   )ry   rz   r   r`   r3   )rx   r}   r   r`   r_   )r   r   r`   rw   r3   )	rA   rB   r   r#   r@   r   assert_produces_warningFutureWarningr   )r   r   r)   msgrF   rG   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L 'SAAA 	; 	;WWAq"&>W::F	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	;ii)))iiiHH
 
 	fh///1bf~A66ii)))iiiHH
 
 	fh/// +**5G5G5GHHt__Ar261a())'SAAA 	. 	.WW11W--F	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.'7'7'7BRBRBRSSTT
fh/////s$   '%CCC4GGGc                     t          dg di          }|                    d          }t          dg di          }t          j        ||           d S )Nr[   r2         ?)r
   )r   r8   r5   r   r   rA   rB   rE   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"   r_   r3   r?   r   )r   r)   rG   rF   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   rH   pytestmarkparametrizerQ   r#   asarrayrf   rh   ru   r   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  0D0 0 0	0 	0 	0 	0 	0r   r   )
numpyr#   r   pandasr   r   pandas._testing_testingrA   r   r   r   r   <module>r      s                     |0 |0 |0 |0 |0 |0 |0 |0 |0 |0r   