a
    é´«jØé  ã                   @   s 	  d dl mZm Z  d dlmZ d dlZd dlZd dlZd dlm	Z	m
Z
 d dlmZ d dlmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z" d dl#m$Z% d dl&m'Z' G d	d
„ d
ƒZ(G dd„ dƒZ)G dd„ dƒZ*G dd„ dƒZ+G dd„ dƒZ,G dd„ dƒZ-G dd„ dƒZ.dd„ Z/dd„ Z0dd„ Z1dd„ Z2G dd „ d ƒZ3G d!d"„ d"ƒZ4ej5 6d#ej7ee d$d%ƒƒeed$d&ƒej8ed'd(ƒed(d%ƒgd)d*�d$e9d+d,�ej7eg d-¢ƒeej8d'ej8d%ej8d.ej8d/ej8g	ƒe:ddd&ƒdd0d,�ej7eg d1¢ƒeej8d2ej8d3ge;d*�e:ddd&ƒe9d4d,�ej7ee <d5¡ƒeej8ej8ej8ej8ej8d%d6d.d7d/g
ƒe:dd%ƒdd8d,�ej7eg d9¢ƒeej8d&d'gƒd dd:d,�ej7ed3gƒeej8ge;d*�d e9d;d,�ej7ed3d2gƒeej8d2ge;d*�d e9d<d,�g¡G d=d>„ d>e4ƒƒZ=G d?d@„ d@e4ƒZ>G dAdB„ dBe4ƒZ?G dCdD„ dDe4ƒZ@G dEdF„ dFe4ƒZAG dGdH„ dHe4ƒZBej5 6dIeg d9¢ƒeej8d&d'gƒdfeg dJ¢ƒeej8dKdLgƒdfee dMd$d$ƒe dMd$d&ƒe dMd$d'ƒgƒeee dMd$d&ƒe dMd$d'ƒgƒdfeg dN¢ƒeg dO¢ƒdfg¡G dPdQ„ dQe4ƒƒZCG dRdS„ dSe4ƒZDG dTdU„ dUe4ƒZEej5 6dVe dKdLg¡dfe dWdXg¡e9fejd&dY d&dY d$ gejFd*�e9fg¡G dZd[„ d[e4ƒƒZGej5 6d\d]e Hd]¡g¡G d^d_„ d_e4ƒƒZIej5 6d\g d`¢¡G dadb„ dbe4ƒƒZJG dcdd„ dde4ƒZKej5 6dee Ld$¡ejMdfe Hd]¡ejHe9fg¡G dfdg„ dgeKƒƒZNej5 6d\g dh¢¡ej5 6die;g¡G djdk„ dkeKƒƒƒZOej5 6ded$ejPdfdlejPdfdmejPdfd2e;e9fg¡G dndo„ doeKƒƒZQej5 6ded$e;e9fdpe;e9fd'e;e9fdle;e9fdme;e9fd2eRdfg¡G dqdr„ dreKƒƒZSej5 6ded$ejTdfdlejFe9fdmejPe9fd2e;e9fg¡G dsdt„ dteKƒƒZUej5 6ded$ejFdfdlejFdfdmejPe9fd2e;e9fg¡G dudv„ dveKƒƒZVej5 6ded$ejWdfej7dlejWdej5jXe
 �p¢e
�o¢e	 �o¢ejY Zdwdx¡dykdzd{�d|�dmejPe9fd2e;e9fe [d&¡ejWdfe \d&¡ejWdfe \e ]ej\¡j^¡ejFe9fe _d&¡ejWdfe Td&¡ejWdfg	¡G d}d~„ d~eKƒƒZ`ej5 6deedƒd€dfd$e;e9fd�e;e9fg¡G d‚dƒ„ dƒeKƒƒZaej5 6deedd„d…�d†dfedd‡d…�d†dfedƒe;e9fd$e;e9fg¡G dˆd‰„ d‰eKƒƒZbej5 6deedŠƒd‹dfd$e;e9fd�e;e9fg¡G dŒd�„ d�eKƒƒZcej5 6d\dŽed�d�d‘�ed$d&d’d“�g¡ej5 6die;g¡G d”d•„ d•eKƒƒƒZdd–d—„ Zed˜d™„ Zfdšd›„ Zgdœd�„ ZhdždŸ„ Zid d¡„ Zjd¢d£„ Zkd¤d¥„ Zld¦d§„ Zmd¨d©„ Zndªd«„ Zoej5 6d¬epd&d6ƒ¡ej5 6d­g d®¢d2d3gd3gg¡ej5 6d¯dKej8e qer¡j^e qer¡jsg¡ej5 6d°d±d²„ d³d²„ d´d²„ g¡dµd¶„ ƒƒƒƒZtd·d¸„ ZudS )¹é    )ÚdateÚdatetime)ÚDecimalN)Únp_version_gt2Únp_version_gte1p24)ÚIndexingError)Úis_list_like)ÚNAÚCategoricalÚ	DataFrameÚDatetimeIndexÚIndexÚIntervalÚIntervalIndexÚ
MultiIndexÚNaTÚPeriodÚSeriesÚ	TimedeltaÚ	TimestampÚarrayÚconcatÚ
date_rangeÚinterval_rangeÚperiod_rangeÚtimedelta_range)ÚBDayc                   @   sV   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zej 	d	g d
¢¡dd„ ƒZ
dd„ Zdd„ ZdS )ÚTestSetitemDT64Valuesc                 C   s€   t tddd�ƒ}d |d< |d tu s(J ‚d |dd…< |d tu sDJ ‚tj|d< |d tu s^J ‚tj|dd…< |d tu s|J ‚d S )	Nz1/1/2000é
   ©Úperiodsé   é   é   é   é   )r   r   r   ÚnpÚnan©ÚselfÚseries© r+   úh/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/series/indexing/test_setitem.pyÚtest_setitem_none_nan.   s    
z+TestSetitemDT64Values.test_setitem_none_nanc                 C   s@   t  ddg¡}tddg|d�}| ¡ }d|jg < t ||¡ d S )N)Úaé   )Úbé   r/   r1   ©Úindexr   )r   Úfrom_tuplesr   ÚcopyÚlocÚtmÚassert_series_equal)r)   ÚidxÚresultÚexpectedr+   r+   r,   Ú#test_setitem_multiindex_empty_slice<   s
    
z9TestSetitemDT64Values.test_setitem_multiindex_empty_slicec                 C   sL   t g d¢g d¢td�}t ¡ |d< |jt ¡ ks4J ‚|d t ¡ ksHJ ‚d S )N©r/   r1   r!   )ÚDater0   Úother©r3   Údtyper>   )r   Úobjectr   Útodayr>   ©r)   Úserr+   r+   r,   Útest_setitem_with_string_indexD   s    z4TestSetitemDT64Values.test_setitem_with_string_indexc                 C   sP   t dddd�}g d¢}t||d�}| ¡ }tj|d< tj|jd< t ||¡ d S )	NZ2017r#   ú
US/Eastern©r    Útz)©r   r/   )r   r1   )r   r!   )r   r#   r2   rJ   r   )r   r   r5   r&   r'   Úilocr7   r8   )r)   Úarrr3   r:   r;   r+   r+   r,   Ú)test_setitem_tuple_with_datetimetz_valuesL   s    
z?TestSetitemDT64Values.test_setitem_tuple_with_datetimetz_valuesrI   )rG   ÚUTCz
Asia/Tokyoc                 C   s  t tddd|d�ƒ}|jd|› d�ks*J ‚t td|d�td	|d�td
|d�g|jd�}| ¡ }td|d�||ƒd< t ||¡ t td|d�td|d�gddg|jd�}|jd|› d�ks¼J ‚t td|d�td	|d�td|d�g|jd�}| ¡ }|||ƒddg< t ||¡ d S )Nú
2016-01-01Úhr!   ©Úfreqr    rI   údatetime64[ns, ú]z2016-01-01 00:00©rI   ú2011-01-01 00:00z2016-01-01 02:00©rA   ú
2011-01-01r/   ú
2012-01-01r1   r@   ú2012-01-01 00:00©r   r   rA   r   r5   r7   r8   )r)   rI   Úindexer_sliÚorigÚexprE   Úvalsr+   r+   r,   Útest_setitem_with_tzV   s8    


ýú
ý


ýú	z*TestSetitemDT64Values.test_setitem_with_tzc                 C   s  d}t tddd|d�ƒ}|jd|› d�ks.J ‚t td|d	�td
|d	�td|d	�g|jd�}| ¡ }td|d	�||ƒd< t ||¡ t td|d	�td|d	�gddg|jd�}|jd|› d�ksÀJ ‚t td|d	�td|d	�td|d	�g|jd�}| ¡ }|||ƒddg< t ||¡ d S )NrG   z
2016-11-06rP   r!   rQ   rS   rT   z2016-11-06 00:00-04:00rU   z2011-01-01 00:00-05:00z2016-11-06 01:00-05:00rW   rX   r/   rY   r1   r@   z2016-11-06 00:00rV   rZ   r[   )r)   r\   rI   r]   r^   rE   r_   r+   r+   r,   Útest_setitem_with_tz_dst~   s:    


