U
    >vf&                     @   s  d dl Zd dlZd dlmZ d dlZd dlmZmZm	Z	m
Z
mZmZmZmZ d dlmZ d dlmZ dd Zdd Zejd	d
ddgejjddd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd gddd d!d"d#d$d%d&d'd(d)d*d+d,d-gd.d/d0 Zejd	d
ddgejjdd1d d2d d3d d4d d5d d6d d7d d8d d9d d:d d;d d<d d=d d>d d?d d@d dAd gdBddd d!d"d#d%dCd&d'd(d)d*d+d,d-gd.dDdE Zejd	d
ddgdFdG ZdHdI ZejdJed dKedLdKggdMdN ZdOdP ZdQdR ZdSdT Z dUdV Z!dWdX Z"dYdZ Z#d[d\ Z$ejd]d^d_gid`d_idad_igdbdc Z%ddde Z&dfdg Z'dhdi Z(djdk Z)dldm Z*ejdndod dpd dqd gdrds Z+dtdu Z,dvdw Z-dxdy Z.dzd{ Z/ejd|dJd}gd~d Z0dd Z1dd Z2ejjddd d fdd dKfdd d fdd d fgddddgd.dd Z3ejdedLdKgd_ded_dLdKgigdd Z4ejdedLdKgd_ded_dLdKgigdd Z5dd Z6dd Z7dd Z8dd Z9ejdddLej:fgdd Z;ejdddgdd Z<ejddd dd dd dd gdd Z=dd Z>dd Z?dd Z@ejdd_ddLdd dLd dgdd ZAejdddgdd ZBejdedLdKged_dLdKgigdd ZCejdedLdKged_dLdKgigdd ZDdd ZEdd ZFejdedLdKdgd_di fed_dLdKdgidd_ifgddƄ ZGejdedLdKdgd_di fed_dLdKdgidd_ifgddȄ ZHejddd dLgdd̄ ZIdd΄ ZJddЄ ZKejdedLdKdged_dLdKdgigdd҄ ZLddԄ ZMddք ZNdd؄ ZOejdddidJdigdd܄ ZPejdddgdd ZQdd ZRdd ZSdd ZTejdddgdd ZUejdddgdd ZVejdddgdd ZWejdddgdd ZXejdddgdd ZYejdddgdd ZZejdddgdd  Z[dd Z\dd Z]dd Z^dd Z_ejjdddgd	d
gd.dd Z`ejdd_d_ggdd Zaejdddgejjdddgd	d
gd.dd Zbejdd dLgejdddgdd Zcdd Zddd Zedd  Zfd!d" Zgejd	d
dgd#d$ Zhd%d& Zid'd( Zjd)d* Zkd+d, ZldS (-      N)SettingWithCopyWarning)	DataFrameIndex
MultiIndexPeriodSeries	Timestamp
date_rangeperiod_range)	get_arrayc                 C   s   t dddgdddgddd	gd
}| }tt|dt|drFt| rv|jjd j	 r`t|jjd j	 rvtd|j
d< |j
d dkstd S N                  皙?皙?333333?abcr   r   r   r   r   copynpshares_memoryr   AssertionError_mgrblocksrefsZhas_referenceilocusing_copy_on_writedfZdf_copy r'   G/tmp/pip-unpacked-wheel-vdrwu74i/pandas/tests/copy_view/test_methods.py	test_copy   s    "
r)   c                 C   s  t dddgdddgddd	gd
}|jdd}tt|dt|dsJt| rz|jjd j	 sdt|jjd j	 szt| rd|j
d< |j
d dksttt|dt|drttt|dt|dstn:d|j
d< |j
d dksttt|dt|dstd S )Nr   r   r   r   r   r   r   r   r   r   Fdeepr   r   r   r   r   r$   r'   r'   r(   test_copy_shallow$   s    "

r,   r   TFmethodc                 C   s   | j tj|dS )Ncolumnsr   )renamestrlowerr&   r   r'   r'   r(   <lambda>B       r4   c                 C   s   | j ddg|dS )Nr   r   r.   )reindexr3   r'   r'   r(   r4   C   r5   c                 C   s   | j | |dS Nr   reindex_liker3   r'   r'   r(   r4   D   r5   c                 C   s   | j | |dd S Nr8   r   alignr3   r'   r'   r(   r4   E   r5   c                 C   s   | j dddgd|dS Nr   r   r   index)axisr   set_axisr3   r'   r'   r(   r4   F   r5   c                 C   s   | j d|dS Ntestr?   r   rename_axisr3   r'   r'   r(   r4   G   r5   c                 C   s   | j d|dS )NrD   r.   rF   r3   r'   r'   r(   r4   H   r5   c                 C   s   | j ddi|dS )Nr   int64r8   astyper3   r'   r'   r(   r4   I   r5   c                 C   s   | j dd|dS Nr   r8   swapaxesr3   r'   r'   r(   r4   K   r5   c                 C   s   | j dd|dS Nr   r   r8   truncater3   r'   r'   r(   r4   L   r5   c                 C   s   | j |dS r7   infer_objectsr3   r'   r'   r(   r4   M   r5   c                 C   s   | j |dS r7   to_timestampr3   r'   r'   r(   r4   N   r5   c                 C   s   | j d|dS ND)freqr   	to_periodr3   r'   r'   r(   r4   O   r5   c                 C   s   | j d|dS N
US/Centralr8   tz_localizer3   r'   r'   r(   r4   P   r5   c                 C   s   | j d|dS rZ   
tz_convertr3   r'   r'   r(   r4   Q   r5   c                 C   s   | j d|dS NF)allows_duplicate_labelsr   	set_flagsr3   r'   r'   r(   r4   R   r5   r0   r6   r:   r=   rB   Zrename_axis0Zrename_axis1rJ   rM   rP   rR   rT   rY   r]   r_   rc   )idsc           	      C   s&  d }d| j jjkr"tdddd}nZd| j jjkr@tdddd}n<d| j jjkr^tdddd}nd| j jjkr|tdddd	d
}tdddgdddgdddgd|d}|||d}|p|dk}| j jjdr|s|s|dkrd}|rtt	|dt	|ds"t
ntt	|dt	|dr"t
d S )NrT   
2012-01-01rV   r   rW   periodsrY   r]   r_   Europe/BrusselsrW   rg   tzr   r   r   r   r   r   r   r   r   r?   r8   Fzreindex-r   )nodecallspecidr
   r	   r   
