
    h<              
       $   d dl Zd dlZd dlm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j0                  dg ed      e
 ed      gg      d               Zej(                  j+                  ddej0                  dg ed      e
 ed      gg      d        Zej(                  j+                  ddej0                  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)WARNING_CHECK_DISABLED)	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          ND:\jyotish\venv\Lib\site-packages\pandas/tests/copy_view/test_interp_fillna.pytest_interpolate_no_opr,      s    	C!Q=	!BggiGD
?C		#	#D	4v. 
5 	&# 6	"c8JKKK##Ifc$:Ib#<NOOOFKK##Ifc$:Ib#<NOOO"g& 
5	4s   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_functionsr2   -   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   r1   r!   r"   r   _mgr_has_no_reference)r%   r4   r-   r&   r*   s        r+   test_interpolate_triggers_copyr8   A   sg    
 
C;	BWR F	&# 6	"c8JKKK{{,,Q/// r3   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"   r6   r7   )r%   r4   r&   arrs       r+   -test_interpolate_inplace_no_reference_no_copyr=   O   sk     
C;	B
B
CNN(DN1C2s!3444ww((+++ r3   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   Tr:   r   )r   r!   nanr   r   r   assert_cow_warningr    r"   r$   r6   r7   )r%   r4   warn_copy_on_writer&   r'   r<   views          r+   "test_interpolate_inplace_with_refsrC   ]   s     
C!RVVQ(	)BggiG
B
Ca5D			1	2
h5 
3  ##C2s);<<<
gt,ww((+++yy**1---Yr3%7888 
3	2s   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   rD   rE   Tr;   r   )r   r!   r?   r   r   r   r@   r1   r"   r$   r6   r7   )r%   r-   rA   rD   r&   r'   r<   rB   s           r+   "test_interp_fill_functions_inplacerJ   s   s    
C!RVVQ(	6BggiG
B
Ca5D			1Hey6H	ID$' 
J  ##C2s);<<<
gt,ww((+++yy**1---Yr3%78Ui=OPPP 
J	Is   DD c                    t        dt        j                  dgdd      }|d   j                  t              |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?   astypeobjectr   r   r   r   r    r"   r   r
   r#   r$   )r%   r&   r'   r)   r*   s        r+   )test_interpolate_cannot_with_object_dtyperQ      s   	#rvvs+!4	5BgnnV$BsGggiG
3C		#	#M	=x0 
> 	&# 6	"c8JKKK##Ifc$:Ib#<NOOO!,/FKK##Ifc$:Ib#<NOOO"g& 
>	=s   (D::Ec                    t        g ddd      }|d   j                  t              |d<   t        |d      }d}t	        j
                  t        |      5  |j                  dd	       d d d        | rC|s@|j                  j                  d
      sJ t        j                  |t        |d            sJ y y y # 1 sw Y   OxY w)N)r   rN   rL   r   rM   r   r   r   r   Tr:   r   )r   rO   rP   r   r   r   r   r    r6   r7   r!   r"   )r%   using_infer_stringr&   arr_ar)   s        r+   %test_interpolate_object_convert_no_oprU      s    	q1	2BgnnV$BsGb#E
?C		#	#M	=
eT2 
> #5ww((+++yS'9::: $6	 
>	=s   B77C 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   rH   rM   r   r   r   r   Tr:   r   )r   r	   rP   r   r   r   r   r    r6   r7   r!   r"   r%   r&   rT   r)   s       r+   &test_interpolate_object_convert_copiesrX      s    	Af5A>	?Bb#E
?C		#	#M	=
eT2 
> ww((+++##E9R+=>>>>  
>	=s   	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      @rM   r   r   r   r   Tinfer)r   r;   downcastr   )r   r!   r?   r   r   r   r   r    r6   r7   r"   rW   s       r+   test_interpolate_downcastr]      s    	!RVVS)2	3Bb#E
?C		#	#M	=
eTGD 
> ww((+++E9R#5666 
>	=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rZ   )r   r!   r?   r   r   r   r   r   r    r6   r7   r"   r$   )r%   r&   r'   rT   rB   r)   s         r+   1test_interpolate_downcast_reference_triggers_copyr_      s    	!RVVS)2	3BggiGb#Ea5D
?C		#	#M	=
eTGD 
> ww((+++##E9R+=>>>
gt,
b$' 
>	=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   rM         @rN   r   r   r   
r   r!   r?   r   fillnar"   r   r#   r   r$   r%   r&   r'   df2s       r+   test_fillnarh      s    	#rvvQ/	0BggiG
))C.C	"c 2Ic34GHHH##Ib#$6	#s8KLLLCHHTN'2&r3   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 )	Nra   r   rM   r         Y@rN   r   rc   rd   rf   s       r+   test_fillna_dictrk      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&r3   r\   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)Nra   r   rM   r   rN   z.The 'downcast' keyword in fillna is deprecatedr   rb   T)r;   r\   r   )r   r!   r?   r   r   r   r   re   r"   r6   r7   )r%   r\   r&   rT   arr_br)   s         r+   test_fillna_inplacern      s    	#rvvQ/	0Bb#Eb#E
:C		#	#M	=
		#th	7 
