
    o[weޒ                     
   d dl Zd dlZd dlmZ d dlmZ d dlZd dlm	Z	m
Z
 d dlmZ d dlmZ  ej        ddg          d	             Zd
 Zd Zd Zej                            dddgddg          d             Zej                            dddgddg          ej                            d edd           ej        g d           ej        ddg          gg d          ej                            d edd           ej        g d          ddggg d          d                                     Zej                            dddgddg          ej                            d edd           ej        g d           ej        ddg          gg d          ej                            d edd           ej        g d          ddggg d          d                                     Zej                            d ed d           ej        g d            ej        d dg          gg d          d!             Zd" Zd# Zej                            dddgddg          d$             Zd% Z ej                            dddgddg          d&             Z!ej                            d ed'd           ej        g d           d'dggg d          d(             Z"ej                            d)d* d+ d, d- d. d/ gg d0          ej                            dddgddg          d1                         Z#ej                            dddgddg          d2             Z$ej                            d)d3 d4 d5 d6 gg d7          d8             Z%d9 Z&ej                            d)d: d; d< d= d> gg d?          d@             Z'ej                            d)dA dB dC gg dD          dE             Z(dF Z)ej                            d ed d           ej        g d            ej        d dg          gg d          dG             Z*dH Z+dI Z,dJ Z-dK Z.ej                            d)dL dM dN gg dD          dO             Z/dP Z0ej                            dQdRd'g          ej                            dSej1        dTfej2        dUfej1        d gd'ffej2        d gd ffej1         ed          d'ffej2         ed          d ffg          ej                            dVg dWg dXgddg          dY                                     Z3dZ Z4d[ Z5d\ Z6d] Z7dS )^    N)SettingWithCopyWarning)is_float_dtype)	DataFrameSeries)	get_arraynumpynullable)paramsc                 \    | j         dk    rd }d }n| j         dk    rd }d }| j         ||fS )Nr   c                      t          | i |S N)r   argskwargss     Dlib/python3.11/site-packages/pandas/tests/copy_view/test_indexing.pymake_dataframezbackend.<locals>.make_dataframe   s    d-f---    c                      t          | i |S r   )r   r   s     r   make_serieszbackend.<locals>.make_series   s    4*6***r   r	   c                  "   t          | i |}|                                }|j        D ]T}t          ||         j                  r8t          ||         j                  s||                             d          ||<   U|                                S )NFloat64)r   convert_dtypescolumnsr   dtypeastypecopy)r   r   dfdf_nullablecols        r   r   zbackend.<locals>.make_dataframe   s    D+F++B++--K z J J!"S'-00 J$*: : J (33'7'>'>y'I'IK$##%%%r   c                  f    t          | i |}|                                                                S r   )r   r   r   )r   r   sers      r   r   zbackend.<locals>.make_series*   s2    $)&))C%%'',,...r   )param)requestr   r   s      r   backendr$      sp    }	. 	. 	.	+ 	+ 	+ 	+ 
*	$	$	& 	& 	&	/ 	/ 	/ =.+55r   c                 P   | \  }}} |g dg dg dd          }|                                 }|ddg         }|r>t          j        t          |d          t          |d                    sJ d|j        d<   n=t          j        t          |d          t          |d                    rJ d|j        d<   t          j        t          |d          t          |d                    rJ  |g d	g dd
          }t          j        ||           t          j        ||           d S )N                  皙?皙?333333?abcr3   r5   r   r   r   r   r(   r)   r3   r5   )r   npshares_memoryr   iloctmassert_frame_equalr$   using_copy_on_write_r   r   df_origsubsetexpecteds           r   test_subset_column_selectionrD   5   sE    OAy!	II	J	JBggiiGc
^F 
	&# 6 6	"c8J8JKKKKKD#Ifc$:$:Ib#<N<NOOOOO D	&# 6 6	"c8J8JKKKKKyyyy??@@H&(+++"g&&&&&r   c                    | \  }}} |g dg dg dd          }|ddg         }|r3t          j        t          |d          t          |d                    sJ d|j        d<   t          j        t          |d          t          |d                    rJ |r3t          j        t          |d          t          |d                    sJ  |g dg dd	          }t	          j        ||           d S )
