
    Owg;              
          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
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!ej$                  j'                  dddg      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
ArrowDtype	DataFrameIntervalNaTSeries	Timestampinterval_rangeoption_context)	get_arraymethod)padnearestlinearc                 6   t        dddgi      }|j                         }d }|dk(  rt        }d}t        j                  ||      5  |j                  |      }d d d        | r,t        j                  t        d      t        |d            s.J t        j                  t        d      t        |d            rJ d|j                  d	<   | r,t        j                  t        |d      t        |d            rJ t        j                  ||       y # 1 sw Y   xY w)
Na      r   3DataFrame.interpolate with method=pad is deprecatedmatchr   d   r   r   )r   copyFutureWarningtmassert_produces_warninginterpolatenpshares_memoryr   ilocassert_frame_equal)using_copy_on_writer   dfdf_origwarnmsgresults          `/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/copy_view/test_interp_fillna.pytest_interpolate_no_opr+      s    	C!Q=	!BggiGD
?C		#	#D	4 /v./ 	&# 6	"c8JKKK##Ifc$:Ib#<NOOOFKK##Ifc$:Ib#<NOOO"g&/ /s   DDfuncffillbfillc                    t        dddgi      }|j                         } t        ||             }| r,t        j                  t        |d      t        |d            s.J t        j                  t        |d      t        |d            rJ d|j                  d<   | r,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)   s        r*   test_interp_fill_functionsr1   +   s     
C!Q=	!BggiGWR F	&# 6	"c8JKKK##Ifc$:Ib#<NOOOFKK##Ifc$:Ib#<NOOO"g&    valsr   r   z
2019-12-31z
2020-12-31c                     t        d|i      } t        ||             }t        j                  t	        |d      t	        |d            rJ | r|j
                  j                  d      sJ y y )Nr   r   )r   r0   r    r!   r   _mgr_has_no_reference)r$   r3   r,   r%   r)   s        r*   test_interpolate_triggers_copyr7   ?   sg    
 
C;	BWR F	&# 6	"c8JKKK{{,,Q/// r2   c                     t        d|i      }t        |d      }|j                  dd       t        j                  |t        |d            sJ | r|j
                  j                  d      sJ y y )Nr   r   Tr   inplacer   )r   r   r   r    r!   r5   r6   )r$   r3   r%   arrs       r*   -test_interpolate_inplace_no_reference_no_copyr<   M   sk     
C;	B
B
CNN(DN1C2s!3444ww((+++ r2   c                 *   t        ddt        j                  dgi      }|j                         }t	        |d      }|d d  }t        j                  |      5  |j                  dd       d d d        | rst        j                  |t	        |d            rJ t        j                  ||       |j                  j                  d      sJ |j                  j                  d      sJ y t        j                  |t	        |d            sJ y # 1 sw Y   xY w)Nr   r   r   r   Tr9   r   )r   r    nanr   r   r   assert_cow_warningr   r!   r#   r5   r6   )r$   r3   warn_copy_on_writer%   r&   r;   views          r*   "test_interpolate_inplace_with_refsrB   [   s     
C!RVVQ(	)BggiG
B
Ca5D			1	2 6
h56  ##C2s);<<<
gt,ww((+++yy**1---Yr3%78886 6s   D		Ddtypefloat64Float64c                 F   t        ddt        j                  dgi|      }|j                         }t	        |d      }|d d  }t        j                  |xr |dk(        5   t        ||      d       d d d        | rst        j                  |t	        |d            rJ t        j                  ||       |j                  j                  d      sJ |j                  j                  d      sJ y t        j                  |t	        |d            |dk(  u sJ y # 1 sw Y   xY w)	Nr   r   r   rC   rD   Tr:   r   )r   r    r>   r   r   r   r?   r0   r!   r#   r5   r6   )r$   r,   r@   rC   r%   r&   r;   rA   s           r*   "test_interp_fill_functions_inplacerI   q   s	    
C!RVVQ(	6BggiG
B
Ca5D			1Hey6H	I (D$'(  ##C2s);<<<
gt,ww((+++yy**1---Yr3%78Ui=OPPP( (s   DD c                 V   t        dt        j                  dgdd      }|j                         }d}t	        j
                  t        |      5  |j                  d      }d d d        | r,t        j                  t        d      t        |d            s.J t        j                  t        d      t        |d            rJ t        d	      |j                  d
<   | r,t        j                  t        |d      t        |d            rJ t	        j                  ||       y # 1 sw Y   xY w)Nr   cr   r   bz'DataFrame.interpolate with object dtyper   r   r   z
2021-12-31r   )r   r    r>   r   r   r   r   r   r!   r   r	   r"   r#   )r$   r%   r&   r(   r)   s        r*   $test_interpolate_cleaned_fill_methodrN      s    	#rvvs+!4	5BggiG
3C		#	#M	= 1x01 	&# 6	"c8JKKK##Ifc$:Ib#<NOOO!,/FKK##Ifc$:Ib#<NOOO"g&1 1s   DD(c                 J   t        g ddd      }t        |d      }d}t        j                  t        |      5  |j                  dd	       d d d        | r@|j                  j                  d
      sJ t        j                  |t        |d            sJ y y # 1 sw Y   LxY w)N)r   rM   rK   r   rL   r   r   r   r   Tr9   r   )
r   r   r   r   r   r   r5   r6   r    r!   r$   r%   arr_ar(   s       r*   %test_interpolate_object_convert_no_oprR      s    	q1	2Bb#E
?C		#	#M	= 3
eT23 ww((+++yS'9::: 	3 3s   BB"c                 h   t        t        ddgt              dd      }t        |d      }d}t	        j
                  t        |      5  |j                  dd	
       d d d        | r@|j                  j                  d      sJ t        j                  |t        |d            rJ y y # 1 sw Y   LxY w)Nr   r   rG   rL   r   r   r   r   Tr9   r   )r   r   objectr   r   r   r   r   r5   r6   r    r!   rP   s       r*   &test_interpolate_object_convert_copiesrU      s    	Af5A>	?Bb#E
?C		#	#M	= 3
eT23 ww((+++##E9R+=>>>> 3 3s   	B((B1c                 h   t        dt        j                  dgdd      }t        |d      }d}t	        j
                  t        |      5  |j                  ddd	
       d d d        | r|j                  j                  d      sJ t        j                  |t        |d            sJ y # 1 sw Y   KxY wNr   g      @rL   r   r   r   r   Tinfer)r   r:   downcastr   )r   r    r>   r   r   r   r   r   r5   r6   r!   rP   s       r*   test_interpolate_downcastrZ      s    	!RVVS)2	3Bb#E
?C		#	#M	= E
eTGDE ww((+++E9R#5666E Es   	B((B1c                    t        dt        j                  dgdd      }|j                         }t	        |d      }|d d  }d}t        j                  t        |      5  |j                  ddd	
       d d d        | rV|j                  j                  d      sJ t        j                  |t	        |d            rJ t        j                  ||       y t        j                  ||       y # 1 sw Y   xxY wrW   )r   r    r>   r   r   r   r   r   r   r5   r6   r!   r#   )r$   r%   r&   rQ   rA   r(   s         r*   1test_interpolate_downcast_reference_triggers_copyr\      s    	!RVVS)2	3BggiGb#Ea5D
?C		#	#M	= E
eTGDE ww((+++##E9R+=>>>
gt,
b$'E Es   C**C3c                    t        dt        j                  gdd      }|j                         }|j	                  d      }| r,t        j
                  t        |d      t        |d            s.J t        j
                  t        |d      t        |d            rJ d|j                  d<   t        j                  ||       y )N      ?r   rL         @rM   r   r   r   
r   r    r>   r   fillnar!   r   r"   r   r#   r$   r%   r&   df2s       r*   test_fillnare      s    	#rvvQ/	0BggiG
))C.C	"c 2Ic34GHHH##Ib#$6	#s8KLLLCHHTN'2&r2   c                    t        dt        j                  gdd      }|j                         }|j	                  ddi      }| rXt        j
                  t        |d      t        |d            sJ t        j
                  t        |d      t        |d            r.J t        j
                  t        |d      t        |d            rJ d|j                  d<   t        j                  ||       y )	Nr^   r   rL   r         Y@rM   r   r`   ra   rc   s       r*   test_fillna_dictrh      s    	#rvvQ/	0BggiG
))S%L
!C	"c 2Ic34GHHH##Ib#$6	#s8KLLL##Ib#$6	#s8KLLLCHHTN'2&r2   rY   Fc                    t        dt        j                  gdd      }t        |d      }t        |d      }d}t	        j
                  t        |      5  |j                  dd	|
       d d d        t        j                  t        |d      |      sJ t        j                  t        |d      |      sJ | r;|j                  j                  d      sJ |j                  j                  d      sJ y y # 1 sw Y   xY w)Nr^   r   rL   r   rM   z.The 'downcast' keyword in fillna is deprecatedr   r_   T)r:   rY   r   )r   r    r>   r   r   r   r   rb   r!   r5   r6   )r$   rY   r%   rQ   arr_br(   s         r*   test_fillna_inplacerk      s    	#rvvQ/	0Bb#Eb#E
