o
    d                     @   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	g d
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g dddd  Zejd	g d
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 d0d gg d1dd2d3 Zejd	g d
d4d5 Zd6d7 Zejd8ed d9ed:d9ggd;d< Zd=d> Zd?d@ ZdAdB Z dCdD Z!dEdF Z"dGdH Z#dIdJ Z$ejdKdLdMgidNdMidOdMigdPdQ Z%dRdS Z&dTdU Z'dVdW Z(dXdY Z)dZd[ Z*ejd\d]d d^d d_d gd`da Z+dbdc Z,ddde Z-dfdg Z.dhdi Z/ejdjd8dkgdldm Z0dndo Z1dpdq Z2ejjdrdsd d fdtd d9fdud d fdvd d fgg dwddxdy Z3ejdzed:d9gdMd{edMd:d9gigd|d} Z4ejdzed:d9gdMd{edMd:d9gigd~d Z5dd Z6dd Z7dd Z8dd Z9ejddd:e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ddMdd:dd d:d dgdd ZAejdddgdd ZBejdzed:d9gedMd:d9gigdd ZCejdzed:d9gedMd:d9gigdd ZDdd ZEdd ZFejdeg ddMd{i fedMg diddMifgdd ZGejdeg ddMd{i fedMg diddMifgdd ZHejdg ddd ZIdd ZJdd ZKejdzeg dedMg digdd ZLdd ZMdd ZNddĄ ZOejdddid8di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dd Z[dd Z\dd Z]dd Z^dd Z_ejjdddgddgddd Z`ejddMdMggdd Zaejdddgejjdddgddgddd  Zbejdd d:g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 g dg dg dd}| }tt|dt|dr J | r8|jjd j r-J |jjd j r8J d|j	d< |j	d dksFJ d S )	N                  g?g?g333333?abcr   r   r   r   r   
r   copynpshares_memoryr   _mgrblocksrefsZhas_referenceilocusing_copy_on_writedfZdf_copy r%   W/app/.heroku/python/lib/python3.10/site-packages/pandas/tests/copy_view/test_methods.py	test_copy   s   
r'   c                 C   s  t g dg dg dd}|jdd}tt|dt|ds"J | r:|jjd j s/J |jjd	 j s:J | rhd|j	d
< |j	d
 d	ksJJ tt|dt|drXJ tt|dt|dsfJ d S d|j	d
< |j	d
 dksvJ tt|dt|dsJ d S )Nr   r   r   r   Fdeepr   r   r   r   r   r   r"   r%   r%   r&   test_copy_shallow$   s   
 
 r*   r   )TNFmethodc                 C   s   | j tj|dS )Ncolumnsr   )renamestrlowerr$   r   r%   r%   r&   <lambda>B       r2   c                 C   s   | j ddg|dS )Nr   r   r,   )reindexr1   r%   r%   r&   r2   C       c                 C      | j | |dS Nr   reindex_liker1   r%   r%   r&   r2   D       c                 C      | j | |dd S Nr8   r   alignr1   r%   r%   r&   r2   E   r5   c                 C      | j g dd|dS Nr   index)axisr   set_axisr1   r%   r%   r&   r2   F       c                 C      | j d|dS NtestrB   r   rename_axisr1   r%   r%   r&   r2   G   r;   c                 C   rG   )NrI   r,   rK   r1   r%   r%   r&   r2   H   r;   c                 C      | j ddi|dS )Nr   int64r8   astyper1   r%   r%   r&   r2   I   r5   c                 C      | j dd|dS Nr   r8   swapaxesr1   r%   r%   r&   r2   K   r3   c                 C      | j dd|dS Nr   r   r8   truncater1   r%   r%   r&   r2   L   r3   c                 C      | j |dS r7   infer_objectsr1   r%   r%   r&   r2   M       c                 C   rY   r7   to_timestampr1   r%   r%   r&   r2   N   r\   c                 C   rG   ND)freqr   	to_periodr1   r%   r%   r&   r2   O   r;   c                 C   rG   N