Nr&   r*   r.   r2   r3   r5   r   r6   r8   )r9   r:   r   r;   r<   r=   )r$   r?   r@   r   r   rB   rC   s          r   *test_subset_column_selection_modify_parentrF   Q   s    OAy!	II	J	JBc
^F L	&# 6 6	"c8J8JKKKKKBGDM	&# 6 6	"c8J8JKKKKK L	&# 6 6	"c8J8JKKKKKyyyy??@@H&(+++++r   c                    | \  }}} |g dg dg dd          }|                                 }|dd         }|j                                         t          j        t          |d          t          |d                    sJ |r>d|j        d	<   t          j        t          |d          t          |d                    rJ n
d|j        d	<   |j                                          |ddgd
dgddgdt          dd                    }t          j	        ||           |rt          j	        ||           d S d|j        d<   t          j	        ||           d S )Nr&   r*   r.   r2   r'   r)   r3   r   r6   r,   r-   r0   r1   index)r'   r   )
r   _mgr_verify_integrityr9   r:   r   r;   ranger<   r=   r>   s           r   test_subset_row_slicerM   h   s    OAy!	II	J	JBggiiG!WF
K!!###Ifc22Ib#4F4FGGGGG D#Ifc$:$:Ib#<N<NOOOOOO D
K!!###y1vQF#sDDERSUVKKXXXH&(+++ +
b'***** T
b'*****r   r   int64float64zsingle-blockzmixed-block)idsc                    | \  }}}|dk    o|dk    o| } |g dg dt          j        g d|          d          }|                                }	|j        d d dd f         }
|
j                                         |rqt          j        t          |
d	          t          |d	                    sJ d
|
j        d<   t          j        t          |
d	          t          |d	                    rJ nn|rt          nd }t          j
        dd          5  t          j        |          5  d
|
j        d<   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y    |g dt          j        g d|          d          }t          j        |
|           |s%|s|r!d
|	j        d<   t          j        ||	           d S t          j        ||	           d S )NrN   r   r&   r*         	   r   r2   r'   r4   r   r6   chained_assignmentwarn)r   r,   r-   r4   r5   r   r'   )r9   arrayr   r;   rJ   rK   r:   r   r   pdoption_contextr<   assert_produces_warningr=   )r$   r?   using_array_managerr   dtype_backendr   r@   single_blockr   rA   rB   rX   rC   s                r   test_subset_column_slicerb      s    #*M9a5]g5"!
!  
iiiiibhyyy.N.N.NOO
 
B ggiiGWQQQU^F
K!!### &	&# 6 6	"c8J8JKKKKKD#Ifc$:$:Ib#<N<NOOOOOO *6?%%43V<< 	& 	&+D11 & &$%D!& & & & & & & & & & & & & & &	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& yyyyrx			/O/O/OPPQQH&(+++  +$7 +< +T
b'*****
b'*****s6   E'D>2E>E	EE	EEErow_indexerr'   r(   )FTT)slicemaskr[   column_indexerr4   r5   c                    | \  }}} |g dg dt          j        g d|          d          }	|	                                }
|	j        ||f         }d|j        d<    |ddgt          j        d	d
g|          dt          dd                    }t          j        ||           t          |t                    r/t          |t                    r|s|dk    r|dk    r|s
d|
j        d<   t          j        |	|
           d S Nr&   r*   rR   rV   r2   r   r6   r-   rT   rU   rY   r'   r)   rH   rN   r   )r'   r'   )
