
    bMh                     
   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)dG Z*ej                            d ed d           ej        g d            ej        d dg          gg d          dH             Z+dI Z,dJ Z-dK Z.dL Z/ej                            d)dM dN dO gg dD          dP             Z0dQ Z1ej                            dRdSd'g          ej                            dTej2        dUfej3        dVfej2        d gd'ffej3        d gd ffej2         ed          d'ffej3         ed          d ffg          ej                            dWg dXg dYgddg          dZ                                     Z4d[ Z5d\ Z6d] Z7d^ Z8d_ Z9d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     d/var/www/html/test/jupyter/venv/lib/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_selectionrC   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   rA   rB   s          r   *test_subset_column_selection_modify_parentrE   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 n6t          j        |          5  d|j        d	<   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<   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;   r<   assert_cow_warningranger=   )	r$   r>   warn_copy_on_writer?   r   r   r@   rA   rB   s	            r   test_subset_row_slicerN   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 "#566 	" 	" !FK	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" K!!###y1vQF#sDDERSUVKKXXXH&(+++ +
b'***** T
b'*****s   C11C58C5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 n|r7t          j	        |          5  d
|j        d<   d d d            n# 1 swxY w Y   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 )NrO   r   r&   r*         	   r   r2   r'   r4   r   r6   chained_assignmentwarn)r   r,   r-   r4   r5   r   r'   )r9   arrayr   r;   rI   rJ   r:   r   r<   rK   r   pdoption_contextassert_produces_warningr=   )r$   r>   rM   using_array_managerr   dtype_backendr   r?   single_blockr   r@   rA   rY   rB   s                 r   test_subset_column_slicerc      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	 &"<00 	" 	" !FK	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" *6?%%43V<< 	& 	&+D11 & &$%D!& & & & & & & & & & & & & & &	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& yyyyrx			/O/O/OPPQQH&(+++  +$7 +< +T
b'*****
b'*****sH   DD#&D#F E7+F7E;	;F>E;	?FFFrow_indexerr'   r(   )FTT)slicemaskr\   column_indexerr4   r5   c                 h   | \  }}}	 |g dg dt          j        g d|          d          }
|
                                }|
j        ||f         }t	          |t
                    o%t	          |t
                    o|p|dk    o|dk    o| }t          j        |o|          5  d|j        d	<   d d d            n# 1 swxY w Y    |dd
gt          j        ddg|          dt          dd                    }t          j
        ||           |r
d|j        d<   t          j
        |
