o
    d                     @   s   d Z ddlZddlZddlZddlmZmZmZm	Z	m
Z
mZ ddlmZ G dd dZdd Zdd	 Zd
d Zejjdddd Zdd Zejjdddd Zdd ZdS )z
Tests for values coercion in setitem-like operations on DataFrame.

For the most part, these should be multi-column DataFrames, otherwise
we would share the tests with Series.
    N)	DataFrame
MultiIndexNaTSeries	Timestamp
date_rangec                   @   s&   e Zd Zejdddgdd ZdS )TestDataFrameSetitemCoercionconsolidateTFc                 C   s   t tjdtjd}tj||gdddgd}|r| }tjdtjd|jdddt	ddff< |j
tjk s:J tjdtjd|jd	d
dt	ddff< |j
tjk sXJ tjdtjd|jd d dt	ddff< |j
tjk svJ d S )N)      dtype      )axiskeys)r   r      )r
   r   r   r   )r   npzerosfloat32pdconcat_consolidateoneslocslicedtypesall)selfr	   A r    n/var/www/html/visualizacion-main/env/lib/python3.10/site-packages/pandas/tests/frame/indexing/test_coercion.py#test_loc_setitem_multiindex_columns   s   (((z@TestDataFrameSetitemCoercion.test_loc_setitem_multiindex_columnsN)__name__
__module____qualname__pytestmarkparametrizer"   r    r    r    r!   r      s    r   c                  C   s   t g dg dd} t g dg dd}|  }d|jd< t|| |  }d|jd< t|| |  }d|jd< t|| |  }d|jd< t|| d S )N)r   r   r   )r      r   )r   B)r   333333?r   r+   )r   r*   )r   r   )r   copyattmassert_frame_equalr   iatiloc)origexpecteddfr    r    r!   
test_374770   s   



r5   c                 C   sx   t d}t d}t d}t|dd}t|ddgd}| }|| ||df< d	|d< ||j|df< |jd
 |ks:J d S )Nz
2014-04-01z2014-04-23 12:42:38.883082z2014-04-24 01:33:30.040039r   )periodstimenowLiveindexcolumnsT)r   r   )r   r   r   r,   r-   r1   )
indexer_alstartt1t2dtir2   r4   r    r    r!   	test_6942F   s   rA   c                 C   s   t g dd}d|d< d| |d< t dg dig dtjd}t|| d	| |d< t dg d
ig dtjd}t|| d| |d< t dg dig dtd}t|| d S )N)r   r*   Cr:   r   Dr   )rB   rD   )r   r   r   )r:   r        @F@)r   r   rE   hello)r   r   rF   )r   r   int64r.   r/   float64object)r<   r4   r3   r    r    r!   
test_26395X   s   rJ   zunwanted upcast)reasonc                  C   s   t ddgddggddgd} tdd	d
| jd< | jtjk s"J tddi| jd< ttjtjgtddgd}t	
| j| d S )Nr   r   r   r)   ab)r;   r   r
   )rL   rM      )r   r:   )r   r   r   r   r   rG   r   rH   rI   r.   assert_series_equal)r4   
exp_dtypesr    r    r!   
test_15231j   s   rQ   c                  C   st   t tjddgtjdtjddgtjdddgd} |  }| d	 jdd}|| jd d d	df< t	| | d S )
Nr   r   r   r   r)   rL   rM   )r   r   r   r   )
r   r   arrayr   r,   valuesreshaper1   r.   r/   )r4   r2   rS   r    r    r!   .test_iloc_setitem_unnecesssary_float_upcastingw   s   rU   zunwanted casting to dt64c                  C   s   t ddd} d| dg}t|}| }tjtg|jd< tdtjgt| tgddd}t	|| d| dg}| }tjtg|jdd d f< t	|| d S )	Nz2016-03-01 03:13:22.98986UTC)tzr   )onetwor   zdatetime64[ns, UTC]r   )
r   r   r,   r   nanr   r   r   r.   r/   )tsdatar2   r4   r3   r    r    r!   
test_12499   s   r]   c                  C   s   t ddgg dg} tdtd| d}tg dgd tdg dd}||d< tg dg d	g d
g dg dg dd}| |_tttjgd ttj	g ttjgd  | d}t
|j| d S )Nr   r*   )rL   rM   cr   r9   )r   r         @)r   r   r   )r   r   r   )r`   r`   r`   )r_   r_   r_   )r   r   r   r   r)   r   r   rC   )r   from_productr   ranger;   r   r   r   rG   rH   r.   rO   r   )mir4   fillerr3   rP   r    r    r!   
test_20476   s&    
0re   )__doc__numpyr   r&   pandasr   r   r   r   r   r   r   pandas._testing_testingr.   r   r5   rA   rJ   r'   xfailrQ   rU   r]   re   r    r    r    r!   <module>   s      