ýú
ý


ýú	z.TestSetitemDT64Values.test_setitem_with_tz_dstc                 C   sp   t dtjitd�}dg}tjdgdd�}||j|< t |d gdgtd�}tdd	„ |jD ƒƒs`J ‚t 	||¡ d S )
NÚXrW   Tr#   úM8[ns]r   r@   c                 s   s   | ]}t |tjƒV  qd S ©N)Ú
isinstancer&   Ú
datetime64©Ú.0Úxr+   r+   r,   Ú	<genexpr>µ   ó    zYTestSetitemDT64Values.test_object_series_setitem_dt64array_exact_match.<locals>.<genexpr>)
r   r&   r'   rB   r   rK   ÚallÚvaluesr7   r8   )r)   rE   ÚindexerÚvaluer;   r+   r+   r,   Ú0test_object_series_setitem_dt64array_exact_match§   s    
zFTestSetitemDT64Values.test_object_series_setitem_dt64array_exact_matchN)Ú__name__Ú
__module__Ú__qualname__r-   r<   rF   rM   ÚpytestÚmarkÚparametrizer`   ra   rp   r+   r+   r+   r,   r   -   s   

')r   c                   @   sd   e Zd Zdd„ Zej dejej	g¡ej dddg¡dd„ ƒƒZ
ej d	d
dejfg¡dd„ ƒZdS )ÚTestSetitemScalarIndexerc              	   C   sˆ   t dgd dgd d�}d}d}tjt|d��F tjt|d�� d|d< W d   ƒ n1 s\0    Y  W d   ƒ n1 sz0    Y  d S )	Nr.   r   r2   z5index -11|-1 is out of bounds for axis 0 with size 10ú;Series.__setitem__ treating keys as positions is deprecated©ÚmatchÚfooiõÿÿÿ)r   rt   ÚraisesÚ
IndexErrorr7   Úassert_produces_warningÚFutureWarning)r)   rE   ÚmsgÚwarn_msgr+   r+   r,   Ú#test_setitem_negative_out_of_bounds»   s    z<TestSetitemScalarIndexer.test_setitem_negative_out_of_boundsrn   Ú	ser_indexr   r/   c                 C   sX   t ddgdd�}||ƒ}t dg|gd�|d< t t dg|gd�dgdd�}t ||¡ d S )Nr   rB   rW   é*   r2   ©r   r7   r8   )r)   rn   rƒ   rE   Zidxrr;   r+   r+   r,   Ú test_setitem_series_object_dtypeÅ   s
    z9TestSetitemScalarIndexer.test_setitem_series_object_dtypezindex, exp_value)r   r„   c                 C   s>   t ddgƒ}t dg|gd�|jd< t |dgƒ}t ||¡ d S )Nr   r„   r2   )r   r6   r7   r8   )r)   r3   Z	exp_valuerE   r;   r+   r+   r,   Útest_setitem_seriesÏ   s    z,TestSetitemScalarIndexer.test_setitem_seriesN)rq   rr   rs   r‚   rt   ru   rv   r7   r6   Úatr†   r&   r'   r‡   r+   r+   r+   r,   rw   º   s   
rw   c                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚTestSetitemSlicesc                 C   sŒ   d}t jt|jdd�d�� d|dd…< W d   ƒ n1 s<0    Y  t jt|jdd�d�� d|d	d…< W d   ƒ n1 s~0    Y  d S )
NzUcannot do slice indexing on DatetimeIndex with these indexers \[{key}\] of type floatz4\.0)Úkeyry   r   g      @g      $@z4\.5g      @)rt   r|   Ú	TypeErrorÚformat)r)   Údatetime_seriesr€   r+   r+   r,   Útest_setitem_slice_float_raisesÙ   s    ÿ*z1TestSetitemSlices.test_setitem_slice_float_raisesc                 C   sT   t tdƒttdƒƒd�}d|dd …< |dk ¡ s4J ‚d|d d…< |dk ¡ sPJ ‚d S )Nr   r2   r   iôÿÿÿr"   )r   ÚrangeÚlistrl   rD   r+   r+   r,   Útest_setitem_sliceä   s
    z$TestSetitemSlices.test_setitem_slicec                 C   s^   t tj d¡ d¡g d¢d�}d|d d…< |d d… dk ¡ sBJ ‚|dd … dk ¡ rZJ ‚d S )Nr1   é   )r1   r#   r%   r’   r   é   é   é   r2   r   r#   )r   r&   ÚrandomÚdefault_rngÚstandard_normalrl   ÚanyrD   r+   r+   r,   Útest_setitem_slice_integersì   s    þz-TestSetitemSlices.test_setitem_slice_integersc                 C   sP   t tjdtjd�tjdtjd�d�}d|d d d…< |d d d… dk ¡ sLJ ‚d S )Né   rW   r2   r   r1   )r   r&   ÚarangeÚfloat64Úint64rl   r(   r+   r+   r,   Útest_setitem_slicestepö   s
    ÿz(TestSetitemSlices.test_setitem_slicestepc                 C   s\   t  ddgtdƒf¡}ttjdtjd�|ƒ}d||ƒd d d…< tg d¢|ƒ}t ||¡ d S )	Nr   r/   Zabcder   rW   éd   r#   )
r    r/   r1   r!   r    r"   r%   r$   r    é	   )	r   Úfrom_productr�   r   r&   rœ   rž   r7   r8   )r)   r\   Úmir:   r;   r+   r+   r,   Útest_setitem_multiindex_sliceÿ   s
    z/TestSetitemSlices.test_setitem_multiindex_sliceN)rq   rr   rs   rŽ   r‘   rš   rŸ   r¤   r+   r+   r+   r,   r‰   Ø   s
   
	r‰   c                   @   sŠ   e Z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 deejeg¡dd„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚTestSetitemBooleanMaskc                 C   sV   t ddgddgdd�}t dgdgdd�|ddg< t ddgddgdd�}t ||¡ d S )Nr/   r1   rž   r@   r   TFr…   ©r)   rE   r;   r+   r+   r,   Útest_setitem_mask_cast	  s    z-TestSetitemBooleanMask.test_setitem_mask_castc                 C   s    t tj d¡ d¡t ddd¡d� d¡}|dk}| ¡ }||  ¡  t	¡}t