:C		#	#M	= 8
		#th	78Ib#.666Ib#.666ww((+++ww((+++ 	8 8s   C33C<c                    t        dt        j                  gdd      }|j                         }t	        |d      }t	        |d      }|d d  }t        j                  |      5  |j                  dd       d d d        | rt        j                  t	        |d      |      rJ t        j                  t	        |d      |      sJ |j                  j                  d	      sJ |j                  j                  d	      sJ t        j                  ||       nDt        j                  t	        |d      |      sJ t        j                  t	        |d      |      sJ t        ddgdd      }t        j                  ||       y # 1 sw Y   xY w)
Nr^   r   rL   r   rM   r_   TrH   r   )r   r    r>   r   r   r   r?   rb   r!   r5   r6   r#   )r$   r@   r%   r&   rQ   rj   rA   expecteds           r*   test_fillna_inplace_referencern     sS   	#rvvQ/	0BggiGb#Eb#Ea5D			1	2 %
		#t	$%##Ib#$6>>>	"c 2E:::yy**1---ww((+++
dG,	"c 2E:::	"c 2E:::Sz23H"h'% %s   !E??F	c                    t        t        dd      dd      }t        j                  |j                  d<   |j                         }|d d  }t        j                  |      5  |j                  t        dd      d	
       d d d        | rkt        j                  t        |d      j                  j                  t        |d      j                  j                        rJ t        j                  ||       y t        j                  t        |d      j                  j                  t        |d      j                  j                        sJ y # 1 sw Y   xY w)Nr      )startendr   zinterval[float64, right])namerC   r   )leftrightT)valuer:   )r   r
   r    r>   r"   r   r   r?   rb   r   r!   r   rt   valuesassert_series_equal)r$   r@   serser_origrA   s        r*   &test_fillna_interval_inplace_referencer{     s   
