a
    dg                     @   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}|r8| }tjdtjd|jdddt	ddff< |j
tjk stJ tjdtjd|jd	d
dt	ddff< |j
tjk sJ tjdtjd|jd d dt	ddff< |j
tjk sJ d S )N)      dtype      )Zaxiskeys)r   r      )r
   r   r   r   )r   npzerosfloat32pdconcatZ_consolidateZoneslocslicedtypesall)selfr	   A r   r/var/www/html/stable-diffusion-webui/venv/lib/python3.9/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markZparametrizer   r   r   r   r   r      s   r   c                  C   sb  t g dg dd} t g dg dd}|  }tjtdd d|jd< W d    n1 sb0    Y  t|| |  }tjtdd d|jd< W d    n1 s0    Y  t|| |  }tjtdd d|jd	< W d    n1 s0    Y  t|| |  }tjtdd d|j	d	< W d    n1 sH0    Y  t|| d S )
N)r   r   r   )r      r   )r   B)r   333333?r   %Setting an item of incompatible dtypematchr'   )r   r&   )r   r   )
r   copytmassert_produces_warningFutureWarningatassert_frame_equalr   Ziatiloc)origexpecteddfr   r   r   
test_374770   s4    (((*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stJ d S )Nz
2014-04-01z2014-04-23 12:42:38.883082z2014-04-24 01:33:30.040039r   )ZperiodsZtimenowZLiveindexcolumnsT)r   r   )r   r   r   r+   r/   r1   )
indexer_alstartt1t2Zdtir2   r4   r   r   r   	test_6942R   s    r=   c                 C   s  t g dd}d|d< d| |d< t dg dig dtjd}t|| tjtd	d
 d| |d< W d    n1 sz0    Y  t dg dig dtjd}t|| tjtd	d
 d| |d< W d    n1 s0    Y  t dg dig dtd}t|| d S )N)r   r&   Cr7   r   Dr   )r>   r@   )r   r   r   )r7   r   r(   r)        @F@)r   r   rA   hello)r   r   rB   )	r   r   int64r,   r0   r-   r.   float64object)r9   r4   r3   r   r   r   
test_26395d   s"    **rF   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 sDJ 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)r8   r   r
   )rH   rI      )r   r7   )r   r   r   r   r   rC   r   rD   rE   r,   assert_series_equal)r4   
exp_dtypesr   r   r   
test_15231|   s    rM   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%   rH   rI   )r   r   r   r   )
r   r   arrayr   r+   valuesZreshaper1   r,   r0   )r4   r2   rO   r   r   r   .test_iloc_setitem_unnecesssary_float_upcasting   s    rP   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   )ZoneZtwor   zdatetime64[ns, UTC]r   )
r   r   r+   r   nanr   r   r   r,   r0   )tsdatar2   r4   r3   r   r   r   
test_12499   s    rV   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&   )rH   rI   cr   r6   )r   r         @)r   r   r   )r   r   r   )rY   rY   rY   )rX   rX   rX   )r   r   r   r   r%   r   r   r?   )r   Zfrom_productr   ranger8   r   r   r   rC   rD   r,   rK   r   )mir4   Zfillerr3   rL   r   r   r   
test_20476   s&     
0r\   )__doc__numpyr   r#   Zpandasr   r   r   r   r   r   r   Zpandas._testingZ_testingr,   r   r5   r=   rF   r$   ZxfailrM   rP   rV   r\   r   r   r   r   <module>   s    "

