o
    ҷhs                    @   sB	  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 d1d gg d2dd3d4 Zejd	g d
d5d6 Zd7d8 Zejd9ed d:ed;d:ggd<d= Zd>d? Zd@dA ZdBdC Z dDdE Z!dFdG Z"ejjd9dHd dId dJd dKd gg dLddMdN Z#dOdP Z$dQdR Z%ejdSdTdUgidVdUidWdUigdXdY Z&dZd[ Z'd\d] Z(d^d_ Z)d`da Z*dbdc Z+ejddded dfd dgd gdhdi Z,djdk Z-dldm Z.dndo Z/dpdq Z0ejdrd9dsgdtdu Z1dvdw Z2dxdy Z3ejjdzd{d d fd|d d:fd}d d fd~d d fgg dddd Z4ejded;d:gdUdedUd;d:gigdd Z5ejded;d:gdUdedUd;d:gigdd Z6dd Z7dd Z8dd Z9dd Z:e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 ZAejddUdd;dd d;d dgdd ZBejdddgdd ZCejded;d:gedUd;d:gigdd ZDejded;d:gedUd;d:gigdd ZEdd ZFdd ZGejdeg ddUdi fedUg diddUifgdd ZHejdeg ddUdi fedUg diddUifgdd ZIejdg ddd ZJdd ZKddĄ ZLejdeg dedUg digddƄ ZMddȄ ZNddʄ ZOdd̄ ZPejdddid9digddЄ ZQejdddgddՄ ZRddׄ ZSddل ZTddۄ ZUejdddgdd ZVejdddgdd ZWejdddgdd ZXejdddeYfdgdd ZZejdddgejdddd dd gdd Z[ejdddgejdddd dd gdd Z\ejdddgejdddd dd gdd Z]ejddddgdd Z^dd  Z_dd Z`dd Zadd Zbejjdddgddgdd	d
 Zcdd ZdejddUdUggdd Zeejdddgejjdddgddgddd Zfejdd d;gejdddgdd Zgdd Zhdd Zidd  Zjd!d" Zkd#d$ Zlejd	dd%gd&d' Zmd(d) Znd*d+ Zod,d- Zpd.d/ Zqd0d1 Zrd2d3 Zsd4d5 Ztd6d7 Zud8d9 Zvd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}| }|j|jusJ |j|jus"J |j|js+J |j|js4J tt|dt|drBJ | rZ|jj	d j
 rOJ |jj	d j
 rZJ d|jd< |jd dkshJ d S )	N                  g?g?g333333?abcr   r   r   r   r   r   copyindexcolumnsis_npshares_memoryr   _mgrblocksrefshas_referenceilocusing_copy_on_writedfdf_copy r*   V/var/www/html/venv/lib/python3.10/site-packages/pandas/tests/copy_view/test_methods.py	test_copy   s   
r,   c                 C   sv  t g dg dg dd}|jdd}| r9|j|jusJ |j|jus&J |j|js/J |j|js8J n|j|ju sAJ |j|ju sIJ tt|dt|dsWJ | ro|jj	d j
 sdJ |jj	d	 j
 soJ | rd|jd
< |jd
 d	ksJ tt|dt|drJ tt|dt|dsJ d S d|jd
< |jd
 dksJ 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r   r   )renamestrlowerr(   r   r*   r*   r+   <lambda>R       r6   c                 C   s   | j ddg|dS )Nr   r   r1   )reindexr5   r*   r*   r+   r6   S       c                 C      | j | |dS Nr   reindex_liker5   r*   r*   r+   r6   T       c                 C      | j | |dd S Nr<   r   alignr5   r*   r*   r+   r6   U   r9   c                 C      | j g dd|dS Nr   r   )axisr   set_axisr5   r*   r*   r+   r6   V       c                 C      | j d|dS Ntestr   r   rename_axisr5   r*   r*   r+   r6   W   r?   c                 C   rJ   )NrL   r1   rN   r5   r*   r*   r+   r6   X   r?   c                 C      | j ddi|dS )Nr   int64r<   astyper5   r*   r*   r+   r6   Y   r9   c                 C      | j dd|dS Nr   r<   swapaxesr5   r*   r*   r+   r6   [   r7   c                 C      | j dd|dS Nr   r   r<   truncater5   r*   r*   r+   r6   \   r7   c                 C      | j |dS r;   infer_objectsr5   r*   r*   r+   r6   ]       c                 C   r\   r;   to_timestampr5   r*   r*   r+   r6   ^   r_   c                 C   rJ   ND)freqr   	to_periodr5   r*   r*   r+   r6   _   r?   c                 C   rJ   N