|           d S Nr&   r*   rS   rW   r2   rO   r   r   r6   r-   rU   rV   rZ   r'   r)   rG   )r'   r'   )r9   r\   r   loc
isinstancere   r<   rK   r;   rL   r=   r$   r   rd   rg   r`   r>   rM   ra   r   r?   r   r@   rA   mutate_parentrB   s                  r   test_subset_loc_rows_columnsrn      s   8 #*M9a	iiiiibhyyy.N.N.NOO
 
B ggiiGVK/0F
 	;&& 		
~u--		
     ,!W,,++  
	1Cm	D	D  D               y!f28QF%88899q!  H &(+++ T"g&&&&&   $B;;B?B?r)   c                 h   | \  }}}	 |g dg dt          j        g d|          d          }
|
                                }|
j        ||f         }t	          |t
                    o%t	          |t
                    o|p|dk    o|dk    o| }t          j        |o|          5  d|j        d	<   d d d            n# 1 swxY w Y    |dd
gt          j        ddg|          dt          dd                    }t          j	        ||           |r
d|j        d<   t          j	        |
|           d S ri   )
r9   r\   r   r;   rk   re   r<   rK   rL   r=   rl   s                  r   test_subset_iloc_rows_columnsrq      s   8 #*M9a	iiiiibhyyy.N.N.NOO
 
B ggiiGW[.01F
 	;&& 		
~u--		
     ,!W,,++  
	1Cm	D	D  D               y!f28QF%88899q!  H &(+++ T"g&&&&&ro   indexer)TTFc                 z   | \  }}} |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|r:t          j	                    5  d	 ||	          |<   d d d            n# 1 swxY w Y   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-   rT   r/   r0   r1   皙?r2   r'   r+   intz&setitem with labels selects on columnsr   rX   rY   )r   r   r+   )r   r   rT   )        ry   rw   rG   r)   )r   r<   setitemrk   r9   ndarrayr   pytestskiprK   r   r]   r^   r_   rL   r=   )r$   
indexer_sirr   r>   rM   r?   r   r   r@   rA   rY   rB   s               r    test_subset_set_with_row_indexerr   :  s    OAy!	LLL?S?S?STT	U	UBggiiG!WF 	bj  w
++ 	!MU""<=== 
0&'

67##	 0"$$ 	, 	,*+JJvw'	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, *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'*****sH   'CC	C:ED*E*D.	.E1D.	2EEEc                    | \  }}} |g dg dg dd          }|                                 }|dd         }|dk    }|rd||<   n|r1t          j                    5  d||<   d d d            n# 1 swxY w Y   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 )Nrt   ru   rv   r2   r'   r+   r)   r   rX   rY   )r(   r)   r   )r   r   r   )r0   r1   rw   rG   )r)   r3   r4   )
r   r<   rK   r]   r^   r_   r   rL   r=   rj   )
r$   r>   rM   r?   r   r   r@   rA   rf   rB   s
             r   test_subset_set_with_maskr   i  sl   OAy!	LLL?S?S?STT	U	UBggiiG!WFA:D !t	 !"$$ 	 	F4L	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 3V<< 	! 	!+,BCC ! ! t! ! ! ! ! ! ! ! ! ! ! ! ! ! !	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! yiiiii.>.>.>??uQPQ{{  H &(+++ +
b'*****  F !AaCH
b'*****sH   A//A36A3C*B<0C<C 	 CC 	CCC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          }	|s|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   
      rO   rW   Int64r3   rX   rY   r,   r-   r0   r1   rG   )r   r9   r\   r]   r^   r<   r_   r   rI   rJ   rL   r=   )r$   r>   rM   ra   r   r?   r   r@   rA   arrrB   s              r   test_subset_set_columnr     s   ")M9a	II	J	JBggiiG!WFhBxw///hBxw/// "0 "s3V<< 	" 	"+,BCC " "!s" " " " " " " " " " " " " " "	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" K!!###y2haV3*55U1a[[  H &(+++"g&&&&&s6   C*B<0C<C 	 CC 	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<   n|rPt	          j                    5  t          j        dd	gd
          |	j        d d df<   d d d            n# 1 swxY w Y   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*   rS   rW   r2   r'   r)   r   r   rO   r3   rX   rY   raise_on_extra_warningsr,   r-   rU   rV   rG   )r9   r\   r   rj   r<   rK   r]   r^   r_   rI   rJ   rL   r=   )r$   r>   rM   r`   r   r?   r   r   r@   rA   rB   s              r   test_subset_set_column_with_locr     s@    OAy!	iiiiibhyyy.N.N.NOO
 
