o
    Mf                    @   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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#dHdI Z$ejjd9dJd dKd dLd dMd gg dNddOdP Z%dQdR Z&dSdT Z'ejdUdVdWgidXdWidYdWigdZd[ Z(d\d] Z)d^d_ Z*d`da Z+dbdc Z,ddde Z-ejdfdgd dhd did gdjdk Z.dldm Z/dndo Z0dpdq Z1drds Z2ejdtd9dugdvdw Z3dxdy Z4dzd{ Z5ejjd|d}d d fd~d d:fdd d fdd d fgg dddd Z6ejded;d:gdWdedWd;d:gigdd Z7ejded;d:gdWdedWd;d:gigdd Z8dd Z9dd Z:dd Z;dd 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 ZAdd ZBdd ZCejddWdd;dd d;d dgdd ZDejdddgdd ZEejded;d:gedWd;d:gigdd ZFejded;d:gedWd;d:gigdd ZGdd ZHdd ZIejdeg ddWdi fedWg diddWifgdd ZJejdeg ddWdi fedWg diddWifgdd ZKejdg ddd ZLddĄ ZMddƄ ZNejdeg dedWg digddȄ ZOddʄ ZPdd̄ ZQdd΄ ZRejdddid9digdd҄ ZSejdddgddׄ ZTddل ZUddۄ ZVdd݄ ZWejdddgdd ZXejdddgdd ZYejdddgdd ZZejddde[fdgdd Z\ejdddgejdfdd dd gdd Z]ejdddgejdfdd dd gdd Z^ejdddgejdfdd dd gdd Z_ejdfddgdd  Z`dd Zadd Zbdd Zcdd Zdejjdddgd	d
gddd Zedd ZfejddWdWggdd Zgejdddgejjdddgd	d
gddd Zhejdd d;gejdddgdd Zidd Zjdd  Zkd!d" Zld#d$ Zmd%d& Znejd	dd'gd(d) Zod*d+ Zpd,d- Zqd.d/ Zrd0d1 Zsd2d3 Ztd4d5 Zud6d7 Zvd8d9 Zwd:d; Zxd<d= ZydS (>      N)SettingWithCopyWarning)		DataFrameIndex
MultiIndexPeriodSeries	Timestamp
date_rangeoption_context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)   e/var/www/html/analyze/labelStudio/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}| 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 t| d|jd
< W d    n1 sw   Y  |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   r   r    r   r!   r"   r#   r$   r%   tmassert_cow_warning)r&   warn_copy_on_writer'   r(   r)   r)   r*   test_copy_shallow+   s.   
  r1   r   )TNFmethodc                 C   s   | j tj|dS )Nr   r   )renamestrlowerr'   r   r)   r)   r*   <lambda>T       r8   c                 C   s   | j ddg|dS )Nr   r   r3   )reindexr7   r)   r)   r*   r8   U       c                 C      | j | |dS Nr   reindex_liker7   r)   r)   r*   r8   V       c                 C      | j | |dd S Nr>   r   alignr7   r)   r)   r*   r8   W   r;   c                 C      | j g dd|dS Nr   r   )axisr   set_axisr7   r)   r)   r*   r8   X       c                 C      | j d|dS Ntestr   r   rename_axisr7   r)   r)   r*   r8   Y   rA   c                 C   rL   )NrN   r3   rP   r7   r)   r)   r*   r8   Z   rA   c                 C      | j ddi|dS )Nr   int64r>   astyper7   r)   r)   r*   r8   [   r;   c                 C      | j dd|dS Nr   r>   swapaxesr7   r)   r)   r*   r8   ]   r9   c                 C      | j dd|dS Nr   r   r>   truncater7   r)   r)   r*   r8   ^   r9   c                 C      | j |dS r=   infer_objectsr7   r)   r)   r*   r8   _       c                 C   r^   r=   to_timestampr7   r)   r)   r*   r8   `   ra   c                 C   rL   ND)freqr   	to_periodr7   r)   r)   r*   r8   a   rA   c                 C   rL   N