startswithr   r   r   r   )	requestr-   r   r%   using_array_managerr?   r&   df2share_memoryr'   r'   r(   test_methods_copy_keyword>   s$    -& rt   c                 C   s   | j ddi|dS )Nr   d   rE   r0   serr   r'   r'   r(   r4      r5   c                 C   s   | j d |dS r7   rv   rw   r'   r'   r(   r4      r5   c                 C   s   | j | j|dS )NrE   )r6   r?   rw   r'   r'   r(   r4      r5   c                 C   s   | j | |dS r7   r9   rw   r'   r'   r(   r4      r5   c                 C   s   | j | |dd S r;   r<   rw   r'   r'   r(   r4      r5   c                 C   s   | j dddgd|dS r>   rA   rw   r'   r'   r(   r4      r5   c                 C   s   | j d|dS rC   rF   rw   r'   r'   r(   r4      r5   c                 C   s   | j d|dS )NrH   r8   rI   rw   r'   r'   r(   r4      r5   c                 C   s   | j dd|dS )Nr   r   r8   )	swaplevelrw   r'   r'   r(   r4      r5   c                 C   s   | j dd|dS rK   rL   rw   r'   r'   r(   r4      r5   c                 C   s   | j dd|dS rN   rO   rw   r'   r'   r(   r4      r5   c                 C   s   | j |dS r7   rQ   rw   r'   r'   r(   r4      r5   c                 C   s   | j |dS r7   rS   rw   r'   r'   r(   r4      r5   c                 C   s   | j d|dS rU   rX   rw   r'   r'   r(   r4      r5   c                 C   s   | j d|dS rZ   r\   rw   r'   r'   r(   r4      r5   c                 C   s   | j d|dS rZ   r^   rw   r'   r'   r(   r4      r5   c                 C   s   | j d|dS r`   rb   rw   r'   r'   r(   r4      r5   zrename (dict)ry   c                 C   s  d }d| j jjkr"tdddd}nd| j jjkr@tdddd}nfd| j jjkr^tdddd}nHd| j jjkr~tdddd	d
}n(d| j jjkrtdddgdddgg}tdddg|d}|||d}|p|dk}|rt	t
|t
|stnt	t
|t
|rtd S )NrT   re   rV   r   rf   rY   r]   r_   rh   ri   ry   r   r   r   r   r   rk   r8   F)rl   rm   rn   r
   r	   r   Zfrom_arraysr   r   r   r   r   )rp   r-   r   r%   r?   rx   ser2rs   r'   r'   r(    test_methods_series_copy_keyword   s"    +r{   c                 C   s   t dddgdddgd}|j|d}| p8|d	kp8|d k}|oB| }|rftt|d
t|dstntt|d
t|drtd S )Nr   r   r   r   r   r   r   r   r8   Fr   r   )r   	transposer   r   r   r   )r%   r   rq   r&   resultrs   r'   r'   r(   test_transpose_copy_keyword   s    
r   c                 C   s   t dddgdddgddd	gd
dddgd}| }| }|j  | rtt|dt|dsfttt|dt|dstd|j	d< tt|dt|drt| rtt|dt|dstt
|| d S )Nr   r   r   r   r   r   r   r   r   r   
         rk   r   r   r   )r   r   )r   r   reset_indexr    _verify_integrityr   r   r   r   r#   tmassert_frame_equalr%   r&   df_origrr   r'   r'   r(   test_reset_index   s     

r   r?   r   r   c                 C   s   t ddg|d}| }|jdd}| rRtt|t|s@t|jdrjtntt|t|rjtd|j	d< t
|| d S )Nr   r   rk   T)dropr   ru   )r   r   r   r   r   r   r   r    _has_no_referencer#   r   assert_series_equalr%   r?   rx   ser_origrz   r'   r'   r(   test_reset_index_series_drop   s    
r   c                 C   s   t dddgdddgddd	gd
}| }|jtjd}| rXtt|dt|dsXtd|j	d< tt|dt|dr~t| rtt|dt|dstt dddgdddgddd	gd}t
|| t
|| d S )Nr   r   r   r   r   r   r   r   r   r   r/   Ar   r   r   Cr   )r   Br   )r   r   r0   r1   upperr   r   r   r   r#   r   r   r%   r&   r   rr   expectedr'   r'   r(   test_rename_columns   s    "
"r   c                 C   s   t dddgdddgddd	gd
}|jtjd}| }| rZtt|dt|dsvtntt|dt|drvtd|j	d< tt|dt|drt| rtt|dt|dstt dddgdddgddd	gd
}t
|| t
|| d S )Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r0   r1   r   r   r   r   r   r   r#   r   r   )r%   r&   rr   Zdf2_origr   r'   r'   r(   !test_rename_columns_modify_parent  s    "
"r   c                 C   s   t dddgdd}| }dd }||}tt|dt|dsJtd	|jd
< | rt	|| tt|dt|drtn<t d	ddgdd}t	|| tt|dt|dsttt|dt|dstd S )Nr   r   r         ?r|   c                 S   s   | S Nr'   r&   r'   r'   r(   testfunc'  s    ztest_pipe.<locals>.testfuncr   r   r   r   )
r   r   piper   r   r   r   r#   r   r   r%   r&   r   r   rr   r   r'   r'   r(   	test_pipe#  s    

r   c                 C   s   t dddgdd}| }dd }||}tt|dt|dsJt| rxt|| tt|d	t|d	rtn<t d
ddgdd}t|| tt|d	t|d	sttt|dt|dstd S )Nr   r   r   r   r|   c                 S   s   d| j d< | S )Nru   r   )r#   r   r'   r'   r(   r   ?  s    
z%test_pipe_modify_df.<locals>.testfuncr   r   ru   )	r   r   r   r   r   r   r   r   r   r   r'   r'   r(   test_pipe_modify_df;  s    
r   c                 C   s   t dddgdddgddd	gd
}| }|jddgd}| r\tt|dt|dsxtntt|dt|drxtd|jd< tt|dt|drt| rtt|dt|dstt	|| d S )Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )
r   r   r6   r   r   r   r   r#   r   r   r   r'   r'   r(   test_reindex_columnsR  s    "
r   c                 C   s  t dddgdddgddd	gd
}| }|jdd}|j  | r~tt|dt|ds`ttt|dt|dstn8tt|dt|drttt|dt|drtd|j	d< tt|dt|drt| rtt|dt|dstt
|| d S )Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r    r   r   r   r   r   r#   r   r   r   r'   r'   r(   test_drop_on_columnf  s    "

r   c                 C   s   t dddgdddgddd	gd
}| }|d}|j  | r`tt|dt|ds|tntt|dt|dr|td|j	d< | rtt|dt|drtt
|| d S )Nr   r   r   r   r   r   r   r   r   r   rH   r   r   r   )r   r   select_dtypesr    r   r   r   r   r   r#   r   r   r   r'   r'   r(   test_select_dtypesy  s    "


r   filter_kwargsitemsr   likeregexc                 C   s   t dddgdddgddd	gd
}| }|jf |}| rXtt|dt|dsttntt|dt|drtt| rd|jd< tt|dt|drtt	|| d S r   )
r   r   filterr   r   r   r   r#   r   r   )r%   r   r&   r   rr   r'   r'   r(   test_filter  s    "
r   c                 C   s   t ddgddgddggtddd	d
gd}| }|jdd}| r`tt|d	t|d	s|tntt|d	t|d	r|td|jd< | rtt|d
t|d
rtt	
|| d S )Nr   r   r   r   r   r   
2020-01-01
2020-01-03r   r   r?   r/   r   )rg   r   )r   r	   r   shiftr   r   r   r   r#   r   r   r   r'   r'   r(   test_shift_no_op  s    
r   c                 C   sX   t ddgddgddggtddd	d
gd}|jddd}tt|d	t|d	rTtd S )Nr   r   r   r   r   r   r   r   r   r   r   r   rg   r@   )r   r	   r   r   r   r   r   )r%   r&   rr   r'   r'   r(   test_shift_index  s    r   c                 C   s   t ddgddgddggtddd	d
gd}| }tdd|_|jddd}| rntt|d	t|d	stntt|d	t|d	rtd|j	d< | rtt|d	t|d	rtt
|| d S )Nr   r   r   r   r   r   r   r   r   r   r   
2020-01-02z
2020-01-04Z1Drg   rW   r   r   )r   r	   r   r?   r   r   r   r   r   r#   r   r   r   r'   r'   r(   test_shift_rows_freq  s    
r   c                 C   s   t ddgddgddggtddd	}|jddd
}tt|dt|dsNtd|jd< | rxtt|dt|drxtt tjdgtjdgtjdggtddd	}t	
|| d S )Nr   r   r   r   r   r   r   r   r   r   r   r   r   )r   r	   r   r   r   r   r   r#   nanr   r   )r%   r&   rr   r   r'   r'   r(   test_shift_columns  s"     
 r   c                 C   s  t dddgdddgddd	gd
}| }|d d  }|d}t|jt|dsXttt|dt|dstt| rd|jd< t|jt|drtd|jd< | rtt|dt|drtt	
|| n.t dddgdddgddd	gd
}t	
|| d S )Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   popr   r   valuesr   r   r#   r   r   )r%   r&   r   Zview_originalr~   r   r'   r'   r(   test_pop  s    "