B ggiiG!WF GXr2hg>>>
111c6	 	G"$$ 	C 	C!#2r('!B!B!BFJqqq#v	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 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'*****sH   
%B;;B?B?D<4%D%D<%D)	)D<,D)	-D<<E E c                    | \  }}} |dg di          }|                                 }|dd         }|rd|j        d d df<   n|r:t          j                    5  d|j        d d df<   d d d            n# 1 swxY w Y   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   rX   rY   r   rG   )r   rj   r<   rK   r]   r^   r_   rI   rJ   rL   r=   )
r$   r>   rM   r`   r?   r   r   r@   rA   rB   s
             r    test_subset_set_column_with_loc2r     su    OAy!	C#	$	$BggiiG!WF '
111c6	 	'"$$ 	# 	#!"FJqqq#v	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 3V<< 	' 	'+,?(?   ' ' &'
111c6"	' ' ' ' ' ' ' ' ' ' ' ' ' ' '	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' K!!###y#1veAqkk:::H&(+++ +
b'***** !"AaCH
b'*****sH   A55A9<A9C .C	=C 	C	C C	C  C$'C$c                   
 | \  }}} |g dg dt          j        g d|          d          }|                                }|dd         
|s|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*   rS   rW   r2   r'   r)   r   r3   r5   rX   rY   c              3   L   K   | ]}j                             |          V  d S r   )rI   _has_no_reference).0irA   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-   rG   r	   rO   )r9   r\   r   r]   r^   r<   r_   r   rI   rJ   allrL   r   r=   )r$   r>   rM   r   ra   r   r?   r   r@   rB   rA   s             @r   test_subset_set_columnsr     sO    #*M9a	iiiiibhyyy.N.N.NOO
 
B ggiiG!WF '0 '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   0B5
BB5B"	"B5%B"	&B55B9<B9r3   c                    | \  }}} |g dg dg dd          }|                                 }|dd         }|rd|j        d d |f<   nw|r:t          j                    5  d|j        d d |f<   d d d            n# 1 swxY w Y   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   rX   rY   ry   r,   r-   rG   r(   r3   r4   )
r   rj   r<   rK   r]   r^   rI   rJ   rL   r=   )
r$   rr   r>   rM   r?   r   r   r@   rA   rB   s
             r   #test_subset_set_with_column_indexerr     s     OAy!	yyyII	J	JBggiiG!WF 	'!"
111g:	 '"$$ 	' 	'%&FJqqq'z"	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 3V<< 	' 	' &'FJqqq'z"	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	'
 K!!###y1vS#JaVDDERSUVKKXXXH&(+++ +
b'*****
 ()AaC#sO$
b'*****s$    A;;A?A?B77B;>B;methodc                 &    | ddg         dd         S Nr3   r4   r   r(    r   s    r   <lambda>r   B  s    2sCj>!A#& r   c                 &    | dd         ddg         S Nr   r(   r3   r4   r   r   s    r   r   r   C  s    2ac7C:& r   c                 0    | ddg         j         dd         S r   r;   r   s    r   r   r   D  s    2sCj>&qs+ r   c                 0    | ddg         j         dd         S )Nr3   r4   r   r'   rj   r   s    r   r   r   E  s    2sCj>%ac* r   c                 8    | dd         j         d d ddf         S )Nr   r(   r   r   s    r   r   r   F  s!    2ac7<1Q3' r   c                 8    | dd         j         d d ddf         S r   r   r   s    r   r   r   G  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          } ||	          }t          j        |o|          5  d|j	        d	<   d d d            n# 1 swxY w Y   |s|st          j
        |	|
           n|	j	        d	         dk    sJ  ||	          }t          j        |o|          5  d|	j	        d	<   d d d            n# 1 swxY w Y    |d
dgddgd          }|s|st          j
        ||           d S |j	        d	         dk    sJ d S )Nr&   r*   rS   rW   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<   rK   r;   r=   )r#   r$   r   r   r>   r`   rM   r?   r   r   r@   test_callspecsubset_is_viewrA   rB   s                  r   test_subset_chained_getitemr   ?  sH   B OAy!	iiiiibhyyy.N.N.NOO
 
B ggiiG L),M 

& +
 
 '//5
 

 VBZZF		1Dn	E	E  D               "> "
