
     	i<              
       T   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                            dg d          d             Zej                            dd	d
g          d             Zej                            dd	d
g          ej                            ddej        dg ed          e
 ed          gg          d                         Zej                            ddej        dg ed          e
 ed          gg          d             Zej                            ddej        dg ed          e
 ed          gg          d             Zej                            dd	d
g          ej                            dddg          d                         Zd Zd Zd Zd Z d Z!d Z"d Z#ej                            ddd g          d!             Z$d" Z%d# Z&d$ Z'd% Z(d& Z)d' Z*d( Z+ej                            dg d)          d*             Z,dS )+    N)WARNING_CHECK_DISABLED)	NA
ArrowDtype	DataFrameIntervalNaTSeries	Timestampinterval_rangeoption_context)	get_arraymethod)padnearestlinearc                 x   t          dddgi          }|                                }d }|dk    rt          }d}t          j        ||          5  |                    |          }d d d            n# 1 swxY w Y   | r4t          j        t          |d          t          |d                    sJ n3t          j        t          |d          t          |d                    rJ d|j	        d	<   | r3t          j        t          |d          t          |d                    rJ t          j
        ||           d S )
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          a/srv/django_bis/venv311/lib/python3.11/site-packages/pandas/tests/copy_view/test_interp_fillna.pytest_interpolate_no_opr,      s}   	C!Q=	!	!BggiiGD
?C		#D	4	4	4 / /v../ / / / / / / / / / / / / / /  P	&# 6 6	"c8J8JKKKKKK#Ifc$:$:Ib#<N<NOOOOOFK P#Ifc$:$:Ib#<N<NOOOOO"g&&&&&s   A22A69A6funcffillbfillc                    t          dddgi          }|                                } t          ||                      }| r4t          j        t          |d          t          |d                    sJ n3t          j        t          |d          t          |d                    rJ d|j        d<   | r3t          j        t          |d          t          |d                    rJ t          j        ||           d S )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ggiiGWR  F P	&# 6 6	"c8J8JKKKKKK#Ifc$:$:Ib#<N<NOOOOOFK P#Ifc$:$:Ib#<N<NOO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                            d          sJ d S d S )Nr   r   )r   r1   r!   r"   r   _mgr_has_no_reference)r%   r4   r-   r&   r*   s        r+   test_interpolate_triggers_copyr8   A   s    
 
C;		BWR  F	&# 6 6	"c8J8JKKKKK 0{,,Q/////0 0//r3   c                     t          d|i          }t          |d          }|                    dd           t          j        |t          |d                    sJ | r|j                            d          sJ d S d S )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   s     
C;		B
B

CNN(DN111C2s!3!344444 ,w((+++++, ,++r3   c                 Z   t          ddt          j        dgi          }|                                }t	          |d          }|d d          }t          j        |          5  |                    dd           d d d            n# 1 swxY w Y   | rtt          j        |t	          |d                    rJ t          j	        ||           |j
                            d          sJ |j
                            d          sJ d S t          j        |t	          |d                    sJ d S )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   ]   sm    
C!RVQ(	)	)BggiiG
B