US/Centralr8   tz_localizer1   r%   r%   r&   r2   P   r;   c                 C   rG   rd   
tz_convertr1   r%   r%   r&   r2   Q   r;   c                 C   rG   NF)allows_duplicate_labelsr   	set_flagsr1   r%   r%   r&   r2   R   r;   )r.   r4   r:   r?   rE   rename_axis0Zrename_axis1rP   rT   rX   r[   r^   rc   rg   ri   rm   )Zidsc           	      C   s  d }d| j jjv rtdddd}n-d| j jjv r tdddd}nd| j jjv r/tdddd}nd| j jjv r>tdddd	d
}tg dg dg dd|d}|||d}|pY|du }| j jjdrl|sl|sl|du rld}|r~tt	|dt	|ds|J d S tt	|dt	|drJ d S )Nr^   
2012-01-01r`   r   ra   periodsrc   rg   ri   Europe/Brusselsra   rq   tzr   r   r   r   rB   r8   Fzreindex-r   )
nodecallspecidr
   r	   r   
startswithr   r   r   )	requestr+   r   r#   using_array_managerrB   r$   df2share_memoryr%   r%   r&   test_methods_copy_keyword>   s$   -   r~   c                 C   rM   )Nr   d   rJ   )r.   serr   r%   r%   r&   r2      r5   c                 C   s   | j | j|dS )NrJ   )r4   rB   r   r%   r%   r&   r2      r3   c                 C   r6   r7   r9   r   r%   r%   r&   r2      r;   c                 C   r<   r=   r>   r   r%   r%   r&   r2      r5   c                 C   r@   rA   rD   r   r%   r%   r&   r2      rF   c                 C   rG   rH   rK   r   r%   r%   r&   r2      r;   c                 C   rG   )NrN   r8   rO   r   r%   r%   r&   r2      r;   c                 C   rU   )Nr   r   r8   )	swaplevelr   r%   r%   r&   r2      r3   c                 C   rQ   rR   rS   r   r%   r%   r&   r2      r3   c                 C   rU   rV   rW   r   r%   r%   r&   r2      r3   c                 C   rY   r7   rZ   r   r%   r%   r&   r2      r\   c                 C   rY   r7   r]   r   r%   r%   r&   r2      r\   c                 C   rG   r_   rb   r   r%   r%   r&   r2      r;   c                 C   rG   rd   rf   r   r%   r%   r&   r2      r;   c                 C   rG   rd   rh   r   r%   r%   r&   r2      r;   c                 C   rG   rj   rl   r   r%   r%   r&   r2      r;   )r.   r4   r:   r?   rE   rn   rP   r   rT   rX   r[   r^   rc   rg   ri   rm   c                 C   s  d }d| j jjv rtdddd}n@d| j jjv r tdddd}n1d| j jjv r/tdddd}n"d| j jjv r?tdddd	d
}nd| j jjv rQtg dg dg}tg d|d}|||d}|pd|du }|rut	t
|t
|ssJ d S t	t
|t
|rJ d S )Nr^   ro   r`   r   rp   rc   rg   ri   rr   rs   r   r   r   ru   r8   F)rv   rw   rx   r
   r	   r   Zfrom_arraysr   r   r   r   )rz   r+   r   r#   rB   r   ser2r}   r%   r%   r&    test_methods_series_copy_keyword   s"   )r   c                 C   s   t g dg dd}|j|d}| p|du p|d u }|o| }|r2tt|dt|ds0J d S tt|dt|dr@J d S )Nr   r   r   r   r8   Fr   r   )r   	transposer   r   r   )r#   r   r{   r$   resultr}   r%   r%   r&   test_transpose_copy_keyword   s   
  r   c                 C   s   t g dg dg ddg dd}| }| }|j  | r=tt|dt|ds/J tt|dt|ds=J d	|jd
< tt|dt|drPJ | r`tt|dt|ds`J t	
|| d S )Nr   r   r   r   )
         ru   r   r   r   )r   r   )r   r   reset_indexr   _verify_integrityr   r   r   r!   tmassert_frame_equalr#   r$   df_origr|   r%   r%   r&   test_reset_index   s   

r   rB   r   r   c                 C   s   t ddg|d}| }|jdd}| r)tt|t|s J |jdr(J ntt|t|r5J d|jd< t	
|| d S )Nr   r   ru   T)dropr   r   )r   r   r   r   r   r   r   _has_no_referencer!   r   assert_series_equalr#   rB   r   ser_origr   r%   r%   r&   test_reset_index_series_drop   s   
r   c                 C   s   t g dg dg dd}| }|jtjd}| r)tt|dt|ds)J d|jd	< tt|dt|dr<J | rLtt|d
t|dsLJ t g dg dg dd}t	
|| t	
|| d S )Nr   r   r   r   r-   Ar   r   r   Cr   r   r   r   )r   Br   )r   r   r.   r/   upperr   r   r   r!   r   r   r#   r$   r   r|   expectedr%   r%   r&   test_rename_columns   s   
r   c                 C   s   t g dg dg dd}|jtjd}| }| r*tt|dt|ds)J ntt|dt|dr8J d|jd	< tt|dt|drKJ | r[tt|d
t|ds[J t g dg dg dd}t	
|| 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|   Zdf2_origr   r%   r%   r&   !test_rename_columns_modify_parent  s   
r   c                 C   s   t g ddd}| }dd }||}tt|dt|ds$J d|jd< | r@t|| tt|dt|dr?J nt g d	dd}t|| tt|dt|ds]J tt|d
t|d
skJ d S )Nr         ?r   c                 S   s   | S Nr%   r$   r%   r%   r&   testfunc%  s   ztest_pipe.<locals>.testfuncr   r   r   r   r   )	r   r   piper   r   r   r!   r   r   r#   r$   r   r   r|   r   r%   r%   r&   	test_pipe!  s   

 r   c                 C   s   t g ddd}| }dd }||}tt|dt|ds$J | r;t|| tt|dt|dr:J nt g ddd}t|| tt|dt|dsXJ tt|dt|dsfJ d S )	Nr   r   r   c                 S   s   d| j d< | S )Nr   r   )r!   r   r%   r%   r&   r   =  s   