b'****wt}!!!! VBZZF		1Dn	E	E                y1vQF3344H &. &
fh/////{4 A%%%%%%s$   B))B-0B-DD Dc                    | \  }}} |g dg dt          j        g d|          d          }|                                }|d d          d         dd         }	|                                 t	          j        |          5  d|	j        d<   d d d            n# 1 swxY w Y   |rt	          j        ||           n|j        d	         dk    sJ |d d          d         dd         }	|                                 t	          j        |          5  d|j        d	<   d d d            n# 1 swxY w Y    |d
dgd          }
|rt	          j        |	|
           d S |	j        d         dk    sJ d S )Nr&   r*   rS   rW   r2   r3   r   r(   r6   r'   name)	r9   r\   r   _clear_item_cacher<   rK   r;   r=   assert_series_equal)r$   r   r>   rM   ra   r   r   r   r@   rA   rB   s              r   "test_subset_chained_getitem_columnr     s!    (/$M9f	iiiiibhyyy.N.N.NOO
 
B ggiiG U3Z!_F		1	2	2  A               "
b'****wt}!!!! U3Z!_F		1	2	2                vq!f3'''H #
vx00000{1~""""""s$   BB"BD((D,/D,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'   )rj   r;   r   s    r   r   r     sL    !%C.	ac	ac 
SW 
ac	 r   )getitemr;   rj   z
long-chainc                 R   | \  }}} |g dg d          }|                                 } ||          }t          j        |          5  d|j        d<   d d d            n# 1 swxY w Y   |rt          j        ||           n|j        d         dk    sJ |j        dd         j        dd         }t          j        |          5  d|j        d<   d d d            n# 1 swxY w Y    |ddgdd	g          }	|rt          j        ||	           d S |j        d         dk    sJ d S )
Nr&   r2   rG   r   r)   r(   r'   r3   r4   r   r<   rK   r;   r   )
r$   r   r>   rM   r?   r   r   s_origrA   rB   s
             r   "test_subset_chained_getitem_seriesr     s   & LAq&yyy000AVVXXF VAYYF		1	2	2  A               
q&))))vayA~~~~ VAaC[ac"F		1	2	2  q	              vq!fS#J///H #
vx00000{1~""""""s$   A""A&)A&CC#&C#c                    t          g dg dg dd          }|                                }|d d          j        d         j        dd         }t          j        |          5  d|j        d<   d d d            n# 1 swxY w Y   | s|rt          j        ||           n|j        d         dk    sJ |d d          j        d         j        dd         }t          j        |          5  d|j        d<   d d d            n# 1 swxY w Y   t          dd	gd
dgd          }| s|rt          j        ||           d S |j        d         dk    sJ d S )Nr&   r*   rS   r2   r   r(   r6   r'   r+   r3   r4   )rH   r   )r   r   r;   r<   rK   r=   r   r   )r>   r`   rM   r   r@   rA   rB   s          r   $test_subset_chained_single_block_rowr     s    
CC	D	DBggiiG UZ]!$F		1	2	2  A               "1 "
b'****wt}!!!! UZ]!$F		1	2	2                q!fS#JQ777H #1 #
vx00000{1~""""""s$   $A;;A?A?)D  DD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   rj   zloc-rowsr;   z	iloc-rowsc                 J   | \  }}} |g dg dg dd          }|                                 } ||          }	|	|usJ t          j        |          5  d|	j        d<   d d d            n# 1 swxY w Y   |rt          j        ||           d S |j        d         dk    sJ d S )Nr&   r*   rS   r2   r   r6   )r   r<   rK   r;   r=   )
r$   r   r>   rM   ra   r   r?   r   r@   df2s
             r   test_null_slicer     s    #*M9a	CC	D	DBggiiG
&**C b==== 
	1	2	2                 "
b'*****wt}!!!!!!s   A,,A03A0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   rj   r;   c                 B   | \  }}} |g dg d          }|                                 } ||          }||usJ t          j        |          5  d|j        d<   d d d            n# 1 swxY w Y   |rt          j        ||           d S |j        d         dk    sJ d S )Nr&   r2   rG   r   r   )	r$   r   r>   rM   r?   r   r   r   s2s	            r   test_null_slice_seriesr     s     LAq&yyy000AVVXXF	B Q;;;; 
	1	2	2  
               