>Ib#.666Ib#.666ww((+++ww((+++ 	 
>	=s   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)
Nra   r   rM   r   rN   rb   TrI   r   )r   r!   r?   r   r   r   r@   re   r"   r6   r7   r$   )r%   rA   r&   r'   rT   rm   rB   expecteds           r+   test_fillna_inplace_referencerq     sL   	#rvvQ/	0BggiGb#Eb#Ea5D			1	2
		#t	$ 
3##Ib#$6>>>	"c 2E:::yy**1---ww((+++
dG,	"c 2E:::	"c 2E:::Sz23H"h' 
3	2s   !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])namerD   r   )leftrightT)valuer;   )r	   r   r!   r?   r#   r   r   r@   re   r   r"   r   rw   valuesassert_series_equal)r%   rA   serser_origrB   s        r+   &test_fillna_interval_inplace_referencer~     s   
QA&S8RC &&CHHQKxxzHq6D			1	2

q2D
A 
3 ##c3$$++YtS-A-F-F-M-M
 	
 
 	tX.c3$$++YtS-A-F-F-M-M
 	
 
 
3	2s   !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   rj   r   )
r	   r!   r?   r   re   r"   r   r#   r   r{   )r%   r|   r}   r*   s       r+   test_fillna_series_empty_argr   2  s    
!RVVQ
 CxxzHZZ^F	#	&0ABBB##IcNIf4EFFFCHHQK8V,r3   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   TrI   r   )r	   r!   r?   r   re   r"   r6   r7   )r%   r|   r<   s      r+   $test_fillna_series_empty_arg_inplacer   @  si    
!RVVQ
 C
C.CJJr4J IcNC000xx))!,,, r3   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      rM   rH   r   r   rN   r   rc   )r   r   r   re   r!   r"   r   r6   r7   
isinstancedtypesr#   r   r   r$   )r%   any_numeric_ea_and_arrow_dtyper&   r'   rg   s        r+   !test_fillna_ea_noop_shares_memoryr   J  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&r3   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   rM   rH   r   TrI   r   rN   pyarrowrc   )r   r   r   r   r@   re   r   rD   r   r!   r"   r   r6   r7   r#   r$   )r%   rA   r   r&   r'   rB   s         r+   )test_fillna_inplace_ea_noop_shares_memoryr   f  s    
!R!,4R	SBggiGa5D			1	2
		#t	$ 
3 "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$'- 
3	2
 
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        st        nd d
      5  |d   j                  dd       d d d        y # 1 sw Y   Nx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   rM   r   r   TrI   mode.chained_assignmentrs   inplace methodr   )r   r!   r?   r   r   raises_chained_assignment_errorre   r$   r   r   r   r   r   )r%   r&   r'   s      r+   test_fillna_chained_assignmentr     s   	!RVVQa0	1BggiG//1sGNN3N- 2
b'*//1uIS$/ 2
b'*''- 94@C5	  d 3 A . ''- 94@244!8##C#6 A . ''!7MT"
 sGNN3N-	
 
! 21 21
 A@ .-
 A@ .-
 
sl   F)F6G(G G%G'2$GG'	G3)F36G G	GGG$	 G''G03G<)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        st        nd 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   Gx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   rM   r   TrI   r   r   r   )r   r!   r?   r   r   r   r1   r$   r   r   r   r   )r%   r-   r&   r'   s       r+   #test_interpolate_chained_assignmentr     s   	!RVVQa0	1BggiG//1"GBsGT"40 2
b'*//1$GBuIt$T2 2
b'*''!7MT"
 #GBsGT"40	
 ''- 94@(C5	4(6 A . ''- 94@.2c7Q;.t< A .-% 21 21
 
 A@ .-
 A@ .-sl   F"F/)F<G*GG'G,4G G,"F,/F9<GG	GG G)	%G,,G5)-numpyr!   pytestpandas.compatr   pandasr   r   r   r   r   r	   r
   r   r   pandas._testing_testingr   pandas.tests.copy_view.utilr   markparametrizer,   r2   r?   r8   r=   rC   rJ   rQ   rU   rX   r]   r_   rh   rk   rn   rq   r~   r   r   r   r   r   r    r3   r+   <module>r      sL     0
 
 
  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(>.6 !BC= D=r3   