z%test_pipe_modify_df.<locals>.testfuncr   r   r   r   r   )r   r   r   r   r   r   r   r   r   r%   r%   r&   test_pipe_modify_df9  s   
 r   c                 C   s   t g dg dg dd}| }|jddgd}| r+tt|dt|ds*J ntt|dt|dr9J d|jd	< tt|dt|drLJ | r\tt|dt|ds\J t|| d S )
Nr   r   r   r   r   r   r   r   r   )	r   r   r4   r   r   r   r!   r   r   r   r%   r%   r&   test_reindex_columnsP  s   
r   c                 C   s  t g dg dg dd}| }|jdd}|j  | r<tt|dt|ds-J tt|dt|ds;J ntt|dt|drJJ tt|dt|drXJ d	|jd
< tt|dt|drkJ | r{tt|dt|ds{J 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&   test_drop_on_columnd  s   

r   c                 C   s   t g dg dg dd}| }|d}|j  | r-tt|dt|ds,J ntt|dt|dr;J d|jd< | rPtt|dt|drPJ t	
|| d S )	Nr   r   r   r   rN   r   r   r   )r   r   select_dtypesr   r   r   r   r   r!   r   r   r   r%   r%   r&   test_select_dtypesw  s   


r   filter_kwargsitemsr   likeregexc                 C   s   t g dg dg dd}| }|jdi |}| r+tt|dt|ds*J ntt|dt|dr9J | rNd|jd< tt|dt|drNJ t|| d S )	Nr   r   r   r   r   r   r   r%   )	r   r   filterr   r   r   r!   r   r   )r#   r   r$   r   r|   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}| r0tt|d	t|d	s/J ntt|d	t|d	r>J d|jd< | rStt|d
t|d
rSJ t	|| d S )Nr   r   r   r   r   r   
2020-01-01
2020-01-03r   r   rB   r-   r   )rq   r   )
r   r	   r   shiftr   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	r*J d S )Nr   r   r   r   r   r   r   r   r   r   r   r   rq   rC   )r   r	   r   r   r   r   )r#   r$   r|   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}| r7tt|d	t|d	s6J ntt|d	t|d	rEJ d|jd< | rZtt|d	t|d	rZJ t	
|| d S )Nr   r   r   r   r   r   r   r   r   r   r   
2020-01-02z
2020-01-04Z1Drq   ra   r   r   )r   r	   r   rB   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s'J d|jd< | r<tt|dt|dr<J 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!   nanr   r   )r#   r$   r|   r   r%   r%   r&   test_shift_columns  s   
r   c                 C   s   t g dg dg dd}| }|d d  }|d}t|jt|ds)J tt|dt|ds7J | rJd|jd< t|jt|drJJ d|jd< | rgtt|dt|dr_J t	|| d S t g dg d	g dd}t	|| d S )
Nr   r   r   r   r   r   r   r   )r   r   r   )
r   r   popr   r   valuesr   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&   r2        
 c                 C   s   | j |jddS )Nr   rC   )r?   r   r   r%   r%   r&   r2      r3   c                 C   s   | j |jjtdd ddS )Nr   r   r   )r?   r   r!   slicer   r%   r%   r&   r2     s    c                 C   s   t g ddd}| }|ddg  }|||\}}| r-tt|dt|ds,J ntt|dt|dr;J d|jd< | rPtt|dt|drPJ t|| d S )Nr   r   r   r   r   r   )r   r   r   r   r   r!   r   r   )r#   r   r$   r   Z