QA&S8RC &&CHHQKxxzHq6D			1	2 B

q2D
AB ##c3$$++YtS-A-F-F-M-M
 	
 
 	tX.c3$$++YtS-A-F-F-M-M
 	
 
B Bs   !E

Ec                 t   t        dt        j                  dg      }|j                         }|j	                  i       }| r*t        j
                  t        |      t        |            s,J t        j
                  t        |      t        |            rJ d|j                  d<   t        j                  ||       y )Nr   r   rg   r   )
r   r    r>   r   rb   r!   r   r"   r   rx   )r$   ry   rz   r)   s       r*   test_fillna_series_empty_argr}   /  s    
!RVVQ
 CxxzHZZ^F	#	&0ABBB##IcNIf4EFFFCHHQK8V,r2   c                     t        dt        j                  dg      }t        |      }|j	                  i d       t        j
                  t        |      |      sJ | r|j                  j                  d      sJ y y )Nr   r   TrH   r   )r   r    r>   r   rb   r!   r5   r6   )r$   ry   r;   s      r*   $test_fillna_series_empty_arg_inplacer   =  si    
!RVVQ
 C
C.CJJr4J IcNC000xx))!,,, r2   c                    t        dt        dgdd|      }|j                         }|j                  d      }t	        j
                  t        |d      t        |d            rJ | rIt	        j
                  t        |d      t        |d            sJ |j                  j                  d      rJ t        |j                  j                  d   t              r,t	        j
                  t        |d      t        |d            s.J t	        j
                  t        |d      t        |d            rJ t        j                  ||       d|j                  d	<   | rft	        j
                  t        |d      t        |d            rJ |j                  j                  d      sJ |j                  j                  d      sJ t        j                  ||       y )