US/Centralr<   tz_localizer5   r*   r*   r+   r6   `   r?   c                 C   rJ   rg   
tz_convertr5   r*   r*   r+   r6   a   r?   c                 C   rJ   NF)allows_duplicate_labelsr   	set_flagsr5   r*   r*   r+   r6   b   r?   )r2   r8   r>   rC   rH   rename_axis0rename_axis1rS   rW   r[   r^   ra   rf   rj   rl   rp   )idsc           
      C   sj  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| j jjv rud}tjt|d |||d}W d    n1 sow   Y  n|||d}|p|du }	| j jj	dr|s|s|du rd}	|	rt
t|dt|dsJ d S t
t|dt|drJ d S )Nra   
2012-01-01rc   r   rd   periodsrf   rj   rl   Europe/Brusselsrd   rv   tzr   r   r   r   r   rW   "'DataFrame.swapaxes' is deprecatedmatchr<   Fzreindex-r   )nodecallspecidr
   r	   r   tmassert_produces_warningFutureWarning
startswithr   r    r   )
requestr0   r   r'   using_array_managerr   r(   msgdf2share_memoryr*   r*   r+   test_methods_copy_keywordN   s0   -   r   c                 C   rP   )Nr   d   rM   r2   serr   r*   r*   r+   r6      r9   c                 C   s   | j d |dS r;   r   r   r*   r*   r+   r6      r?   c                 C   s   | j | j|dS )NrM   )r8   r   r   r*   r*   r+   r6      r7   c                 C   r:   r;   r=   r   r*   r*   r+   r6      r?   c                 C   r@   rA   rB   r   r*   r*   r+   r6      r9   c                 C   rD   rE   rG   r   r*   r*   r+   r6      rI   c                 C   rJ   rK   rN   r   r*   r*   r+   r6      r?   c                 C   rJ   )NrQ   r<   rR   r   r*   r*   r+   r6      r?   c                 C   rX   )Nr   r   r<   )	swaplevelr   r*   r*   r+   r6      r7   c                 C   rT   rU   rV   r   r*   r*   r+   r6      r7   c                 C   rX   rY   rZ   r   r*   r*   r+   r6      r7   c                 C   r\   r;   r]   r   r*   r*   r+   r6      r_   c                 C   r\   r;   r`   r   r*   r*   r+   r6      r_   c                 C   rJ   rb   re   r   r*   r*   r+   r6      r?   c                 C   rJ   rg   ri   r   r*   r*   r+   r6      r?   c                 C   rJ   rg   rk   r   r*   r*   r+   r6      r?   c                 C   rJ   rm   ro   r   r*   r*   r+   r6      r?   )zrename (dict)r2   r8   r>   rC   rH   rq   rS   r   rW   r[   r^   ra   rf   rj   rl   rp   c           	      C   sT  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| j jjv rd}tj	t
|d |||d}W d    n1 szw   Y  n|||d}|p|du }|rtt|t|sJ d S tt|t|rJ d S )Nra   rt   rc   r   ru   rf   rj   rl   rw   rx   r   r   r   rz   rW   z'Series.swapaxes' is deprecatedr|   r<   F)r~   r   r   r
   r	   r   from_arraysr   r   r   r   r   r    r   )	r   r0   r   r'   r   r   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   r<   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   )
         rz   r   r   r   )r   r   )r   r   reset_indexr!   _verify_integrityr   r    r   r%   r   assert_frame_equalr'   r(   df_origr   r*   r*   r+   test_reset_index   s   