df_changedr|   _r%   r%   r&   test_align_frame  s   	
r   c                 C   s   t ddg}| }| }||\}}| r,t|j|js!J t|j|js+J nt|j|jr6J t|j|jr@J d|jd< d|jd< | r`t|j|jrVJ t|j|jr`J t|| t|| d S )Nr   r   r   )	r   r   r?   r   r   r   r!   r   r   )r#   r   r   Z	ser_otherr   Zser_other_resultr%   r%   r&   test_align_series  s    

r   c                 C   s   t g dg dd}| }|j|dd\}}tt|dt|ds&J tt|dt|ds4J | rNd|jd	< t|| d|jd	< t|| d S d S )
Nr   r   r   Fr8   r   r   r   r   r   )	r   r   r?   r   r   r   locr   r   )r#   r$   r   r|   Zdf3r%   r%   r&   test_align_copy_false+  s   

r   c                 C   s   t g dg dd}tg ddd}| }| }|j|ddd\}}tt|d	t|d	s3J tt|d
t|d
sAJ tt|dt|dsOJ | rid|jd< t	|| d|jd< t
|| d S d S )Nr   r   r   r   nameFr   )r   rC   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_align_with_series_copy_false;  s   

r   c                 C   s   t g d}| }|d d   }t|jt|dsJ d|jd< | r8t|jt|dr1J t	|| n| }d|jd< t	|| |d d   }d|jd< | r`t
||  d S |  }d|jd< t
|| d S )Nr   r   r   )r   r   Zto_framer   r   r   r   r!   r   r   r   )r#   r   r   r$   r   r%   r%   r&   test_to_frameN  s$   



r   axr-   c                 C   s   t g dg dd}| }|||}| r&tt|dt|ds%J ntt|dt|dr4J d|jd< | rItt|dt|drIJ t|| d S )Nr   r   r   r   r   r   	r   r   rT   r   r   r   r!   r   r   )r#   r   r$   r   r|   r%   r%   r&   test_swapaxes_noopp  s   
r   c                 C   s   t g dg ddg dd}| }|dd}| r*tt|dt|d	s)J ntt|dt|d	r8J d
|jd< | rMtt|dt|d	rMJ t|| d S )Nr   r   r   )r   r   zru   rB   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   rB   r-   )Zaxis1Zaxis2r   r   r   r   r   ru   )r   rT   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&   r2     rF   c                 C   s   |     S r   )r   r   r%   r%   r&   r2     r\   c                 C   s   | j tjdj tjdS )Nr   )r.   r/   r   r0   r   r%   r%   r&   r2     s    c                 C   s   | j ddjddS )NFr(   number)include)r   r   r   r%   r%   r&   r2     rF   )shallow-copyr   r.   r   c                 C   s   t g dg dg dd}| }| o| jjjdk}||}d|jd|f< |s/t|| ||}d|jd< |sKt|jd d |d f | d S d S )Nr   r   r   r   r   r   r   )r   r   rv   rw   rx   r!   r   r   )rz   r+   idxr#   r$   r   Zdf2_is_viewr|   r%   r%   r&   test_chained_methods  s   
"r   objr   c                 C   s   t tdddtdddg|_| }| }| r(tt|dt|ds'J ntt|dt|dr6J d|jd< tt|dt|drIJ t	
|| d S )Nz2012-1-1r`   ra   z2012-1-2r   r   )r   r   rB   r   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}| r&tt|dt|ds%J ntt|dt|dr4J d|jd< tt|dt|drGJ t	
|| d S )N
2019-12-31
2020-12-31Yr   r   r   )r   r   rB   r   rc   r   r   r   r!   r   r   r   r%   r%   r&   test_to_period  s   
r   c                 C   s   t g dg dg dd}| }|d}| r(tt|dt|ds'J ntt|dt|dr6J d|jd< tt|d	t|d	rIJ t|| d S )
Nr   r   r   r   r   r   r   r   r   )	r   r   	set_indexr   r   r   r!   r   r   r   r%   r%   r&   test_set_index  s   

r   c                  C   s>   t g ddd} | d}| }d| jd< t|| d S )Nr   r   r   r   r   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      t g dg dg dd}| }|d}| r'tt|dt|ds'J d|jd	< tt|dt|dr:J | rJtt|d
t|dsJJ t g dg dg dd}t|| t|| d S )Nr   r   r   r   ZCoW_CoW_ar   r   r   CoW_cr   r   )r   ZCoW_br   )	r   r   Z
add_prefixr   r   r   r!   r   r   r   r%   r%   r&   test_add_prefix  s   

r   c                 C   r   )Nr   r   r   r   Z_CoWa_CoWr   r   r   c_CoWr   r   )r   Zb_CoWr   )	r   r   Z
add_suffixr   r   r   r!   r   r   r   r%   r%   r&   test_add_suffix  s   