jtdd�� |||< W d   ƒ n1 sx0    Y  | d	d
„ ¡}t
 ||¡ d S )Nr1   r    r   éÿÿÿÿr2   r"   úitem of incompatible dtypery   c                 S   s   | dkrt | ƒS | S ©Nr   )Ústr)Útr+   r+   r,   Ú<lambda>  rk   zLTestSetitemBooleanMask.test_setitem_mask_align_and_promote.<locals>.<lambda>)r   r&   r–   r—   r˜   rœ   Úroundr5   Úmapr«   r7   r~   r   r8   )r)   ÚtsÚmaskÚleftÚrightr;   r+   r+   r,   Ú#test_setitem_mask_align_and_promote  s    ÿþÿ&z:TestSetitemBooleanMask.test_setitem_mask_align_and_promotec                 C   st   t g d¢ƒ}|dk}||  t¡}tjtdd�� |||< W d   ƒ n1 sN0    Y  t g d¢ƒ}t ||¡ d S )N)r   r/   r1   r   r   r©   ry   )r   Ú1Ú2r   )r   r¯   r«   r7   r~   r   r8   ©r)   rE   r±   Úser2r;   r+   r+   r,   Útest_setitem_mask_promote_strs!  s    ÿ&z5TestSetitemBooleanMask.test_setitem_mask_promote_strsc                 C   sD   t g d¢ƒ}t g d¢ƒ}|| }|||< t g d¢ƒ}t ||¡ d S )N)r   r{   Úbarr   )FTTFr…   r·   r+   r+   r,   Útest_setitem_mask_promote-  s    z0TestSetitemBooleanMask.test_setitem_mask_promotec                 C   s”   ||  ¡ k}| ¡ }|d ||< |d }t || || ¡ | ¡ }|d dd… ||< |d dd…  |¡}|| || < t || || ¡ d S )Nr1   r   r"   )Úmedianr5   r7   r8   Zreindex_like)r)   Ústring_seriesr±   r:   r;   r+   r+   r,   Útest_setitem_boolean6  s    z+TestSetitemBooleanMask.test_setitem_booleanc                 C   s’   |}|j dtƒ d�| ¡ k}d}tjt|d�� d||< W d   ƒ n1 sL0    Y  tjt|d�� d|j|< W d   ƒ n1 s„0    Y  d S )Nr/   ©rR   zsUnalignable boolean Series provided as indexer \(index of the boolean Series and of the indexed object do not matchry   )Úshiftr   r¼   rt   r|   r   r6   )r)   r�   r°   Zmask_shiftedr€   r+   r+   r,   Útest_setitem_boolean_cornerF  s    ÿ&z2TestSetitemBooleanMask.test_setitem_boolean_cornerc                 C   s@   |  ¡ }| ¡ }d||dk< | ¡ }d||dk< t ||¡ d S rª   )Zsort_valuesr5   r7   r8   )r)   r½   Zorderedr5   r;   r+   r+   r,   Ú$test_setitem_boolean_different_orderT  s    z;TestSetitemBooleanMask.test_setitem_boolean_different_orderÚfuncc                 C   s@   t g d¢ƒ}|g d¢ƒ}ddg||< t g d¢ƒ}t ||¡ d S )N)Nr0   N©TFTr.   Úc©r.   r0   rÅ   r…   )r)   rÃ   rE   r±   r;   r+   r+   r,   Ú test_setitem_boolean_python_list_  s
    z7TestSetitemBooleanMask.test_setitem_boolean_python_listc                 C   sÂ   t g d¢|d�}t tdƒ|d�||dk< t g d¢|d�}t ||¡ t g d¢|d�}t tdƒ|d�|j|dk< t ||¡ t g d¢|d�}t tdƒ|d�}|j|dk |j|dk< t ||¡ d S )N)r"   r%   r$   r’   rW   r#   r%   )r"   r%   r1   r!   r/   )r   r�   r7   r8   r6   )r)   Úany_numeric_ea_dtyperE   r;   Zloc_serr+   r+   r,   Ú'test_setitem_boolean_nullable_int_typesh  s    z>TestSetitemBooleanMask.test_setitem_boolean_nullable_int_typesc                 C   st   t d gd ƒ}dgd dgd  dgd  }tdƒ||< |}t d gd ttdƒƒ d gd  td�}t ||¡ d S )Nr   Fr!   Tr"   r1   rW   )r   r�   r�   rB   r7   r8   )r)   rE   r±   r:   r;   r+   r+   r,   ÚAtest_setitem_with_bool_mask_and_values_matching_n_trues_in_lengthx  s    (zXTestSetitemBooleanMask.test_setitem_with_bool_mask_and_values_matching_n_trues_in_lengthc                 C   sh   t g d¢ƒ}tjtdd�� tj|d< W d   ƒ n1 s:0    Y  t tjddgtd�}t ||¡ d S )NrÄ   r©   ry   r   FTrW   )r   r7   r~   r   r&   r'   rB   r8   )r)   r:   r;   r+   r+   r,   Útest_setitem_nan_with_bool�  s    ÿ(z1TestSetitemBooleanMask.test_setitem_nan_with_boolc           	      C   s  t g d¢dd�}tjg d¢tjd�}t g d¢¡}| ¡ }tjtdd�� t |ƒ||< W d   ƒ n1 sj0    Y  t g d¢ƒ}t ||¡ | ¡ }tjtdd��  |j	||d	d
� W d   ƒ n1 sÈ0    Y  t ||¡ | ¡ }| 
| t |ƒ¡}t ||¡ d S )Nr=   Úint8rW   )éç  éè  éé  rÄ   r©   ry   )rÍ   r1   rÏ   T©Zinplace)r   r&   r   rž   r5   r7   r~   r   r8   r±   Úwhere©	r)   r]   Zaltr±   rE   r;   r¸   Úser3Úresr+   r+   r,   Ú!test_setitem_mask_smallint_upcast‹  s&    ÿ*ÿ.z8TestSetitemBooleanMask.test_setitem_mask_smallint_upcastc           	      C   sª   t g d¢dd�}t g d¢tjd�}t g d¢¡}| ¡ }|||< t g d¢dd�}t ||¡ | ¡ }|j||dd� t ||¡ | ¡ }| | |¡}tj||d	d
� d S )Nr=   Úuint8rW   )éõ   rÎ   éö   rÄ   )r×   r1   rØ   TrÐ   F)Zcheck_dtype)	r   r&   rž   r   r5   r7   r8   r±   rÑ   rÒ   r+   r+   r,   Ú$test_setitem_mask_smallint_no_upcast¤  s    z;TestSetitemBooleanMask.test_setitem_mask_smallint_no_upcastN)rq   rr   rs   r§   r´   r¹   r»   r¾   rÁ   rÂ   rt   ru   rv   r�   r&   r   r   rÇ   rÉ   rÊ   rË   rÕ   rÙ   r+   r+   r+   r,   r¥     s   		
	
r¥   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚTestSetitemViewCopySemanticsc                 C   sÒ   t dddd�}|d }t|ƒ}|j|us,J ‚|rJ|jjj|jjju sbJ ‚n|jjj|jjjusbJ ‚|jdkspJ ‚t|jd< |jjd u sŠJ ‚|j|us˜J ‚|jjj|jjjus°J ‚|d |ksÀJ ‚|jdksÎJ ‚d S )NZ20130101r!   rG   rH   r/   ÚD)	r   r   Ú_valuesÚ_ndarrayÚbaseÚ_datarR   r   rK   ©r)   Zusing_copy_on_writeÚdtir°   rE   r+   r+   r,   Ú,test_setitem_invalidates_datetime_index_freq¼  s    
zITestSetitemViewCopySemantics.test_setitem_invalidates_datetime_index_freqc                 C   sä   t dddd�}|d }t|ƒ}|j|us,J ‚|rh|jjj|jjju sHJ ‚|jjd jj|jjju sžJ ‚n6|jjj|jjjus€J ‚|jjd jj|jjjusžJ ‚|jjd |us²J ‚t|d d d…< |d tu sÐJ ‚|d |ksàJ ‚d S )NrO   r   ú
US/PacificrH   r   r!   )	r   r   rÜ   rÝ   rÞ   rß   Z_mgrZarraysr   rà   r+   r+   r,   Ú'test_dt64tz_setitem_does_not_mutate_dtiÒ  s     zDTestSetitemViewCopySemantics.test_dt64tz_setitem_does_not_mutate_dtiN)rq   rr   rs   râ   rä   r+   r+   r+   r,   rÚ   »  s   rÚ   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚTestSetitemCallablec                 C   sD   t g d¢tdƒd�}d|dd„ < t g d¢tdƒd�}t ||¡ d S )N©r/   r1   r!   r#   ÚABCDr2   r¨   c                 S   s   dS )NÚAr+   ©ri   r+   r+   r,   r­   ê  rk   z?TestSetitemCallable.test_setitem_callable_key.<locals>.<lambda>)r¨   r1   r!   r#   )r   r�   r7   r8   r¦   r+   r+   r,   Útest_setitem_callable_keyç  s    z-TestSetitemCallable.test_setitem_callable_keyc                 C   sD   dd„ }t g d¢td�}|||dk < t dd|dgƒ}t ||¡ d S )	Nc                 S   s   | d S ©Nr/   r+   ré   r+   r+   r,   r­   ñ  rk   zATestSetitemCallable.test_setitem_callable_other.<locals>.<lambda>)r/   r1   r¨   r#   rW   r   r/   r1   r#   )r   rB   r7   r8   )r)   ÚincrE   r;   r+   r+   r,   Útest_setitem_callable_otherï  s
    z/TestSetitemCallable.test_setitem_callable_otherN)rq   rr   rs   rê   rí   r+   r+   r+   r,   rå   æ  s   rå   c                   @   sF  e Zd Zdd„ Zdd„ Zdd„ Zej de	dƒe	dƒ 
¡ e	dƒ ¡ g¡d	d
„ ƒZdd„ Zdd„ Zdd„ Zej deeddddfeeddddfeejddddfeejddddfeedddefeeddddfejeddddfejeddddfejeddddfejeddddfejejddddfejejddddfg¡dd„ ƒZdd„ ZdS )ÚTestSetitemWithExpansionc                 C   s6   t dƒ}ttd�}d||< td|gƒ}t ||¡ d S )NrY   rW   é/   )r   r   rB   r7   r8   )r)   rŠ   r*   r;   r+   r+   r,   Útest_setitem_empty_seriesü  s
    
z2TestSetitemWithExpansion.test_setitem_empty_seriesc                 C   sj   t g ddd�}tg |td�}tdƒ}d||< tdt |gdd� d¡ƒ}t ||¡ |jj|jjksfJ ‚d S )	NrÛ   rc   )rR   rA   r@   rY   rï   r¿   Úns)	r   r   rB   r   Zas_unitr7   r8   r3   rR   )r)   rá   r*   rŠ   r;   r+   r+   r,   Ú6test_setitem_empty_series_datetimeindex_preserves_freq  s    zOTestSetitemWithExpansion.test_setitem_empty_series_datetimeindex_preserves_freqc                 C   sV   t dƒ}t|gdgtd�}|d }tg td�}d|d< ||d< |d }||ksRJ ‚d S )Nl    P”iÕ5Ò Ú	timestampr@   rW   g     Àr@Zanything)r   r   rB   )r)   ró   r*   r;   r:   r+   r+   r,   Ú3test_setitem_empty_series_timestamp_preserves_dtype  s    zLTestSetitemWithExpansion.test_setitem_empty_series_timestamp_preserves_dtypeÚtdú9 daysc                 C   s¢   |r"t |tƒs"| tjjdd�¡ td|gddgtd�}tdgƒ}||d< t 	||¡ t |d tƒshJ ‚tdgƒ}tdƒ|j
d< t 	||¡ t |d tƒsžJ ‚d S )Nzinferred as string©Úreasonri   r   rõ   r@   rö   )re   r   Zapplymarkerrt   ru   Úxfailr   rB   r7   r8   r6   )r)   rõ   Úusing_infer_stringÚrequestr;   rE   r+   r+   r,   Ú#test_append_timedelta_does_not_cast  s    