r   r   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   rz   T)dropr   r   )r   r   r   r   r    r   r!   _has_no_referencer%   r   assert_series_equalr'   r   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   r2   r3   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   r2   r3   r   r   r   r    r   r%   r   r   )r'   r(   r   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 Nr*   r(   r*   r*   r+   testfuncC  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      d| j d< | S )Nr   r   r%   r   r*   r*   r+   r   [     
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_dfW  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   r8   r   r    r   r%   r   r   r   r*   r*   r+   test_reindex_columnsn  s   
r   c                 C   r   r   r*   idxr*   r*   r+   r6     s    c                 C      |   S r   )viewr   r*   r*   r+   r6         c                 C   r   r   r<   r   r*   r*   r+   r6     r   c                 C   s   t | S r   )listr   r*   r*   r+   r6     r   )	identicalr   r   valuesc                 C   s   t g dg dg dd}| }|j| |j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 |r]tt|d	t|d	s]J t	|| d S )
Nr   r   r   r   rz   r   r   r   r   )
r   r   r8   r   r   r    r   r%   r   r   )r   r'   r(   r   r   r*   r*   r+   test_reindex_rows  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_column  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   rQ   r   r   r   )r   r   select_dtypesr!   r   r   r    r   r%   r   r   r   r*   r*   r+   test_select_dtypes  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< | ratt|d	t|d	rSJ tt|d
t|d
saJ t	|| d S )Nr   r   r   r   r   r   
2020-01-01
2020-01-03r   r   r   r   r   )rv   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   rv   rF   )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-041Drv   rd   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s'J d|jd< | rYt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 d S )Nr   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    r   r   r%   r   r   )r'   r(   r   view_originalr   r   r*   r*   r+   test_pop$  s   


r   funcc                 C   s
   |  |S r   rB   xyr*   r*   r+   r6   <     
 c                 C   s   | j |jddS )Nr   rF   )rC   r   r   r*   r*   r+   r6   =  r7   c                 C   s   | j |jjtdd ddS )Nr   r   r   )rC   r   r%   slicer   r*   r*   r+   r6   >  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   
df_changedr   _r*   r*   r+   test_align_frame9  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   rC   r   r    r   r%   r   r   )r'   r   r   	ser_otherr   ser_other_resultr*   r*   r+   test_align_seriesR  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   Fr<   r   r   r   r   r   )	r   r   rC   r   r    r   locr   r   )r'   r(   r   r   df3r*   r*   r+   test_align_copy_falseh  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   rF   r   r   r   )r   r   r   rC   r   r    r   r   r   r   r   )r'   r(   r   r   r   r   r   r*   r*   r+   !test_align_with_series_copy_falsex  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   to_framer   r    r   r   r%   r   r   r   )r'   r   r   r(   r   r*   r*   r+   test_to_frame  s$   



r   axr   c                 C   s   t g dg dd}| }d}tjt|d |||}W d    n1 s)w   Y  | r?tt|dt|ds>J ntt|dt|drMJ d|j	d< | rbtt|dt|drbJ t
|| d S )	Nr   r   r   r{   r|   r   r   r   r   r   r   r   r   rW   r   r    r   r%   r   )r'   r   r(   r   r   r   r*   r*   r+   test_swapaxes_noop  s   
r   c                 C   s   t g dg ddg dd}| }d}tjt|d |dd	}W d    n1 s-w   Y  | rCtt|d
t|dsBJ ntt|d
t|drQJ d|j	d< | rftt|d
t|drfJ t
|| d S )Nr   r   r   )r   r   zrz   r{   r|   r   r   r   r   r   r   r   )r'   r(   r   r   r   r*   r*   r+   test_swapaxes_single_block  s   
r   c                  C   s   t ddgdd} d}tjt|d | jddd	} W d    n1 s$w   Y  d
| jd< t d
dgddgdddgd}t| | d S )Nr   r   r   r   r{   r|   r   r   )axis1axis2r   r   r   r   r   r   rz   )r   r   r   r   rW   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-   r<   r   r*   r*   r+   r6     rI   c                 C   s   |     S r   )r   r   r*   r*   r+   r6     r_   c                 C   s   | j tjdj tjdS )Nr   )r2   r3   r   r4   r   r*   r*   r+   r6     s    c                 C   s   | j ddjddS )NFr-   number)include)r   r   r   r*   r*   r+   r6     rI   )shallow-copyr   r2   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   r~   r   r   r%   r   r   )r   r0   r   r'   r(   r   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-1rc   rd   z2012-1-2r   r   )r   r   r   r   ra   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   r   r   rf   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_index1  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   CoW_CoW_ar   r   r   CoW_cr   r   )r  CoW_br  )	r   r   
add_prefixr   r    r   r%   r   r   r   r*   r*   r+   test_add_prefix:  s   