r   z	axis, val)r         @c                 C   s   t g dd|dgdd}| }|j|d}| r(tt|dt|ds'J ntt|dt|dr6J d|jd	< | rKtt|dt|drKJ t|| d S )
Nr   r   r   dr   r   r   r   r   )	r   r   dropnar   r   r   r!   r   r   )r#   rC   valr$   r   r|   r%   r%   r&   test_dropna  s   
r   r   r   r   c                 C   s~   t d|dg}| }| }| rt|j|jsJ n
t|j|jr&J d|jd< | r7t|j|jr7J t|| d S )Nr   r   r   )	r   r   r   r   r   r   r!   r   r   )r#   r   r   r   r   r%   r%   r&   test_dropna_series/  s   
r   c                 C      |   S r   headr   r%   r%   r&   r2   C      c                 C   
   |  dS )Nr   r   r   r%   r%   r&   r2   D  r   c                 C   r   r   tailr   r%   r%   r&   r2   E  r  c                 C   r  )Nr   r  r   r%   r%   r&   r2   F  r   c                 C   s   t g dg dd}| }| |}|j  |r6tt|dt|ds(J tt|dt|ds6J d|jd< tt|dt|dsIJ |rZtt|dt|drYJ 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&   test_head_tail@  s   



r  c                 C   s   t ddgdddd}| }| }| r2tt|dt|ds#J tt|dt|ds1J ntt|dt|dr@J tt|dt|drNJ d|jd	< d
|jd< | rvtt|dt|drhJ tt|dt|drvJ 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&   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< | r]t|t|d
sGJ t|t|drRJ t|t|ds_J d S 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   r[   r   r!   r   r   )r#   r$   arr_aarr_barr_dr%   r%   r&   test_infer_objects_no_references  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< | rbt|t|d	rLJ t|t|d
rWJ t|t|dsdJ d S 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afterrC   c                 C   s   t g dddd}| }|jdi |}|j  | r,tt|dt|ds+J ntt|dt|dr:J d|jd< | rOtt|dt|drOJ t	
|| d S )	Nr   r   r   r   r   r   r   r%   )r   r   rX   r   r   r   r   r   r!   r   r   r#   r  r$   r   r|   r%   r%   r&   test_truncate  s   

r  ZassignZdrop_duplicatesc                 C   s   t dg di}| }t|| }|j  | r(tt|dt|ds'J ntt|dt|dr6J d|jd< | rKtt|dt|drKJ t	
|| d S )Nr   r   r   r   )r   r   getattrr   r   r   r   r   r!   r   r   )r#   r+   r$   r   r|   r%   r%   r&   test_assign_drop_duplicates  s   

r  c                 C   sv   |  }|ddg}| rt|j|jsJ n
t|j|jr"J d|jd< | r3t|j|jr3J t|| d S )Nr   r   )r   Ztaker   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sJ n
t|j|jr)J d|jd< | r:t|j|jr:J t	|| d S )Nz
2018-04-09r   Z1D20minr   z0:00z1:00r   )
r	   rB   r   Zbetween_timer   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}| }||}| r,tt|dt|ds+J ntt|dt|dr:J d|jd< | rOtt|dt|drOJ t|| d S )Nr   r   r   r   )r   r   r   r   )	r   r   r:   r   r   r   r!   r   r   )r#   r$   otherr   r|   r%   r%   r&   test_reindex_like  s   

r  c                 C   sx   t g d}| }| }| rt|j|jsJ n
t|j|jr%J d|jd< t|j|jr4J t|| d S )Nr   r   )	r   r   Z
sort_indexr   r   r   r!   r   r   r#   r   r   r   r%   r%   r&   test_sort_index  s   
r!  zobj, kwargsr   Zbyc                 C   s   |  }|jdi |}| rtt|dt|dsJ ntt|dt|dr+J d|jd< tt|dt|dr>J t|| d S )Nr   r   r%   r   Zsort_valuesr   r   r   r!   r   r   )r#   r   r  r   r   r%   r%   r&   test_sort_values  s   
r#  c                 C   s   |  }|d d  }|jdddi| tt|dt|ds"J d|jd< | r?tt|dt|dr7J t|| d S tt|dt|dsMJ d S )NinplaceTr   r   r%   r"  )r#   r   r  r{   r   r  r%   r%   r&   test_sort_values_inplace,  s   
 r%  decimals)r   r   c                 C   s  t ddgdd}| }|j|d}| rEtt|dt|ds#J |dkr6tt|dt|ds5J ntt|dt|drDJ ntt|dt|drSJ d	|jd
