o
    ŀg                     @   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   [/var/www/html/myenv/lib/python3.10/site-packages/pandas/tests/copy_view/index/test_index.py
index_view   s
   r   c                 C   s   t ddgdd}|jddd}|jjdd}t| d	|jd
< W d    n1 s,w   Y  | 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tmassert_cow_warningilocassert_index_equalr   )using_copy_on_writewarn_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   s   t ddgdd}tddg}||}|jjdd}t| d	|jd
< W d    n1 s0w   Y  | 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"   r#   r   serr$   r   r   r   test_set_index_series+   s   
r,   c                 C   s   t ddgdd}tddg}||_|jjdd}t| d	|jd
< W d    n1 s.w   Y  | 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   r   test_assign_index_as_series8   s   r-   c                 C   s   t ddgdd}tddg}t|}||_d }|jjdd}t| d	|jd
< W d    n1 s4w   Y  | rDt|j| d S t|jtd	dg d S r'   )	r   r   r   r   r   r   r   r    r!   )r"   r#   r   r+   	rhs_indexr$   r   r   r   test_assign_index_as_indexE   s   r/   c                 C   s   t ddg}t|}|jdd}t| d|jd< W d    n1 s%w   Y  | r4t|| 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   r   r   test_index_from_seriesT   s   r3   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
   
r8   c                 C   s   t ddg}t|}t|}|jdd}t| d|jd< W d    n1 s)w   Y  | r8t|| d S t|tddg d S r0   r1   r2   r   r   r   test_index_from_indexh   s   r9   funcc                 C   s   |  | jS N)_shallow_copy_valuesxr   r   r   <lambda>x       r@   c                 C   s   |   S r;   )r   r>   r   r   r   r@   y   s    c                 C   s   |  ddgS Nr   r   )taker>   r   r   r   r@   z       c                 C   s   |  ddgS )Nr   )repeatr>   r   r   r   r@   {   rD   c                 C   s   | t dd S Nr   r   )slicer>   r   r   r   r@   |   rD   c                 C   s   | ddg S rB   r   r>   r   r   r   r@   }   rA   c                 C   s   |  tddS rF   )_getitem_slicerG   r>   r   r   r   r@   ~   s    c                 C   s
   |  g S r;   )deleter>   r   r   r   r@         
 c                 C   s
   |  dS )Nr   )renamer>   r   r   r   r@      rJ   c                 C   s   | j dddS )NInt64Fr4   )astyper>   r   r   r   r@      rD   )
r<   r   rC   rE   getitem_slicegetitem_listrH   rI   rK   rM   )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   rM   rL   r   r   Fcheck_names)	r   r   nodecallspecidrM   r    r   r!   )r"   r:   requestr   view_r$   r   r   r   test_index_opsu   s   


rX   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   Fr4   aaaar   rQ   )r   r   infer_objectsr    r   r!   )r"   r   rW   r$   r   r   r   test_infer_objects   s   
r[   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_framer5   r6   r   r=   _mgr_has_no_referencer    r   r!   )r"   r   r$   r   r   r   r   test_index_to_frame   s   
ra   c                 C   s>   t g d}|j}| r|jjdu sJ d S |jjdu sJ d S )Nr\   FT)r   valuesflags	writeable)r"   r   resultr   r   r   test_index_values   s
   rf   )numpyr5   pytestpandasr   r   r   pandas._testing_testingr   pandas.tests.copy_view.utilr   r   r%   r&   r,   r-   r/   r3   r8   r9   markparametrizerX   r[   ra   rf   r   r   r   r   <module>   sB    		
	