US/Centralr>   tz_localizer7   r)   r)   r*   r8   b   rA   c                 C   rL   ri   
tz_convertr7   r)   r)   r*   r8   c   rA   c                 C   rL   NF)allows_duplicate_labelsr   	set_flagsr7   r)   r)   r*   r8   d   rA   )r4   r:   r@   rE   rJ   rename_axis0rename_axis1rU   rY   r]   r`   rc   rh   rl   rn   rr   )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 )Nrc   
2012-01-01re   r   rf   periodsrh   rl   rn   Europe/Brusselsrf   rx   tzr   r   r   r   r   rY   "'DataFrame.swapaxes' is deprecatedmatchr>   Fzreindex-r   )nodecallspecidr   r	   r   r.   assert_produces_warningFutureWarning
startswithr   r    r   )
requestr2   r   r&   using_array_managerr   r'   msgdf2share_memoryr)   r)   r*   test_methods_copy_keywordP   s0   -   r   c                 C   rR   )Nr   d   rO   r4   serr   r)   r)   r*   r8      r;   c                 C   s   | j d |dS r=   r   r   r)   r)   r*   r8      rA   c                 C   s   | j | j|dS )NrO   )r:   r   r   r)   r)   r*   r8      r9   c                 C   r<   r=   r?   r   r)   r)   r*   r8      rA   c                 C   rB   rC   rD   r   r)   r)   r*   r8      r;   c                 C   rF   rG   rI   r   r)   r)   r*   r8      rK   c                 C   rL   rM   rP   r   r)   r)   r*   r8      rA   c                 C   rL   )NrS   r>   rT   r   r)   r)   r*   r8      rA   c                 C   rZ   )Nr   r   r>   )	swaplevelr   r)   r)   r*   r8      r9   c                 C   rV   rW   rX   r   r)   r)   r*   r8      r9   c                 C   rZ   r[   r\   r   r)   r)   r*   r8      r9   c                 C   r^   r=   r_   r   r)   r)   r*   r8      ra   c                 C   r^   r=   rb   r   r)   r)   r*   r8      ra   c                 C   rL   rd   rg   r   r)   r)   r*   r8      rA   c                 C   rL   ri   rk   r   r)   r)   r*   r8      rA   c                 C   rL   ri   rm   r   r)   r)   r*   r8      rA   c                 C   rL   ro   rq   r   r)   r)   r*   r8      rA   )zrename (dict)r4   r:   r@   rE   rJ   rs   rU   r   rY   r]   r`   rc   rh   rl   rn   rr   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 )Nrc   rv   re   r   rw   rh   rl   rn   ry   rz   r   r   r   r|   rY   z'Series.swapaxes' is deprecatedr~   r>   F)r   r   r   r   r	   r   from_arraysr   r.   r   r   r   r    r   )	r   r2   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   )
         r|   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   r|   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   sb   t g dg dg dd} | d} | d }| j|dd }| jddd }t|| d S )	Nr   r   r   dr   r   r   r   )r   r   r   r   ABCr   r   T)observed)r   	set_indexgroupbysumr.   r   )r'   keyr   expectedr)   r)   r*   'test_groupby_column_index_in_references  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   r   r   r   r   r   r   r   r   r   r   )r   r   r4   r5   upperr   r    r   r%   r.   r   r&   r'   r   r   r   r)   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   r4   r5   r   r   r   r    r   r%   r.   r   )r&   r'   r   df2_origr   r)   r)   r*   !test_rename_columns_modify_parent8  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*   testfuncP  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_pipeL  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   h     
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_dfd  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   r:   r   r    r   r%   r.   r   r   r)   r)   r*   test_reindex_columns{  s   
r   c                 C   r   r   r)   idxr)   r)   r*   r8     s    c                 C      |   S r   )viewr   r)   r)   r*   r8         c                 C   r   r   r>   r   r)   r)   r*   r8     r   c                 C   s   t | S r   )listr   r)   r)   r*   r8     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   r|   r   r   r   r   )
r   r   r:   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   rS   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   )rx   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   rx   rH   )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rx   rf   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 t| d|jd< W d    n1 s<w   Y  | rntt|dt|drQJ 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.   r/   r%   nanr   )r&   r0   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 t	| d|jd< W d    n1 s_w   Y  | r|tt|dt|drtJ 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&   r0   r'   r   view_originalr   r   r)   r)   r*   test_pop2  s"   