< d|jd< | r{tt|dt|drmJ tt|dt|dr{J 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|   r%   r%   r&   
test_round@  s   

r)  c                 C   s   t jg dddgd}tdg di|d}| }|jddgd}| r2tt|dt|ds1J ntt|dt|dr@J d	|jd
< | rUtt|dt|drUJ t	
|| d S )Nr   r   r   r   r   r   )r   r   onetwonamesr   r   r   r   r   ru   orderr   r   )r   from_tuplesr   r   reorder_levelsr   r   r   r!   r   r   r#   rB   r$   r   r|   r%   r%   r&   test_reorder_levelsY  s   
r8  c                 C   s   t jg dddgd}tg d|d}| }|jddgd}| r,t|j|js+J n
t|j|jr6J d|jd< | rGt|j|jrGJ t	
|| d S )	Nr*  r.  r/  r0  r2  ru   r3  r   )r   r5  r   r   r6  r   r   r   r!   r   r   r   r%   r%   r&   test_series_reorder_levelsl  s   
r9  c                 C   s   t jg dddgd}||_| }| }| r#t|j|js"J n
t|j|jr-J d|jd< | r>t|j|jr>J t	
|| d S )Nr+  r,  r-  r.  r/  r0  r   )r   r5  rB   r   r   r   r   r   r!   r   r   )r#   r   rB   r   r   r%   r%   r&   test_swaplevel  s   
r;  c                 C   s   t g dg dg dd}| }|jg ddd}| r,tt|dt|ds+J ntt|dt|dr:J d|jd	< tt|dt|drMJ t|| d S )
Nr   r   r   r   rB   r   r   r   r   )	r   r   rE   r   r   r   r!   r   r   r   r%   r%   r&   test_frame_set_axis  s   
r<  c                 C   sv   t g d}| }|jg ddd}| rt||sJ nt||r&J d|jd< t||r3J t|| d S )Nr   r   rB   r   r   )r   r   rE   r   r   r!   r   r   r   r%   r%   r&   test_series_set_axis  s   
r=  c                 C   s   t g d}| }|jdd}t||sJ d|jd< | r/t||r'J t|| d S t||s7J t g d}t|| d S )Nr   F)rk   r   r   )r   r   rm   r   r   r!   r   r   r#   r   r   r   r   r%   r%   r&   test_set_flags  s   
r?  ZmapperrI   c                 C   s   t dg ditg dddd}| }|jdi |}| r-tt|dt|ds,J ntt|dt|dr;J d|jd< | rPtt|dt|drPJ t	|| d S )Nr   r2  r   ru   r   r   r%   )
r   r   r   rL   r   r   r   r!   r   r   r  r%   r%   r&   test_rename_axis  s    
r@  zfunc, tz)ri   zEurope/Berlin)rg   Nc                 C   s   t ddgtddd|dd}| }t||d}| r&t|j|js%J n
t|j|jr0J d|jd< t|j|jr?J t	|| d S )	Nr   r   z2014-08-01 09:00H)startra   rq   rt   ru   re   r   )
r   r	   r   r  r   r   r   r!   r   r   )r#   r   rt   r   r   r   r%   r%   r&   test_tz_convert_localize  s   
rC  c                 C   s   t jg dddgd}tg dg dg dd|d	}| }|d
}| r5tt|dt|ds4J ntt|dt|drCJ d
|jd< tt|dt|drVJ t	
|| d S )Nr:  r.  r/  r0  r   r         	   r   ru   r   r   r   )r   r5  r   r   Z	droplevelr   r   r   r!   r   r   r7  r%   r%   r&   test_droplevel  s    

rH  c                 C   s   t dg di}| }| }t|jt|dsJ d|jd< | r7t|jt|dr/J t	|| d S t|jt|dsCJ |j
d dksLJ d S )Nr   r   r   r   )r   r   Zsqueezer   r   r   r   r!   r   r   r   )r#   r$   r   Zseriesr%   r%   r&   test_squeeze  s   
rI  c                 C   s   t g dg dg dd}| }tdD ]@}| D ]9\}}tt||t||s.J d|jd< | rJtt||t||rCJ t	|| q|j
d|f dksUJ qqd S )Nr   r   rD  r   r   r   )r   r   ranger   r   r   r   r!   r   r   r   )r#   r$   r   ir   r   r%   r%   r&   
test_items  s   
rL  r
  rN   Int64c                 C   s   t ddgddd|d}|d d  }| }d|||k< | r4tt|dt|dr,J t|| d S tt|dt|dsBJ |jd dksKJ 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&   test_putmask'  s   rN  c                 C   sP   t ddgddd|d}t|d}d|||k< | r$t|t|ds&J d S d S )Nr   r   r   r	  r   r   r   r   r   r   r#   r
  r$   r  r%   r%   r&   test_putmask_no_reference7  s   