Nr      rL   rG   r   r   rM   r   r`   )r   r   r   rb   r    r!   r   r5   r6   
isinstancedtypesr"   r   r   r#   )r$   any_numeric_ea_and_arrow_dtyper%   r&   rd   s        r*   !test_fillna_ea_noop_shares_memoryr   G  sz    
!R!,4R	SBggiG
))C.C	"c 2Ic34GHHH	"c 2Ic34GHHH88--a000	BIINN1%z	2	"c 2Ic34GHHH##Ib#$6	#s8KLLL'2&CHHTN##Ib#$6	#s8KLLLxx))!,,,ww((+++'2&r2   c                    t        dt        dgdd|      }|j                         }|d d  }t        j                  |      5  |j                  dd       d d d        t        |d   j                  t              s| r,t        j                  t        |d      t        |d            r.J t        j                  t        |d      t        |d            sJ t        j                  t        |d	      t        |d	            sJ | r:|j                  j                  d      rJ |j                  j                  d      rJ t        j                  |xr d
|v      5  d|j                  d<   d d d        t        |d   j                  t              s| rt        j                  ||       y t        j                  ||       y # 1 sw Y   ixY w# 1 sw Y   cxY w)Nr   r   rL   rG   r   TrH   r   rM   pyarrowr`   )r   r   r   r   r?   rb   r   rC   r   r    r!   r   r5   r6   r"   r#   )r$   r@   r   r%   r&   rA   s         r*   )test_fillna_inplace_ea_noop_shares_memoryr   c  s    
!R!,4R	SBggiGa5D			1	2 %
		#t	$% "S'--,0C##Ib#$6	$8LMMM 	"c 2IdC4HIIIIb#.	$0DEEE77,,Q///99..q111			Ny0NN
   "S'--,0C
gt, 	b$'-% % s   F=G
=G
Gc                    t        dt        j                  dgdd      }|j                         }| rt	        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 t	        j                  d       5  t        dd       5  |dg   j                  dd       d d d        d d d        t	        j                  d       5  t        dd       5  ||j                  d	kD     j                  dd       d d d        d d d        t	        j                  t        d
      5  |d   j                  dd       d d d        y # 1 sw Y   FxY w# 1 sw Y   	xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ~xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nr   r   rL   r   r   TrH   mode.chained_assignmentrp   inplace methodr   )r   r    r>   r   r   raises_chained_assignment_errorrb   r#   r   r   r   r   )r$   r%   r&   s      r*   test_fillna_chained_assignmentr     s   	!RVVQa0	1BggiG//1 	.sGNN3N-	.
b'*//1 	0uIS$/	0
b'*''- 	4 94@ 4C5	  d 34	4 ''- 	7 94@ 7244!8##C#67	7 ''=MN 	.sGNN3N-	. 	.!	. 	.	0 	0
4 4	4 	4
7 7	7 	7	. 	.sl   F!F.G(F; G%G2$GGG+!F+.F8;G	 GGG	GG(+G4)r   r-   r.   c                    t        dt        j                  dgdd      }|j                         }| rt	        j
                         5   t        |d   |      d       d d d        t	        j                  ||       t	        j
                         5   t        |dg   |      d       d d d        t	        j                  ||       y t	        j                  t        d      5   t        |d   |      d       d d d        t	        j                  d       5  t        d	d       5   t        |dg   |      d       d d d        d d d        t	        j                  d       5  t        d	d       5   t        ||d   dkD     |      d       d d d        d d d        y # 1 sw Y   ?xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   PxY w# 1 sw Y   y xY w)
Nr   r   rL   r   TrH   r   r   r   )r   r    r>   r   r   r   r0   r#   r   r   r   )r$   r,   r%   r&   s       r*   #test_interpolate_chained_assignmentr     s   	!RVVQa0	1BggiG//1 	1"GBsGT"40	1
b'*//1 	3$GBuIt$T2	3
b'*''=MN 	1"GBsGT"40	1 ''- 	7 94@ 7(C5	4(67	7 ''- 	= 94@ =.2c7Q;.t<=	= 	=	1 	1	3 	3	1 	17 7	7 	7
= =	= 	=sl   FF'!F4G"G :GG$,G	G$F$'F14F= G		GGG!	G$$G-)+numpyr    pytestpandasr   r   r   r   r   r   r	   r
   r   pandas._testing_testingr   pandas.tests.copy_view.utilr   markparametrizer+   r1   r>   r7   r<   rB   rI   rN   rR   rU   rZ   r\   re   rh   rk   rn   r{   r}   r   r   r   r   r    r2   r*   <module>r      sI    
 
 
  1 #?@' A'. '7!34' 5'& '7!34
a^i5sIl<STU0 50 
a^i5sIl<STU,, 
a^i5sIl<STU99& '7!349i"89Q : 5Q.'*
;	?	7("'' dE]3, 4,(,
.--'8(>.0 !BC= D=r2   