
    i%              
          d dl Zd dlZd dlmZmZmZmZmZm	Z	m
Z
 d dlmZ d dlmZ ej                   j#                  dg d      d        Zej                   j#                  ddd	g      d
        Zej                   j#                  ddd	g      ej                   j#                  ddej(                  dg e	d      e e	d      gg      d               Zej                   j#                  ddej(                  dg e	d      e e	d      gg      d        Zej                   j#                  ddej(                  dg e	d      e e	d      gg      d        Zej                   j#                  ddd	g      ej                   j#                  dddg      d               Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d  Z"d! Z#d" Z$d# Z%d$ Z&ej                   j#                  dg d%      d&        Z'y)'    N)NA	DataFrameIntervalNaTSeries	Timestampinterval_range)	get_arraymethod)padnearestlinearc                 b   t        dddgi      }|j                         }| dk(  r<d|  }t        j                  t        |      5  |j                  |        d d d        y |j                  |       }t        j                  t        |d      t        |d            sJ |j                  |j                  usJ |j                  |j                  usJ d|j                  d	<   t        j                  t        |d      t        |d            rJ t        j                  ||       y # 1 sw Y   y xY w)
Na      r   z Can not interpolate with method=match)r   d   r   r   )r   copypytestraises
ValueErrorinterpolatenpshares_memoryr
   indexcolumnsiloctmassert_frame_equal)r   dfdf_origmsgresults        f/app/cer_product_mecsu/.venv/lib/python3.12/site-packages/pandas/tests/copy_view/test_interp_fillna.pytest_interpolate_no_opr(      s   	C!Q=	!BggiG09]]:S1 	*NN&N)	* 	* v.	&# 6	"c8JKKK||288+++~~RZZ///D##Ifc$:Ib#<NOOO
b'*	* 	*s   D%%D.funcffillbfillc                    t        dddgi      }|j                         } t        ||              }t        j                  t        |d      t        |d            sJ |j                  |j                  usJ |j                  |j                  usJ d|j                  d<   t        j                  t        |d      t        |d            rJ t        j                  ||       y )Nr   r   r   r   r   )r   r   getattrr   r   r
   r   r   r    r!   r"   )r)   r#   r$   r&   s       r'   test_interp_fill_functionsr.   &   s     
C!Q=	!BggiGWR FIfc2Ib#4FGGG<<rxx'''>>+++FKK	&# 6	"c8JKKK"g&    valsr   r   z
2019-12-31z
2020-12-31c                     t        d| i      } t        ||             }t        j                  t	        |d      t	        |d            rJ |j
                  j                  d      sJ y )Nr   r   )r   r-   r   r   r
   _mgr_has_no_reference)r0   r)   r#   r&   s       r'   test_interpolate_triggers_copyr4   7   s_    
 
C;	BWR F	&# 6	"c8JKKK;;((+++r/   c                     t        d| i      }t        |d      }|j                  dd       t        j                  |t        |d            sJ |j
                  j                  d      sJ y )Nr   r   Tr   inplacer   )r   r
   r   r   r   r2   r3   )r0   r#   arrs      r'   -test_interpolate_inplace_no_reference_no_copyr9   D   sc     
C;	B
B
CNN(DN1C2s!344477$$Q'''r/   c                    t        ddt        j                  dgi      }|j                         }t	        |d      }|d d  }|j                  dd       t        j                  |t	        |d            rJ t        j                  ||       |j                  j                  d      sJ |j                  j                  d      sJ y )Nr   r   r   r   Tr6   r   )r   r   nanr   r
   r   r   r!   r"   r2   r3   )r0   r#   r$   r8   views        r'   "test_interpolate_inplace_with_refsr=   Q   s     
C!RVVQ(	)BggiG
B
Ca5DNN(DN1 Yr3%7888'4(77$$Q'''99&&q)))r/   dtypefloat64Float64c                    t        ddt        j                  dgi|      }|j                         }t	        |d      }|d d  } t        ||       d       t        j                  |t	        |d            rJ t        j                  ||       |j                  j                  d      sJ |j                  j                  d      sJ y )Nr   r   r   r>   Tr7   r   )r   r   r;   r   r
   r-   r   r!   r"   r2   r3   )r)   r>   r#   r$   r8   r<   s         r'   "test_interp_fill_functions_inplacerD   b   s     