rQ  Zfloat64ZFloat64c                 C   sZ   t ddgdd|d}t|d}t dddgi|||k< | r)t|t|ds+J d S d S )Nr   r   r   r	  r   r   r   rO  rP  r%   r%   r&   $test_putmask_aligns_rhs_no_referenceA  s   
rR  zval, exp)r   T)r   Fc                 C   s6  t ddgddd}|d d  }| }t g dg dgtdd}|||< | rntt|dt|dr6J tt|d	t|d	|u sFJ tt|d
t|d
sTJ |jd|us^J |jdrfJ t	|| d S |dkrtt|dt|dsJ tt|d
t|d
sJ |j
d dksJ d S d S )Nr   r   r   r   )TFFabcr   r   r   r   r   r   )r   r   listr   r   r   r   r   r   r   r!   )r#   r   expr$   r  r   Zindexerr%   r%   r&   "test_putmask_dont_copy_some_blocksK  s(    rV  c                 C   s   t g d|d}| }||dkd}| r#tt|t|s"J ntt|t|r/J d|jd< | rBtt|t|rBJ t|| d S Nr   r	  r   r   )	r   r   wherer   r   r   r!   r   r   r#   r
  r   r   r   r%   r%   r&   test_where_noopd  s   
rZ  c                 C   sP   t g d|d}| }||dk d}tt|t|r J t|| d S rW  )r   r   rX  r   r   r   r   r   rY  r%   r%   r&   
test_wherev  s
   r[  z
dtype, val)rN   g      %@)rM  r   c                 C   s   t g dg dd|d}| }||dk |}| r8tt|dt|ds)J tt|dt|dr7J ntt|dt|drFJ d|jd	< | r[tt|dt|dr[J t|| d S )
Nr   )ir   r	  r   r   r   r   r   )	r   r   rX  r   r   r   r!   r   r   )r#   r
  r   r$   r   r   r%   r%   r&    test_where_noop_on_single_column  s   
r^  c                 C   s   t dg ditddddd}| }|jdd}| r*tt|dt|ds)J ntt|dt|dr8J d	|jd
< tt|dt|drKJ t	|| d S )Nr   )g        N       @      @z1/1/2000r   Tr   ru   r   r   r   )
r   r	   r   Zasfreqr   r   r   r!   r   r   r   r%   r%   r&   test_asfreq_noop  s   

rb  c                 C   sR   t dddg dd}| }| D ]	\}}d|jd< q| r't|| d S d S )Nr   r   r   r   ru   r   )r   r   Ziterrowsr!   r   r   )r#   r$   r   r   subr%   r%   r&   test_iterrows  s   rd  c                 C   sr   t ddtjdgi}|d d  }| }|jdd d|jd< | r)t|| d S t dg di}t|| d S )	Nr   r   r   T)r$        Y@r   )re  r   r   )r   r   r   r   Zffillr!   r   r   )r#   r$   r  r   r%   r%   r&   test_interpolate_creates_copy  s   
rf  c                 C   s  t g dg dg dd}| }|jd d}|dtg d | rBtt|dt|ds3J tt|d	t|d	sAJ ntt|dt|drPJ tt|d	t|d	r^J d
|jd< t	|| | r{tt|dt|dsyJ d S tt|dt|drJ d S )Nr   r   rD  r   r(   r   )r'  r   r   r   r   )
r   r   isetitemr   arrayr   r   r   r   r   r   r%   r%   r&   test_isetitem  s   
  rk  zsingle-blockzmixed-blockc                 C   s   t g dtjg d|dd}tg d}| }|d| | r/tt|dt|r/J d|jd< t	
|| t g dtjg d|dd}tg d}|d| d|jd< t g dtjg d|dd}t	|| d S )	Nr   r   r	  r   rD  r   r   r   )r   r   rj  r   r   ri  r   r   r   r   r   r   )r#   r
  r$   r   r   r   r%   r%   r&   test_isetitem_series  s    
 
 rl  keyc              	   C   s   t g dg dd}| }||}| r?tt|dt|ds$J d|jd< tt|dt|dr7J t|| d S t	|t
rFtnd }tdd" t| d|jd< W d    n1 sdw   Y  W d    n1 ssw   Y  t	|t
rt|| d S |jd dksJ d S )	Nr   r   r   r   r   chained_assignmentwarnr   )r   r   getr   r   r   r!   r   r   
isinstancerT  r   pdoption_contextassert_produces_warning)r#   rm  r$   r   r   ro  r%   r%   r&   test_get  s$   