z<TestSetitemWithExpansion.test_append_timedelta_does_not_castc                 C   sP   t td�}tdƒ|d< d|d< d|d< t tdƒddgg d¢d	�}t ||¡ d S )
NrW   rO   r.   ç      @r0   r{   rÅ   rÆ   r2   )r   rB   r   r7   r8   r¦   r+   r+   r,   Ú*test_setitem_with_expansion_type_promotion4  s    
zCTestSetitemWithExpansion.test_setitem_with_expansion_type_promotionc                 C   sL   |  ¡ }d|jvsJ ‚d|d< tdgdgdd�}t||gƒ}t ||¡ d S )NZfoobarr/   r*   )r3   Úname)r5   r3   r   r   r7   r8   )r)   r½   rE   Zappr;   r+   r+   r,   Útest_setitem_not_contained=  s    z3TestSetitemWithExpansion.test_setitem_not_containedc                 C   s8   t ddg|d�}d|d< t g d¢|d�}t ||¡ d S )Nr/   r1   rW   r   )r/   r1   r   r…   )r)   rÈ   rE   r;   r+   r+   r,   Útest_setitem_keep_precisionG  s    z4TestSetitemWithExpansion.test_setitem_keep_precisionz1na, target_na, dtype, target_dtype, indexer, warnZInt64r/   Nr1   rž   r�   rB   ZFloat64c           
      C   s|   t ddg|d�}tj|dd�� |||< W d   ƒ n1 s<0    Y  |dkrVd|gndd|g}t ||d�}	t ||	¡ d S )Nr/   r1   rW   úincompatible dtypery   )r   r7   r~   r8   )
r)   ÚnaZ	target_narA   Ztarget_dtypern   ÚwarnrE   Zexpected_valuesr;   r+   r+   r,   Útest_setitem_enlarge_with_naN  s    &z5TestSetitemWithExpansion.test_setitem_enlarge_with_nac                 C   sv   t ddgƒ}||d< |r&t|tƒs&dnt}t dd|gg d¢|d�}t ||¡ |rb|d tju  n|d |u srJ ‚d S )Nr.   r0   r!   r«   )r   r/   r!   r@   )r   re   r   rB   r7   r8   r&   r'   )r)   Znulls_fixturerú   rE   rA   r;   r+   r+   r,   Ú$test_setitem_enlargement_object_nonej  s    ÿÿýz=TestSetitemWithExpansion.test_setitem_enlargement_object_none)rq   rr   rs   rð   rò   rô   rt   ru   rv   r   Zto_timedelta64Zto_pytimedeltarü   rþ   r   r  r	   r&   r'   r   r   r  r  r+   r+   r+   r,   rî   û  s@   


ýþ
	
ôþ
rî   c               	   C   sx   t  d¡} d| j_t| dd�}|jD ]N}d}tjt|d�� d||< W d   ƒ n1 sX0    Y  | | dks$J ‚q$d S )Nr"   F©r5   ú#assignment destination is read-onlyry   r/   r   )	r&   ÚzerosÚflagsÚ	writeabler   r3   rt   r|   Ú
ValueError)r   r*   Únr€   r+   r+   r,   Ú.test_setitem_scalar_into_readonly_backing_data{  s    

&r  c                  C   sl   t  d¡} d| j_t| dd�}d}tjt|d�� d|dd…< W d   ƒ n1 sR0    Y  |  ¡ rhJ ‚d S )Nr"   Fr  r  ry   r/   r!   )	r&   r	  r
  r  r   rt   r|   r  r™   )r   r*   r€   r+   r+   r,   Ú-test_setitem_slice_into_readonly_backing_dataŠ  s    
*r  c                  C   s@  t tddgddgd�ƒ} |  ¡ }d|d d …< t tddgddgd�ƒ}t ||¡ |  ¡ }d|d< t tddgddgd�ƒ}t ||¡ |  ¡ }d||jdk< t tddgddgd�ƒ}t ||¡ |  ¡ }d|ddg< t tddgddgd�ƒ}t ||¡ |  ¡ }dd	g|_d|d	< t tddgddgd�dd	gd
�}t ||¡ d S )Nr0   r.   ©Ú
categoriesr/   r   FTri   Úyr2   )r   r
   r5   r7   r8   r3   )r]   rE   r^   r+   r+   r,   Ú&test_setitem_categorical_assigning_ops˜  s,    
 r  c                  C   sF   t tg d¢ƒƒ} t tdtjdgg d¢d�ƒ}tj| d< t | |¡ d S )Nr=   r/   r!   r  )r   r
   r&   r'   r7   r8   )rE   r^   r+   r+   r,   Ú!test_setitem_nan_into_categoricalµ  s    
r  c                   @   sD   e Zd Zej dddg¡ejjdg d¢ed�dd„ ƒƒZd	d
„ ZdS )ÚTestSetitemCastingÚuniqueTFÚval)r!   rý   Ú3)Úidsc                 C   s¶   t ddgƒ}|sddg|_tjtdd�� |||ƒd< W d   ƒ n1 sJ0    Y  t|jd ƒt|ƒksnJ ‚t d|gt|jd�}|s¦|tjur¦t ||gtddgd�}t ||¡ d S )NTFr/   r  ry   )rA   r3   )	r   r3   r7   r~   r   ÚtyperK   rB   r8   )r)   r  r\   r  rE   r;   r+   r+   r,   Útest_setitem_non_bool_into_bool¾  s    
*z2TestSetitemCasting.test_setitem_non_bool_into_boolc                 C   sš   t g d¢ƒ}|j}tg d¢ƒ}|d d… |d d…< |j|u s@J ‚tjtdd��$ |dd … |dd …< W d   ƒ n1 sx0    Y  t |ƒ}t ||¡ d S )NrÄ   )TFNr1   r  ry   r/   )r   rÜ   r   r7   r~   r   r8   )r)   rE   rm   rL   r;   r+   r+   r,   Ú&test_setitem_boolean_array_into_npboolÏ  s    2z9TestSetitemCasting.test_setitem_boolean_array_into_npboolN)	rq   rr   rs   rt   ru   rv   r  r  r  r+   r+   r+   r,   r  ½  s   r  c                   @   s^   e Zd ZdZej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dS )ÚSetitemCastingEquivalentszÓ
    Check each of several methods that _should_ be equivalent to `obj[key] = val`

    We assume that
        - obj.index is the default Index(range(len(obj)))
        - the setitem does not expand the obj
    c                 C   s   |j |j kS )zF
        Whether we expect the setting to be in-place or not.
        rW   )r)   Úobjr;   r+   r+   r,   Ú
is_inplaceç  s    z$SetitemCastingEquivalents.is_inplacec           	      C   s>   |}|  ¡ }|j}|||ƒ|< t ||¡ |  ||||¡ d S rd   )r5   rÜ   r7   r8   Ú_check_inplace)	r)   r  rŠ   r;   r  rn   r  r]   rL   r+   r+   r,   Úcheck_indexerî  s    z'SetitemCastingEquivalents.check_indexerc                 C   sP   |d u r
nB|r>|j jdv r.|j|jju s<J ‚qL|j|u sLJ ‚nt ||j¡ d S )N)ÚmÚM)rA   ÚkindrÝ   rÜ   r7   Zassert_equal)r)   r  r]   rL   r  r+   r+   r,   r   ø  s    z(SetitemCastingEquivalents._check_inplacec              	   C   s”  t |tƒst d¡ tj|dd��$ |  ||||||¡ W d   ƒ n1 sL0    Y  |tju r¦tj|dd��& |  ||||tj|¡ W d   ƒ qô1 sš0    Y  nN|tj	u rôtj|dd��& |  ||||tj
|¡ W d   ƒ n1 sê0    Y  t||d ƒ}tj|dd��$ |  ||||||¡ W d   ƒ n1 �s<0    Y  |tju�r¤t||d ƒ}	tj|dd��$ |  ||	||||¡ W d   ƒ n1 �sš0    Y  |g}
tj|dd��$ |  ||
||||¡ W d   ƒ n1 �sä0    Y  t |
¡}tj|dd��$ |  ||||||¡ W d   ƒ n1 �s20    Y  dd„ |fD ƒ}tj|dd��$ |  ||||||¡ W d   ƒ n1 �s†0    Y  d S )NzNot relevant for int keyr  ry   r/   c                 s   s   | ]
}|V  qd S rd   r+   rg   r+   r+   r,   rj   '  rk   z9SetitemCastingEquivalents.test_int_key.<locals>.<genexpr>)re   Úintrt   Úskipr7   r~   r!  r6   rˆ   rK   Úiatr�   Úslicer&   r   )r)   r  rŠ   r;   r  r  r\   r  ÚrngZslcÚilkeyÚindkeyÚgenkeyr+   r+   r,   Útest_int_key  s4    