r   funcc                 C   s
   |  |S r   rD   xyr)   r)   r*   r8   K     
 c                 C   s   | j |jddS )Nr   rH   )rE   r   r   r)   r)   r*   r8   L  r9   c                 C   s   | j |jjtdd ddS )Nr   r   r   )rE   r   r%   slicer   r)   r)   r*   r8   M  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_frameH  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   rE   r   r    r   r%   r.   r   )r&   r   r   	ser_otherr   ser_other_resultr)   r)   r*   test_align_seriesa  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   rE   r   r    r   locr.   r   )r&   r'   r   r   df3r)   r)   r*   test_align_copy_falsew  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   rH   r   r   r   )r   r   r   rE   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 t| d|j	d< W d    n1 s3w   Y  | rMt|jt|drFJ t
|| n| }d|j	d< t
|| |d d   }t| d|j	d< W d    n1 syw   Y  | rt||  d S |  }d|j	d< t|| d S )Nr   r   r   )r   r   to_framer   r    r   r   r.   r/   r%   r   r   )r&   r0   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   rY   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   zr|   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   r|   )r   r.   r   r   rY   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*   r8     rK   c                 C   s   |     S r   )r   r   r)   r)   r*   r8     ra   c                 C   s   | j tjdj tjdS )Nr   )r4   r5   r   r6   r   r)   r)   r*   r8     s    c                 C   s   | j ddjddS )NFr,   number)include)r   r   r   r)   r)   r*   r8     rK   )shallow-copyr   r4   r   c           	      C   s   t g dg dg dd}| }| o| jjjdk}||}t|o%| d|jd|f< W d    n1 s9w   Y  |sFt|| ||}t|oO| d|jd< W d    n1 saw   Y  |syt|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   )	r   r2   r   r&   r0   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-1re   rf   z2012-1-2r   r   )r   r   r   r   rc   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   rh   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   r   r   r    r   r%   r.   r   r   r)   r)   r*   test_set_index3  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_indexD  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_prefixM  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_suffixb  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   r   r   r   r   r   r   )	r   r   dropnar   r    r   r%   r.   r   )r&   rH   valr'   r   r   r)   r)   r*   test_dropnat  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   
r0  c                 C   r   r   headr   r)   r)   r*   r8     r   c                 C   
   |  dS )Nr   r1  r   r)   r)   r*   r8     r   c                 C   r   r   tailr   r)   r)   r*   r8     r   c                 C   r3  )Nr   r4  r   r)   r)   r*   r8     r   c                 C   s>  t g dg dd}| }| |}|j  |r6tt|dt|dr(J tt|dt|dr6J t| d|j	d< W d    n1 sKw   Y  |rott|dt|dr`J tt|dt|drnJ n(tt|dt|ds}J t| d|j	d< W d    n1 sw   Y  t
|| d S )	Nr   r   r   r   r   r   r   r   )r   r   r!   r   r   r    r   r.   r/   r%   r   )r2   r&   r0   r'   r   r   r)   r)   r*   test_head_tail  s$   

r6  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*   test_infer_objects  s   

r7  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.   




rB  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  r8  r9  r   r   r   r   r   r   r
  r<  r=  r>  )r&   r'   r   r?  r@  rA  r)   r)   r*   test_infer_objects_reference  s.   





rC  kwargsr   )beforeafterrH   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&   rD  r'   r   r   r)   r)   r*   test_truncate  s   

rH  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&   r2   r'   r   r   r)   r)   r*   test_assign_drop_duplicates  s   

rL  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   
rN  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   
rQ  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_likeQ  s   

rS  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_indexc  s   
rV  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  rD  r  r  r)   r)   r*   test_sort_valuest  s   
rY  c                 C   s   |  }|d d  }|jdddi| tt|dt|ds"J t| d|jd< W d    n1 s7w   Y  | rTtt|dt|drLJ t|| d S tt|dt|dsbJ d S )NinplaceTr   r   r)   )	r   rX  r   r    r   r.   r/   r%   r  )r&   r  rD  r0   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 tt|dt|draJ d	|jd
< d|jd< | rtt|dt|dr{J tt|dt|drJ t|| d S )Nr   r   r   r   )r\  r   r   r   r   r
  r   r   )	r   r   roundr   r    r   r%   r.   r   )r&   r0   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|   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   
rm  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`  rd  re  rf  r   r|   rh  r   )r   rj  r   r   rk  r   r    r   r%   r.   r   r   r)   r)   r*   test_series_reorder_levels  s   
rn  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ra  rb  rc  rd  re  rf  r   )r   rj  r   r   r   r   r    r   r%   r.   r  )r&   r  r   r  r  r)   r)   r*   test_swaplevel  s   
rp  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   rJ   r   r    r   r%   r.   r   r   r)   r)   r*   test_frame_set_axis  s   
rq  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   rJ   r   r    r%   r.   r   rU  r)   r)   r*   test_series_set_axis  s   
rr  c                 C   s   t g d}| }|jdd}t||sJ t| d|jd< W d    n1 s-w   Y  | rDt||r<J t|| d S t||sLJ t g d}t|| d S )Nr   F)rp   r   r   )	r   r   rr   r   r    r.   r/   r%   r   r&   r0   r   r   r   r   r)   r)   r*   test_set_flags  s   rt  mapperrN   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   r   r   r|   r   r   r)   )
r   r   r   rQ   r   r    r   r%   r.   r   rG  r)   r)   r*   test_rename_axis#  s    
rv  zfunc, tz)rn   zEurope/Berlin)rl   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)startrf   rx   r{   r|   rj   r   )
r   r	   r   rK  r   r    r   r%   r.   r   )r&   r   r{   r   r   r   r)   r)   r*   test_tz_convert_localize4  s   
ry  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 )Nro  rd  re  rf  r   r         	   r   r|   r   r   r   r   r   )r   rj  r   r   	droplevelr   r    r   r%   r.   r   rl  r)   r)   r*   test_droplevelJ  s    

