o
    ҷh+                     @   s  d dl Zd dlZd dlmZmZmZ d dlmZ	 d dl
mZ ddgfddZdd	 Zd
d Zdd Zdd Zdd Zdd Zdd Zdd Zejj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d(d) Zd*d+ Zd,d- ZdS ).    N)	DataFrameIndexSeries)	get_array      c                 C   s6   t | dd}|d d  }|jddd}|j}||fS )N      ?abr
   Tdrop)r   	set_indexindex)
index_datadfviewidx r   Z/var/www/html/venv/lib/python3.10/site-packages/pandas/tests/copy_view/index/test_index.py
index_view   s
   r   c                 C   sl   t ddgdd}|jddd}|jjdd}d	|jd
< | r't|j| d S t|jtd	dgdd d S )Nr   r   r	   r
   Fr   Tdeepd   r   r   name)r   r   r   copyiloctmassert_index_equalr   )using_copy_on_writer   expectedr   r   r   test_set_index_update_column   s   
r#   c                 C   sV   t ddgdd}|d d  }|jddd}|jjdd}d	|jd
< t|j| d S )Nr   r   r   r	   r
   Tr   r   r   r   )r   r   r   r   r   r   r    )r!   r   r   r"   r   r   r   !test_set_index_drop_update_column!   s   
r$   c                 C   sp   t ddgdd}tddg}||}|jjdd}d	|jd
< | r+t|j| d S t|jtd	dg d S Nr   r   r   r	   
      Tr   r   r   )	r   r   r   r   r   r   r   r    r   r!   r   serr"   r   r   r   test_set_index_series*   s   

r*   c                 C   sl   t ddgdd}tddg}||_|jjdd}d	|jd
< | r)t|j| d S t|jtd	dg d S r%   )r   r   r   r   r   r   r    r   r(   r   r   r   test_assign_index_as_series6   s   
r+   c                 C   sx   t ddgdd}tddg}t|}||_d }|jjdd}d	|jd
< | r/t|j| d S t|jtd	dg d S r%   )r   r   r   r   r   r   r   r    )r!   r   r)   	rhs_indexr"   r   r   r   test_assign_index_as_indexB   s   
r-   c                 C   sV   t ddg}t|}|jdd}d|jd< | rt|| d S t|tddg d S Nr   r   Tr   r   r   r   r   r   r   r   r    r!   r)   r   r"   r   r   r   test_index_from_seriesP   s   
r1   c                 C   sB   t ddg}t|dd}t|}d|jd< tt||sJ d S )Nr   r   Tr   r   r   )r   r   r   r   npshares_memory)r!   r)   r   arrr   r   r   test_index_from_series_copy[   s
   
r6   c                 C   s^   t ddg}t|}t|}|jdd}d|jd< | r#t|| d S t|tddg d S r.   r/   r0   r   r   r   test_index_from_indexc   s   
r7   funcc                 C   s   |  | jS N)_shallow_copy_valuesxr   r   r   <lambda>r       r>   c                 C   s   |   S r9   )r   r<   r   r   r   r>   s   s    c                 C   s   |  ddgS Nr   r   )taker<   r   r   r   r>   t       c                 C   s   |  ddgS )Nr   )repeatr<   r   r   r   r>   u   rB   c                 C   s   | t dd S Nr   r   )slicer<   r   r   r   r>   v   rB   c                 C   s   | ddg S r@   r   r<   r   r   r   r>   w   r?   c                 C   s   |  tddS rD   )_getitem_slicerE   r<   r   r   r   r>   x   s    c                 C   s
   |  g S r9   )deleter<   r   r   r   r>   y      
 c                 C   s
   |  dS )Nr   )renamer<   r   r   r   r>   z   rH   c                 C   s   | j dddS )NInt64Fr2   )astyper<   r   r   r   r>   {   rB   )
r:   r   rA   rC   getitem_slicegetitem_listrF   rG   rI   rK   )idsc                 C   s\   t  \}}|jdd}d|jjjv r|d}||}d|jd< | r,tj||dd d S d S )	NTr   rK   rJ   r   r   Fcheck_names)	r   r   nodecallspecidrK   r   r   r    )r!   r8   requestr   view_r"   r   r   r   test_index_opso   s   


rV   c                 C   sN   t ddg\}}|jdd}|jdd}d|jd< | r%tj||dd	 d S d S )
Nr
   r   Tr   Fr2   aaaar   rO   )r   r   infer_objectsr   r   r    )r!   r   rU   r"   r   r   r   test_infer_objects   s   
rY   c                 C   s   t g ddd}|jdd}| }| r)tt|d|js J |jdr(J ntt|d|jr5J d|j	d< t
|| d S )	Nr   r      r
   r   Tr   r   r   r   )r   r   to_framer3   r4   r   r;   _mgr_has_no_referencer   r   r    )r!   r   r"   r   r   r   r   test_index_to_frame   s   
r_   c                 C   s>   t g d}|j}| r|jjdu sJ d S |jjdu sJ d S )NrZ   FT)r   valuesflags	writeable)r!   r   resultr   r   r   test_index_values   s
   rd   )numpyr3   pytestpandasr   r   r   pandas._testing_testingr   pandas.tests.copy_view.utilr   r   r#   r$   r*   r+   r-   r1   r6   r7   markparametrizerV   rY   r_   rd   r   r   r   r   <module>   sB    		
	