a
    é´«jÓ  ã                   @   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 ¡ s°J ‚tjdtjd�|jd d …dt	ddƒff< |j
tjk ¡ sìJ ‚d S )N)é   é   ©Údtypeé   é   )ZaxisÚkeys)r   r   é   )r
   r   r   r   )r   ÚnpZzerosÚfloat32ÚpdÚconcatZ_consolidateZonesÚlocÚsliceÚdtypesÚall)Úselfr	   ÚA© r   úh/var/www/html/laksyashrimp/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 s®0    Y  t ||¡ |  ¡ }tjtdd�� d|jd	< W d   ƒ n1 sú0    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    ÿ(ÿ(ÿ(ÿ*r4   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timenowÚLive©ÚindexÚcolumnsT)r   r   )r   r   r   r*   r.   r0   )Ú
indexer_alÚstartÚt1Út2Zdtir1   r3   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¢dgtjd�}t ||¡ tjtd	d
�� d| |ƒd< W d   ƒ n1 sà0    Y  t dg d¢ig d¢dg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   )r7   r8   r   Úhello)r   r   rB   )	r   r   Úint64r+   r/   r,   r-   Úfloat64Úobject)r9   r3   r2   r   r   r   Ú
test_26395d   s6    ÿ*
üÿ*
ü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)r3   Ú
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reshaper0   r+   r/   )r3   r1   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   )ÚoneÚtwor   zdatetime64[ns, UTC]r   )
r   r   r*   r   Únanr   r   r   r+   r/   )ÚtsÚdatar1   r3   r2   r   r   r   Ú
test_12499¤   s    ÿrX   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   Úcéÿÿÿÿr   r6   )r   r   ç      @)r   r   r   )r   r   r   )r[   r[   r[   )rZ   rZ   rZ   )r   r   r   r   r$   r   r   r?   )r   Zfrom_productr   Úranger8   r   r   r   rC   rD   r+   rK   r   )Úmir3   Zfillerr2   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   r4   r=   rF   r#   ZxfailrM   rP   rX   r^   r   r   r   r   Ú<module>   s    ""