"r   funcc                 C   s
   |  |S r   r<   xyr'   r'   r(   r4     r5   c                 C   s   | j |jddS )Nr   r@   )r=   r   r   r'   r'   r(   r4     r5   c                 C   s   | j |jjtdd ddS )Nr   r   r   )r=   r   r#   slicer   r'   r'   r(   r4     r5   c                 C   s   t dddgdd}| }|ddg  }|||\}}| r\tt|dt|dsxtntt|dt|drxtd|jd< | rtt|dt|drtt|| d S )	Nr   r   r   r   r|   r   r   r   )	r   r   r   r   r   r   r#   r   r   )r%   r   r&   r   Z
df_changedrr   _r'   r'   r(   test_align_frame  s    	
r   c                 C   s   t ddg}| }| }||\}}| rXt|j|jsBtt|j|jstn(t|j|jrltt|j|jrtd|jd< d|jd< | rt|j|jrtt|j|jrtt	|| t	|| d S )Nr   r   r   )
r   r   r=   r   r   r   r   r#   r   r   )r%   rx   r   Z	ser_otherrz   Zser_other_resultr'   r'   r(   test_align_series  s     

r   c                 C   s   t dddgdddgd}| }|j|dd	\}}tt|d
t|d
sPttt|dt|dslt| rd|jd< t	|| d|jd< t	|| d S )Nr   r   r   r   r   r   r|   Fr8   r   r   r   r   r   )
r   r   r=   r   r   r   r   locr   r   )r%   r&   r   rr   Zdf3r'   r'   r(   test_align_copy_false-  s    

r   c                 C   s   t dddgdddgd}tdddgdd	}| }| }|j|d
dd\}}tt|dt|dslttt|dt|dsttt|dt|dst| rd|jd< t	
|| d|jd< t	|| d S )Nr   r   r   r   r   r   r|   r   nameFr   )r   r@   r   r   r   )r   r   r   r=   r   r   r   r   r   r   r   r   )r%   r&   rx   r   r   rr   rz   r'   r'   r(   !test_align_with_series_copy_false=  s    

r   c                 C   s   t dddg}| }|d d   }t|jt|ds>td|jd< | rrt|jt|drdtt	
|| n| }d|jd< t	
|| |d d   }d|jd< | rt	||  n"|  }d|jd< t	|| d S )Nr   r   r   r   r   )r   r   Zto_framer   r   r   r   r   r#   r   r   r   )r%   rx   r   r&   r   r'   r'   r(   test_to_frameP  s$    



