
    dl                     
   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          dV                         Z3dW Z4dX Z5dY Z6dS )Z    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     `/var/www/html/t/fyr/venv311/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_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_slicera      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maskrZ   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   rZ   r   locr;   rL   r<   r=   
isinstancerc   r$   r   rb   re   r^   r?   r_   r   r@   r   rA   rB   rC   s                r   test_subset_loc_rows_columnsrk      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 rg   )	r9   rZ   r   r;   rL   r<   r=   ri   rc   rj   s                r   test_subset_iloc_rows_columnsrm      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   )        ru   rs   rH   r)   )r   r<   setitemri   r9   ndarrayr   pytestskipr   r[   r\   r]   rL   r=   )r$   
indexer_sirn   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 )Nrp   rq   rr   r2   r'   r+   r)   r   rW   rX   )r(   r)   r   )r   r   r   )r0   r1   rs   rH   )r)   r3   r4   )	r   r[   r\   r<   r]   r   rL   r=   rh   )	r$   r?   r@   r   r   rA   rB   rd   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   rZ   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   rZ   r   rh   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   rh   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   rZ   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   ru   r,   r-   rH   r(   r3   r4   )	r   rh   r[   r\   rJ   rK   rL   r<   r=   )	r$   rn   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'   rh   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          p|
                    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-slicer   r   r   r6   r'   r(   r+   r,   r3   r4   )
r9   rZ   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     s   6 OAy!	iiiiibhyyy.N.N.NOO
 
B ggiiG L),M 
8& +
 
 '//
 
 8##$677 	
 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   rZ   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'   )rh   r;   r   s    r   r   r     sL    !%C.	ac	ac 
SW 
ac	 r   )getitemr;   rh   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   rh   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   rh   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                 4   | \  }}} |g dg d          }|                                 }|d d          }d ||          |<    |g dg d          }	t          j        ||	           |rt          j        ||           d S t          j        ||	           d S )Nr&   r2   rH   r   )r   r   r)   )r   r<   r   )
r$   rz   rn   r?   r@   r   r   r   rB   rC   s
             r   #test_series_subset_set_with_indexerr     s     LAq&yyy000AVVXXFqqqTF"#JJvwviii777H68,,, ,
q&)))))
q(+++++r   c                 L   | \  }}} |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	<   |rt	          j        ||           d S |j        d	         dk    sJ d S )
Nr&   r*   r.   r2   r3   r4   r5   d   r   r3   )	r   r9   r:   r   r<   r=   rJ   rK   rh   )r$   r?   r@   r   r   rA   r   s          r   test_del_framer   3  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   
 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   valuesrh   )r$   r@   r   r   r   r   r   s          r   test_del_seriesr   O  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   g  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|rd	|d
<    |g dt          d          }	nxt          j        dd          5  t          j        t                    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 value)matchfoor   r   )r   r(   r)   )r   r   rW   rX   )r   rx   raises	TypeErrorobjectr[   r\   r<   r]   r   r   r=   )
r$   r?   r^   r_   r   r   r   rA   r   rC   s
             r   %test_column_as_series_set_with_upcastr     s    (/$M9f	II	J	JBggiiG
3A
""]9O<<< 	 	AaD	 	 	 	 	 	 	 	 	 	 	 	 	 	 	6)))#...	 A 3 A!6---vC@@@3V<< 	 	+,BCC  !              	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 6---vC@@@1h''' +
b'***
r#w55555
b'*****sH   A++A/2A/:C=C&C=&C*	*C=-C*	.C==DD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                 d   | \  }}} |g dg dd          } |g d          }||d<   t          j        t          |d          |j                  rJ d|d<    |g dg dg dd          }t	          j        ||           d|j        d	<    |g d
          }t	          j        ||           d S )Nr&   r.   r   )r   r      newr   )r3   r4   r   r   )r(   r   )r   r   r   )r9   r:   r   r   r<   r=   rh   r   )r$   r@   r   r   r   r   rC   
expected_ss           r   %test_dataframe_add_column_from_seriesr     s    
 #Ay&	99	:	:B|||ABuI	"e 4 4ah????? AaDyyyy|||TTUUH"h''' BF8$$J1j)))))r   valr   zindexer_func, indexerr   r6   c                    t          g dg dg dd          }|                                }|d d          }| ||          |<   | 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*   r.   r2   r4   r3   r5   )r   r   r9   r:   r   r<   r=   )r?   indexer_funcrn   r   r   rA   views          r   )test_set_value_copy_only_necessary_columnr     sm   $ 
II	J	JBggiiGaaa5D #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Mr   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     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  *  s    
		m''(O(O(OPP  C [FIcNNIf,=,=>>>>>FKN .II-++,S,S,STT
 
 
 	sH-----. .r   )7r   r9   rx   pandas.errorsr   pandas.core.dtypes.commonr   pandasr[   r   r   pandas._testing_testingr<   pandas.tests.copy_view.utilr   fixturer$   rD   rF   rM   markparametrizera   rc   rZ   rk   rm   r{   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rh   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"""   
, , 
,.% % %8  0+ + +<+ + +D !!  
 	#""     H* * *. c
++		&	1#s	A3(	%%++s#$	55;;"#
 
N N
 
 ,+N0	. 	. 	.+ + +. . . . .r   