r9   r[   r   locr;   rL   r<   r=   
isinstancerd   r$   r   rc   rf   r_   r?   r`   r   r@   r   rA   rB   rC   s                r   test_subset_loc_rows_columnsrl      sE   6 #*M9a	iiiiibhyyy.N.N.NOO
 
B ggiiGVK/0F FKy!f28QF%88899q!  H &(+++ 	;&&~u--  	   !W,,+ -
 T"g&&&&&r   r)   c                    | \  }}} |g dg dt          j        g d|          d          }	|	                                }
|	j        ||f         }d|j        d<    |ddgt          j        d	d
g|          dt	          dd                    }t          j        ||           t          |t                    r/t          |t                    r|s|dk    r|dk    r|s
d|
j        d<   t          j        |	|
           d S rh   )	r9   r[   r   r;   rL   r<   r=   rj   rd   rk   s                r   test_subset_iloc_rows_columnsrn      sE   6 #*M9a	iiiiibhyyy.N.N.NOO
 
B ggiiGW[.01F FKy!f28QF%88899q!  H &(+++ 	;&&~u--  	   !W,,+ -
 T"g&&&&&r   indexer)TTFc                    | \  }}} |g dg dg dd          }|                                 }|dd         }|t          j        u r9t          |t          j                  r|j        dk    rt          j        d           |rd	 ||          |<   n~|t          j        u rt          nd }	t          j        d
d          5  t          j        |	          5  d	 ||          |<   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y    |g dg dg ddt          dd                    }
t          j        ||
           |rt          j        ||           d S d	|dd<   t          j        ||           d S )Nr'   r(   r)   r+   r+   r,   r-   rS   r/   r0   r1   皙?r2   r'   r+   intz&setitem with labels selects on columnsr   rW   rX   )r   r   r+   )r   r   rS   )        rv   rt   rH   r)   )r   r<   setitemrj   r9   ndarrayr   pytestskipr   r\   r]   r^   rL   r=   )r$   
indexer_siro   r?   r@   r   r   rA   rB   rX   rC   s              r    test_subset_set_with_row_indexerr|   -  sF    OAy!	LLL?S?S?STT	U	UBggiiG!WF 	bj  w
++ 	!MU""<=== 0&'

67## *4rz)A)A%%t3V<< 	0 	0+D11 0 0./

6""7+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 yiiiiiooo>>eAqkk  H &(+++ +
b'***** !
b'*****s6   >DC."D.C2	2D5C2	6DD	D	c                 Z   | \  }}} |g dg dg dd          }|                                 }|dd         }|dk    }|rd||<   nct          j        d	d
          5  t          j        t
                    5  d||<   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y    |g dg dg ddt          dd                    }t          j        ||           |rt          j        ||           d S d|j        d<   d|j        dddf<   t          j        ||           d S )Nrq   rr   rs   r2   r'   r+   r)   r   rW   rX   )r(   r)   r   )r   r   r   )r0   r1   rt   rH   )r)   r3   r4   )	r   r\   r]   r<   r^   r   rL   r=   ri   )	r$   r?   r@   r   r   rA   rB   re   rC   s	            r   test_subset_set_with_maskr~   W  s   OAy!	LLL?S?S?STT	U	UBggiiG!WFA:D !t3V<< 	! 	!+,BCC ! ! t! ! ! ! ! ! ! ! ! ! ! ! ! ! !	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! yiiiii.>.>.>??uQPQ{{  H &(+++ +
b'*****  F !AaCH
b'*****s6   B 7B	=B 	B	B B	B  B$'B$c                    | \  }}} |g dg dg dd          }|                                 }|dd         }|dk    rt          j        dd	gd
          }nt          j        dd	gd          }|r||d<   nct          j        dd          5  t          j        t                    5  ||d<   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   |j        	                                  |dd	gddgddgdt          dd                    }	t          j        ||	           t          j        ||           d S )Nr&   r*   r.   r2   r'   r)   r   
      rN   rV   Int64r3   rW   rX   r,   r-   r0   r1   rH   )r   r9   r[   r\   r]   r<   r^   r   rJ   rK   rL   r=   )
r$   r?   r`   r   r@   r   rA   rB   arrrC   s
             r   test_subset_set_columnr   u  s   ")M9a	II	J	JBggiiG!WFhBxw///hBxw/// "s3V<< 	" 	"+,BCC " "!s" " " " " " " " " " " " " " "	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" K!!###y2haV3*55U1a[[  H &(+++"g&&&&&s6   C(B:.C:B>	>CB>	CCCc                 `   | \  }}} |g dg dt          j        g d|          d          }|                                }|dd         }|r%t          j        dd	gd
          |j        d d df<   nt	          j        dd          5  t          j        d |           5  t          j        dd	gd
          |j        d d df<   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   |j        	                                  |dd	gddgt          j        ddg|          dt          dd                    }	t          j        ||	           |rt          j        ||           d S t          j        dd	gd
          |j        dddf<   t          j        ||           d S )Nr&   r*   rR   rV   r2   r'   r)   r   r   rN   r3   rW   rX   raise_on_extra_warningsr,   r-   rT   rU   rH   )r9   r[   r   ri   r\   r]   r<   r^   rJ   rK   rL   r=   )
r$   r?   r_   r   r@   r   r   rA   rB   rC   s
             r   test_subset_set_column_with_locr     s    OAy!	iiiiibhyyy.N.N.NOO
 