C!RVVQ(	6BggiG
B
Ca5DGBd# Yr3%7888'4(77$$Q'''99&&q)))r/   c                      t        dt        j                  dgdd      } | d   j                  t              | d<   d}t        j                  t        |      5  | j                          d d d        y # 1 sw Y   y xY w)Nr   cr   r   bz.DataFrame cannot interpolate with object dtyper   )	r   r   r;   astypeobjectr   r   	TypeErrorr   )r#   r%   s     r'   )test_interpolate_cannot_with_object_dtyperL   u   sd    	#rvvs+!4	5BgnnV$BsG
:C	y	, 
  s   A22A;c                      t        g ddd      } | d   j                  t              | d<   t        | d      }| j                  j                  d      sJ t        j                  |t        | d            sJ y )N)r   rH   rF   r   rG   r   r   )r   rI   rJ   r
   r2   r3   r   r   )r#   arr_as     r'   %test_interpolate_object_convert_no_oprO   ~   sj    	q1	2BgnnV$BsGb#E 77$$Q'''E9R#5666r/   c                  b   t        dt        j                  dgdd      } t        | d      }d}t	        j
                  t        |      5  | j                  dd	       d d d        | j                  j                  d
      sJ t        j                  |t        | d            sJ y # 1 sw Y   IxY wNr   g      @rG   r   z#Can not interpolate with method=padr   r   Tr6   r   )r   r   r;   r
   r   r   r   r   r2   r3   r   )r#   rN   r%   s      r'   &test_interpolate_object_convert_copiesrR      s    	!RVVS)2	3Bb#E
/C	z	- 3
eT23 77$$Q'''E9R#5666	3 3s   	B%%B.c                     t        dt        j                  dgdd      } | j                         }t	        | d      }| d d  }d}t        j                  t        |      5  | j                  dd	       | j                  j                  d
      sJ t        j                  |t	        | d            rJ 	 d d d        t        j                  ||       y # 1 sw Y    xY wrQ   )r   r   r;   r   r
   r   r   r   r   r2   r3   r   r!   r"   )r#   r$   rN   r<   r%   s        r'   1test_interpolate_downcast_reference_triggers_copyrT      s    	!RVVS)2	3BggiGb#Ea5D
/C	z	- ?
eT2ww((+++##E9R+=>>>>?
 '4(? ?s   ACCc                     t        dt        j                  gdd      } | j                         }| j	                  d      }t        j
                  t        | d      t        |d            sJ |j                  | j                  usJ |j                  | j                  usJ d|j                  d<   t        j                  ||        y )N      ?r   rG         @rH   r   r   r   )r   r   r;   r   fillnar   r
   r   r   r    r!   r"   r#   r$   df2s      r'   test_fillnar\      s    	#rvvQ/	0BggiG
))C.CIb#.	#s0CDDD99BHH$$$;;bjj(((CHHTN'2&r/   c                     t        dt        j                  gdd      } | j                         }| j	                  ddi      }t        j
                  t        | d      t        |d            sJ t        j
                  t        | d      t        |d            rJ d|j                  d<   t        j                  ||        y )	NrV   r   rG   r         Y@rH   r   rX   )
r   r   r;   r   rY   r   r
   r    r!   r"   rZ   s      r'   test_fillna_dictr_      s    	#rvvQ/	0BggiG
))S%L
!CIb#.	#s0CDDD	"c 2Ic34GHHHCHHTN'2&r/   c                     t        dt        j                  gdd      } t        | d      }t        | d      }| j	                  dd       t        j
                  t        | d      |      sJ t        j
                  t        | d      |      sJ | j                  j                  d	      sJ | j                  j                  d      sJ y 
NrV   r   rG   r   rH   rW   TrC   r   )r   r   r;   r
   rY   r   r2   r3   )r#   rN   arr_bs      r'   test_fillna_inplacerc      s    	#rvvQ/	0Bb#Eb#EIIc4I Ib#.666Ib#.66677$$Q'''77$$Q'''r/   c                  4   t        dt        j                  gdd      } | j                         }t	        | d      }t	        | d      }| d d  }| j                  dd       t        j                  t	        | d      |      rJ t        j                  t	        | d      |      sJ |j                  j                  d	      sJ | j                  j                  d	      sJ t        j                  ||       t        ddgdd      }t        j                  | |       y ra   )r   r   r;   r   r
   rY   r   r2   r3   r!   r"   )r#   r$   rN   rb   r<   expecteds         r'   test_fillna_inplace_referencerf      s    	#rvvQ/	0BggiGb#Eb#Ea5DIIc4I 	"c 2E:::Ib#.66699&&q)))77$$Q'''$(Sz23H"h'r/   c                     t        t        dd      dd      } t        j                  | j                  d<   | j                         }| d d  }| j                  t        dd      d	
       t        j                  t        | d      j                  j                  t        |d      j                  j                        rJ t        j                  ||       y )Nr      )startendr   zinterval[float64, right])namer>   r   )leftrightT)valuer7   )r   r	   r   r;   r    r   rY   r   r   r
   rl   valuesr!   assert_series_equal)serser_origr<   s      r'   &test_fillna_interval_inplace_referencers      s    