ru  z	axis, keyr   )r   r   c           
   	   C   s@  |dko| }|p|o|dk}t g dg dtjg d|dd}| }|j||d}	|dks3|rAtt|d	t|	s@J n
| rK|	jd
sKJ | sO|rUd
|	j	d
< n0t
dd" tt d
|	j	d
< W d    n1 sqw   Y  W d    n1 sw   Y  | s|s|d
krt|| d S |j	d d
ksJ d S )NrN   r   r   r   rD  r	  r   r   r   r   rn  ro  r   )r   r   rj  r   xsr   r   r   r   r!   rr  rs  r   rt  r   r   )
r#   r{   rC   rm  r
  Zsingle_blockZis_viewr$   r   r   r%   r%   r&   test_xs  s,    rw  rC   z
key, level)l1r   r-  c              	   C   s  t ddd}tjddgg dgddgd	}t||td
d}|dkr+|  }| }|j	|||d}	|dkrOt 
t||jd t|	|	jd sOJ | sU|sUtnd }
tdd" t|
 d|	jd< W d    n1 ssw   Y  W d    n1 sw   Y  t|| d S )N   r   r   rx  l2r   Zlev1Zlev2r0  rS  r   r   )levelrC   r   rn  ro  r   )r   ZarangeZreshaper   Zfrom_productr   rT  r   r   rv  r   r   r-   r   rr  rs  r   rt  r!   r   )r#   r{   rm  r{  rC   ZarrrB   r$   r   r   ro  r%   r%   r&   test_xs_multiindex-  s0   r|  c                 C   s   t g dg dd}t ddgidgd}| }|d d  }|| t g dg dd}t|| | r[t|| tt|d	t|d	sKJ tt|dt|drYJ d S t|| d S )
N      ?r_  r`  )      @g      @      @r   r         Y@r   ru   )r  r  r  r   )r   r   updater   r   r   r   r   )r#   Zdf1r|   Zdf1_origr  r   r%   r%   r&   test_update_frameJ  s   
 r  c                 C   sv   t g d}t dgdgd}| }|d d  }|| t g d}t|| | r3t|| d S t|| d S )Nr}  r  r   ru   )r~  r  r`  )r   r   r  r   r   )r#   Zser1r   Z	ser1_origr  r   r%   r%   r&   test_update_series]  s   
r  c                  C   sD   t g d} t| }| d9 } tt| |sJ t|t|  d S Nr   r   )r   r   r   r   r   Zassert_numpy_array_equal)r   datar%   r%   r&   test_inplace_arithmetic_seriesn  s
   r  c                 C   sp   t g d}| }|d d  }|d9 }| r*tt|t|r"J t|| d S tt|t|s6J d S r  )r   r   r   r   r   r   r   )r#   r   r   r  r%   r%   r&   -test_inplace_arithmetic_series_with_referencev  s   r  TFc                 C   s   t g ddd}| }|j|d}|s|r| r(tt|dt|ds'J ntt|dt|dr6J d|jd< | rEt|| d S d S )	Nr   r   r   r8   r   r   r   r   )	r   r   r   r   r   r   r!   r   r   )r#   r   r{   r$   r   r   r%   r%   r&   test_transpose  s   
r  c                 C   s^   t g ddd}| }|j}tt|dt|drJ d|jd< | r-t|| d S d S )Nr   r   r   r   r   r   r   )	r   r   ra  r   r   r   r!   r   r   )r#   r$   r   r   r%   r%   r&   test_transpose_different_dtypes  s   
r  c                 C   s:   t dg didd}|j}tt|dt|drJ d S )Nr   r   rM  r	  r   )r   ra  r   r   r   )r#   r$   r   r%   r%   r&   test_transpose_ea_single_column  s    r  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   r   r   r   r   ru   )r   countr!   r   r   r   r   r%   r%   r&   test_count_read_only_array  s
   
r  c                 C   s   t g d}| }| }tt|t|sJ | r$|jdr$J d|jd< | r3t	
|| d S t g d}t	
|| d S )Nr   r   r   r   )r   r   r  r   r   r   r   r   r!   r   r   r>  r%   r%   r&   test_series_view  s   
r  )mnumpyr   ZpytestZpandas.errorsr   Zpandasrr  r   r   r   r   r   r   r	   r
   Zpandas._testingZ_testingr   Zpandas.tests.copy_view.utilr   r'   r*   markZparametrizer~   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)  r8  r9  r;  r<  r=  r?  r@  rC  rH  rI  rL  rN  rQ  rR  rV  rZ  r[  r^  rb  rd  rf  rk  rl  ru  rw  r|  r  r  r  r  r  r  r  r  r  r%   r%   r%   r&   <module>   s   (
)'
 


"






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

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