B ggiiG!WF GXr2hg>>>
111c63V<< 	G 	G+,?(?   G G &(Xr2hg%F%F%F
111c6"	G G G G G G G G G G G G G G G	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G K!!###y2haV"(Aq6*G*G*GHHAqkk  H &(+++ +
b'***** !#"b A A AAaCH
b'*****s6   
C*"%CC*C	C*C	C**C.1C.c                 t   | \  }}} |dg di          }|                                 }|dd         }|rd|j        d d df<   njt          j        dd          5  t	          j        d |           5  d|j        d d df<   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   |j                                          |dddgit          dd          	          }t	          j	        ||           |rt	          j	        ||           d S d|j        dddf<   t	          j	        ||           d S )
Nr3   r&   r'   r)   r   rW   rX   r   rH   )
r   ri   r\   r]   r<   r^   rJ   rK   rL   r=   )	r$   r?   r_   r@   r   r   rA   rB   rC   s	            r    test_subset_set_column_with_loc2r     s   
 OAy!	C#	$	$BggiiG!WF '
111c63V<< 	' 	'+,?(?   ' ' &'
111c6"	' ' ' ' ' ' ' ' ' ' ' ' ' ' '	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' K!!###y#1veAqkk:::H&(+++ +
b'***** !"AaCH
b'*****s6   B$2BB$B	B$B	B$$B(+B(c                   	 | \  }}} |g dg dt          j        g d|          d          }|                                }|dd         	|rd	d	d
g<   net          j        dd          5  t          j        t                    5  d	d	d
g<   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   	j        	                                 |rt          	fddD                       sJ  |ddgddgddgdt          dd                    }|dk    r<|d	                             d          |d	<   |d
                             d          |d
<   t          j        	|           t          j        ||           d S )Nr&   r*   rR   rV   r2   r'   r)   r   r3   r5   rW   rX   c              3   L   K   | ]}j                             |          V  d S r   )rJ   _has_no_reference).0irB   s     r   	<genexpr>z*test_subset_set_columns.<locals>.<genexpr>  s3      DD6;0033DDDDDDr   )r   r(   r,   r-   rH   r	   rN   )r9   r[   r   r\   r]   r<   r^   r   rJ   rK   allrL   r   r=   )
r$   r?   r   r`   r   r@   r   rA   rC   rB   s
            @r   test_subset_set_columnsr     sG    #*M9a	iiiiibhyyy.N.N.NOO
 
B ggiiG!WF 'Sz3V<< 	' 	'+,BCC ' '%&Sz"' ' ' ' ' ' ' ' ' ' ' ' ' ' '	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' K!!### EDDDDVDDDDDDDDy1vQF!Q@@aQRTTTH
"" !,,W55 ,,W55&(+++"g&&&&&s6   .B3BB3B 	 B3#B 	$B33B7:B7r3   c                 2   | \  }}} |g dg dg dd          }|                                 }|dd         }|rd|j        d d |f<   n;t          j        dd	          5  d|j        d d |f<   d d d            n# 1 swxY w Y   |j                                          |ddgd
d
gddgdt          dd                    }t          j        ||           |rt          j        ||           d S d|j        ddddgf<   t          j        ||           d S )Nr&   r.   r*   r2   r'   r)   r   rW   rX   rv   r,   r-   rH   r(   r3   r4   )	r   ri   r\   r]   rJ   rK   rL   r<   r=   )	r$   ro   r?   r@   r   r   rA   rB   rC   s	            r   #test_subset_set_with_column_indexerr     s    OAy!	yyyII	J	JBggiiG!WF '!"
111g:3V<< 	' 	' &'FJqqq'z"	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	'
 K!!###y1vS#JaVDDERSUVKKXXXH&(+++ +
b'*****
 ()AaC#sO$
b'*****s    A;;A?A?methodc                 &    | ddg         dd         S Nr3   r4   r   r(    r   s    r   <lambda>r      s    2sCj>!A#& r   c                 &    | dd         ddg         S Nr   r(   r3   r4   r   r   s    r   r   r   !  s    2ac7C:& r   c                 0    | ddg         j         dd         S r   r;   r   s    r   r   r   "  s    2sCj>&qs+ r   c                 0    | ddg         j         dd         S )Nr3   r4   r   r'   ri   r   s    r   r   r   #  s    2sCj>%ac* r   c                 8    | dd         j         d d ddf         S )Nr   r(   r   r   s    r   r   r   $  s!    2ac7<1Q3' r   c                 8    | dd         j         d d ddf         S r   r   r   s    r   r   r   %  s!    2ac7;qqq#c'z* r   )zrow-getitem-slicezcolumn-getitemzrow-iloc-slicezrow-loc-slicecolumn-iloc-slicecolumn-loc-slicec                    |\  }}} |g dg dt          j        g d|          d          }|                                }	| j        j        j        }
|s|
dv }n|
                    d          } ||          }d|j        d	<   |s|st          j	        ||	           n|j        d	         dk    sJ  ||          }d|j        d	<    |d
dgddgd          }|s|st          j	        ||           d S |j        d	         dk    sJ d S )Nr&   r*   rR   rV   r2   )z$numpy-single-block-column-iloc-slicez#numpy-single-block-column-loc-slice)r   r   r   r6   r'   r(   r+   r,   r3   r4   )
r9   r[   r   nodecallspecidendswithr;   r<   r=   )r#   r$   r   r   r?   r_   r@   r   r   rA   test_callspecsubset_is_viewrB   rC   s                 r   test_subset_chained_getitemr     so   6 OAy!	iiiiibhyyy.N.N.NOO
 
B ggiiG L),M 

& +
 
 '//5
 

 VBZZFFK "> "
b'****wt}!!!! VBZZFBGDMy1vQF3344H &. &
fh/////{4 A%%%%%%r   c                 0   | \  }}} |g dg dt          j        g d|          d          }|                                }|d d          d         dd         }|                                 d|j        d<   |rt          j        ||           n|j        d	         dk    sJ |d d          d         dd         }|                                 d|j        d	<    |d
dgd          }	|rt          j        ||	           d S |j        d         dk    sJ d S )Nr&   r*   rR   rV   r2   r3   r   r(   r6   r'   name)r9   r[   r   _clear_item_cacher;   r<   r=   assert_series_equal)
r$   r   r?   r@   r   r   r   rA   rB   rC   s
             r   "test_subset_chained_getitem_columnr   _  sS    #Ay&	iiiiibhyyy.N.N.NOO
 
B ggiiG U3Z!_FFKN "
b'****wt}!!!! U3Z!_FBGDMvq!f3'''H #
vx00000{1~""""""r   c                 &    | dd         dd         S Nr3   r5   r4   r   ss    r   r   r     s    !CG*SW% r   c                 :    | j         dd         j         dd         S )Nr   r)   r(   r   r   s    r   r   r     s    !&1+"1Q3' r   c                 :    | j         dd         j         dd         S r   r   r   s    r   r   r     s    !%C.$SW- r   c                     | j         dd         j        dd         j        dd         j         dd         j        dd         S )Nr3   r5   r   r)   r(   r4   r'   )ri   r;   r   s    r   r   r     sL    !%C.	ac	ac 
SW 
ac	 r   )getitemr;   ri   z
long-chainc                    | \  }}} |g dg d          }|                                 } ||          }d|j        d<   |rt          j        ||           n|j        d         dk    sJ |j        dd         j        dd         }d|j        d<    |ddgdd	g          }|rt          j        ||           d S |j        d         dk    sJ d S )
Nr&   r2   rH   r   r)   r(   r'   r3   r4   r   r;   r<   r   )	r$   r   r?   r@   r   r   s_origrB   rC   s	            r   "test_subset_chained_getitem_seriesr     s   " LAq&yyy000AVVXXF VAYYFFKN 
q&))))vayA~~~~ VAaC[ac"FAF1Ivq!fS#J///H #
vx00000{1~""""""r   c                    t          g dg dg dd          }|                                }|d d          j        d         j        dd         }d|j        d<   | s|rt          j        ||           n|j        d         dk    sJ |d d          j        d         j        dd         }d|j        d<   t          dd	gd
dgd          }| s|rt          j        ||           d S |j        d         dk    sJ d S )Nr&   r*   rR   r2   r   r(   r6   r'   r+   r3   r4   )rI   r   )r   r   r;   r<   r=   r   r   )r?   r_   r   rA   rB   rC   s         r   $test_subset_chained_single_block_rowr     s)   	CC	D	DBggiiG UZ]!$FFKN "1 "
b'****wt}!!!! UZ]!$FBGDMq!fS#JQ777H #1 #
vx00000{1~""""""r   c                     | d d          S r   r   r   s    r   r   r     s    2aaa5 r   c                 (    | j         d d d d f         S r   r   r   s    r   r   r     s    26!!!QQQ$< r   c                      | j         d d          S r   r   r   s    r   r   r     s    26!!!9 r   c                 (    | j         d d d d f         S r   r   r   s    r   r   r     s    27111aaa4= r   c                      | j         d d          S r   r   r   s    r   r   r     s    27111: r   )r   ri   zloc-rowsr;   z	iloc-rowsc                     | \  }}} |g dg dg dd          }|                                 } ||          }||usJ d|j        d<   |rt          j        ||           d S |j        d         dk    sJ d S )Nr&   r*   rR   r2   r   r6   )r   r;   r<   r=   )r$   r   r?   r@   r   r   rA   df2s           r   test_null_slicer     s     OAy!	CC	D	DBggiiG
&**C b==== CHTN "
b'*****wt}!!!!!!r   c                     | d d          S r   r   r   s    r   r   r     s    !AAA$ r   c                      | j         d d          S r   r   r   s    r   r   r     s    !%( r   c                      | j         d d          S r   r   r   s    r   r   r     s    !&) r   )r   ri   r;   c                     | \  }}} |g dg d          }|                                 } ||          }||usJ d|j        d<   |rt          j        ||           d S |j        d         dk    sJ d S )Nr&   r2   rH   r   r   )r$   r   r?   r@   r   r   r   s2s           r   test_null_slice_seriesr     s     LAq&yyy000AVVXXF	B Q;;;; BGAJ 
q&)))))vayA~~~~~~r   c                    | \  }}} |g dg d          }|                                 }|d d          }t          j        t          |          t          |                    sJ d|j        d<   |r1t          j        t          |          t          |                    rJ  |g dg d          }t          j        ||           |rt          j        ||           d S |j        d         dk    sJ d S )Nr&   r2   rH   r   r7   )r   r9   r:   r   r;   r<   r   )r$   r?   r@   r   r   r   rB   rC   s           r   test_series_getitem_slicer     s   LAq&yyy000AVVXXFqqqTFIf--y||<<<<<FKN E#If$5$5y||DDDDDviii777H68,,, 
q&))))) vayA~~~~~~r   c                    | \  }}} |g dg d          }|                                 }|d d          }d }	d}
|t          j        u r1t          |t          j                  r|j        j        dk    rt          }	t          j	        |	|
          5  d ||          |<   d d d            n# 1 swxY w Y    |g dg d          }t          j
        ||           |rt          j
        ||           d S t          j
        ||           d S )	Nr&   r2   rH   z;Series.__setitem__ treating keys as positions is deprecatedr   matchr   )r   r   r)   )r   r<   rw   rj   r9   rx   r   kindFutureWarningr^   r   )r$   r{   ro   r?   r@   r   r   r   rB   rX   msgrC   s               r   #test_series_subset_set_with_indexerr     sm    LAq&yyy000AVVXXFqqqTFD
GCbj  w
++ 	!M#%%		#D	4	4	4 ( (&'

67#( ( ( ( ( ( ( ( ( ( ( ( ( ( (viii777H68,,, ,
q&)))))
q(+++++s   B**B.1B.c                    | \  }}} |g dg dg dd          }|                                 }|d d          }t          j        t          |d          t          |d                    sJ |d= t          j        t          |d          t          |d                    sJ t	          j        ||           t	          j        ||ddg                    |j                                         d|j        d	<   t          j        t          |d          t          |d                    sJ |                                 }d
|j        d<   |rt	          j        ||           d S |j        d         d
k    sJ d S )Nr&   r*   r.   r2   r3   r4   r5      )r   r4   d   r   r3   )	r   r9   r:   r   r<   r=   rJ   rK   ri   )r$   r?   r@   r   r   rA   r   s          r   test_del_framer   =  s    OAy!	II	J	JBggiiG
QQQ%CIb#..	#s0C0CDDDDDCIb#..	#s0C0CDDDDD"g&&&#wSz2333H   BF6NIb#..	#s0C0CDDDDDggiiGCGFO %
b'*****vf~$$$$$$r   c                    | \  }}} |g dg d          }|                                 }|d d          }t          j        t          |          t          |                    sJ |d= t          j        t          |          t          |                    rJ t	          j        ||           t	          j        ||ddg                    |j        }d|j        d<   |d         dk    sJ d S )	Nr&   r2   rH   r3   r4   r5   r   r   )r   r9   r:   r   r<   r   valuesri   )r$   r@   r   r   r   r   r   s          r   test_del_seriesr   Z  s    LAq&yyy000AVVXXF	
111BIaLL)B--88888
3	!imm<<<<<1f%%%2vsCj1222 YFBF3K!9r   c                    | \  }}} |g dg dg dd          }|                                 }|d         }t          j        t          |d          t          |d                    sJ |s|rd|d<   nm|dk    rt          nd }	t          j        dd	          5  t          j        |	          5  d|d<   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y    |g d
d          }
t          j	        ||
           |r8t          j
        ||           t          j	        |d         |d                    d S d|j        d<   t          j
        ||           d S )Nr&   r*   r.   r2   r3   r   r   rW   rX   r7   r   r6   )r   r9   r:   r   r   r\   r]   r<   r^   r   r=   r;   )r$   r?   r_   r`   r   r   r   rA   r   rX   rC   s              r   test_column_as_seriesr   r  s   '.$M9f	II	J	JBggiiG
3AIa--yS/A/ABBBBB 1 !)6')A)A%%t3V<< 	 	+D11  !              	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 viiic***H1h''' +
b'***
r#w55555T
b'*****s6   C.C 4C C	CC	CCCc                    | \  }}} |g dg dg dd          }|                                 }|d         }|dk    rHt          j        t          d          5  d	|d
<   d d d            n# 1 swxY w Y    |g dd          }	n|s|rNt	          j        t          d          5  d	|d
<   d d d            n# 1 swxY w Y    |g dt          d          }	nt          j	        dd          5  d
                    ddg          }