r  c                 C   s   t dg di}| }| }t|jt|dsJ t| d|j	d< W d    n1 s1w   Y  | rLt|jt|drDJ t
|| d S t|jt|dsXJ |jd dksaJ d S )Nr   r   r   r   )r   r   squeezer   r    r   r   r.   r/   r%   r   r   )r&   r0   r'   r   seriesr)   r)   r*   test_squeezeb  s   r  c              
   C   s   t g dg dg dd}| }tdD ]U}| D ]N\}}tt||t||s.J t| d|j	d< W d    n1 sCw   Y  | r_tt||t||rXJ t
|| q|jd|f dksjJ qqd S )Nr   r   rz  r   r   r   )r   r   ranger   r   r    r   r.   r/   r%   r   r   )r&   r0   r'   r   ir   r   r)   r)   r*   
test_itemsv  s   r  r:  rS   Int64c                 C   s   t ddgddd|d}|d d  }| }t| d|||k< W d    n1 s,w   Y  | rItt|dt|drAJ t|| d S tt|dt|dsWJ |jd dks`J d S )Nr   r   r   r9  r   r   r   )	r   r   r.   r/   r   r    r   r   r%   )r&   r:  r0   r'   r   r   r)   r)   r*   test_putmask  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   r9  r   r   r   r   r   r    r&   r:  r'   r?  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   r9  r   r,  r   r  r  r)   r)   r*   $test_putmask_aligns_rhs_no_reference  s   
r  zval, exp, warnT)r   FNc           	      C   s  t ddgddd}|d d  }| }t g dg dgtdd}|r=t  |||< W d    n1 s7w   Y  ntj|dd	 |||< W d    n1 sSw   Y  | rtt|d
t|d
rhJ tt|dt|d|u sxJ tt|dt|dsJ |j	
d|usJ |j	
drJ 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&   r.  expwarnr0   r'   r   r   indexerr)   r)   r*   "test_putmask_dont_copy_some_blocks  s6   


 r  c                 C   s   |  | dkdS Nr   r   wherer   r)   r)   r*   r8     r9   c                 C   s   |  | dkdS r  maskr  r)   r)   r*   r8     r9   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   r9  r   r   )r   r   r   r    r   r%   r.   r   r&   r:  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*   r8     r9   c                 C   s   |  | dkdS r  r  r  r)   r)   r*   r8     r9   c                 C   sH   t g d|d}| }||}tt|t|rJ t|| d S )Nr   r9  )r   r   r   r    r   r.   r   r  r)   r)   r*   test_where_mask  s
   	r  z
dtype, val)rS   g      %@)r  r   c                 C   s   |  | dk |S Nr   r  r'   r.  r)   r)   r*   r8     r9   c                 C   s   |  | dk|S r  r  r  r)   r)   r*   r8     r9   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   r9  r   r   r   r
  r   )r&   r:  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 tjtd	d
 t|d ||d dkddd W d    n1 sw   Y  td . tdd  t|dg ||d dkddd W d    n1 sw   Y  W d    n1 sw   Y  td : tdd  t||d dk ||d dkddd W d    n1 sw   Y  W d    d S W d    d S 1 sw   Y  d S )N)r   r   r   r   r   r   r   r   TrZ  inplace methodr~   mode.chained_assignment)	r   r   r.   raises_chained_assignment_errorrK  r   r   r   r
   )r&   r   r'   r   r)   r)   r*   test_chained_where_mask  s6   
"
$"$*$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   minr   r|   r  r   r   )
r   r	   r   asfreqr   r    r   r%   r.   r   r   r)   r)   r*   test_asfreq_noop1  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   r|   r   )r   r   iterrowsr%   r.   r   )r&   r'   r   r   subr)   r)   r*   test_iterrowsE  s   r  c                 C   s   t ddtjdgi}|d d  }| }t| |jdd W d    n1 s*w   Y  t| d|jd< W d    n1 sDw   Y  | rSt|| d S t dg di}t|| d S )	Nr   r   r   Tr        Y@r   )r  r   r   )	r   r   r   r   r.   r/   ffillr%   r   )r&   r0   r'   r   r   r)   r)   r*   test_interpolate_creates_copyO  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   rz  r   r,   r   )r]  r   r   r   r   )
r   r   isetitemr   arrayr    r   r   r.   r   r   r)   r)   r*   test_isetitema  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   r9  r   rz  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_isetitem_seriesw  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_frame  s   

r  r   c              	   C   s6  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 |rKt	|t
rHtnd }n	t	|trRtnd }tdd" t| d|jd< W d    n1 sow   Y  W d    n1 s~w   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   
isinstancer5   r   r   r   r
   r   )r&   r0   r   r'   r   r   r  r)   r)   r*   test_get  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 | sQ|rW|sWd
|
j	d
< nP|rxt
|p`|dk d
|
j	d
< W d    n1 srw   Y  n/tdd" t
t d
|
j	d
< W d    n1 sw   Y  W d    n1 sw   Y  | s|s|d
krt
||	 d S |j	d d
ksJ d S )NrS   r   r   r   rz  r9  r   r   r   r   r  r  r   )r   r   r  r   xsr    r   r!   r   r%   r.   r/   r
   r   r   r   )r&   r0   r   rH   r   r:  single_blockis_viewr'   r   r   r)   r)   r*   test_xs  s6    r  rH   z