Caaa5D		1	2	2 6 6
h5556 6 6 6 6 6 6 6 6 6 6 6 6 6 6  9 #C2s););<<<<<
gt,,,w((+++++y**1-------Yr3%7%78888888s   !BB	B	dtypefloat64Float64c                 |   t          ddt          j        dgi|          }|                                }t	          |d          }|d d          }t          j        |o|dk              5   t          ||          d           d d d            n# 1 swxY w Y   | rtt          j        |t	          |d                    rJ t          j	        ||           |j
                            d          sJ |j
                            d          sJ d S t          j        |t	          |d                    |dk    u sJ d S )	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!RVQ(	6	6	6BggiiG
B

Caaa5D		1Hey6H	I	I ( (D$''''( ( ( ( ( ( ( ( ( ( ( ( ( ( (  Q #C2s););<<<<<
gt,,,w((+++++y**1-------Yr3%7%788Ui=OPPPPPPs   )BBBc                    t          dt          j        dgdd          }|d                             t                    |d<   |                                }d}t          j        t          |          5  |	                    d          }d d d            n# 1 swxY w Y   | r4t          j
        t          |d          t          |d                    sJ n3t          j
        t          |d          t          |d                    rJ t          d	          |j        d
<   | r3t          j
        t          |d          t          |d                    rJ t          j        ||           d S )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   	#rvs+!44	5	5BgnnV$$BsGggiiG
3C		#M	=	=	= 1 1x001 1 1 1 1 1 1 1 1 1 1 1 1 1 1  P	&# 6 6	"c8J8JKKKKKK#Ifc$:$:Ib#<N<NOOOOO!,//FK P#Ifc$:$:Ib#<N<NOOOOO"g&&&&&s   4BBBc                    t          g ddd          }|d                             t                    |d<   t          |d          }d}t	          j        t          |          5  |                    dd	           d d d            n# 1 swxY w Y   | rC|sC|j        	                    d
          sJ t          j        |t          |d                    sJ d S d S d S )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      s4   	q11	2	2BgnnV$$BsGb#E
?C		#M	=	=	= 3 3
eT2223 3 3 3 3 3 3 3 3 3 3 3 3 3 3  ;#5 ;w((+++++yS'9'9:::::; ; ; ;::s   %B		BBc                    t          t          ddgt                    dd          }t          |d          }d}t	          j        t          |          5  |                    dd	
           d d d            n# 1 swxY w Y   | rA|j        	                    d          sJ t          j        |t          |d                    rJ d S d S )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555A>>	?	?Bb#E
?C		#M	=	=	= 3 3
eT2223 3 3 3 3 3 3 3 3 3 3 3 3 3 3  ?w((+++++#E9R+=+=>>>>>? ?>>s   A::A>A>c                    t          dt          j        dgdd          }t          |d          }d}t	          j        t          |          5  |                    ddd	
           d d d            n# 1 swxY w Y   | r|j        	                    d          sJ t          j
        |t          |d                    sJ d S 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   	!RVS)22	3	3Bb#E
?C		#M	=	=	= E E
eTGDDDE E E E E E E E E E E E E E E  ,w((+++++E9R#5#56666666s   A22A69A6c                    t          dt          j        dgdd          }|                                }t	          |d          }|d d          }d}t          j        t          |          5  |                    ddd	
           d d d            n# 1 swxY w Y   | rX|j	        
                    d          sJ t          j        |t	          |d                    rJ t          j        ||           d S t          j        ||           d S 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]   	!RVS)22	3	3BggiiGb#Eaaa5D
?C		#M	=	=	= E E
eTGDDDE E E E E E E E E E E E E E E  (w((+++++#E9R+=+=>>>>>
gt,,,,,
b$'''''s   +BBBc                    t          dt          j        gdd          }|                                }|                    d          }| r4t          j        t          |d          t          |d                    sJ n3t          j        t          |d          t          |d                    rJ d|j        d<   t          j	        ||           d S )N      ?r   rM         @rN   r   r   r   
r   r!   r?   r   fillnar"   r   r#   r   r$   r%   r&   r'   df2s       r+   test_fillnarh      s    	#rvQ//	0	0BggiiG
))C..C M	"c 2 2Ic34G4GHHHHHH#Ib#$6$6	#s8K8KLLLLLCHTN'2&&&&&r3   c                    t          dt          j        gdd          }|                                }|                    ddi          }| rgt          j        t          |d          t          |d                    sJ t          j        t          |d          t          |d                    rJ n3t          j        t          |d          t          |d                    rJ d|j        d<   t          j	        ||           d S )	Nra   r   rM   r         Y@rN   r   rc   rd   rf   s       r+   test_fillna_dictrk      s    	#rvQ//	0	0BggiiG
))S%L
!
!C M	"c 2 2Ic34G4GHHHHH#Ib#$6$6	#s8K8KLLLLLL#Ib#$6$6	#s8K8KLLLLLCHTN'2&&&&&r3   r\   Fc                 (   t          dt          j        gdd          }t          |d          }t          |d          }d}t	          j        t          |          5  |                    dd	|
           d d d            n# 1 swxY w Y   t          j        t          |d          |          sJ t          j        t          |d          |          sJ | r8|j	        
                    d          sJ |j	        
                    d          sJ d S d S )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      sY   	#rvQ//	0	0Bb#Eb#E