q&)))))vayA~~~~~~s   A((A,/A,c                 H   | \  }}} |g dg d          }|                                 }|d d          }t          j        t          |          t          |                    sJ t	          j        |          5  d|j        d<   d d d            n# 1 swxY w Y   |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   rG   r   r7   )r   r9   r:   r   r<   rK   r;   r   )	r$   r>   rM   r?   r   r   r   rA   rB   s	            r   test_series_getitem_slicer   7  sw   LAq&yyy000AVVXXFqqqTFIf--y||<<<<<		1	2	2  A                E#If$5$5y||DDDDDviii777H68,,, 
q&))))) vayA~~~~~~s   ;BBBc                 8   t          g d          }|                                }|d         }t          j        t	          |          t	          |                    sJ t          j        |          5  d|j        d<   d d d            n# 1 swxY w Y   | r1t          j        t	          |          t	          |                    rJ t          g d          }t          j        ||           | rt          j        ||           d S |j        d         dk    sJ d S )Nr&   .r   r7   )	r   r   r9   r:   r   r<   rK   r;   r   )r>   rM   r   r   rA   rB   s         r   test_series_getitem_ellipsisr   Q  sR   yyyAVVXXFsVFIf--y||<<<<<		1	2	2  A                E#If$5$5y||DDDDDiii  H68,,, 
q&))))) vayA~~~~~~s   3B

BBc                    | \  }}} |g dg d          }|                                 }|d d          }	d }
d}|t          j        u r1t          |t          j                  r|j        j        dk    rt          }
|r>t          j	        |
d u          5  d ||	          |<   d d d            n# 1 swxY w Y   n<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   rG   z;Series.__setitem__ treating keys as positions is deprecatedr   r   r   match)r   r   r)   )r   r<   rz   rk   r9   r{   r   kindFutureWarningrK   r_   r   )r$   r~   rr   r>   rM   r?   r   r   r   rA   rY   msgrB   s                r   #test_series_subset_set_with_indexerr   j  s    LAq&yyy000AVVXXFqqqTFD
GCbj  w
++ 	!M#%% ,"4t;KLLL 	, 	,*+JJvw'	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 'C888 	, 	,*+JJvw'	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,viii777H68,,, ,
q&)))))
q(+++++s$   B--B14B1C**C.1C.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                                         t	          j        |o|dk              5  d	|j	        d
<   d d d            n# 1 swxY w Y   t          j        t          |d          t          |d                    sJ |                                 }t	          j        |          5  d|j	        d<   d d d            n# 1 swxY w Y   |rt	          j        ||           d S |j	        d         dk    sJ d S )Nr&   r*   r.   r2   r3   r4   r5   r      )r   r4   d   r   r3   )
r   r9   r:   r   r<   r=   rI   rJ   rK   rj   )	r$   r>   rM   ra   r   r?   r   r@   r   s	            r   test_del_framer     sY    #*M9a	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   		1Nmw6N	O	O  v              Ib#..	#s0C0CDDDDDggiiG		1	2	2                 %
b'*****vf~$$$$$$s$   DD#&D#FF #F 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   rG   r3   r4   r5   r   r   )r   r9   r:   r   r<   r   valuesrj   )r$   r?   r   r   r   r   r   s          r   test_del_seriesr     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<   n|r1t	          j                    5  d|	d<   d d d            n# 1 swxY w Y   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   rX   rY   r7   r   r6   )r   r9   r:   r   r<   rK   r   r]   r^   r_   r   r=   r;   )r$   r>   rM   r`   ra   r   r   r   r@   r   rY   rB   s               r   test_column_as_seriesr     s    (/$M9f	II	J	JBggiiG
3AIa--yS/A/ABBBBB 
1 
! 	&((  !               .;g-E-E))4D"#7@@  /55  AaD                             viiic***H1h''' +
b'***
r#w55555T
b'*****sH   
BB #B D
!C3'D
3C7	7D
:C7	;D

DDc                    | \  }}} |g dg dg dd          }|                                 }|d         }	|dk    rtt          j        |          5  t          j        t
          d          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          }