2
6
4444
4z&SetitemCastingEquivalents.test_int_keyc              	   C   sX  t |tƒst d¡ |tjur`tj|dd��$ |  ||||||¡ W d   ƒ n1 sV0    Y  tt	t
|ƒƒƒ| }tj|dd��$ |  ||||||¡ W d   ƒ n1 s¬0    Y  t |¡}	tj|dd��$ |  ||	||||¡ W d   ƒ n1 sø0    Y  dd„ |	D ƒ}
tj|dd��$ |  ||
||||¡ W d   ƒ n1 �sJ0    Y  d S )NzNot relevant for slice keyr  ry   c                 s   s   | ]
}|V  qd S rd   r+   rg   r+   r+   r,   rj   <  rk   z;SetitemCastingEquivalents.test_slice_key.<locals>.<genexpr>)re   r(  rt   r&  r7   r6   r~   r!  r�   r�   Úlenr&   r   )r)   r  rŠ   r;   r  r  r\   r  r*  r+  r,  r+   r+   r,   Útest_slice_key+  s    


22
2z(SetitemCastingEquivalents.test_slice_keyc           	      C   sÄ   t j|jtd�}d||< | ¡ }t|ƒrzt|ƒ| ¡ k rzd}tj	t
|d�� |||ƒ|< W d   ƒ n1 sl0    Y  d S tj|dd�� |||ƒ|< W d   ƒ n1 sª0    Y  t ||¡ d S )NrW   Tz9boolean index did not match indexed array along dimensionry   r  )r&   r	  ÚshapeÚboolr5   r   r.  Úsumrt   r|   r}   r7   r~   r8   )	r)   r  rŠ   r;   r  r  r\   r±   r€   r+   r+   r,   Útest_mask_key@  s    **z'SetitemCastingEquivalents.test_mask_keyc                 C   s  t j|jtd�}d||< t|ƒrtt|ƒt|ƒk rtd}tjt|d�� | 	| |¡ W d   ƒ n1 sf0    Y  d S |}	| 
¡ }|j}
| 	| |¡}|tu r²|jtkr²| t¡}n4|d u ræ|jtkræ|jtksÒJ ‚| 
¡ }d || ¡ < t ||¡ |  ||	|
|¡ d S )NrW   Tz4operands could not be broadcast together with shapesry   )r&   r	  r0  r1  r   r.  rt   r|   r  rÑ   r5   rÜ   r	   rA   rB   ZfillnaZisnar7   r8   r   )r)   r  rŠ   r;   r  r  r  r±   r€   r]   rL   rÔ   r+   r+   r,   Útest_series_whereQ  s&    ,z+SetitemCastingEquivalents.test_series_wherec           	      C   sN   t j|jtd�}d||< t||jd� | |¡}t||jd�}t ||¡ d S ©NrW   T)	r&   r	  r0  r1  r   rA   rÑ   r7   Úassert_index_equal)	r)   r  rŠ   r;   r  r  r±   rÔ   Zexpected_idxr+   r+   r,   Útest_index_wherel  s
    z*SetitemCastingEquivalents.test_index_wherec                 C   sH   t j|jtd�}d||< t||jd� ||¡}t |t||jd�¡ d S r5  )	r&   r	  r0  r1  r   rA   Zputmaskr7   r6  )r)   r  rŠ   r;   r  r  r±   rÔ   r+   r+   r,   Útest_index_putmaskt  s    z,SetitemCastingEquivalents.test_index_putmaskN)rq   rr   rs   Ú__doc__rt   Úfixturer  r!  r   r-  r/  r3  r4  r7  r8  r+   r+   r+   r,   r  Þ  s   

$r  zobj,expected,key,warnr/   r"   r1   r!   r#   zinterval[float64]rW   Zinterval_int_na_value)Úid)	r1   r!   r#   r"   r%   r$   r’   r¡   r   r$   r¡   Zint_series_slice_key_step)TTFFTFZbool_series_slice_key_stepr   r%   r’   Zint_series_slice_keyr=   Zint_series_int_keyZbool_series_int_key_change_allZbool_series_int_keyc                   @   s0   e Zd Zejeje d¡degd�dd„ ƒZ	dS )ÚTestSetitemCastingEquivalentsÚNaNN©Úparamsc                 C   s   |j S )z·
        NA values that should generally be valid_na for *all* dtypes.

        Include both python float NaN and np.float64; only np.float64 has a
        `dtype` attribute.
        ©Úparam©r)   rû   r+   r+   r,   r  ¾  s    z!TestSetitemCastingEquivalents.val)
rq   rr   rs   rt   r:  r&   r'   r�   r	   r  r+   r+   r+   r,   r<  |  s   Br<  c                   @   sl   e Zd Zejdd„ ƒZejeeegd�dd„ ƒZ	ejdd„ ƒZ
ejdd	„ ƒZejd
d„ ƒZejdd„ ƒZdS )Ú!TestSetitemTimedelta64IntoNumericc                 C   s   t  dd¡}|S )Nr#   rñ   )r&   Útimedelta64)r)   rõ   r+   r+   r,   r  Í  s    z%TestSetitemTimedelta64IntoNumeric.valr>  c                 C   s   |j S rd   r@  rB  r+   r+   r,   rA   Ó  s    z'TestSetitemTimedelta64IntoNumeric.dtypec                 C   s   t  d¡ |¡}t|ƒ}|S )Nr"   )r&   rœ   Úastyper   ©r)   rA   rL   rE   r+   r+   r,   r  ×  s    z%TestSetitemTimedelta64IntoNumeric.objc                 C   s8   t  d¡ |¡}t|ƒ}| t¡}t  dd¡|jd< |S )Nr"   r#   rñ   r   )r&   rœ   rE  r   rB   rD  rK   rF  r+   r+   r,   r;   Ý  s
    
z*TestSetitemTimedelta64IntoNumeric.expectedc                 C   s   dS rª   r+   ©r)   r+   r+   r,   rŠ   å  s    z%TestSetitemTimedelta64IntoNumeric.keyc                 C   s   t S rd   ©r   rG  r+   r+   r,   r  é  s    z&TestSetitemTimedelta64IntoNumeric.warnN)rq   rr   rs   rt   r:  r  Úcomplexr%  ÚfloatrA   r  r;   rŠ   r  r+   r+   r+   r,   rC  É  s   




rC  c                   @   s†   e Zd Zejddgd�dd„ ƒZejdd„ ƒZejdd	„ ƒZejd
d„ ƒZejdd„ ƒZ	ejde
ejgd�dd„ ƒZejdd„ ƒZdS )ÚTestSetitemDT64IntoIntrc   úm8[ns]r>  c                 C   s   |j S rd   r@  rB  r+   r+   r,   rA   ñ  s    zTestSetitemDT64IntoInt.dtypec                 C   s    t  dd¡}|dkr|| }|S )Nz2021-01-18 13:25:00rñ   rL  )r&   rf   )r)   rA   r  r+   r+   r,   Úscalarõ  s    zTestSetitemDT64IntoInt.scalarc                 C   s,   t ||dgtd�}t|d t|ƒƒs(J ‚|S )Nr!   rW   r   )r   rB   re   r  )r)   rM  r;   r+   r+   r,   r;   ü  s    zTestSetitemDT64IntoInt.expectedc                 C   s   t g d¢ƒS )Nr=   ©r   rG  r+   r+   r,   r    s    zTestSetitemDT64IntoInt.objc                 C   s
   t d dƒS )Nr¨   ©r(  rG  r+   r+   r,   rŠ     s    zTestSetitemDT64IntoInt.keyNc                 C   s   |j }|d u r|S |||gƒS rd   r@  )r)   rM  rû   Úboxr+   r+   r,   r  
  s    zTestSetitemDT64IntoInt.valc                 C   s   t S rd   rH  rG  r+   r+   r,   r    s    zTestSetitemDT64IntoInt.warn)rq   rr   rs   rt   r:  rA   rM  r;   r  rŠ   r�   r&   r   r  r  r+   r+   r+   r,   rK  î  s   





rK  c                   @   sn   e Zd Zejdd„ ƒZejdd„ ƒZejdeddƒgd�dd	„ ƒZejd
e	j
gd�dd„ ƒZejdd„ ƒZd
S )ÚTestSetitemNAPeriodDtypec                 C   sN   t tdddd�ƒ}tj|j d¡|< || tu sJtdd„ || D ƒƒsJJ ‚|S )Nú
2000-01-01r   rÛ   ©r    rR   Úi8c                 s   s   | ]}|t u V  qd S rd   )r   rg   r+   r+   r,   rj     rk   z4TestSetitemNAPeriodDtype.expected.<locals>.<genexpr>)r   r   r   Ú_valuerÜ   Úviewrl   )r)   rŠ   r^   r+   r+   r,   r;     s    &z!TestSetitemNAPeriodDtype.expectedc                 C   s   t tdddd�ƒS )NrR  r   rÛ   rS  )r   r   rG  r+   r+   r,   r     s    zTestSetitemNAPeriodDtype.objr!   r"   r>  c                 C   s   |j S rd   r@  rB  r+   r+   r,   rŠ   $  s    zTestSetitemNAPeriodDtype.keyNc                 C   s   |j S rd   r@  rB  r+   r+   r,   r  (  s    zTestSetitemNAPeriodDtype.valc                 C   s   d S rd   r+   rG  r+   r+   r,   r  ,  s    zTestSetitemNAPeriodDtype.warn)rq   rr   rs   rt   r:  r;   r  r(  rŠ   r&   r'   r  r  r+   r+   r+   r,   rQ    s   



rQ  c                	   @   sš   e Zd Zejg d¢d�dd„ ƒZejdd„ ƒZejdeje	e 
dd	¡e dd	¡gd�d
d„ ƒZejdd„ ƒZejdd„ ƒZejdd„ ƒZejdd„ ƒZdS )ÚTestSetitemNADatetimeLikeDtype)rL  rc   zdatetime64[ns, UTC]zdatetime64[ns, US/Central]r>  c                 C   s   |j S rd   r@  rB  r+   r+   r,   rA   7  s    z$TestSetitemNADatetimeLikeDtype.dtypec                 C   s0   t ddd�j}t||d�}|j|ks(J ‚t|ƒS )NrO   r!   r   rW   )r   Zasi8r   rA   r   )r)   rA   Zi8valsr9   r+   r+   r,   r  =  s    z"TestSetitemNADatetimeLikeDtype.objNr   rñ   c                 C   s   |j S rd   r@  rB  r+   r+   r,   r  D  s    
z"TestSetitemNADatetimeLikeDtype.valc                 C   s&   |t u p$|d u p$|tju p$|j|jkS rd   )r   r&   r'   rA   )r)   r  r  r+   r+   r,   r  P  s    z)TestSetitemNADatetimeLikeDtype.is_inplacec                 C   s0   |r
|j nt}t|gt|dd … ƒ |d�}|S )Nr/   rW   )rA   rB   r   r�   )r)   r  r  r  rA   r;   r+   r+   r,   r;   W  s    z'TestSetitemNADatetimeLikeDtype.expectedc                 C   s   dS rª   r+   rG  r+   r+   r,   rŠ   ]  s    z"TestSetitemNADatetimeLikeDtype.keyc                 C   s   |rd S t S rd   rH  )r)   r  r+   r+   r,   r  a  s    z#TestSetitemNADatetimeLikeDtype.warn)rq   rr   rs   rt   r:  rA   r  r&   r'   r   rD  rf   r  r  r;   rŠ   r  r+   r+   r+   r,   rW  1  s.   ÿ



ûÿ	



rW  c                   @   sR   e Zd Zejdd„ ƒZejdd„ ƒZejdd„ ƒZejdd„ ƒZejd	d
„ ƒZ	dS )Ú$TestSetitemMismatchedTZCastsToObjectc                 C   s   t tdddd�ƒS )NÚ2000r1   ú
US/CentralrH   ©r   r   rG  r+   r+   r,   r  h  s    z(TestSetitemMismatchedTZCastsToObject.objc                 C   s   t ddd�S )NrY  rG   rU   )r   rG  r+   r+   r,   r  l  s    z(TestSetitemMismatchedTZCastsToObject.valc                 C   s   dS rª   r+   rG  r+   r+   r,   rŠ   p  s    z(TestSetitemMismatchedTZCastsToObject.keyc                 C   s$   t | d¡tddd�g|jd�}|S )NrZ  z2000-01-02 00:00:00-06:00rU   rW   )r   Z
tz_convertr   rA   )r)   r  r  r;   r+   r+   r,   r;   t  s    
þûz-TestSetitemMismatchedTZCastsToObject.expectedc                 C   s   d S rd   r+   rG  r+   r+   r,   r  �  s    z)TestSetitemMismatchedTZCastsToObject.warnN©
rq   rr   rs   rt   r:  r  r  rŠ   r;   r  r+   r+   r+   r,   rX  f  s   



rX  zobj,expected,warn)ç      ð?ç       @rý   r^  rý   iÐ  )r{   rº   Úbaz)Nrº   r_  c                   @   s(   e Zd Zejdd„ ƒZejdd„ ƒZdS )ÚTestSeriesNoneCoercionc                 C   s   dS rª   r+   rG  r+   r+   r,   rŠ   —  s    zTestSeriesNoneCoercion.keyc                 C   s   d S rd   r+   rG  r+   r+   r,   r  ›  s    zTestSeriesNoneCoercion.valN)rq   rr   rs   rt   r:  rŠ   r  r+   r+   r+   r,   r`  †  s   
r`  c                   @   sZ   e Zd Zdd„ Zejdd„ ƒZejdd„ ƒZejdd„ ƒZejd	d
„ ƒZ	ejdd„ ƒZ
dS )Ú-TestSetitemFloatIntervalWithIntIntervalValuesc                 C   sh   t  tdƒ¡}t|ƒ}tddƒ}tjtdd�� ||d< W d   ƒ n1 sL0    Y  |jdksdJ ‚d S )Nr#   ç      à?ç      ø?z%Setting an item of incompatible dtypery   r   zInterval[float64, right])	r   Úfrom_breaksr�   r   r   r7   r~   r   rA   )r)   r9   r  r  r+   r+   r,   Útest_setitem_example£  s    
ÿ&zBTestSetitemFloatIntervalWithIntIntervalValues.test_setitem_examplec                 C   s   t  tdƒ¡}t|ƒS )Nr#   )r   rd  r�   r   )r)   r9   r+   r+   r,   r  ¯  s    z1TestSetitemFloatIntervalWithIntIntervalValues.objc                 C   s
   t ddƒS )Nrb  rc  )r   rG  r+   r+   r,   r  ´  s    z1TestSetitemFloatIntervalWithIntIntervalValues.valc                 C   s   dS rª   r+   rG  r+   r+   r,   rŠ   ¸  s    z1TestSetitemFloatIntervalWithIntIntervalValues.keyc                 C   s*   |gt |dd … ƒ }t|dd�}t|ƒS )Nr/   zInterval[float64]rW   )r�   r   r   )r)   r  r  Údatar9   r+   r+   r,   r;   ¼  s    z6TestSetitemFloatIntervalWithIntIntervalValues.expectedc                 C   s   t S rd   rH  rG  r+   r+   r,   r  Â  s    z2TestSetitemFloatIntervalWithIntIntervalValues.warnN)rq   rr   rs   re  rt   r:  r  r  rŠ   r;   r  r+   r+   r+   r,   ra     s   



ra  c                   @   sR   e Zd Zejdd„ ƒZejdd„ ƒZejdd„ ƒZejdd„ ƒZejd	d
„ ƒZ	dS )Ú!TestSetitemRangeIntoIntegerSeriesc                 C   s   t  |¡}ttdƒ|d�}|S ©Nr"   rW   )r&   rA   r   r�   )r)   Úany_int_numpy_dtyperA   rE   r+   r+   r,   r  Ë  s    
z%TestSetitemRangeIntoIntegerSeries.objc                 C   s
   t ddƒS )Nr1   r#   )r�   rG  r+   r+   r,   r  Ñ  s    z%TestSetitemRangeIntoIntegerSeries.valc                 C   s
   t ddƒS ©Nr   r1   rO  rG  r+   r+   r,   rŠ   Õ  s    z%TestSetitemRangeIntoIntegerSeries.keyc                 C   s   t  |¡}tg d¢|d�}|S )N)r1   r!   r1   r!   r#   rW   )r&   rA   r   )r)   ri  rA   r^   r+   r+   r,   r;   Ù  s    
z*TestSetitemRangeIntoIntegerSeries.expectedc                 C   s   d S rd   r+   rG  r+   r+   r,   r  ß  s    z&TestSetitemRangeIntoIntegerSeries.warnNr\  r+   r+   r+   r,   rg  Ç  s   



rg  z	val, warnç      @g      @éA   c                   @   s6   e Zd Zejdd„ ƒZejdd„ ƒZejdd„ ƒZdS )Ú(TestSetitemFloatNDarrayIntoIntegerSeriesc                 C   s   t tdƒtjd�S rh  )r   r�   r&   rž   rG  r+   r+   r,   r  ð  s    z,TestSetitemFloatNDarrayIntoIntegerSeries.objc                 C   s
   t ddƒS rj  rO  rG  r+   r+   r,   rŠ   ô  s    z,TestSetitemFloatNDarrayIntoIntegerSeries.keyc                 C   s@   |d dkrt j}nt j}t jtdƒ|d�}||d d…< t|ƒS )Nr   r1   r"   rW   )r&   rž   r�   r   r�   r   )r)   r  rA   Z
res_valuesr+   r+   r,   r;   ø  s    z1TestSetitemFloatNDarrayIntoIntegerSeries.expectedN)rq   rr   rs   rt   r:  r  rŠ   r;   r+   r+   r+   r,   rm  ä  s   

rm  r  é   c                   @   sD   e Zd Zejdd„ ƒZejdd„ ƒZejdd„ ƒZejdd„ ƒZd	S )
Ú'TestSetitemIntoIntegerSeriesNeedsUpcastc                 C   s   t g d¢tjd�S )Nr=   rW   ©r   r&   rÌ   rG  r+   r+   r,   r    s    z+TestSetitemIntoIntegerSeriesNeedsUpcast.objc                 C   s   dS rë   r+   rG  r+   r+   r,   rŠ   
  s    z+TestSetitemIntoIntegerSeriesNeedsUpcast.keyc                 C   s   t g d¢tjd�S )N)r/   rn  r!   rW   )r   r&   Úint16rG  r+   r+   r,   r;     s    z0TestSetitemIntoIntegerSeriesNeedsUpcast.expectedc                 C   s   t S rd   rH  rG  r+   r+   r,   r    s    z,TestSetitemIntoIntegerSeriesNeedsUpcast.warnN©	rq   rr   rs   rt   r:  r  rŠ   r;   r  r+   r+   r+   r,   ro    s   


ro  )g      BgÍÌ    Bl            c                   @   sD   e Zd Zejdd„ ƒZejdd„ ƒZejdd„ ƒZejdd„ ƒZd	S )
ÚTestSmallIntegerSetitemUpcastc                 C   s   t g d¢dd�S )Nr=   Úi4rW   rN  rG  r+   r+   r,   r    s    z!TestSmallIntegerSetitemUpcast.objc                 C   s   dS rª   r+   rG  r+   r+   r,   rŠ     s    z!TestSmallIntegerSetitemUpcast.keyc                 C   s(   |d dkrd}nd}t |ddg|d�S )Nr/   r   Zf8rT  r1   r!   rW   rN  )r)   r  rA   r+   r+   r,   r;   "  s    z&TestSmallIntegerSetitemUpcast.expectedc                 C   s   t S rd   rH  rG  r+   r+   r,   r  *  s    z"TestSmallIntegerSetitemUpcast.warnNrr  r+   r+   r+   r,   rs    s   


rs  c                   @   s(   e Zd Zejdd„ ƒZejdd„ ƒZdS )ÚCoercionTestc                 C   s   dS rë   r+   rG  r+   r+   r,   rŠ   2  s    zCoercionTest.keyc                 C   s   t |ƒ}|||< t||d�S )NrW   )r�   r   )r)   r  rŠ   r  Ú	exp_dtyper_   r+   r+   r,   r;   6  s    zCoercionTest.expectedN)rq   rr   rs   rt   r:  rŠ   r;   r+   r+   r+   r,   ru  /  s   
ru  zval,exp_dtype,warnc                   @   s   e Zd Zejdd„ ƒZdS )ÚTestCoercionInt8c                 C   s   t g d¢tjd�S )Nræ   rW   rp  rG  r+   r+   r,   r  C  s    zTestCoercionInt8.objN©rq   rr   rs   rt   r:  r  r+   r+   r+   r,   rw  =  s   rw  )r/   çš™™™™™ñ?ù      ð?      ð?Trv  c                   @   s(   e Zd Zejdd„ ƒZejdd„ ƒZdS )ÚTestCoercionObjectc                 C   s   t g d¢td�S )N)r.   r0   rÅ   ÚdrW   )r   rB   rG  r+   r+   r,   r  L  s    zTestCoercionObject.objc                 C   s   d S rd   r+   rG  r+   r+   r,   r  P  s    zTestCoercionObject.warnN©rq   rr   rs   rt   r:  r  r  r+   r+   r+   r,   r{  H  s   
r{  ry  rz  c                   @   s   e Zd Zejdd„ ƒZdS )ÚTestCoercionComplexc                 C   s   t g d¢ƒS )N)rz  y       @       @y      @      @y      @      @rN  rG  r+   r+   r,   r  `  s    zTestCoercionComplex.objNrx  r+   r+   r+   r,   r~  U  s   r~  r  c                   @   s   e Zd Zejdd„ ƒZdS )ÚTestCoercionBoolc                 C   s   t g d¢td�S )N)TFTFrW   )r   r1  rG  r+   r+   r,   r  r  s    zTestCoercionBool.objNrx  r+   r+   r+   r,   r  e  s   r  c                   @   s   e Zd Zejdd„ ƒZdS )ÚTestCoercionInt64c                 C   s   t g d¢ƒS )Nræ   rN  rG  r+   r+   r,   r  ‚  s    zTestCoercionInt64.objNrx  r+   r+   r+   r,   r€  w  s   r€  c                   @   s   e Zd Zejdd„ ƒZdS )ÚTestCoercionFloat64c                 C   s   t g d¢ƒS )N©ry  gš™™™™™@gffffff
@gš™™™™™@rN  rG  r+   r+   r,   r  ’  s    zTestCoercionFloat64.objNrx  r+   r+   r+   r,   r�  ‡  s   r�  ZNPY_PROMOTION_STATEÚlegacyZweakzbnp.float32(1.1) ends up as 1.100000023841858, so np_can_hold_element raises and we cast to float64r÷   )Zmarksc                       s*   e Zd Zejdd„ ƒZ‡ fdd„Z‡  ZS )ÚTestCoercionFloat32c                 C   s   t g d¢tjd�S )Nr‚  rW   )r   r&   Úfloat32rG  r+   r+   r,   r  ¹  s    zTestCoercionFloat32.objc              	      s.   t ƒ  |||||||¡ t|tƒr*tdƒ‚d S )Nz!xfail not relevant for this test.)Úsuperr/  re   rJ  ÚAssertionError)r)   r  rŠ   r;   r  r  r\   r  ©Ú	__class__r+   r,   r/  ½  s    
z"TestCoercionFloat32.test_slice_key)rq   rr   rs   rt   r:  r  r/  Ú__classcell__r+   r+   rˆ  r,   r„  —  s   "
r„  rY   zdatetime64[ns]ri   c                   @   s(   e Zd Zejdd„ ƒZejdd„ ƒZdS )ÚTestCoercionDatetime64c                 C   s   t tdddd�ƒS )NrX   rÛ   r#   )rR   r    r[  rG  r+   r+   r,   r  Ð  s    zTestCoercionDatetime64.objc                 C   s   d S rd   r+   rG  r+   r+   r,   r  Ô  s    zTestCoercionDatetime64.warnNr}  r+   r+   r+   r,   r‹  Å  s   
r‹  rG   rU   zdatetime64[ns, US/Eastern]rã   c                   @   s(   e Zd Zejdd„ ƒZejdd„ ƒZdS )ÚTestCoercionDatetime64TZc                 C   s   d}t tddd|d�ƒS )NrG   rX   rÛ   r#   rQ   r[  )r)   rI   r+   r+   r,   r  å  s    zTestCoercionDatetime64TZ.objc                 C   s   d S rd   r+   rG  r+   r+   r,   r  ê  s    zTestCoercionDatetime64TZ.warnNr}  r+   r+   r+   r,   rŒ  Ù  s   
rŒ  z12 dayztimedelta64[ns]c                   @   s(   e Zd Zejdd„ ƒZejdd„ ƒZdS )ÚTestCoercionTimedelta64c                 C   s   t tddd�ƒS )Nz1 dayr#   r   )r   r   rG  r+   r+   r,   r  ù  s    zTestCoercionTimedelta64.objc                 C   s   d S rd   r+   rG  r+   r+   r,   r  ý  s    zTestCoercionTimedelta64.warnNr}  r+   r+   r+   r,   r�  ï  s   