key, level)l1r   rc  c              	   C   s4  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 |rZ|dkrWtnd }n	| sa|sat}nd }tdd" t| d|
jd< W d    n1 s~w   Y  W d    n1 sw   Y  t||	 d S )N   r   r   r  l2r   lev1lev2rf  r  r   r   )levelrH   r   r  r  r   )r   arangereshaper   from_productr   r   r   r   r  r    r   r   r   r   r
   r.   r   r%   r   )r&   r0   r   r   r  rH   arrr   r'   r   r   r  r)   r)   r*   test_xs_multiindex  s.   r  c                 C   s   t g dg dd}t ddgidgd}| }|d d  }t| || W d    n1 s4w   Y  t g dg dd}t|| | rpt|| tt|d	t|d	s`J tt|dt|drnJ d S t|| d S )
N      ?r  r  )      @g      @      @r   r         Y@r   r|   )r  r  r  r   )	r   r   r.   r/   updater   r   r    r   )r&   r0   df1r   df1_origr   r   r)   r)   r*   test_update_frame  s    r  c                 C   s   t g d}t dgdgd}| }|d d  }|r4t  || W d    n1 s.w   Y  n|| t g d}t|| | rOt|| d S t|| d S )Nr  r  r   r|   )r  r  r  )r   r   r.   r/   r  r   )r&   r0   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 tjt	dd |d | W d    n1 svw   Y  td ' t
dd  |dg |  W d    n1 sw   Y  W d    n1 sw   Y  td 3 t
dd  ||d dk |  W d    n1 sw   Y  W d    d S W d    d S 1 sw   Y  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_update_chained_assignment/  s8   