t	          j        t          t          f|
          5  d	|d
<   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y    |g dt          d          }	t	          j        ||	           |r8t	          j        ||           t	          j        |d         |d                    d S |	|d<   t	          j        ||           d S )Nr&   r*   r.   r2   r3   r	   zInvalid valuer   foor   r   zincompatible dtype)r   r(   r)   )r   r   rW   rX   |zAA value is trying to be set on a copy of a slice from a DataFrame3Setting an item of incompatible dtype is deprecated)r   ry   raises	TypeErrorr<   r^   r   objectr\   r]   joinr   r   r=   )r$   r?   r_   r`   r   r   r   rA   r   rC   r   s              r   %test_column_as_series_set_with_upcastr     s    (/$M9f	II	J	JBggiiG
3A
""]9O<<< 	 	AaD	 	 	 	 	 	 	 	 	 	 	 	 	 	 	6)))#...	 A 3 A'=QRRR 	 	AaD	 	 	 	 	 	 	 	 	 	 	 	 	 	 	6---vC@@@3V<< 
	 
	((WI C +'7s     !              
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 6---vC@@@1h''' +
b'***
r#w55555
b'*****sZ   A++A/2A/%B77B;>B;-:E'D9-E9D=	=E D=	EEEc                     | d         S Nr3   r   r   s    r   r   r     s
    2c7 r   c                 $    | j         d d df         S r   r   r   s    r   r   r     s    26!!!S&> r   c                 $    | j         d d df         S )Nr   r   r   s    r   r   r     s    27111a4= r   c                 ^   |\  }}} |g dg dg dd          }|                                 }	 ||          }
 ||          }d| j        j        v }|s|r|
|usJ n|
|u sJ |s|rd|
j        d<   nr|dk    rt          nd }t          j        dd	          5  t          j        |          5  d|
j        d<   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   |r2t          j	        ||	d
                    t          j
        ||	           d S |j        d         dk    sJ d S )Nr&   r*   r.   r2   r;   r   r   rW   rX   r3   )r   r   r   r;   r   r\   r]   r<   r^   r   r=   )r#   r$   r   r?   r_   r`   r   r@   r   rA   s1r   is_ilocrX   s                 r   #test_column_as_series_no_item_cacher     s    #*M9a	II	J	JBggiiG	B	B))G g |||||Rxxxx 1 

)6')A)A%%t3V<< 	 	+D11  
              	 	 	 	 	 	 	 	 	 	 	 	 	 	 	  