r   axr/   c                 C   s   t dddgdddgd}| }|||}| rPtt|dt|dsltntt|dt|drltd	|jd
< | rtt|dt|drtt	|| d S )Nr   r   r   r   r   r   r|   r   r   r   
r   r   rM   r   r   r   r   r#   r   r   )r%   r   r&   r   rr   r'   r'   r(   test_swapaxes_noopr  s    
r   c                 C   s   t dddgdddgddd	d
gd}| }|dd}| rZtt|dt|dsvtntt|dt|drvtd|jd< | rtt|dt|drtt	|| d S )Nr   r   r   r   r   r   r|   r   r   zrk   r?   r/   r   r   r   r   r   r'   r'   r(   test_swapaxes_single_block  s    $
r   c                  C   sX   t ddgdd} | jddd} d| jd	< t ddgddgd
ddgd}t| | d S )Nr   r   r   r|   r?   r/   )Zaxis1Zaxis2ru   r   r   r   r   rk   )r   rM   r#   r   r   )r&   r   r'   r'   r(   test_swapaxes_read_only_array  s
    
r   zmethod, idxc                 C   s   | j ddj ddS )NFr*   r8   r   r'   r'   r(   r4     r5   c                 C   s   |     S r   )r   r   r'   r'   r(   r4     r5   c                 C   s   | j tjdj tjdS )Nr   )r0   r1   r   r2   r   r'   r'   r(   r4     r5   c                 C   s   | j ddjddS )NFr*   number)include)r   r   r   r'   r'   r(   r4     r5   shallow-copyr   r   c                 C   s   t dddgdddgddd	gd
}| }| o<| jjjdk}||}d|jd|f< |sdt|| ||}d|jd< |st|jd d |d f | d S )Nr   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   rl   rm   rn   r#   r   r   )rp   r-   idxr%   r&   r   Zdf2_is_viewrr   r'   r'   r(   test_chained_methods  s    "
r   objr   c                 C   s   t tdddtdddg|_| }| }| rPtt|dt|dsltntt|dt|drltd|j	d< tt|dt|drtt
|| d S )Nz2012-1-1rV   rW   z2012-1-2r   r   )r   r   r?   r   rT   r   r   r   r   r#   r   assert_equalr%   r   obj_origobj2r'   r'   r(   test_to_timestamp  s    
r   c                 C   s   t tdtdg|_| }|jdd}| rLtt|dt|dshtntt|dt|drhtd|j	d< tt|dt|drtt
|| d S )N
2019-12-31
2020-12-31Yr   r   r   )r   r   r?   r   rY   r   r   r   r   r#   r   r   r   r'   r'   r(   test_to_period  s    
r   c                 C   s   t dddgdddgddd	gd
}| }|d}| rVtt|dt|dsrtntt|dt|drrtd|jd< tt|dt|drtt	|| d S )Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )
r   r   	set_indexr   r   r   r   r#   r   r   r   r'   r'   r(   test_set_index  s    "

r   c                  C   s@   t dddgdd} | d}| }d| jd< t|| d S )Nr   r   r   r|   r   ru   r   )r   r   r   r#   r   r   r&   r~   r   r'   r'   r(   4test_set_index_mutating_parent_does_not_mutate_index  s
    

