
    Owg                     D    d dl Zd dlZd dlmZmZ d dlmZ  G d d      Z	y)    N)	DataFrameSeriesc                      e Zd Zd Zd Zd Zd Zej                  j                  dddg      d        Z
ej                  j                  dddg      ej                  j                  d	g d
 ej                  g d
      g      ej                  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                  j                  dg d      d        Zd Zd Zd Zd Zy)TestDataFrameClipc                    |j                         j                         }|j                         }|j                  ||      }|j                  |k7  j	                         rJ |j                  |j                  k(  j                         sJ y )Nupperlower)mediancopyclipvaluesanyall)selffloat_framer   originaldoubles        [/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/frame/methods/test_clip.py	test_clipzTestDataFrameClip.test_clip   sz    ##%,,.##%!!f!=MMV+00222 ""hoo5::<<<    c                     |j                         j                         }|j                         }|j                  ||d      }|J |j                  |k7  j	                         rJ y )NT)r	   r
   inplace)r   r   r   r   r   )r   r   r   
frame_copyreturn_values        r   test_inplace_clipz#TestDataFrameClip.test_inplace_clip   sg    ##%,,. %%'
!V64P###%%/446666r   c                 
   t        t        j                  j                  d      j	                  d            }dD ]  \  }}|j                  ||      }t        ||      t        ||      }}|j                  |k  }|j                  |k\  }| | z  }|j                  |   |k(  j                         sJ |j                  |   |k(  j                         sJ |j                  |   |j                  |   k(  j                         rJ  y )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    ryy,,Q/??	JK( 		FFBRJR[#b"+Bii2oGii2oG8wh&D%%g."499;;;%%g."499;;;%%d+ryy>CCEEE		Fr   c                 ~   t        g ddt        j                  dgd      }|j                  dd      }t        g ddt        j                  dgd      }t	        j
                  ||       t        g d	g d
gg d      }|j                  }|j                  d      j                  }t	        j                  ||       y )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     Yc2663-?@AA9C3EFG
fh/[1;PQ99q!((
vx0r   r   TFc                    t        t        j                  j                  d      j	                  d            }t        t        j                  j                  d      j	                  d            }|dz   }|j                         }|j                  ||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           y )	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;   sl    ryy,,Q/??	JKBII))!,<<TBC!V779WWR!WW=
Jq 	MAmmAqD)R/GmmAqD)R/G8wh&D^^GQJ/F""62g;EJ;;!###^^GQJ/F""62g;EJ;;!###"":>>$'#:BFF47OL	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      }|j                  |g d||      }t        ||j                  |j
                        }|r|}t        j                  ||d	
       y )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   sv     hh/JK0
 U)$PWXS(*:*:(..QF
fhDAr   rJ   )r   r"   Nc                    t        t        j                  j                  d      j	                  d            }t        t        j                  j                  d      j	                  d            }|dz   }|j                  |||      }||k  }||k\  }| | z  }t        j                  ||   ||          t        j                  ||   ||          t        j                  ||   ||          y )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    ryy,,Q/??	JKryy,,Q/??	JK!VWWR$W/
((x7("
j12g;?
j12g;?
j.49r   c                    t        t        j                  j                  d      j	                  d      g d      }t        t        j                  j                  d      j	                  d      g d      }t        |j
                  dz
  g d      }|j                  d|	      }|j                  d||j                     	      }|j                  |d
	      }|j                  ||j                     d
	      }|j                  ||	      }|j                  ||j                     ||j                     	      }	t        j                  ||       t        j                  ||       t        j                  ||	       y )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   s3   II!!!$44Y?(
 II!!!$44Y?(
 

Q0DExxasx3S[[1ABxxcx3CKK(8B XXCsX;"xxc#++.>c#++FVxW
lN;
lN;
02FGr   c                    t        j                  |j                  t        j                        |       t        j                  |j                  t        j                  t        j                        |       t        g dg dg dd      }d}t        j                  t        |      5  |j                  dd	t        j                  gd
      }ddd       t        g dg dg dd      }t        j                  |       |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  |j                  |d
      }ddd       t        g dg dd      }t        j                  ||       y# 1 sw Y   xY w# 1 sw Y   ?xY w)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..rvv6D
k..RVV266.JKX YSTL ''SA 	;WWAq"&&>W:F	;)iH
 	fh/1bff~A6)iH
 	fh/ +5GHt_Ar2661a()''SA 	.WW11W-F	.'7BRST
fh/)	; 	;"	. 	.s   )%G"G/"G,/G8c                     t        dg di      }|j                  d      }t        dg di      }t        j                  ||       y )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   s@    Y'(s#c?34
fh/r   c                     t        ddg      }t        ddg      }|j                  dg      }t        j                  ||       t        ddg      }|j                  dg      }t        j                  ||       y )Nr"   r_   r3   r?   r   )r   r)   rG   rF   s       r   test_clip_with_list_boundz+TestDataFrameClip.test_clip_with_list_bound   sm    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F1 [[Yu6M 7M8 [[Yu6[[Wy*"**Y2G&HI[[/?CD/?CD	
B J 7B [[V\2: 3:H* 0D0	0r   r   )
numpyr#   r   pandasr   r   pandas._testing_testingrA   r   r   r   r   <module>r      s!      |0 |0r   