
    Eg;              
       H   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                            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)	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          ^/var/www/sysmax/venv/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_functionsr1   +   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   r0   r    r!   r   _mgr_has_no_reference)r$   r3   r,   r%   r)   s        r*   test_interpolate_triggers_copyr7   ?   s    
 
C;		BWR  F	&# 6 6	"c8J8JKKKKK 0{,,Q/////0 0//r2   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!   r5   r6   )r$   r3   r%   arrs       r*   -test_interpolate_inplace_no_reference_no_copyr<   M   s     
C;		B
B

CNN(DN111C2s!3!344444 ,w((+++++, ,++r2   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   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   [   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   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!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	          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>   r   r   r   r   r   r!   r   r	   r"   r#   )r$   r%   r&   r(   r)   s        r*   $test_interpolate_cleaned_fill_methodrN      s{   	#rvs+!44	5	5B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   A44A8;A8c                 p   t          g d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                    sJ d S d S )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1	2	2B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((+++++yS'9'9:::::; ;::s   A&&A*-A*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   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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      @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   	!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 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]   	!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   rL         @rM   r   r   r   
r   r    r>   r   fillnar!   r   r"   r   r#   r$   r%   r&   df2s       r*   test_fillnare      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&&&&&r2   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 )	Nr^   r   rL   r         Y@rM   r   r`   ra   rc   s       r*   test_fillna_dictrh      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&&&&&r2   rY   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 )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      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 )
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     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])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 &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   rg   r   )
r   r    r>   r   rb   r!   r   r"   r   rx   )r$   ry   rz   r)   s       r*   test_fillna_series_empty_argr}   /  s    
!RVQ
 
 CxxzzHZZ^^F G	#	&0A0ABBBBBB#IcNNIf4E4EFFFFFCHQK8V,,,,,r2   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   TrH   r   )r   r    r>   r   rb   r!   r5   r6   )r$   ry   r;   s      r*   $test_fillna_series_empty_arg_inplacer   =  s    
!RVQ
 
 C
C..CJJr4J   IcNNC00000 -x))!,,,,,- -,,r2   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      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  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&&&&&r2   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   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	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                 d   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          d
          5  |d                             dd           d d d            d S # 1 swxY w Y   d S )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   	!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 '=MNNN 	. 	.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%%H),H))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          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   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   	!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'*****'=MNNN 	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 F61"FF6F#	#F6&F#	'F66F:=F:H5&+HH5H!	!H5$H!	%H55H9<H9)+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      s       
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
       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( ( (>. . .0 !B!B!BCC= = DC= = =r2   