r   c                 C   s   t dddgdddgddd	gd
}| }|d}| rTtt|dt|dsTtd|jd< tt|dt|drzt| rtt|dt|dstt dddgdddgddd	gd}t	|| t	|| d S )Nr   r   r   r   r   r   r   r   r   r   ZCoW_CoW_ar   r   r   CoW_cr   )r   ZCoW_br   )
r   r   Z
add_prefixr   r   r   r   r#   r   r   r   r'   r'   r(   test_add_prefix  s    "

r   c                 C   s   t dddgdddgddd	gd
}| }|d}| rTtt|dt|dsTtd|jd< tt|dt|drzt| rtt|dt|dstt dddgdddgddd	gd}t	|| t	|| d S )Nr   r   r   r   r   r   r   r   r   r   Z_CoWa_CoWr   r   r   c_CoWr   )r   Zb_CoWr   )
r   r   Z
add_suffixr   r   r   r   r#   r   r   r   r'   r'   r(   test_add_suffix  s    "

r   z	axis, val)r         @c                 C   s   t dddgd|dgdd}| }|j|d}| rRtt|d	t|d	sntntt|d	t|d	rntd
|jd< | rtt|d	t|d	rtt	|| d S )Nr   r   r   r   r   dr   r   r   r   r   )
r   r   dropnar   r   r   r   r#   r   r   )r%   r@   valr&   r   rr   r'   r'   r(   test_dropna   s    
r   r   r   r   c                 C   s~   t d|dg}| }| }| r8t|j|jsLtnt|j|jrLtd|jd< | rnt|j|jrntt	|| d S )Nr   r   r   )
r   r   r   r   r   r   r   r#   r   r   )r%   r   rx   r   rz   r'   r'   r(   test_dropna_series1  s    
r   c                 C   s   |   S r   headr   r'   r'   r(   r4   E  r5   c                 C   s
   |  dS )Nr   r   r   r'   r'   r(   r4   F  r5   c                 C   s   |   S r   tailr   r'   r'   r(   r4   G  r5   c                 C   s
   |  dS )Nr   r   r   r'   r'   r(   r4   H  r5   c                 C   s   t dddgdddgd}| }| |}|j  |rptt|dt|dsTttt|d	t|d	sptd
|jd< tt|d	t|d	st|rtt|dt|drtn
d|jd< t	
|| d S )Nr   r   r   r   r   r   r|   r   r   r   r   )r   r   r    r   r   r   r   r   r#   r   r   )r-   r%   r&   r   rr   r'   r'   r(   test_head_tailB  s    



r   c                 C   s   t ddgdddd}| }| }| rdtt|dt|dsFttt|dt|dstn8tt|dt|drttt|dt|drtd|jd	< d
|jd< | rtt|dt|drttt|dt|drtt	|| d S )Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   )
r   r   rR   r   r   r   r   r#   r   r   r   r'   r'   r(   test_infer_objects`  s    

r   c                 C   s   t ddgddttdtdgdddd	}| }t|d
}t|d}t|d}d|jd< d|jd< td|jd< | rt|t|d
stt|t|drtt|t|dstd S )Nr   r   r   r   r   objectdtyper   )r   r   r   r   er   r   r   r   r   
2018-12-31r   r   	r   r   r   rR   r   r#   r   r   r   )r%   r&   arr_aarr_barr_dr'   r'   r(   test_infer_objects_no_referenceu  s,     




r  c                 C   s   t ddgddttdtdgddd}|d d  }| }t|d	}t|d
}t|d}d|jd< d|jd< td|jd< | rt|t|d	rtt|t|d
rtt|t|dstd S )Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r%   r&   viewr   r   r  r'   r'   r(   test_infer_objects_reference  s,     





r  kwargsr   )beforeafterr@   c                 C   s   t dddgddd}| }|jf |}|j  | rVtt|dt|dsrtntt|dt|drrtd|j	d< | rtt|dt|drtt
|| d S )Nr   r   r   r   r   r   r   )r   r   rP   r    r   r   r   r   r   r#   r   r   r%   r  r&   r   rr   r'   r'   r(   test_truncate  s    

r	  ZassignZdrop_duplicatesc                 C   s   t ddddgi}| }t|| }|j  | rRtt|dt|dsntntt|dt|drntd|j	d< | rtt|dt|drtt
|| d S )Nr   r   r   r   r   r   )r   r   getattrr    r   r   r   r   r   r#   r   r   )r%   r-   r&   r   rr   r'   r'   r(   test_assign_drop_duplicates  s    

r  c                 C   sv   |  }|ddg}| r0t|j|jsDtnt|j|jrDtd|jd< | rft|j|jrftt|| d S )Nr   r   )	r   Ztaker   r   r   r   r#   r   r   r   r'   r'   r(   	test_take  s    
r  c                 C   s   t dddd|_| }|dd}| r>t|j|jsRtnt|j|jrRtd|jd< | rtt|j|jrttt	
|| d S )Nz
2018-04-09r   Z1D20minr   z0:00z1:00r   )r	   r?   r   Zbetween_timer   r   r   r   r#   r   r   r   r'   r'   r(   test_between_time  s    
r  c                 C   s   t ddgdd}t dddgd}| }||}| rXtt|dt|dsttntt|dt|drttd|jd< | rtt|dt|drtt	|| d S )Nr   r   r   r|   )r   r   r   r   )
r   r   r:   r   r   r   r   r#   r   r   )r%   r&   otherr   rr   r'   r'   r(   test_reindex_like  s    