r  c                 C   r  )Nr   r   r   r   _CoWa_CoWr   r   r   c_CoWr   r   )r  b_CoWr  )	r   r   
add_suffixr   r    r   r%   r   r   r   r*   r*   r+   test_add_suffixO  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'   rF   valr(   r   r   r*   r*   r+   test_dropnaa  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_seriesr  s   
r'  c                 C   r   r   headr   r*   r*   r+   r6     r   c                 C   
   |  dS )Nr   r(  r   r*   r*   r+   r6     r   c                 C   r   r   tailr   r*   r*   r+   r6     r   c                 C   r*  )Nr   r+  r   r*   r*   r+   r6     r   c                 C   s   t g dg dd}| }| |}|j  |r6tt|dt|dr(J tt|dt|dr6J d|jd< |rZtt|dt|drKJ tt|dt|drYJ ntt|dt|dshJ d|jd< t	|| d S )	Nr   r   r   r   r   r   r   r   )
r   r   r!   r   r   r    r   r%   r   r   )r0   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_reference  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  r0  r1  r.  r   r   r#  r   r   r   r4  r5  r6  )r'   r(   r   r7  r8  r9  r*   r*   r+   test_infer_objects_reference  s.   





r;  kwargsr   )beforeafterrF   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   r[   r!   r   r   r    r   r%   r   r   r'   r<  r(   r   r   r*   r*   r+   test_truncate  s   

r@  assign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'   r0   r(   r   r   r*   r*   r+   test_assign_drop_duplicates  s   

rD  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   taker   r    r   r%   r   r  r	  r*   r*   r+   	test_take  s   
rF  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   1D20minr   z0:00z1:00r   )
r	   r   r   between_timer   r    r   r%   r   r  r	  r*   r*   r+   test_between_time+  s   
rI  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   

rK  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   
sort_indexr   r    r   r%   r   r   r'   r   r   r   r*   r*   r+   test_sort_indexN  s   
rN  zobj, kwargsr   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   sort_valuesr   r    r   r%   r   r  )r'   r  r<  r
  r  r*   r*   r+   test_sort_values_  s   
rR  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*   rP  )r'   r  r<  r   r
  r   r*   r*   r+   test_sort_values_inplacer  s   
 rT  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   )rU  r   r   r   r#  r   r   r   )	r   r   roundr   r    r   r%   r   r   )r'   rU  r(   r   r   r*   r*   r+   
test_round  s   

rX  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   rz   orderr   r   )r   from_tuplesr   r   reorder_levelsr   r    r   r%   r   r   r'   r   r(   r   r   r*   r*   r+   test_reorder_levels  s   
rg  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 )	NrY  r]  r^  r_  ra  rz   rb  r   )r   rd  r   r   re  r   r    r   r%   r   r   r   r*   r*   r+   test_series_reorder_levels  s   
rh  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rZ  r[  r\  r]  r^  r_  r   )r   rd  r   r   r   r   r    r   r%   r   r  )r'   r  r   r
  r  r*   r*   r+   test_swaplevel  s   
rj  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   r   r   r   r   r   )	r   r   rH   r   r    r   r%   r   r   r   r*   r*   r+   test_frame_set_axis  s   
rk  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   r   r   r   )r   r   rH   r   r    r%   r   r   rM  r*   r*   r+   test_series_set_axis  s   
rl  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)rn   r   r   )r   r   rp   r   r    r%   r   r   r'   r   r   r   r   r*   r*   r+   test_set_flags  s   
rn  mapperrL   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   ra  r   rz   r   r   r*   )
r   r   r   rO   r   r    r   r%   r   r   r?  r*   r*   r+   test_rename_axis  s    
rp  zfunc, tz)rl   zEurope/Berlin)rj   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)startrd   rv   ry   rz   rh   r   )
r   r	   r   rC  r   r    r   r%   r   r   )r'   r   ry   r   r   r   r*   r*   r+   test_tz_convert_localize  s   
rs  c                 C   s  t jg dddgd}tg dg dg dd|d	}| }|d
}| rCtt|dt|ds4J tt|dt|dsBJ ntt|dt|drQJ tt|dt|dr_J d
|jd< tt|dt|drrJ | rtt|dt|dsJ t	
|| d S )Nri  r]  r^  r_  r   r         	   r   rz   r   r   r   r   r   )r   rd  r   r   	droplevelr   r    r   r%   r   r   rf  r*   r*   r+   test_droplevel2  s    