n|s|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   rX   rY   |zAA value is trying to be set on a copy of a slice from a DataFrame3Setting an item of incompatible dtype is deprecated)r   r<   rK   r|   raises	TypeErrorr_   r   objectr]   r^   joinr   r   r=   )r$   r>   r`   rM   ra   r   r   r   r@   r   rB   r   s               r   %test_column_as_series_set_with_upcastr     s    (/$M9f	II	J	JBggiiG
3A
"""#566 	 	y@@@  !              	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 6)))#...	 A 2 A6I 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'*****s~   B.B 4B B	BB	BBBC%%C),C):E>E'E>'E+	+E>.E+	/E>>FF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|s|r||usJ n||u sJ |s|rd|j        d<   n|r6t	          j                    5  d|j        d<   d d d            n# 1 swxY w Y   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   rX   rY   r3   )r   r   r   r;   r<   rK   r   r]   r^   r_   r   r=   )r#   r$   r   r>   rM   r`   ra   r   r?   r   r@   s1r   is_ilocrY   s                  r   #test_column_as_series_no_item_cacher     su   & #*M9a	II	J	JBggiiG	B	B))G 0 G |||||Rxxxx 	1 	

	 "$$ 	 	BGAJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 *7')A)A%%t3V<< 	 	+D11  
              	 	 	 	 	 	 	 	 	 	 	 	 	 	 	  
r73<000
b'*****wqzQsH   B""B&)B&D'C>2D>D	DD	DDD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   rB   s           r   %test_dataframe_add_column_from_seriesr   P  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.   rS   c                 V   t          g dg d|d          }|                                }|d d          }|dk    rC|sAt          j        t          d          5  | ||          |<   d d d            n# 1 swxY w Y   |dk    rD|rBt          j        t          d          5  | ||          |<   d d d            n# 1 swxY w Y   n@t          j        |o|dk              5  | ||          |<   d d d            n# 1 swxY w Y   | 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   z,incompatible dtype|Setting a value on a viewr   r4   r5   )
r   r   r<   r_   r   rK   r9   r:   r   r=   )	r>   rM   indexer_funcrr   r   r   r   r@   views	            r   )test_set_value_copy_only_necessary_columnr  c  s   ( 
==	>	>BggiiGaaa5D
czz,z'!V
 
 
 	, 	, ),LLW%	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, czz(z'!O
 
 
 	, 	, ),LLW%	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,
 "#5#D#*EE 	, 	,(+LLW%	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,  	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Ms6   A44A8;A8"B==CC#C>>DDc                 @   t          g dt          j                            g dg dg                    }|                                }|d         }t          j        t          |          t          |                    sJ t          j	        |          5  d|j
        d<   d d d            n# 1 swxY w Y   | rt          j        ||           d S t          g dt          j                            g dg dg                    }t          j        ||           d S )	Nr&   )r'   r'   r(   )r)   r+   r,   rG   r'   r   r   )r   r(   r)   )r   r]   
MultiIndexfrom_arraysr   r9   r:   r   r<   rK   r;   r   )r>   rM   r!   ser_origresultrB   s         r   test_series_midx_slicer    sZ   
"-";";YYY			<R"S"S
T
T
TCxxzzHVFIcNNIf,=,=>>>>>		1	2	2  A               .
sH-----KKr}88)))YYY9OPP
 
 
 	sH-----s   B//B36B3c                    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 |r6t          j
                    5  d|j        d	<   d d d            n# 1 swxY w Y   nht          j        d