:C		#M	=	=	= 8 8
		#th	7778 8 8 8 8 8 8 8 8 8 8 8 8 8 8Ib#..66666Ib#..66666 ,w((+++++w((+++++, ,++s   BBBc                 ^   t          dt          j        gdd          }|                                }t	          |d          }t	          |d          }|d d          }t          j        |          5  |                    dd           d d d            n# 1 swxY w Y   | rt          j        t	          |d          |          rJ t          j        t	          |d          |          sJ |j	        
                    d	          sJ |j	        
                    d	          sJ t          j        ||           nJt          j        t	          |d          |          sJ t          j        t	          |d          |          sJ t          ddgdd          }t          j        ||           d S )
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     s   	#rvQ//	0	0BggiiGb#Eb#Eaaa5D		1	2	2 % %
		#t	$$$% % % % % % % % % % % % % % % ;#Ib#$6$6>>>>>	"c 2 2E:::::y**1-----w((+++++
dG,,,,	"c 2 2E:::::	"c 2 2E:::::Sz2233H"h'''''s   1BBBc                    t          t          dd          dd          }t          j        |j        d<   |                                }|d d          }t          j        |          5  |                    t          dd          d	
           d d d            n# 1 swxY w Y   | r^t          j
        t          |d          j        j        t          |d          j        j                  rJ t          j        ||           d S t          j
        t          |d          j        j        t          |d          j        j                  sJ d S )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 &CHQKxxzzHqqq6D		1	2	2 B B

q222D
AAAB B B B B B B B B B B B B B B  
#c3$+YtS-A-A-F-M
 
 	
 	
 
 	tX.....c3$+YtS-A-A-F-M
 
 	
 	
 
 	
 	
s   ('BB"Bc                    t          dt          j        dg          }|                                }|                    i           }| r2t          j        t          |          t          |                    sJ n1t          j        t          |          t          |                    rJ d|j        d<   t          j	        ||           d S )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    
!RVQ
 
 CxxzzHZZ^^F G	#	&0A0ABBBBBB#IcNNIf4E4EFFFFFCHQK8V,,,,,r3   c                    t          dt          j        dg          }t          |          }|                    i d           t          j        t          |          |          sJ | r|j                            d          sJ d S d S )Nr   r   TrI   r   )r	   r!   r?   r   re   r"   r6   r7   )r%   r|   r<   s      r+   $test_fillna_series_empty_arg_inplacer   @  s    
!RVQ
 
 C
C..CJJr4J   IcNNC00000 -x))!,,,,,- -,,r3   c                    t          dt          dgdd|          }|                                }|                    d          }t	          j        t          |d          t          |d                    rJ | rPt	          j        t          |d          t          |d                    sJ |j                            d          rJ nt          |j
        j        d         t                    r4t	          j        t          |d          t          |d                    sJ n3t	          j        t          |d          t          |d                    rJ t          j        ||           d|j        d	<   | rkt	          j        t          |d          t          |d                    rJ |j                            d          sJ |j                            d          sJ t          j        ||           d S )
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  s    
!R!,,4R	S	S	SBggiiG
))C..C	"c 2 2Ic34G4GHHHHH M	"c 2 2Ic34G4GHHHHH8--a000000	BIN1%z	2	2 M	"c 2 2Ic34G4GHHHHHH#Ib#$6$6	#s8K8KLLLLL'2&&&CHTN ,#Ib#$6$6	#s8K8KLLLLLx))!,,,,,w((+++++'2&&&&&r3   c                    t          dt          dgdd|          }|                                }|d d          }t          j        |          5  |                    dd           d d d            n# 1 swxY w Y   t          |d         j        t                    s| r4t          j
        t          |d          t          |d                    rJ n3t          j
        t          |d          t          |d                    sJ t          j
        t          |d	          t          |d	                    sJ | r8|j                            d          rJ |j                            d          rJ t          j        |od