"r  c                 C   sx   t g d}| }t|}|d9 }| r(tt||rJ t|t| d S tt||s2J t|t| d S Nr   r   )r   r   r   r   r    r.   assert_numpy_array_equal)r&   r   r   datar)   r)   r*   test_inplace_arithmetic_seriesH  s   r  c                 C   s   t g d}| }|d d  }t| |d9 }W d    n1 s$w   Y  | r?tt|t|r7J t|| d S tt|t|sKJ d S r  )r   r   r.   r/   r   r    r   r   )r&   r0   r   r   r   r)   r)   r*   -test_inplace_arithmetic_series_with_referenceZ  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_transposei  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   Tr   r    r   r%   r.   r   r&   r'   r   r   r)   r)   r*   test_transpose_different_dtypesy  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  r9  r   )r   r  r   r    r   )r&   r'   r   r)   r)   r*   test_transpose_ea_single_column  s    r  c                 C   sn   t g ddd}| }dd }t| || W d    n1 s&w   Y  | r5t|| d S d S )Nr   r   r   c                 S   r   Nr   r   r   r  r)   r)   r*   r     r   z"test_transform_frame.<locals>.func)r   r   r.   r/   	transformr   )r&   r0   r'   r   r   r)   r)   r*   test_transform_frame  s   r  c                 C   sh   t g d}| }dd }t| || W d    n1 s#w   Y  | r2t|| d S d S )Nr   c                 S   r   r  r   r  r)   r)   r*   r     r   z#test_transform_series.<locals>.func)r   r   r.   r/   r  r   )r&   r0   r   r   r   r)   r)   r*   test_transform_series  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   r|   )r   countr%   r   r.   r   r  r)   r)   r*   test_count_read_only_array  s
   
r  c                 C   s   t g d}| }tjtdd | }W d    n1 s w   Y  tt|t|s1J | r;|j	
dr;J t| d|jd< W d    n1 sPw   Y  | r_t|| d S t g d}t|| d S )Nr   zis deprecatedr~   r   r   r   )r   r   r.   r   r   r   r   r    r   r!   r   r/   r%   r   rs  r)   r)   r*   test_series_view  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_series  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_eval  s   

r  c                 C   s   t g ddd}| }|d d  }|jddd tt|dt|ds(J t| d|jd	< W d    n1 s=w   Y  | rLt	|| d S d S )
Nr   r   r   r  Tr  r   r   r   )
r   r   r  r   r    r   r.   r/   r%   r   )r&   r0   r'   r   df_viewr)   r)   r*   test_eval_inplace  s   r  c                 C   s   t ddgddgd}| }dd }t| |j|dd W d    n1 s*w   Y  | r8t|| n	|jd	 d
ksAJ t ddgddgd}| }td  |j|dd W d    n1 sgw   Y  t|| d S )Nr   r   r   r   )r   r   c                 S   s   d| d< | S )Nr   r   r)   )rowr)   r)   r*   r    s   z(test_apply_modify_row.<locals>.transformr   )r   r   r   r   r   )r   r   r.   r/   applyr   r   r   )r&   r0   r'   r   r  r)   r)   r*   test_apply_modify_row  s   r  )znumpyr   pytestpandas.errorsr   pandaspdr   r   r   r   r   r   r	   r
   r   pandas._testing_testingr.   pandas.tests.copy_view.utilr   r+   r1   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/  r0  r6  r7  rB  rC  rH  rL  rN  rQ  rS  rV  rY  r[  r_  rm  rn  rp  rq  rr  rt  rv  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)   r)   r*   <module>   s   ,%)#)
 


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

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