ry  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   squeezer   r    r   r   r%   r   r   r   )r'   r(   r   seriesr*   r*   r+   test_squeezeJ  s   
r|  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   rt  r   r   r   )r   r   ranger   r   r    r   r%   r   r   r   )r'   r(   r   ir   r   r*   r*   r+   
test_items]  s   
r  r2  rQ   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   r1  r   r   r   )r   r   r   r    r   r   r   r%   )r'   r2  r(   r   r   r*   r*   r+   test_putmaskr  s   r  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   r1  r   r   r   r   r   r    r'   r2  r(   r7  r*   r*   r+   test_putmask_no_reference  s   
r  float64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   r1  r   r"  r   r  r  r*   r*   r+   $test_putmask_aligns_rhs_no_reference  s   
r  zval, exp, warnT)r   FNc                 C   sd  t ddgddd}|d d  }| }t g dg dgtdd}tj|dd	 |||< W d    n1 s8w   Y  | rtt|d
t|d
rMJ tt|dt|d|u s]J tt|dt|dskJ |j	d|usuJ |j	dr}J 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   zincompatible dtyper|   r   r   r   r   r   )r   r   r   r   r   r   r    r   r!   r   r   r%   )r'   r%  expwarnr(   r   r   indexerr*   r*   r+   "test_putmask_dont_copy_some_blocks  s,   
 r  c                 C   s   |  | dkdS Nr   r   wherer   r*   r*   r+   r6     r7   c                 C   s   |  | dkdS r  maskr  r*   r*   r+   r6     r7   c                 C   s   t g d|d}| }||}| rtt|t|sJ ntt|t|r+J d|jd< | r>tt|t|r>J t|| d S )Nr   r1  r   r   )r   r   r   r    r   r%   r   r   r'   r2  r   r   r   r   r*   r*   r+   test_where_mask_noop  s   	
r  c                 C   s   |  | dk dS r  r  r  r*   r*   r+   r6     r7   c                 C   s   |  | dkdS r  r  r  r*   r*   r+   r6     r7   c                 C   sH   t g d|d}| }||}tt|t|rJ t|| d S )Nr   r1  r   r   r   r    r   r   r   r  r*   r*   r+   test_where_mask  s
   	r  z
dtype, val)rQ   g      %@)r  r   c                 C   s   |  | dk |S Nr   r  r(   r%  r*   r*   r+   r6     r7   c                 C   s   |  | dk|S r  r  r  r*   r*   r+   r6     r7   c                 C   s   t g dg dd|d}| }|||}| r5tt|dt|ds&J tt|dt|dr4J ntt|dt|drCJ d|jd< | rXtt|dt|drXJ t|| d S )	Nr   )ir   r1  r   r   r   r   r   )r'   r2  r%  r   r(   r   r   r*   r*   r+   %test_where_mask_noop_on_single_column  s   	

r  r  r  c                 C   s   t g ddd}| }| rft  t|d ||d dkddd W d    n1 s.w   Y  t|| t  t|dg ||d dkddd W d    n1 sYw   Y  t|| d S d S )	N)r   r   r   r   r   r   r   r   TrS  )r   r   r   raises_chained_assignment_errorrC  r   )r'   r   r(   r   r*   r*   r+   test_chained_where_mask  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   rz   r  r   r   )
r   r	   r   asfreqr   r    r   r%   r   r   r   r*   r*   r+   test_asfreq_noop  s   

r  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   rz   r   )r   r   iterrowsr%   r   r   )r'   r(   r   r   subr*   r*   r+   test_iterrows  s   r  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   Tr        Y@r   )r  r   r   )r   r   r   r   ffillr%   r   r   )r'   r(   r   r   r*   r*   r+   test_interpolate_creates_copy#  s   
r  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   rt  r   r-   r   )rV  r   r   r   r   )
r   r   isetitemr   arrayr    r   r   r   r   r   r*   r*   r+   test_isetitem3  s   
  r  zsingle-blockzmixed-blockc                 C   s   t g dtjg d|dd}tg d}| }|d| | r7tt|dt|s/J |j	dr7J 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   r1  r   rt  r   r   r   )r   r   r  r   r   r  r    r   r!   r   r   r   r   r   )r'   r2  r(   r   r   r   r*   r*   r+   test_isetitem_seriesI  s    
 
 r  c                 C   s   t g dddd}t g ddd}|ddg| | rBtt|dt|ds+J tt|d	t|d	s9J |jdrAJ ntt|dt|drPJ tt|d	t|d	r^J | }d