QA&S8RC &&CHHQKxxzHq6DJJX1A.J=#s  ''4)=)B)B)I)I   4*r/   c                     t        dt        j                  dg      } | j                         }| j	                  i       }t        j
                  t        |       t        |            sJ d| j                  d<   t        j                  ||       y )Nr   r   r^   r   )
r   r   r;   r   rY   r   r
   r    r!   rp   )rq   rr   r&   s      r'   test_fillna_series_empty_argru      sj    
!RVVQ
 CxxzHZZ^FIcNIf,=>>>CHHQK8V,r/   c                      t        dt        j                  dg      } t        |       }| j	                  i d       t        j
                  t        |       |      sJ | j                  j                  d      sJ y )Nr   r   TrC   r   )r   r   r;   r
   rY   r   r2   r3   )rq   r8   s     r'   $test_fillna_series_empty_arg_inplacerw      sa    
!RVVQ
 C
C.CJJr4J IcNC00088%%a(((r/   c                    t        dt        dgdd|       }|j                         }|j                  d      }t	        j
                  t        |d      t        |d            rJ t	        j
                  t        |d      t        |d            sJ |j                  j                  d      rJ t        j                  ||       d|j                  d<   t	        j
                  t        |d      t        |d            rJ |j                  j                  d      sJ |j                  j                  d      sJ t        j                  ||       y )	Nr      rG   rB   r   r   rH   rX   )r   r   r   rY   r   r   r
   r2   r3   r!   r"   r    )any_numeric_ea_and_arrow_dtyper#   r$   r[   s       r'   !test_fillna_ea_noop_shares_memoryr{      s   	!R!,4R	SBggiG
))C.C	"c 2Ic34GHHHIb#.	#s0CDDDxx))!,,,'2&CHHTN	"c 2Ic34GHHH88%%a(((77$$Q''''2&r/   c                    t        dt        dgdd|       }|j                         }|d d  }|j                  dd       t	        j
                  t        |d      t        |d            rJ t	        j
                  t        |d	      t        |d	            sJ |j                  j                  d      rJ |j                  j                  d      rJ d|j                  d
<   t        j                  ||       y )Nr   ry   rG   rB   r   TrC   r   rH   rX   )r   r   r   rY   r   r   r
   r2   r3   r    r!   r"   )rz   r#   r$   r<   s       r'   )test_fillna_inplace_ea_noop_shares_memoryr}     s    	!R!,4R	SBggiGa5DIIc4I 	"c 2IdC4HIIIIb#.	$0DEEEww((+++yy**1---BGGDM'4(r/   c                     t        dt        j                  dgdd      } | j                         }t	        j
                         5  | d   j                  dd       d d d        t	        j                  | |       t	        j
                         5  | dg   j                  dd       d d d        t	        j                  | |       y # 1 sw Y   jxY w# 1 sw Y   ,xY w)Nr   r   rG   r   r   TrC   )r   r   r;   r   r!   raises_chained_assignment_errorrY   r"   )r#   r$   s     r'   test_fillna_chained_assignmentr     s    	!RVVQa0	1BggiG		+	+	- *
3sD)*"g&		+	+	- ,
C5	d+,"g&* *, ,   CCCC)r   r*   r+   c                    t        dt        j                  dgdd      }|j                         }t	        j
                         5   t        |d   |       d       d d d        t	        j                  ||       t	        j
                         5   t        |dg   |       d       d d d        t	        j                  ||       y # 1 sw Y   jxY w# 1 sw Y   ,xY w)Nr   r   rG   r   TrC   )r   r   r;   r   r!   r   r-   r"   )r)   r#   r$   s      r'   #test_interpolate_chained_assignmentr   )  s    	!RVVQa0	1BggiG		+	+	- -3t,-"g&		+	+	- / C5	4 ./"g&- -/ /r   )(numpyr   r   pandasr   r   r   r   r   r   r	   pandas._testing_testingr!   pandas.tests.copy_view.utilr
   markparametrizer(   r.   r;   r4   r9   r=   rD   rL   rO   rR   rT   r\   r_   rc   rf   rs   ru   rw   r{   r}   r   r    r/   r'   <module>r      s        1 #?@+ A+( '7!34' 5'  '7!34
a^i5sIl<STU, 5, 
a^i5sIl<STU(( 
a^i5sIl<STU** '7!349i"89* : 5*"77)
'	'	(("+"-)'$)	' !BC	' D	'r/   