r�  r{   Z2016ÚYr¿   Zboth)Úclosedc                   @   sB   e Zd Zejedddd�eddƒgd�dd	„ ƒZejd
d„ ƒZdS )ÚTestPeriodIntervalCoercionrO   r!   rÛ   rS  r/   r"   r>  c                 C   s
   t |jƒS rd   )r   rA  rB  r+   r+   r,   r    s    zTestPeriodIntervalCoercion.objc                 C   s   t S rd   rH  rG  r+   r+   r,   r    s    zTestPeriodIntervalCoercion.warnN)	rq   rr   rs   rt   r:  r   r   r  r  r+   r+   r+   r,   r�    s   þÿ
r�  c                  C   sö  t g d¢g d¢d�} t g d¢g d¢d�}|  ¡ }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|d< W d   ƒ n1 sô0    Y  t ||¡ |  ¡ }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 ||¡ |  
d
¡}| 
d
¡}| ¡ }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 �sŽ0    Y  t ||¡ | ¡ }tjtdd�� d|jd< W d   ƒ n1 �sÜ0    Y  t ||¡ d S )N©r   r/   r1   rÆ   r2   )r   çš™™™™™@r1   r  ry   r’  r0   r/   rè   )r0   rè   )r/   r   )r   r5   r7   r~   r   rˆ   r8   r6   r'  rK   Zto_frameÚassert_frame_equal)r]   r;   rE   Zorig_dfZexpected_dfÚdfr+   r+   r,   Ú
test_20643  sP    ((&**

****r•  c                  C   sl   t g d¢g d¢d�} t tjddgg d¢d�}|  ¡ }d |jd< t ||¡ |  ¡ }d |jd< t ||¡ d S )Nr‘  rÆ   r2   r/   r1   r   )r   r&   r'   r5   r'  r7   r8   rK   )r]   r;   rE   r+   r+   r,   Útest_20643_commentM  s    