d          5  t          j        t                    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   |j        d	         dk    sJ d S )Nr'   r(   )r3   x)r3   y)r4   r
  )r3   r   r	  r
  r   r6   rX   rY   )r   r   rI   r   r9   r:   r   r;   r<   r=   rK   r]   r^   r_   r   )r>   rM   r`   r   r@   new_dfs         r   test_getitem_midx_slicer    s2    
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***** 	,&(( ( ($'D!( ( ( ( ( ( ( ( ( ( ( ( ( ( ( "#7@@ , ,/0FGG , ,(+FK%, , , , , , , , , , , , , , ,, , , , , , , , , , , , , , , wt}######sH   =CCC5D=D&D=&D*	*D=-D*	.D==EEc                    t          g dt          j                            g d                    }|d         }t	          j        t          |          t          |                    sJ t          j        |          5  d|j	        d<   d d d            n# 1 swxY w Y   | rIt          g dt          j                            g d                    }t          j
        ||           d S d S )Nr&   ))r'   r(   r)   )r  r+   ))r(   r)   r+   rG   r  r   r   )r   r]   r  from_tuplesr9   r:   r   r<   rK   r;   r   )r>   rM   r!   r  rB   s        r   test_series_midx_tuples_slicer    s=   
		m''(O(O(OPP  C [FIcNNIf,=,=>>>>>		1	2	2  A               .II-++,S,S,STT
 
 
 	sH-----. .s    BBBc            	         d } t           j                             | dd           | dd           | dd           | dd          g          }t           j                            g dd	d
g          }t	          d||                                                              d          }|d         dk    }|                                }|j        t           j        |d d ddgf         d d f         }|j        t           j        d d d d ddgf         d d f         }t          j
        ||           t          j        ||           d S )Nc                 :      fdt          |          D             S )Nc                     g | ]} | 	S r   r   )r   r   prefixs     r   
<listcomp>zCtest_midx_read_only_bool_indexer.<locals>.mklbl.<locals>.<listcomp>  s!    111161111r   )rL   )r  ns   ` r   mklblz/test_midx_read_only_bool_indexer.<locals>.mklbl  s#    1111a1111r   Ar+   Br(   CD)r3   r   )r3   bar)r4   r   )r4   bahlvl0lvl1)namesr'   )rH   r   )axisr  C1C3)r]   r  from_productr  r   
sort_indexr   rj   
IndexSlicer<   r=   r   )r  idxcolsr   rf   expected_maskr  rB   s           r    test_midx_read_only_bool_indexerr,    sb   2 2 2 -
$
$	sAc1uuS!}}eeCmmD C =$$@@@QWHX %  D 
1C	.	.	.	9	9	;	;	F	FA	F	N	NBlq DIIKKMVBM$D$<"78!!!;<FvbmAAAqqq4,$67:;H&(+++4/////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*   rZ   r4   r5   r'   r   r[   )r   r   rj   r9   r:   r   rI   r   r;   r<   r=   )r>   r   rhsrhs_origs       r   !test_loc_enlarging_with_dataframer0    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   ):r   r9   r|   pandas.errorsr   pandas.core.dtypes.commonr   pandasr]   r   r   pandas._testing_testingr<   pandas.tests.copy_view.utilr   fixturer$   rC   rE   rN   markparametrizerc   re   r\   rn   rq   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rj   r;   r  r  r  r  r,  r0  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, , ,.!+ !+ !+H gy!'F   (+ (+ (+V gy!'F    
U1a[[("(...//1a&1A1AB"""   
 
U3__hbh22233c3Z@"""   
0' 0'   0'f gy!'F    
U1a[[("(...//1a&1A1AB"""   
 
U1a[[("(...//!Q8"""   
0' 0'   0'f 
U1a[[("(...//1a&1A1AB"""   
'+ '+ 
'+T+ + +B' ' '6 gy!'F   %+ %+ %+P"+ "+ "+J gy!'F   ' ' '@ 
U3__hbh22233c3Z@"""   
+ + 
+D &&&&++**''**	 	 	   & gy!'F   2& 2& ' ,2&j gy!'F   # # #B %%''--	 			 	100   # # #:# # #6    	<;;  
 
" "
 
"* 
 	#""     4  4  2 
U1a[[("(...//1a&1A1AB"""   
, , 
,H% % %>  0!+ !+ !+H*+ *+ *+Z !!  
 	#""   & & &X( ( (& c
++		&	1#s	A3(	%%++s#$	55;;"#
 
 	OOOYYY'm^-L    N  N 
 
 ,+ NF. . . $ $ $4. . ."0 0 0*) ) ) ) )r   