r  c                 C   sz   t dddg}| }| }| r8t|j|jsLtnt|j|jrLtd|jd< t|j|jrjtt	|| d S )Nr   r   r   r   )
r   r   Z
sort_indexr   r   r   r   r#   r   r   r%   rx   r   rz   r'   r'   r(   test_sort_index
  s    
r  zobj, kwargsr   Zbyc                 C   s   |  }|jf |}| r6tt|dt|dsRtntt|dt|drRtd|jd< tt|dt|drxtt|| d S )Nr   r   	r   Zsort_valuesr   r   r   r   r#   r   r   )r%   r   r  r   r   r'   r'   r(   test_sort_values  s    
r  c                 C   s   |  }|d d  }|jf ddi| tt|dt|dsDtd|jd< | r|tt|dt|drntt|| ntt|dt|dstd S )NinplaceTr   r   r  )r%   r   r  rq   r   r  r'   r'   r(   test_sort_values_inplace.  s    
r  decimalsc                 C   s  t ddgdd}| }|j|d}| rtt|dt|dsFt|dkrltt|dt|dstqtt|dt|drtntt|dt|drtd	|jd
< d|jd< | rtt|dt|drttt|dt|drtt	|| d S )Nr   r   r   r|   )r  r   r   r   r   r   r   r   )
r   r   roundr   r   r   r   r#   r   r   )r%   r  r&   r   rr   r'   r'   r(   
test_roundB  s    

r  c                 C   s   t jddddgddgd}tdd	d
ddgi|d}| }|jddgd}| rltt|dt|dstntt|dt|drtd|j	d< | rtt|dt|drtt
|| d S )Nr   r   r   r   r   r   r   r   onetwonamesr   r   r   r   r   rk   orderr   r   )r   from_tuplesr   r   reorder_levelsr   r   r   r   r#   r   r   r%   r?   r&   r   rr   r'   r'   r(   test_reorder_levels[  s    
 
r'  c                 C   s   t jddddgddgd}tdd	d
dg|d}| }|jddgd}| r`t|j|jsttnt|j|jrttd|j	d< | rt|j|jrtt
|| d S )Nr  r  r  r  r  r  r   r   r   r   r   rk   r"  r   )r   r$  r   r   r%  r   r   r   r   r#   r   r   r   r'   r'   r(   test_series_reorder_levelsn  s    
 
r(  c                 C   s   t jdddgddgd}||_| }| }| rHt|j|js\tnt|j|jr\td|j	d< | r~t|j|jr~tt
|| d S )Nr  r  r  r  r  r   r   )r   r$  r?   r   ry   r   r   r   r   r#   r   r   )r%   r   r?   r   r   r'   r'   r(   test_swaplevel  s    
r)  c                 C   s   t dddgdddgddd	gd
}| }|jdddgdd}| r`tt|dt|ds|tntt|dt|dr|td|jd< tt|dt|drtt	|| d S )Nr   r   r   r   r   r   r   r   r   r   r   r   r   r?   r   r   r   )
r   r   rB   r   r   r   r   r#   r   r   r   r'   r'   r(   test_frame_set_axis  s    "
r*  c                 C   sz   t dddg}| }|jdddgdd}| r@t||sPtnt||rPtd	|jd	< t||rjtt|| d S )
Nr   r   r   r   r   r   r?   r   r   )	r   r   rB   r   r   r   r#   r   r   r  r'   r'   r(   test_series_set_axis  s    
r+  c                 C   s   t dddg}| }|jdd}t||s2td|jd< | r^t||rPtt|| n*t||sntt dddg}t|| d S )Nr   r   r   F)ra   r   )	r   r   rc   r   r   r   r#   r   r   r%   rx   r   rz   r   r'   r'   r(   test_set_flags  s    
r-  ZmapperrD   c                 C   s   t dddddgitddddgddd}| }|jf |}| r^tt|dt|dsztntt|dt|drztd|jd	< | rtt|dt|drtt	
|| d S )
Nr   r   r   r   r   r   rk   r   r   )r   r   r   rG   r   r   r   r   r#   r   r   r  r'   r'   r(   test_rename_axis  s    (
r.  zfunc, tz)r_   zEurope/Berlin)r]   Nc                 C   s   t ddgtddd|dd}| }t||d}| rLt|j|js`tnt|j|jr`td|jd< t|j|jr~tt	
|| d S )	Nr   r   z2014-08-01 09:00H)startrW   rg   rj   rk   r[   r   )r   r	   r   r
  r   r   r   r   r#   r   r   )r%   r   rj   rx   r   rz   r'   r'   r(   test_tz_convert_localize  s     
r1  c                 C   s   t jdddgddgd}tddd	gd
ddgdddgd|d}| }|d}| rrtt|dt|dstntt|dt|drtd|j	d< tt|dt|drtt
|| d S )Nr  r  r  r  r  r   r   r   r   r   r   r         	   r   rk   r   r   r   )r   r$  r   r   Z	droplevelr   r   r   r   r#   r   r   r&  r'   r'   r(   test_droplevel  s    &