r–  c                  C   s&  t g d¢ƒ} tjtdd��$ | | dk  d7  < W d   ƒ n1 sD0    Y  t g d¢ƒ}t | |¡ t g d¢ƒ} tjtdd��  | d  d7  < W d   ƒ n1 s¦0    Y  t | |¡ t g d¢ƒ} tjtdd��" | jd  d7  < W d   ƒ n1 sþ0    Y  t | |¡ t g d¢ƒ} tjtdd��" | jd  d7  < W d   ƒ n1 �sX0    Y  t | |¡ t g d¢ƒ} tjtdd��" | jd  d7  < W d   ƒ n1 �s²0    Y  t | |¡ t g d¢ƒ} tjtdd��" | jd  d7  < W d   ƒ n1 �s0    Y  t | |¡ d S )Nr=   r  ry   r1   rb  )r/   rk  r!   r/   )	r   r7   r~   r   r8   r6   rK   r'  rˆ   )rE   r;   r+   r+   r,   Ú
test_15413\  s2    2.0222r—  c                  C   sŠ   t  d¡ d¡} t| ƒ}t  t  t j¡j¡}tjt	dd�� ||d< W d   ƒ n1 sX0    Y  t|dddd	gt jd
�}t 
||¡ d S )Nr"   rt  r  ry   r   r/   r1   r!   r#   rW   )r&   rœ   rE  r   rž   ÚiinfoÚmaxr7   r~   r   r8   ©rL   rE   r  r;   r+   r+   r,   Útest_32878_int_itemsize  s    &r›  c                  C   sœ   t  d¡ d¡} t| ƒ}t  t j¡j}| d¡}tjt	dd�� ||d< W d   ƒ n1 s\0    Y  |d |ksvJ ‚t|ddd	d
gdd�}t 
||¡ d S )Nr"   Zc8Zc16r  ry   r   r/   r1   r!   r#   rW   )r&   rœ   rE  r   Úfinfor�   r™  r7   r~   r   r8   rš  r+   r+   r,   Útest_32878_complex_itemsizeŠ  s    
&r�  c                 C   st   t g d¢g d¢d�}tjtdd�� d| |ƒd< W d   ƒ n1 sD0    Y  t g d¢g d¢td	�}t ||¡ d S )
Nr=   rÆ   r2   r  ry   Útestr0   )r/   rž  r!   r@   ©r   r7   r~   r   rB   r8   )Z
indexer_alrE   r;   r+   r+   r,   Ú
test_37692˜  s
    *r   c              	   C   s&  t jt jfD ]¸}tdtdƒ|d�}tjtdd�� d| |ƒd< W d   ƒ n1 sR0    Y  |jt	ksjJ ‚tdtdƒt