r73<000
b'*****wqzQs6   C-C8CC	CC	CC"Cc                    | \  }}} |g dg dd          } |g d          }||d<   |r3t          j        t          |d          t          |                    sJ n2t          j        t          |d          t          |                    rJ d|d<    |g dg dg dd          }t          j        ||           d S )Nr&   r.   r   )r   r      newr   )r3   r4   r   )r9   r:   r   r<   r=   )r$   r?   r@   r   r   r   r   rC   s           r   %test_dataframe_add_column_from_seriesr     s     #Ay&	99	:	:B|||ABuI H	"e 4 4illCCCCCC#Ib%$8$8)A,,GGGGG AaDyyyy|||TTUUH"h'''''r   valr   zindexer_func, indexerr   r6   r   r.   rR   c                    t          g dg d|d          }|                                }|d d          }|dk    r[|d         t          d           k    rBt          j        t
          d          5  | ||          |<   d d d            n# 1 swxY w Y   n| ||          |<   | r}t          j        t          |d          t          |d                    sJ t          j        t          |d          t          |d                    rJ t          j	        ||           d S t          j        t          |d	          t          |d	                    sJ |dk    r5t          j        t          |d          t          |d                    rJ d S t          j        t          |d          t          |d                    sJ d S )
Nr&   r*   r2   r3   r   r   r   r4   r5   )
r   r   rd   r<   r^   r   r9   r:   r   r=   )r?   indexer_funcro   r   r   r   rA   views           r   )test_set_value_copy_only_necessary_columnr     s   ( 
==	>	>BggiiGaaa5D
czzgajE$KK//'!V
 
 
 	, 	, ),LLW%	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,
 %(R! 	N	"c 2 2IdC4H4HIIIII#Ib#$6$6	$8L8LMMMMM
dG,,,,,	"c 2 2IdC4H4HIIIII#::'	"c(:(:IdC<P<PQQQQQQQ#Ib#$6$6	$8L8LMMMMMMMs   0BBBc                    t          g dt          j                            g dg dg                    }|d         }t	          j        t          |          t          |                    sJ d|j        d<   | rMt          g dt          j                            g dg dg                    }t          j	        ||           d S d S )Nr&   )r'   r'   r(   )r)   r+   r,   rH   r'   r   r   )
r   r\   
MultiIndexfrom_arraysr9   r:   r   r;   r<   r   r?   r!   resultrC   s       r   test_series_midx_slicer  '  s    
"-";";YYY			<R"S"S
T
T
TCVFIcNNIf,=,=>>>>>FKN .IIR]66			9997MNN
 
 
 	sH-----	. .r   c                 T   t          ddgddd          }|                                }|d         }| r|j                            d          rJ |s3t	          j        t          |d          t          |d                    sJ | r!d|j        d	<   t          j	        ||           d S d S )
Nr'   r(   )r3   x)r3   y)r4   r  )r3   r   r  r  r   r6   )
r   r   rJ   r   r9   r:   r   r;   r<   r=   )r?   r_   r   rA   new_dfs        r   test_getitem_midx_slicer  3  s    	AA1EE	F	FBggiiGZF 4;0033333 S	"j 9 99VS;Q;QRRRRR +D
gr*****+ +r   c                    t          g dt          j                            g d                    }|d         }t	          j        t          |          t          |                    sJ d|j        d<   | rIt          g dt          j                            g d                    }t          j	        ||           d S d S )Nr&   ))r'   r(   r)   )r
  r+   ))r(   r)   r+   rH   r
  r   r   )
r   r\   r   from_tuplesr9   r:   r   r;   r<   r   r   s       r   test_series_midx_tuples_slicer  B  s    
		m''(O(O(OPP  C [FIcNNIf,=,=>>>>>FKN .II-++,S,S,STT
 
 
 	sH-----. .r   c                 N   t          dg di          }t          g dg dd          }|                                }||j        d d ddgf<   | rt          j        t          |d          t          |d                    sJ t          j        t          |d          t          |d                    sJ |j                            d          rJ n3t          j        t          |d          t          |d                    rJ d|j        d	<   t          j
        ||           d S )
Nr3   r&   r*   rY   r4   r5   r'   r   rZ   )r   r   ri   r9   r:   r   rJ   r   r;   r<   r=   )r?   r   rhsrhs_origs       r   !test_loc_enlarging_with_dataframer  R  s-   	C#	$	$B
))))))44
5
5CxxzzHBF111sCj= M	"c 2 2Ic34G4GHHHHH	"c 2 2Ic34G4GHHHHH7,,Q//////#Ib#$6$6	#s8K8KLLLLLBGDM#x(((((r   )8r   r9   ry   pandas.errorsr   pandas.core.dtypes.commonr   pandasr\   r   r   pandas._testing_testingr<   pandas.tests.copy_view.utilr   fixturer$   rD   rF   rM   markparametrizerb   rd   r[   rl   rn   r|   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ri   r;   r   r  r  r  r  r   r   r   <module>r     s	        0 0 0 0 0 0 4 4 4 4 4 4                  1 1 1 1 1 1 ,---6 6 .-6F' ' '8, , ,. +  +  +F gy!'F   $+ $+ $+N gy!'F    
U1a[[("(...//1a&1A1AB"""   
 
U3__hbh22233c3Z@"""   
,' ,'   ,'^ gy!'F    
U1a[[("(...//1a&1A1AB"""   
 
U1a[[("(...//!Q8"""   
,' ,'   ,'^ 
U1a[[("(...//1a&1A1AB"""   
"+ "+ 
"+J+ + +<' ' '6 gy!'F   "+ "+ "+J+ + +@ gy!'F   ' ' '@ 
U3__hbh22233c3Z@"""   
+ + 
+: &&&&++**''**	 	 	   & gy!'F   )& )& ' ,)&X gy!'F   # # #: %%''--	 			 	100   # # #2# # #.    	<;;  
 
" "
 
"( 
 	#""     2  2 
U1a[[("(...//1a&1A1AB"""   
, , 
,B% % %:  0+ + +<(+ (+ (+V !!  
 	#""     H( ( (& c
++		&	1#s	A3(	%%++s#$	55;;"#
 
 	OOOYYY'm^-L   N N 
 
 ,+N:	. 	. 	.+ + +. . . ) ) ) ) )r   