|v          5  d|j        d<   d d d            n# 1 swxY w Y   t          |d         j        t                    s| rt          j        ||           d S t          j        ||           d S )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	S	S	SBggiiGaaa5D		1	2	2 % %
		#t	$$$% % % % % % % % % % % % % % % "S'-,, J0C J#Ib#$6$6	$8L8LMMMMMM 	"c 2 2IdC4H4HIIIIIIb#..	$0D0DEEEEE 27,,Q/////9..q11111		Ny0NN
 
                  "S'-,, (0C (
gt,,,,, 	b$'''''s$   A33A7:A7F##F'*F'c                 v   t          dt          j        dgdd          }|                                }| rt	          j                    5  |d                             dd           d d d            n# 1 swxY w Y   t	          j        ||           t	          j                    5  |dg                             dd           d d d            n# 1 swxY w Y   t	          j        ||           d S t	          j        d           5  t          dd           5  |dg                             dd           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t	          j        d           5  t          dd           5  ||j
        d	k                                 dd           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t	          j        t          st          nd d
          5  |d                             dd           d d d            d S # 1 swxY w Y   d S )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   	!RVQa00	1	1BggiiG ./11 	. 	.sGNN3N---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.
b'***/11 	0 	0uIS$///	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0
b'*****'-- 	4 	4 94@@ 4 4C5	  d 3334 4 4 4 4 4 4 4 4 4 4 4 4 4 4	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 '-- 	7 	7 94@@ 7 724!8##C#6667 7 7 7 7 7 7 7 7 7 7 7 7 7 7	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 '!7AMMT"
 
 
 	. 	. sGNN3N---		. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.s   	A33A7:A7&CCCEE7EE	E
E	EE!E9G
'F=1G=G	GG	GGGH..H25H2)r    r.   r/   c                    t          dt          j        dgdd          }|                                }| rt	          j                    5   t          |d         |          d           d d d            n# 1 swxY w Y   t	          j        ||           t	          j                    5   t          |dg         |          d           d d d            n# 1 swxY w Y   t	          j        ||           d S t	          j        t          st          nd d          5   t          |d         |          d           d d d            n# 1 swxY w Y   t	          j        d           5  t          d	d           5   t          |dg         |          d           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t	          j        d           5  t          d	d           5   t          ||d         dk             |          d           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )
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   	!RVQa00	1	1BggiiG =/11 	1 	1"GBsGT""40000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1
b'***/11 	3 	3$GBuIt$$T2222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3
b'*****'!7AMMT"
 
 
 	1 	1 #GBsGT""40000		1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 '-- 	7 	7 94@@ 7 7(C5	4((66667 7 7 7 7 7 7 7 7 7 7 7 7 7 7	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 '-- 	= 	= 94@@ = =.2c7Q;..t<<<<= = = = = = = = = = = = = = =	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	=s   	!A66A:=A:)"CCC!E

EE)F?:"F(F?(F,	,F?/F,	0F??GGH>/+H&H>&H*	*H>-H*	.H>>II)-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      s        0 0 0 0 0 0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
       1 1 1 1 1 1 #?#?#?@@' ' A@'. '7!344' ' 54'& '7!344
a^ii55sIIl<S<STU 0 0  540 
a^ii55sIIl<S<STU , , , 
a^ii55sIIl<S<STU 9 9 9& '7!3449i"899Q Q :9 54Q.' ' '*; ; ;	? 	? 	?	7 	7 	7( ( ("' ' '' ' ' dE]33, , 43,( ( (,
 
 
.- - -- - -' ' '8( ( (>. . .6 !B!B!BCC= = DC= = =r3   