r5  c                 C   s   t ddddgi}| }| }t|jt|ds:td|jd< | rnt|jt|dr`tt	
|| n*t|jt|dst|jd dkstd S )Nr   r   r   r   r   r   )r   r   Zsqueezer   r   r   r   r   r#   r   r   r   )r%   r&   r   Zseriesr'   r'   r(   test_squeeze  s    
r6  c                 C   s   t dddgdddgddd	gd
}| }tdD ]}| D ]r\}}tt||t||sbtd|jd< | rtt||t||rtt	
|| q>|jd|f dks>tq>q2d S )Nr   r   r   r   r   r   r2  r3  r4  r   r   )r   r   ranger   r   r   r   r   r#   r   r   r   )r%   r&   r   ir   rx   r'   r'   r(   
test_items  s    "
r9  r   rH   Int64c                 C   s   t ddgddd|d}|d d  }| }d|||k< | rftt|dt|drXtt|| n.tt|dt|dst|jd dkstd S )Nr   r   r   r   r   r   r   )	r   r   r   r   r   r   r   r   r#   )r%   r   r&   r  r   r'   r'   r(   test_putmask)  s    r;  c                 C   sL   t ddgddd|d}t|d}d|||k< | rHt|t|dsHtd S )Nr   r   r   r   r   r   r   r   r   r   r   r%   r   r&   r   r'   r'   r(   test_putmask_no_reference9  s
    
r>  Zfloat64ZFloat64c                 C   sV   t ddgdd|d}t|d}t dddgi|||k< | rRt|t|dsRtd S )Nr   r   r|   r   r   r   r   r<  r=  r'   r'   r(   $test_putmask_aligns_rhs_no_referenceC  s
    
r?  zval, exp)r   T)r   Fc                 C   s<  t ddgddd}|d d  }| }t dddgdddggtdd}|||< | rtt|d	t|d	rpttt|d
t|d
|ksttt|dt|dst|jd|k	st|jdrtt	
|| nZ|dkr8tt|d	t|d	sttt|dt|ds$t|jd dks8td S )Nr   r   r   r   TFabcr   r   r   r   r   r   )r   r   listr   r   r   r   r    r   r   r   r#   )r%   r   expr&   r  r   Zindexerr'   r'   r(   "test_putmask_dont_copy_some_blocksM  s&      
rC  c                 C   s   t dddg|d}| }||dkd}| rHtt|t|s`tntt|t|r`td|jd< | rtt|t|rtt	|| d S Nr   r   r   r   r   r   )
r   r   wherer   r   r   r   r#   r   r   r%   r   rx   r   r~   r'   r'   r(   test_where_noopf  s    
rG  c                 C   sR   t dddg|d}| }||dk d}tt|t|rBtt|| d S rD  )	r   r   rE  r   r   r   r   r   r   rF  r'   r'   r(   
test_wherex  s
    rH  z
dtype, val)rH   g      %@)r:  r   c                 C   s   t dddgdddgd|d}| }||d	k |}| rttt|d
t|d
sVttt|dt|drtntt|d
t|d
rtd|jd< | rtt|d
t|d
rtt	|| d S )Nr   r   r   ir|   r   r   r   r   r   r   )
r   r   rE  r   r   r   r   r#   r   r   )r%   r   r   r&   r   r~   r'   r'   r(    test_where_noop_on_single_column  s    
rK  c                 C   s   t ddd ddgitddddd	}| }|jdd
}| rXtt|dt|dsttntt|dt|drttd|jd< tt|dt|drtt	
|| d S )Nr   g               @      @z1/1/2000r   Tr   rk   r   r   r   )r   r	   r   Zasfreqr   r   r   r   r#   r   r   r   r'   r'   r(   test_asfreq_noop  s    
rO  c                 C   sP   t ddddddgd}| }| D ]\}}d|jd< q(| rLt|| d S )Nr   r   r|   r   r   rk   ru   )r   r   Ziterrowsr#   r   r   )r%   r&   r   r   subr'   r'   r(   test_iterrows  s    rQ  c                 C   sr   t ddtjdgi}|d d  }| }|jdd d|jd< | rPt|| nt ddddgi}t|| d S )Nr   r   r   T)r  g      Y@r   )r   r   r   r   Zffillr#   r   r   )r%   r&   r  r   r'   r'   r(   test_interpolate_creates_copy  s    
rR  c                 C   s  t dddgdddgddd	gd
}| }|jd d}|dtdddg | rtt|dt|dsnttt|dt|dstn8tt|dt|drttt|dt|drtd|jd< t	
|| | rtt|dt|dstntt|dt|drtd S )Nr   r   r   r   r   r   r2  r3  r4  r   r*   r  r   r   r   r   )r   r   isetitemr   arrayr   r   r   r   r   r   r   r'   r'   r(   test_isetitem  s    "
rW  zsingle-blockzmixed-blockc                 C   s   t dddgtjdddg|dd}td	d
dg}| }|d| | rdtt|dt|rdtd|j	d< t
|| t dddgtjdddg|dd}td	d
dg}|d| d|j	d< t d	d
dgtjdddg|dd}t
|| d S )Nr   r   r   r   r   r   r   r|   r2  r3  r4  r   r   r   )r   r   rV  r   r   rU  r   r   r   r   r   r   r   )r%   r   r&   rx   r   r   r'   r'   r(   test_isetitem_series  s    $
$
$rX  keyc              
   C   s   t dddgdddgd}| }||}| rtt|dt|dsLtd	|jd	< tt|dt|drrtt	|| ntt
|trtnd }td
d& t| d	|jd	< W 5 Q R X W 5 Q R X t
|trt	|| n|jd d	kstd S )Nr   r   r   r   r   r   r|   r   r   chained_assignmentwarnr   )r   r   getr   r   r   r   r#   r   r   
isinstancerA  r   pdoption_contextassert_produces_warning)r%   rY  r&   r   r~   r[  r'   r'   r(   test_get  s    


ra  z	axis, keyr   )r   r   c           
   
   C   s"  |dko| }|p|o|dk}t dddgdddgtjdd	d
g|dd}| }|j||d}	|dksl|rtt|dt|	stn| r|	j	dst| s|rd|	j
d< n8tdd& tt d|	j
d< W 5 Q R X W 5 Q R X | s|s
|dkr
t|| n|j
d dkstd S )NrH   r   r   r   r   r   r   r2  r3  r4  r   r   r   r   r   rZ  r[  r   )r   r   rV  r   xsr   r   r   r    r   r#   r^  r_  r   r`  r   r   )
r%   rq   r@   rY  r   Zsingle_blockZis_viewr&   r   r~   r'   r'   r(   test_xs  s&    &rc  r@   z
key, level)l1r   r  c              
   C   s   t ddd}tjddgdddggdd	gd
}t||tdd}|dkrX|  }| }|j	|||d}	|dkrt 
t||jd t|	|	jd st| s|stnd }
tdd& t|
 d|	jd< W 5 Q R X W 5 Q R X t|| d S )N   r   r   rd  l2r   r   Zlev1Zlev2r   r@  r   )levelr@   r   rZ  r[  r   )r   ZarangeZreshaper   Zfrom_productr   rA  r}   r   rb  r   r   r/   r   r   r^  r_  r   r`  r#   r   )r%   rq   rY  rg  r@   Zarrr?   r&   r   r~   r[  r'   r'   r(   test_xs_multiindex/  s,      rh  c                 C   s   t dddgdddgd}t dd	gid
gd}| }|d d  }|| t dddgdd	dgd}t|| | rt|| tt|dt|dsttt|dt|drtnt|| d S )N      ?rL  rM  g      @g      @g      @r|   r         Y@r   rk   r   )	r   r   updater   r   r   r   r   r   )r%   Zdf1rr   Zdf1_origr  r   r'   r'   r(   test_update_frameL  s    
rl  c                 C   sx   t dddg}t dgdgd}| }|d d  }|| t dddg}t|| | rht|| nt|| d S )Nri  rL  rM  rj  r   rk   )r   r   rk  r   r   )r%   Zser1rz   Z	ser1_origr  r   r'   r'   r(   test_update_series_  s    
rm  c                  C   sF   t dddg} t| }| d9 } tt| |s2tt|t|  d S Nr   r   r   )r   r   r   r   r   r   Zassert_numpy_array_equal)rx   datar'   r'   r(   test_inplace_arithmetic_seriesp  s
    rp  c                 C   sp   t dddg}| }|d d  }|d9 }| rTtt|t|rFtt|| ntt|t|sltd S rn  )r   r   r   r   r   r   r   r   )r%   rx   r   r  r'   r'   r(   -test_inplace_arithmetic_series_with_referencex  s    rq  c                 C   s   t dddgdd}| }|j|d}|s0|r4| rRtt|dt|dsntntt|dt|drntd|jd	< | rt	|| d S )
Nr   r   r   r|   r8   r   r   ru   r   )
r   r   r}   r   r   r   r   r#   r   r   )r%   r   rq   r&   r   r~   r'   r'   r(   test_transpose  s    
rr  c                 C   s\   t dddgdd}| }|j}tt|dt|dr>td|jd	< | rXt	|| d S )
Nr   r   r   r   r|   r   r   ru   r   )
r   r   rN  r   r   r   r   r#   r   r   )r%   r&   r   r~   r'   r'   r(   test_transpose_different_dtypes  s    
rs  c                 C   s<   t ddddgidd}|j}tt|dt|dr8td S )Nr   r   r   r   r:  r   r   )r   rN  r   r   r   r   )r%   r&   r~   r'   r'   r(   test_transpose_ea_single_column  s    rt  c                  C   sH   t ddgdd} |  }d|jd< tddgddgd	}t|| d S )
Nr   r   r   r|   ru   r   r   r   rk   )r   countr#   r   r   r   r   r'   r'   r(   test_count_read_only_array  s
    
rv  c                 C   s   t dddg}| }| }tt|t|s6t| rJ|jdrJtd|j	d< | rft
|| nt dddg}t
|| d S )Nr   r   r   r   ru   )r   r   r  r   r   r   r   r    r   r#   r   r   r,  r'   r'   r(   test_series_view  s    
rw  )mZnumpyr   ZpytestZpandas.errorsr   Zpandasr^  r   r   r   r   r   r   r	   r
   Zpandas._testingZ_testingr   Zpandas.tests.copy_view.utilr   r)   r,   markZparametrizert   r{   r   r   Z
RangeIndexr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r	  r  r  r  r  r  r  r  r  r'  r(  r)  r*  r+  r-  r.  r1  r5  r6  r9  r;  r>  r?  rC  rG  rH  rK  rO  rQ  rR  rW  rX  ra  rc  rh  rl  rm  rp  rq  rr  rs  rt  rv  rw  r'   r'   r'   r(   <module>   s  (
))
 
 

"







(
(
	

	




$
$
.
.

(

 


	
	




  
  