|j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!   r   r   r%   r   r   )r'   r(   rhsr   r*   r*   r+   test_isetitem_framed  s   

r  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_assignmentr  r   )r   r   getr   r    r   r%   r   r   
isinstancer   r   pdoption_contextr   )r'   r  r(   r   r   r  r*   r*   r+   test_getu  s$   


r  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 )NrQ   r   r   r   rt  r1  r   r   r   r   r  r  r   )r   r   r  r   xsr    r   r!   r   r%   r  r  r   r   r   r   )
r'   r   rF   r  r2  single_blockis_viewr(   r   r   r*   r*   r+   test_xs  s,    r  rF   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   r  l2r   lev1lev2r_  r  r   r   )levelrF   r   r  r  r   )r   arangereshaper   from_productr   r   r   r   r  r    r   r   r   r  r  r   r   r%   r   )r'   r   r  r  rF   arrr   r(   r   r   r  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   rz   )r  r  r  r   )r   r   updater   r   r   r    r   )r'   df1r   df1_origr   r   r*   r*   r+   test_update_frame  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   rz   )r  r  r  )r   r   r  r   r   )r'   ser1r   	ser1_origr   r   r*   r*   r+   test_update_series  s   
r  c                 C   s   t dg di}tdgdgd}| }| r]t  |d | W d    n1 s,w   Y  t|| t  |dg |  W d    n1 sPw   Y  t|| d S d S )Nr   r   r  r   rz   )r   r   r   r   r  r  r   r   )r'   r(   r   r   r*   r*   r+   test_update_chained_assignment  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   assert_numpy_array_equal)r   datar*   r*   r+   test_inplace_arithmetic_series  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+   -test_inplace_arithmetic_series_with_reference  s   r  Fc                 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   r<   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   r  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   r  r1  r   )r   r  r   r    r   )r'   r(   r   r*   r*   r+   test_transpose_ea_single_column-  s    r  c                 C   sD   t g ddd}| }dd }|| | r t|| d S d S )Nr   r   r   c                 S   r   Nr   r   r   r  r*   r*   r+   r   8  r   z"test_transform_frame.<locals>.func)r   r   	transformr   r   )r'   r(   r   r   r*   r*   r+   test_transform_frame4  s   
r  c                 C   s>   t g d}| }dd }|| | rt|| d S d S )Nr   c                 S   r   r  r   r  r*   r*   r+   r   E  r   z#test_transform_series.<locals>.func)r   r   r  r   r   )r'   r   r   r   r*   r*   r+   test_transform_seriesA  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   rz   )r   countr%   r   r   r   r  r*   r*   r+   test_count_read_only_arrayN  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   rm  r*   r*   r+   test_series_viewV  s   
r  c                 C   s   t dg di}tg d}| }|jd|dd | r2tt|t|ds)J |jdr1J ntt|t|dr?J d|j	d< t
|| d S )Nr   r   r   r   )r   valuecolumnr   r   )r   r   r   insertr   r    r   r!   r   r%   r   r   )r'   r(   r   r   r*   r*   r+   test_insert_seriesh  s   
r  c                 C   s|   t g ddd}| }|d}| r#tt|dt|ds"J ntt|dt|dr1J d|jd< t|| d S )Nr   r   r   c = a+br   r   r   	r   r   evalr   r    r   r%   r   r   r  r*   r*   r+   	test_evalw  s   

r  c                 C   sr   t g ddd}| }|d d  }|jddd tt|dt|ds(J d|jd	< | r7t|| d S d S )
Nr   r   r   r  Tr  r   r   r   r  )r'   r(   r   df_viewr*   r*   r+   test_eval_inplace  s   
r  )wnumpyr   pytestpandas.errorsr   pandasr  r   r   r   r   r   r   r	   r
   pandas._testing_testingr   pandas.tests.copy_view.utilr   r,   r/   markparametrizer   r   r   r   
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@  rD  rF  rI  rK  rN  rR  rT  rX  rg  rh  rj  rk  rl  rn  rp  rs  ry  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+   <module>   s   (
$)#)
 




"







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