d�}tjtdd�� |dƒ|d< W d   ƒ n1 s¬0    Y  |jt	ksJ ‚qtdtdƒt jd�}t  d¡| |ƒd< |jt jksüJ ‚tdtdƒt jd�}t  d¡| |ƒd< d S )	Nr   r!   r@   r  ry   Tr/   r]  )r&   r�   rž   r   r�   r7   r~   r   rA   rB   r1  )r\   rA   rE   r+   r+   r,   Ú'test_setitem_bool_int_float_consistency¡  s    **r¡  c                  C   st   t g d¢g d¢d�} d}tjt|d�� d| d< W d   ƒ n1 sD0    Y  t g d¢g d¢td	�}t | |¡ d S )
Nr=   rÆ   r2   rx   ry   rb   r   )rb   r1   r!   r@   rŸ  ©rE   r�   r;   r+   r+   r,   Ú$test_setitem_positional_with_casting»  s    &r£  c                  C   sr   t g d¢g d¢d�} d}tjt|d�� d| d< W d   ƒ n1 sD0    Y  t g d¢g d¢d�}t | |¡ d S )	Nr=   rÆ   r2   rx   ry   rc  r   )rc  r1   r!   )r   r7   r~   r   r8   r¢  r+   r+   r,   Ú.test_setitem_positional_float_into_int_coercesÇ  s    &r¤  c            	      C   s&  t g d¢g d¢d�} | jjr J ‚d| d< t g d¢| jd�}t | |¡ d| d< t g d¢g d	¢d�}t | |¡ t tdƒ¡d d d
… }t tt|ƒƒ|d�}| 	t
¡ tdgƒ¡}t g d¢|d�}d|d< t ||¡ t | jddgg¡}t tt|ƒƒ|d�}| ¡ }d|jd< d|d< t ||¡ d S )Nræ   )ry  çÍÌÌÌÌÌ @rý   çffffff@r2   r   r!   )r/   r1   r   r#   r"   )r/   r1   r   r#   r"   )ry  r¥  rý   r¦  g      @r1   r#   )r   r/   r1   r!   r#   r¡   r¡   rè   ÚBéc   )r   r3   Z_should_fallback_to_positionalr7   r8   r   rd  r�   r.  rE  rB   Úappendr   r   r¢   r5   r6   )	rE   r;   Úiir¸   Z	exp_indexZ	expected2r£   rÓ   Z	expected3r+   r+   r,   Útest_setitem_int_not_positionalÓ  s(    
r«  c                  C   s~   t g d¢g d¢dœƒ} |  d¡ ¡ }d|g d¢< tg d¢dd�}t ||¡ d	| jg d¢d
f< t d
g d¢iƒ}t | |¡ d S )Nr=   )r#   r"   r%   )r.   r0   r0   r¡   )TFF)r¡   r"   r%   )rf  rÿ   r   r.   )r   r1   r!   )r   Úpopr5   r   r7   r8   r6   r“  )r”  r:   r;   r+   r+   r,   Útest_setitem_with_bool_indexerõ  s    r­  Úsizer±   )TFFFFÚitemrP  c                 C   s   t  | g¡S rd   )r&   r   ré   r+   r+   r,   r­     rk   r­   c                 C   s   | gS rd   r+   ré   r+   r+   r,   r­     rk   c                 C   s   | fS rd   r+   ré   r+   r+   r,   r­     rk   c           	      C   s¤   t  || ¡}t j| td�}t|ƒ}| ¡ dkrnd}tjt|d�� ||ƒ||< W d   ƒ q 1 sb0    Y  n2||ƒ||< tt j| td�ƒ}|||< t	 
||¡ d S )NrW   r/   zKcannot set using a list-like indexer with a different length than the valuery   )r&   Úresizerœ   rJ  r   r2  rt   r|   r  r7   r8   )	r®  r±   r¯  rP  Z	selectionrf  rE   r€   r;   r+   r+   r,   Ú7test_setitem_bool_indexer_dont_broadcast_length1_values  s    ÿ,r±  c                  C   s~   t ddd�} t| ƒ}| ¡ }tjdtd�}d||< |j| jksBJ ‚t ||¡ |j	|ddd� |j| jksnJ ‚t ||¡ d S )NrO   r!   r   rW   r{   TrÐ   )
r   r   r5   r&   r	  r1  rA   r7   r8   r±   )rá   rE   r]   r±   r+   r+   r,   Ú(test_setitem_empty_mask_dont_upcast_dt64+  s    r²  )vr   r   Údecimalr   ÚosÚnumpyr&   rt   Zpandas.compat.numpyr   r   Zpandas.errorsr   Zpandas.core.dtypes.commonr   Zpandasr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Zpandas._testingZ_testingr7   Zpandas.tseries.offsetsr   r   rw   r‰   r¥   rÚ   rå   rî   r  r  r  r  r  r  ru   rv   rA  r'   r   r(  rB   rœ   r<  rC  rK  rQ  rW  rX  r`  ra  rg  r�   rm  rq  ro  rs  ru  Zint32rÌ   rw  r{  Z
complex128r~  r1  r  rž   r€  r�  r…  rù   ÚenvironÚgetrÖ   Zuint32r˜  r™  Zuint64r„  r‹  rŒ  r�  r�  r•  r–  r—  r›  r�  r   r¡  r£  r¤  r«  r­  r�   rœ  rJ  Úminr±  r²  r+   r+   r+   r,   Ú<module>   sæ  T 0 4+ ! þö
"
ú

û$ú
úù	
úËþA%(5 $ýõþ
'þýþ"þ


üþ	úþ


üþ	


üþ	
ÿ÷ü
äþ!ýþûþ
ýþÿ7#	"ÿÿÿ