a
    é´«jÿ ã                   @   sx  d dl mZ 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 d dlmZ d dlmZmZmZ d dlm  mZ d dlmZ d dl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$ d dl%m&Z' d
Z(G dd„ dƒZ)G dd„ dƒZ*dd„ Z+dZ,dZ-G dd„ dƒZ.G dd„ dƒZ/ddœdd„Z0e	j1 2de3dfej4ej5d�dfg¡ddœdd„ƒZ6d d!„ Z7G d"d#„ d#ƒZ8dS )$é    )Ú
namedtuple)ÚdatetimeÚ	timedelta©ÚDecimalN)Úusing_string_dtype)ÚiNaT)ÚInvalidIndexErrorÚPerformanceWarningÚSettingWithCopyError)Ú
is_integer)ÚCategoricalÚ	DataFrameÚDatetimeIndexÚIndexÚ
MultiIndexÚSeriesÚ	TimestampÚ
date_rangeÚisnaÚnotnaÚto_datetimezBslice indices must be integers or None or have an __index__ methodc                	   @   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	dd„ Z
ej dg d¢g d¢g d¢g¡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'd(„ Zd)d*„ Zd+d,„ Zd-d.„ Zd/d0„ Zd1d2„ Zd3d4„ Zd5d6„ Zd7d8„ Ze j!d9d:„ ƒZ"d;d<„ Z#d=d>„ Z$d?d@„ Z%e j!dAdB„ ƒZ&dCdD„ Z'e j!dEdF„ ƒZ(dGdH„ Z)dIdJ„ Z*dKdL„ Z+dMdN„ Z,dOdP„ Z-dQdR„ Z.dSdT„ Z/ejj0e1ƒ dUdV�dWdX„ ƒZ2ejj0e1ƒ dUdV�dYdZ„ ƒZ3ejj0e1ƒ dUdV�d[d\„ ƒZ4d]d^„ Z5d_d`„ Z6dadb„ Z7dcdd„ Z8dedf„ Z9ej dgdhdig¡djdk„ ƒZ:dldm„ Z;dndo„ Z<dpdq„ Z=drds„ Z>dtdu„ Z?dvdw„ Z@dxdy„ ZAdzd{„ ZBd|d}„ ZCd~d„ ZDd€d�„ ZEd‚dƒ„ ZFd„d…„ ZGd†d‡„ ZHdˆd‰„ ZIej JdŠ¡ej d‹eKjLeKjL MdŒ¡eKjL Md�¡g¡dŽd�„ ƒƒZNd�d‘„ ZOd’d“„ ZPej d”d•d–d—gfd˜d™d—gfg¡dšd›„ ƒZQe j!dœd�„ ƒZRdždŸ„ ZSej d d¡d¡geKjTeKjTgg¡d¢d£„ ƒZUej d d¡eKjTg¡d¤d¥„ ƒZVej d¦eWeXeYjZg¡d§d¨„ ƒZ[d©dª„ Z\ej d«d—gd—g¡ej d¬i d­d™ig¡d®d¯„ ƒƒZ]ej JdŠ¡ej d°dhdig¡ej d¬i d±d—ig¡d²d³„ ƒƒƒZ^d´dµ„ Z_d¶d·„ Z`d¸d¹„ Zaej d«dhdºg¡ej d»ebd¼g¡d½d¾„ ƒƒZcej d¿didhg¡ej d«dÀdÀgg¡dÁdÂ„ ƒƒZdej dÃeejfd™feejgdÄfg¡dÅdÆ„ ƒZhd¡S )ÇÚTestDataFrameIndexingc                 C   s¼   |d d… }t |jƒdksJ ‚| ¡ D ]*\}}t |jƒdks@J ‚t |j|j¡ q&|j ¡ D ]\}}|| d us\J ‚q\d|vs‚J ‚tjtdd�� |d  W d   ƒ n1 s®0    Y  d S )Né   Úrandom©Úmatch)	ÚlenÚindexÚitemsÚtmÚassert_index_equalZ_seriesÚpytestÚraisesÚKeyError)ÚselfÚfloat_frameÚslÚ_ÚseriesÚkey© r+   úh/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/frame/indexing/test_indexing.pyÚtest_getitem-   s    z"TestDataFrameIndexing.test_getitemc                 C   sl   |}t g d¢|d�}tg d¢g d¢g|d�}|d }tddgdd	ggt ddg|d�d�}tj||d
d� d S )N©é   r   r/   ©Údtype©r/   é   é   ©é   é   é   ©Úcolumnsr/   r4   r6   r8   T©Zcheck_exact©r   r   r    Úassert_frame_equal)r%   Úany_numeric_dtyper1   ÚidxÚdfÚresultÚexpectedr+   r+   r,   Ú6test_getitem_numeric_should_not_fallback_to_positional>   s    $zLTestDataFrameIndexing.test_getitem_numeric_should_not_fallback_to_positionalc                 C   s˜   |  ¡ }tj d¡ t|ƒ¡|d< tj d¡ t|ƒ¡}||d< tjtt	 
d¡d�� | d¡ W d   ƒ n1 st0    Y  |d }t ||j¡ d S )Nr3   z$10z@awesome_domainz'df["$10"]'r   z	df["$10"])ÚcopyÚnpr   Údefault_rngÚstandard_normalr   r"   r#   r$   ÚreÚescapeÚ__getitem__r    Zassert_numpy_array_equalÚvalues)r%   r&   r@   ÚadÚresr+   r+   r,   Útest_getitem2G   s    (z#TestDataFrameIndexing.test_getitem2c                 C   s`   |}t g d¢|d�}tg d¢g d¢g|d�}d|d< tg d¢g d	¢g|d�}tj||d
d� d S )Nr.   r0   r2   r5   r9   é
   r/   )rO   r3   rO   )rO   r7   rO   Tr;   r<   )r%   r>   r1   r?   r@   rB   r+   r+   r,   Ú6test_setitem_numeric_should_not_fallback_to_positionalT   s    zLTestDataFrameIndexing.test_setitem_numeric_should_not_fallback_to_positionalc                 C   sú   d|d< |ddg }||ddg< t j|d |d dd� t j|d |d dd� d}tjt|d��" |ddg |dg< W d   ƒ n1 sŠ0    Y  tt|jƒd	 ƒ}d
t|ƒ› dt|ƒ› d�}tjt|d�� ||d< W d   ƒ n1 sì0    Y  d S )NÚfooÚEÚAÚBF©Zcheck_namesz"Columns must be same length as keyr   r/   zLength of values \(z$\) does not match length of index \(z\))r    Úassert_series_equalr"   r#   Ú
ValueErrorÚranger   r   )r%   r&   ÚdataÚmsgZnewcolumndatar+   r+   r,   Útest_setitem_list]   s    0ÿÿz'TestDataFrameIndexing.test_setitem_listc                 C   sÐ   t dtdƒddgtd�}ddg|jdddgf< |j|jd ddgf }tddg|jtdd�}t ||¡ d	 |d< |d< d
dg|j|jd ddgf< |j|jd ddgf }td
dg|jdd�}t ||¡ d S )Nr   r4   Ztt1Ztt2)r   r:   r1   r/   r3   )r1   ÚnameÚ0Ú1Ú2©r\   )	r   rX   ÚintÚlocr   r   r:   r    rV   ©r%   r@   rA   rB   r+   r+   r,   Útest_setitem_list2p   s    z(TestDataFrameIndexing.test_setitem_list2c                    s  |j d }|j |k}| t¡}|j | }|| }t ||j ¡ tjtdd��  ||d d…   W d   ƒ n1 sr0    Y  || }	t |	|¡ tjtdd�� ||  W d   ƒ n1 s¼0    Y  t	||j ƒ}|| }	t |	|¡ t 
t¡�: | |j d d d… ¡}|| }	t |	|¡ W d   ƒ n1 �s20    Y  |||fD ]¼}
|
 ¡ ‰ |
|
dk }t‡ fdd„ˆ jD ƒˆ j ˆ jd	�}|
jD ]}||v�r†|
| ||< �q†|j|
jd
�}tj||dd� |
jD ]6}|| j|| jk�rÈ|| j|
| jk�sÈJ ‚�qÈ�qFd S )NrO   zItem wrong lengthr   éÿÿÿÿzBoolean array expectedr   c                    s*   i | ]"}|t  ˆ | d kˆ | t j¡“qS ©r   )rE   ÚwhereÚnan)Ú.0Úc©rY   r+   r,   Ú
<dictcomp>©   ó    z>TestDataFrameIndexing.test_getitem_boolean.<locals>.<dictcomp>©r   r:   r9   F)Zcheck_dtype)r   ÚastypeÚobjectr    r!   r"   r#   rW   r=   r   Úassert_produces_warningÚUserWarningÚreindexZ_get_numeric_datar   r:   r1   )r%   Zmixed_float_frameZmixed_int_frameÚdatetime_frameÚdÚindexerZindexer_objZsubindexZsubframeZsubframe_objr@   ZbifZbifwrj   r+   rk   r,   Útest_getitem_boolean~   sL    



.&,ýý


z*TestDataFrameIndexing.test_getitem_booleanc                 C   s@  |  ¡ }d|d< |d  d¡|d< |d   ¡ |d< d|d< |d  d¡|d< |d   ¡ |d< ||dk }|j}tt d	¡gd
 t d¡gd  t d¡gd  g d¢d�}t ||¡ d|j|j	dd… ddgf< ||dk }|j}tt d	¡gd
 t d¡g t d	¡g t d¡g t d	¡g g d¢d�}t ||¡ d S )Nr/   rR   Zint32ÚE1ÚFÚint64ÚF1r   Úfloat64r6   r3   )rS   rT   ÚCÚDrR   rx   ry   r{   ©r   r4   )
rD   ro   Údtypesr   rE   r1   r    rV   rb   r   )r%   rt   r@   ZcastedrA   rB   r+   r+   r,   Útest_getitem_boolean_casting¹   sD    ÿþü
ÿ
þ
ý
üúz2TestDataFrameIndexing.test_getitem_boolean_castingÚlst©TFT)TTT)FFFc                 C   s>   t t d¡ dd¡ƒ}|| }|j|j|  }t ||¡ d S )Né   r4   r6   )r   rE   ÚarangeÚreshaperb   r   r    r=   )r%   r‚   r@   rA   rB   r+   r+   r,   Útest_getitem_boolean_listÛ   s    z/TestDataFrameIndexing.test_getitem_boolean_listc                 C   s`   t j d¡ d¡}t| ¡ g d¢d�}||dk   d7  < ||dk   d7  < t |j|¡ d S )Nr3   ©r7   r7   )rS   rT   r}   r~   rR   r9   r   r/   )	rE   r   rF   rG   r   rD   r    Úassert_almost_equalrK   )r%   Úarrr@   r+   r+   r,   Útest_getitem_boolean_iaddä   s
    z/TestDataFrameIndexing.test_getitem_boolean_iaddc                 C   s>   t t ddg¡dgtg ƒd�}t g t¡}||  d||< d S )Nr   r/   rS   ©r:   r   )r   rE   Úemptyr   ÚarrayÚbool)r%   ZblahÚkr+   r+   r,   Útest_boolean_index_empty_cornerî   s    z5TestDataFrameIndexing.test_boolean_index_empty_cornerc                 C   s‚   t tj d¡ d¡g d¢g d¢d�}|jd d… }|j|jd d…  }t 	||¡ |jddg }|jt
ddgƒ }t 	||¡ d S )	Nr3   )r6   r4   )r/   rO   r}   rR   r2   rn   re   r/   rO   )r   rE   r   rF   rG   Úilocrb   r   r    r=   r   rc   r+   r+   r,   Útest_getitem_ix_mixed_integerø   s    ýz3TestDataFrameIndexing.test_getitem_ix_mixed_integerc                 C   s~   t dg d¢g d¢g d¢dœg d¢d�}|dg }|jd d …dgf }t ||¡ |d	g }|jd d …d
gf }t ||¡ d S )N)ç      ø?gš™™™™™@gš™™™™™	@ç      @)é   é   é$   é(   )rO   é   é+   é"   )r   rO   r   é   )Zrnaéüÿÿr   éè  r9   rŸ   r4   rž   r/   ©r   r’   r    r=   rc   r+   r+   r,   Útest_getitem_ix_mixed_integer2  s    üù	

z4TestDataFrameIndexing.test_getitem_ix_mixed_integer2c                 C   sN   t  |j|d ¡ d}tjt|d�� |j W d   ƒ n1 s@0    Y  d S )NrS   z6'DataFrame' object has no attribute 'NONEXISTENT_NAME'r   )r    rV   rS   r"   r#   ÚAttributeErrorZNONEXISTENT_NAME)r%   r&   rZ   r+   r+   r,   Útest_getattr  s    z"TestDataFrameIndexing.test_getattrc                 C   s0   t dditdƒd�}d|_|jdk ¡ s,J ‚d S )NÚfoobarr/   rO   r   r7   )r   rX   r¤   Úall©r%   r@   r+   r+   r,   Útest_setattr_column  s    z)TestDataFrameIndexing.test_setattr_columnc           
      C   sè  |d d d d… }||d< d|v s&J ‚t |ƒdks6J ‚t |ƒdksFJ ‚t t |jtjgd f¡¡}t||jdd�}t 	|d |¡ |d }||d< tj	||d dd	� tj
 d¡ t |ƒ¡}||d
< |d
 |k ¡ sÚJ ‚d|d< |d dk ¡ söJ ‚d|d< |d dk ¡ �sJ ‚d|d< |d dk ¡ �s2J ‚|d d… }d}	|�sN|�r\ddg|d< n<tjt|	d�� ddg|d< W d   ƒ n1 �sŽ0    Y  |�r´|d jdk�sÊJ ‚n|d jtjk�sÊJ ‚|d ddgk ¡ �säJ ‚d S )NrS   r3   Zcol5é   r�   ©r   r\   Zcol6FrU   Zcol9r7   Zcol7g…ëQ¸	@Zcol0rQ   Zcol8zC\nA value is trying to be set on a copy of a slice from a DataFramer^   r_   Zcol10r   Ústr)r   rE   ZravelZcolumn_stackrK   rh   r   r   r    rV   r   rF   rG   r¥   r"   r#   r   r1   Úobject_)
r%   r&   Úusing_copy_on_writeÚwarn_copy_on_writeÚusing_infer_stringr)   ÚexprŠ   ZsmallerrZ   r+   r+   r,   Útest_setitem%  s<    ,z"TestDataFrameIndexing.test_setitemc                 C   sb   t ddggƒ}tj|jd< t tjtjggƒ}t ||¡ t ddggƒ}tj|jd< t ||¡ d S )Nr   )r   rE   rh   r’   r    r=   rb   ©r%   r@   rB   r+   r+   r,   Útest_setitem2X  s    z#TestDataFrameIndexing.test_setitem2c           	      C   sD  |  ¡ }|j  ¡ }d||d dk< d||d d …df dk< t |j|¡ |d dk}| |jd d d… ¡}d||< d||d d …df dk< t |j|¡ d||dk< d||dk< t |j|¡ d||dk< d||dk< t |j|¡ d||d d… dk < t |d d… |d d… dk d¡ t |j|¡ d||d d d… dk< d||dk< t |j|¡ d	}tj	t
|d
�� d||d < W d   ƒ n1 �sŽ0    Y  |  ¡ }|t |¡k}tj||t |¡k< |j  ¡ }tj||j< t||j|jd�}t ||¡ |d ||t |¡k< t ||j|jd ¡ t||j|jd�}t ||¡ d S )Nr6   rS   r   re   r/   r7   r3   r4   z;Must pass DataFrame or 2-d ndarray with boolean values onlyr   rn   )rD   rK   r    r‰   rs   r   rE   Zputmaskr"   r#   Ú	TypeErrorÚabsrh   r   r:   r=   )	r%   r&   r@   rK   r)   rZ   Zdf_origÚmaskrB   r+   r+   r,   Útest_setitem_booleanc  sH    
",
z*TestDataFrameIndexing.test_setitem_booleanc                 C   s  |d   d¡|d< |d jtjks&J ‚d|d< |d jtjksBJ ‚t t|ƒ¡|d< t|d jjtjƒslJ ‚d|d< d|d< |d jtjks�J ‚d|d< d|d< |d jtj	ks´J ‚d|d< |d jtjksÐJ ‚d	|d< |d jtjksìJ ‚d|d< |d jtj	k�s
J ‚d S )
Nr~   Úi8r   rT   ÚbarrQ   ç      @Z	somethingr3   )
ro   r1   rE   rz   r…   r   Ú
issubclassÚtypeÚintegerr|   ©r%   r&   r+   r+   r,   Útest_setitem_cast—  s$    z'TestDataFrameIndexing.test_setitem_castc                 C   sº  t g d¢g d¢dœt d¡d�}|d= g d¢|d< d|v s>J ‚t|jƒdksPJ ‚d|d	< d
|d< d|d< d|t ¡ < d|t ¡ < t |jd�}d
|d	< d|d< t|jƒdks®J ‚|jj	tj
ksÀJ ‚d|d< |d j	tjksÜJ ‚d|d< |d j	tjksøJ ‚d|d	< d|d	 jd k�sJ ‚t t d¡d�}d|d	< d|d
< |d
= d|d
< |�rb|d
 j	dk�sxJ ‚n|d
 j	tj
k�sxJ ‚g d¢|d< |�r |d j	dk�s¶J ‚n|d j	tj
k�s¶J ‚d S )N)ç      ð?ç       @ç      @©ÚaÚbrj   )rT   r}   r4   r   rT   r3   Z	beginningrS   rQ   rR   r¸   r~   Údateç      @r/   r}   r¿   r   rª   ©r^   r_   Ú3Z	coercible)r   rE   r…   r   r:   r   Únowr   rK   r1   r«   rz   r|   r’   )r%   r&   r®   r@   Údmr+   r+   r,   Útest_setitem_corner´  sB     z)TestDataFrameIndexing.test_setitem_cornerc                 C   sˆ   g d¢dgd  t j d¡ d¡dœ}t|ƒ}||d dk j}d|j|dgf< d	|j|d
gf< |jd dksrJ ‚|jd d	ks„J ‚d S )N)r¤   r¸   r¤   r¤   é   r3   r   )ÚtitleÚcruftrÍ   r¸   r   rÎ   )r/   rÍ   )r/   rÎ   )rE   r   rF   r   r   rb   )r%   rY   r@   Úixr+   r+   r,   Útest_setitem_corner2ä  s    þz*TestDataFrameIndexing.test_setitem_corner2c                 C   sÊ   t tdƒtdƒd�}tdd„ tdƒD ƒtdƒd�}tg d¢tdƒd�}t d¡|d< t|jƒdksfJ ‚||d< t|jƒdks€J ‚||d	< t|jƒdksšJ ‚|r²|d	 jd
ksÆJ ‚n|d	 jtjksÆJ ‚d S )Nr4   rn   c                 S   s   g | ]}t d ƒ‘qS )r/   r   )ri   r(   r+   r+   r,   Ú
<listcomp>ø  rm   z<TestDataFrameIndexing.test_setitem_ambig.<locals>.<listcomp>r   )rQ   ÚbzrÚbazr   r/   r3   rª   )	r   rX   r   rE   Úonesr   r:   r1   r«   )r%   r®   rÊ   Zcoercable_seriesZuncoercable_seriesr+   r+   r,   Útest_setitem_ambigó  s    z(TestDataFrameIndexing.test_setitem_ambigc                 C   sl   |d |d < t j|jd d …df |d dd� t j|jd d …d f |d dd� t j|d  |d dd� d S )NrS   re   FrU   )r    rV   r’   rb   r½   r+   r+   r,   Útest_setitem_None  s    ÿÿz'TestDataFrameIndexing.test_setitem_Nonec                 C   sN   t g d¢g d¢g d¢dœƒ}| ¡ }|j ¡ |j|j ¡ df< t ||¡ d S )NrÇ   )Z11Z22Z33)Z111Z222Z333rÂ   rÃ   )r   rD   rÃ   rb   rÄ   r   r    r=   )r%   r@   rA   r+   r+   r,   Ú&test_loc_setitem_boolean_mask_allfalse  s    ÿz<TestDataFrameIndexing.test_loc_setitem_boolean_mask_allfalsec                 C   sZ   t tj d¡ d¡ƒ}|jd dd…  tj|jd dd…< t|jd dd… ƒj 	¡ sVJ ‚d S )Nr3   ©rO   r7   é   )
r   rE   r   rF   rG   r’   rh   r   rK   r¥   r¦   r+   r+   r,   Ú&test_getitem_fancy_slice_integers_step  s    z<TestDataFrameIndexing.test_getitem_fancy_slice_integers_stepc                 C   sr  t tj d¡ d¡tdddƒd�}| ¡ }d|jdd…< |jdd… dkj 	¡ sTJ ‚| ¡ }d|jdd	…< |jdd	… dkj 	¡ s†J ‚|jdd
… }|j
dd	… }| g d¢¡}t ||¡ t ||¡ |jttdƒƒttddƒƒd d d…   }tjtdd�� |j
dd	…  W d   ƒ n1 �s&0    Y  tjtdd�� d|j
dd	…< W d   ƒ n1 �sd0    Y  d S )Nr3   rØ   r   r   r   r6   rO   r4   r–   r8   )r6   r8   rÙ   rO   r7   re   z^3$r   )r   rE   r   rF   rG   rX   rD   r’   rK   r¥   rb   rs   r    r=   Úlistr"   r#   r$   )r%   r@   ÚcprA   Úresult2rB   Údf2r+   r+   r,   Ú,test_getitem_setitem_integer_slice_keyerrors%  s&    ÿ*.zBTestDataFrameIndexing.test_getitem_setitem_integer_slice_keyerrorsc                 C   sâ   |j d d …dd …f }|d jtjks*J ‚| ¡ }|j d d …dd …f }t |d j|d j¡sdJ ‚t |¡�" d|j	d d …df< W d   ƒ n1 s–0    Y  |sÒ|d dk 
¡ s¸J ‚t |d j|d j¡ nt ||¡ d S )Néýÿÿÿr~   r}   ç      @r6   )r’   r1   rE   r|   rD   Úshares_memoryÚ_valuesr    Úassert_cow_warningrb   r¥   r=   )r%   r&   Úfloat_string_framer¬   r­   ZslicedÚoriginalr+   r+   r,   Útest_fancy_getitem_slice_mixedB  s    0z4TestDataFrameIndexing.test_fancy_getitem_slice_mixedc                 C   sÂ   t tdƒtddd�d�}|jddg \}}|j||… }|||… }|dd… }t ||¡ t ||¡ | ¡ }d|j||…< | ¡ }d|||…< | ¡ }d|dd…< t ||¡ t ||¡ d S )	Nr   z
2020-01-01©Úperiodsr   r7   rO   r–   r   )r   rX   r   r   rb   r    r=   rD   )r%   r@   ÚstartÚendrA   rÝ   rB   r+   r+   r,   Ú"test_getitem_setitem_non_ix_labelsZ  s    z8TestDataFrameIndexing.test_getitem_setitem_non_ix_labelsc                 C   s˜   t tj d¡ d¡ƒ}|j|jdkd d …f }| dg¡}t 	||¡ t tj d¡ d¡ƒ}|j|jdk|j
dkf }|jdgdgd�}t 	||¡ d S )Nr3   ©r4   r3   r   r/   rn   )r   rE   r   rF   rG   rb   r   rs   r    r=   r:   )r%   r@   ÚrsZxpr+   r+   r,   Útest_ix_multi_taken  s    z(TestDataFrameIndexing.test_ix_multi_takec                 C   sP   |}|j }|jD ]:}|| }|jd d d… D ]}|||f || ks,J ‚q,qd S )Nr7   )rb   r:   r   )r%   r&   ÚfrÏ   ÚcolÚtsr?   r+   r+   r,   Útest_getitem_fancy_scalarz  s    
z/TestDataFrameIndexing.test_getitem_fancy_scalarc           
      C   sŠ   |}|  ¡ }|j}t|jƒD ]h\}}||  |jd d d… D ]F}|j |¡}tj d¡ 	¡ }	|	|j
||f< |	|||f< t ||¡ q<qd S )Nr7   r3   )rD   rb   Ú	enumerater:   r   Zget_locrE   r   rF   rG   r’   r    r=   )
r%   r&   rð   rB   rÏ   Újrñ   r?   ÚiÚvalr+   r+   r,   Útest_setitem_fancy_scalar„  s    z/TestDataFrameIndexing.test_setitem_fancy_scalarc                 C   s  |}|j }|jddgd�}|d d …g d¢f }t ||¡ |j|jdd… ddgd�}||jdd… g d¢f }t ||¡ |j|jd k}|j|j| d	�}|| }t ||¡ ||d d …f }t ||¡ |||jd
d … f }|j|j| ddgd�}t ||¡ d S )NrT   r~   r9   )FTFTr7   rO   rn   é   r   r3   r}   )rb   rs   r    r=   r   r:   )r%   r&   rð   rÏ   rB   rA   Zboolvecr+   r+   r,   Útest_getitem_fancy_boolean•  s"    z0TestDataFrameIndexing.test_getitem_fancy_booleanc                 C   s¸   |  ¡ }|  ¡ }|j  ¡ }|d dk}d|j|< d||j< t||j|jd�}t ||¡ |  ¡ }|  ¡ }|j  ¡ }d|j|ddgf< d||jd d…f< t||j|jd�}t ||¡ d S )NrS   r   ç        rn   rT   r3   )rD   rK   rb   r   r   r:   r    r=   )r%   r&   ÚframerB   rK   rµ   r+   r+   r,   Útest_setitem_fancy_boolean¬  s    



z0TestDataFrameIndexing.test_setitem_fancy_booleanc                 C   sp   |j g d¢ }|j|jg d¢  }t ||¡ |j d d …g d¢f }|jd d …|jg d¢ f }t ||¡ d S )N)r/   r6   rù   )r3   r   r/   )r’   rb   r   r    r=   r:   )r%   r&   rA   rB   r+   r+   r,   Útest_getitem_fancy_intsÁ  s    z-TestDataFrameIndexing.test_getitem_fancy_intsc                 C   st   |d d d d… dk}|j | }|j |d d d…  }t ||¡ | ¡ }| ¡ }d|j |< d|j |< t ||¡ d S )NrS   re   r/   r   )rb   r    r=   rD   )r%   r&   rµ   rA   rB   rÜ   r+   r+   r,   Ú'test_getitem_setitem_boolean_misalignedÊ  s    


z=TestDataFrameIndexing.test_getitem_setitem_boolean_misalignedc                 C   s®   t tj d¡ d¡ƒ}t g d¢¡}t ddg¡}|j||f }|jddgdgf }t ||¡ | 	¡ }d|jt g d¢¡t ddg¡f< d|jddgdgf< t ||¡ d S )	Nr3   rí   rƒ   FTr   r/   r7   )
r   rE   r   rF   rG   rŽ   rb   r    r=   rD   )r%   r@   Zk1Zk2rA   rB   r+   r+   r,   Ú"test_getitem_setitem_boolean_multiØ  s    "z8TestDataFrameIndexing.test_getitem_setitem_boolean_multic                 C   s(  t g d¢ƒ}ttj d¡ d¡|d�}|jdd… }| g d¢¡}t 	||¡ t
|ƒdks^J ‚|jdd… }| ddg¡}tj	||d	d
� t
|ƒdksšJ ‚|jdd… }| ddg¡}t 	||¡ t
|ƒdksÒJ ‚|jdd… }|jdd… }t 	||¡ |jdd… }d}tjt|d�� |dd… }W d   ƒ n1 �s>0    Y  t 	||¡ t g d¢ƒ}ttj d¡ d¡|d�}d}tjt|d�� |jdd…  W d   ƒ n1 �s²0    Y  |jdd… }| dg¡}t 	||¡ t
|ƒdk�sôJ ‚| ¡ }tjttd�� d|jdd…< W d   ƒ n1 �s00    Y  tjt|d��" |jdd… dk}W d   ƒ n1 �sr0    Y  |j ¡ �sŒJ ‚|jdd… |jdd… kj ¡ �s´J ‚| ¡ }d|jdd…< |jdd… dkj ¡ �sèJ ‚|jdd… |jdd… kj ¡ �sJ ‚|jdd… }|}t 	||¡ t
|ƒdk�s@J ‚|jdd… }| g d¢¡}t 	||¡ t
|ƒdk�szJ ‚|jdd… }| dg¡}t 	||¡ t
|ƒdk�s²J ‚|jdd… }| g d¢¡}t 	||¡ t
|ƒdk�sìJ ‚| ¡ }d|jdd…< |jdd… }|dkj ¡ �s$J ‚d S )N)r”   r3   r4   r6   r7   r3   rˆ   r   r”   r6   )r”   r3   r4   r6   r7   F)Zcheck_index_typerá   rÆ   r/   r   z3The behavior of obj\[i:j\] with a float-dtype indexr   )r¿   r¹   ç      @r•   rÆ   zPcannot do positional indexing on Index with these indexers \[1.0\] of type floatr¿   gš™™™™™ñ?)r¹   r  r•   rÆ   g
×£p=
@)r   r   rE   r   rF   rG   rb   rs   r    r=   r   r’   rq   ÚFutureWarningr"   r#   r³   rD   Ú
_slice_msgrK   r¥   )r%   Úusing_array_managerr   r@   rA   rB   rZ   rÜ   r+   r+   r,   Ú!test_getitem_setitem_float_labelsç  s~    ,ÿ..2((z7TestDataFrameIndexing.test_getitem_setitem_float_labelsc                 C   s0  t tj d¡ d¡g d¢g d¢d�}tdƒ|d< |j}tt d¡gd	 t d
¡g g d¢d�}t	 
||¡ t	jtdd�� t|jd< W d   ƒ n1 s˜0    Y  t|jd ƒr´J ‚|d jtjksÈJ ‚|jd tksÚJ ‚tj|jd< t|jd ƒsøJ ‚tj|jdd d …f< t|jdd d …f ƒ ¡ �r,J ‚d S )Nr3   ©r7   r4   )rÃ   rÄ   rj   ru   Úe)rQ   r¸   rÓ   rn   Z20010102Ú	timestampr|   r4   zdatetime64[s])rQ   r¸   rÓ   r  r   ú%Setting an item of incompatible dtyper   )rÄ   r  )rj   r  ru   rj   )r   rE   r   rF   rG   r   r€   r   r1   r    rV   rq   r  r   rb   r   r«   rh   r¥   rc   r+   r+   r,   Ú)test_setitem_single_column_mixed_datetime@  s.    ýþÿ(z?TestDataFrameIndexing.test_setitem_single_column_mixed_datetimec                 C   sú   t g d¢tdddƒdddtdddƒtdddƒgdœƒ}t d	td
ƒtdƒd�}tj|d< tdddƒ|jd< tjt	dd�� d|jd< W d   ƒ n1 s–0    Y  d|jddgdf< t
 dt
 d¡gdt
 d¡gg¡}||jddgddgf< t ||¡ d S )N)r   r   r   r   é   é   iÜ  r/   ÚxÚyiÝ  iÞ  ©rÃ   rÄ   r   Úabr8   rŒ   rÄ   ©r   rÄ   r	  r   )r/   rÄ   ©r  r  r3   r4   r  z2013-01-01T00:00:00r  z2014-01-01T00:00:00r6   r7   rÃ   )r   r   rÛ   rX   ÚpdÚNaTrb   r    rq   r  rE   rŽ   Ú
datetime64r=   )r%   rB   r@   rS   r+   r+   r,   Útest_setitem_mixed_datetimeb  s4    


úþÿ
ÿ(þÿz1TestDataFrameIndexing.test_setitem_mixed_datetimec                 C   sn   |j |jd d… ddgf }|j|j |jd d …ddgf< |j |jdd … ddgf j}|j}t ||¡ d S ©Nr3   rS   rT   éþÿÿÿ)rb   r   rK   r    r‰   ©r%   r&   ÚpiecerA   rB   r+   r+   r,   Útest_setitem_frame_float‚  s
    z.TestDataFrameIndexing.test_setitem_frame_floatzTODO(infer_string))Úreasonc                 C   s~   |  ¡ }tddgddgg|jdd… ddgd	�}|jtd dƒ ddgf}||j|< t |j|jdd… ddgf j|j¡ d S )
Nr¿   rÀ   rÁ   rá   r   r3   rS   rT   rn   )rD   r   r   Úslicerb   r    r‰   rK   ©r%   rå   rð   r  r*   r+   r+   r,   Útest_setitem_frame_mixedŠ  s     ÿ
z.TestDataFrameIndexing.test_setitem_frame_mixedc                 C   sž   |  ¡ }tddgddgddgddggt|jd	d
… ƒddg ddgd�}|jtd d
ƒ ddgf}||j|< t |j|jd	d
… ddgf j|jd	d
… ¡ d S )Nr¿   rÀ   rÁ   rá   rÆ   g      @g      @g       @r   r3   rQ   r¸   rS   rT   rn   )	rD   r   rÛ   r   r  rb   r    r‰   rK   r  r+   r+   r,   Ú'test_setitem_frame_mixed_rows_unaligned˜  s    ý
(ÿz=TestDataFrameIndexing.test_setitem_frame_mixed_rows_unalignedc                 C   sŠ   |  ¡ }|j|jd d… dgf }|jdd … |_|jtdd ƒ ddgf}||j|< tj|d< t |j|jdd … ddgf j|j¡ d S )Nr3   rS   r  rT   )	rD   rb   r   r  rE   rh   r    r‰   rK   r  r+   r+   r,   Ú&test_setitem_frame_mixed_key_unaligned¨  s    

z<TestDataFrameIndexing.test_setitem_frame_mixed_key_unalignedc                 C   st   |  ¡ }|j|jd d… ddgf }|jtdd ƒ ddgf}|j|j|< t |j|jdd … ddgf j|j¡ d S r  )rD   rb   r   r  rK   r    r‰   r  r+   r+   r,   Ú test_setitem_frame_mixed_ndarray³  s
    z6TestDataFrameIndexing.test_setitem_frame_mixed_ndarrayc                 C   s²   t g d¢g d¢gg d¢d�}| ¡ }tjtdd��< |jd d …ddgf d	 |jd d …ddgf< W d   ƒ n1 st0    Y  |jddgd�}|d	7 }|d
 |d
< t ||¡ d S )N)r/   r3   rQ   )r4   r6   r¸   ©rS   rT   r}   r9   úincompatible dtyper   rS   rT   ç      à?r}   )r   rD   r    rq   r  rb   rs   r=   )r%   r@   rÞ   rB   r+   r+   r,   Útest_setitem_frame_upcast»  s    Jz/TestDataFrameIndexing.test_setitem_frame_upcastc                 C   s†   |j |jd d… ddgf }|jdd … |_ddg|_||j |jdd … ddgf< |j |jdd … ddgf j}|j}t ||¡ d S r  )rb   r   r:   rK   r    r‰   r  r+   r+   r,   Útest_setitem_frame_alignÆ  s    
z.TestDataFrameIndexing.test_setitem_frame_alignc                 C   sˆ   t tj d¡ d¡g d¢d�}|jd }|d d… }t ||¡ |jd }|jddg }t ||¡ |jd }|jd	 }t 	||¡ d S )
Nr3   r  ©rQ   rQ   r¸   rÓ   r¸   r   rQ   r¸   r6   rÓ   r4   )
r   rE   r   rF   rG   rb   r    r=   r’   rV   rc   r+   r+   r,   Ú"test_getitem_setitem_ix_duplicatesÏ  s    þ



z8TestDataFrameIndexing.test_getitem_setitem_ix_duplicatesc                 C   s¤   t tj d¡ d¡g d¢d�}|jdg }|jddg }t ||¡ |j|d dk }||d dk }t ||¡ |j|d dk }||d dk }t ||¡ d S )	Nr3   r  r(  r   r¸   r6   r/   r   )	r   rE   r   rF   rG   rb   r’   r    r=   )r%   r@   rA   r¯   r+   r+   r,   Ú+test_getitem_ix_boolean_duplicates_multipleâ  s    þzATestDataFrameIndexing.test_getitem_ix_boolean_duplicates_multipleÚ
bool_valueTFc                 C   s’   t dg d¢iƒ}|› d�}tjt|d�� |j|  W d   ƒ n1 sH0    Y  d}tjt|d�� d|j|< W d   ƒ n1 s„0    Y  d S )NrÃ   r2   z7: boolean label can not be used without a boolean indexr   z.cannot use a single bool to index into setitemr   )r   r"   r#   r$   rb   )r%   r+  r@   ÚmessagerZ   r+   r+   r,   Ú%test_getitem_setitem_ix_bool_keyerrorõ  s    
(z;TestDataFrameIndexing.test_getitem_setitem_ix_bool_keyerrorc                 C   s¢   d|d< t |d jjttjfƒs$J ‚|j|jd df }t|ƒsDJ ‚t	ddgiƒ}d|d< |jd }t|ƒspJ ‚t
dgd	gdd
�}|jd	gdf }t ||¡ d S )Nr/   rR   r7   rÃ   g®Gáz®ó?iš  rÄ   r  r   r`   )rº   r1   r»   ra   rE   r¼   rb   r   r   r   r   r    rV   )r%   r&   rA   r@   rB   r+   r+   r,   Ú"test_single_element_ix_dont_upcast  s    
z8TestDataFrameIndexing.test_single_element_ix_dont_upcastc                 C   s¢   t t d¡ dd¡tdddƒd�}d}tjt|d	�� |jd
d„   W d   ƒ n1 sX0    Y  tjt|d	�� d|jdd„ < W d   ƒ n1 s”0    Y  d S )Nr™   rO   r6   r   r   r3   r   zcallable with ilocr   c                 S   s   dS ©Nrf   r+   ©r(   r+   r+   r,   Ú<lambda>  rm   zMTestDataFrameIndexing.test_iloc_callable_tuple_return_value.<locals>.<lambda>r/   c                 S   s   dS r/  r+   r0  r+   r+   r,   r1    rm   )	r   rE   r…   r†   rX   r    rq   r  r’   )r%   r@   rZ   r+   r+   r,   Ú%test_iloc_callable_tuple_return_value  s    ",z;TestDataFrameIndexing.test_iloc_callable_tuple_return_valuec                 C   s¾   t tj d¡ d¡tdddƒd�}|jd }|jd }t 	||¡ |jd }|jd }t 	||¡ |jt
ddƒ }|jdd	… }t ||¡ |jg d
¢ }| |jg d
¢ ¡}t ||¡ d S )Nr3   ©rO   r6   r   r   r   r/   r6   rÙ   r  ©r/   r3   r6   r8   )r   rE   r   rF   rG   rX   r’   rb   r    rV   r  r=   rs   r   ©r%   r@   rA   r¯   rB   r+   r+   r,   Útest_iloc_row  s    ÿ



z#TestDataFrameIndexing.test_iloc_rowc                 C   sØ   t tj d¡ d¡tdddƒd�}| ¡ }|jtddƒ }t 	|d |d ¡sRJ ‚|d  ¡ }t
 |¡�" d|jd d …df< W d   ƒ n1 s�0    Y  |sÄd|jdd…< t 	|d |d ¡sÄJ ‚t
 |d |¡ d S )	Nr3   r3  r   r   r   r6   rÙ   rû   )r   rE   r   rF   rG   rX   rD   r’   r  râ   r    rä   rb   rã   rV   )r%   r¬   r­   r@   ræ   ÚsubsetZexp_colr+   r+   r,   Útest_iloc_row_slice_view4  s    ÿ0z.TestDataFrameIndexing.test_iloc_row_slice_viewc                 C   sø   t tj d¡ d¡tdddƒd�}|jd d …df }|jd d …df }t 	||¡ |jd d …df }|jd d …df }t 	||¡ |jd d …t
ddƒf }|jd d …dd	…f }t ||¡ |jd d …g d
¢f }|j|jg d
¢ d�}t ||¡ d S )Nr3   ©r6   rO   r   r   r9   r/   r6   rÙ   r  r4  )r   rE   r   rF   rG   rX   r’   rb   r    rV   r  r=   rs   r:   r5  r+   r+   r,   Útest_iloc_colJ  s    ÿz#TestDataFrameIndexing.test_iloc_colc                 C   s"  t tj d¡ d¡tdddƒd�}| ¡ }|jd d …tddƒf }|sÔ|sÔt 	|d j
|d j
¡sfJ ‚t |¡�" d|jd d …df< W d   ƒ n1 s˜0    Y  |d dk ¡ s¶J ‚t 	|d j
|d j
¡sÒJ ‚nJ|rôt 	|d j
|d j
¡sôJ ‚d|d< |d dk ¡ �sJ ‚t ||¡ d S )	Nr3   r9  r   r   r9   r6   rÙ   rû   )r   rE   r   rF   rG   rX   rD   r’   r  râ   rã   r    rä   rb   r¥   r=   )r%   r  r¬   r­   r@   ræ   r7  r+   r+   r,   Útest_iloc_col_slice_viewa  s     ÿ0z.TestDataFrameIndexing.test_iloc_col_slice_viewc                 C   sÌ   t tdddd�tdddd�d�}|jdtdddd�d�}td|dd	gd
�}t g d¢¡}d|j|| df< tg d¢g d¢dœ|d�}t ||¡ td|dd	gd
�}|j|| df  d7  < t ||¡ d S )Niá  r/   )ÚyearÚmonthÚdayr7   )rê   rë   )rb   Úitemr   rS   rT   rn   )FFFFFTr8   )r   r   r   r   r8   r8   )r   r   r   r   r   r   ©rS   rT   r   )	r   r   Úinsertr   rE   rŽ   rb   r    r=   )r%   Ztranger@   Zbool_idxrB   r+   r+   r,   Útest_loc_duplicates  s    þÿz)TestDataFrameIndexing.test_loc_duplicatesc                 C   s|   t tdddd�dd�}td|iƒ}|g d¢ |d< t |d |¡ td|iƒ}|g d¢ |jg d¢df< t |d |¡ d S )	Nz
2015-01-01r4   Úutc)ré   ÚtzÚdatesr`   )r/   r   r3   )r   r/   r3   )r   r   r   r    rV   rb   )r%   Úcolumnr@   r+   r+   r,   Ú4test_setitem_with_unaligned_tz_aware_datetime_columnš  s    zJTestDataFrameIndexing.test_setitem_with_unaligned_tz_aware_datetime_columnc                 C   s†  t dd�}ttddd�d�}tjd| gd dd�|d	< tjd
| gd dd�|jd d …df< tjd| gd dd�|j|jd d… df< tjd| gd dd�|jd d …df< tjd| gd dd�|j|jd d… df< t d¡|d< tjd| gd dd�|j|jd d… df< tddd�|j|jd d …df< t d¡|d< |j	}t
t d¡gd t d¡gd
  tdƒd�}t ||¡ d S )Nr/   )ÚhoursZ20130101r6   rè   r   úm8[ns]r0   rS   r3   rT   r4   r}   r~   r7   rR   r  ry   r8   re   rà   ÚGÚHztimedelta64[ns]zdatetime64[ns]ZABCDEFGH)r   r   r   rE   rŽ   rb   r   Útimedelta64r  r€   r   r1   rÛ   r    rV   )r%   Zone_hourr@   rA   rB   r+   r+   r,   Ú,test_loc_setitem_datetimelike_with_inference§  s"    
&,&,, þzBTestDataFrameIndexing.test_loc_setitem_datetimelike_with_inferencec                 C   s"  t tjtjtjtjtjdœtjdtjdddœtjtjdtjtjdœtjtjtjtjtjdœdtjtjtjtjdœddddddœdœƒ}| ¡ }d||d	k< | ¡ }d|jd
< d|jd< d|jd< d|jd< t ||¡ d|d< d}tjt	|d�� d||d	k< W d   ƒ n1 �s0    Y  d S )N)é#   r™   r›   é1   é2   gj”B’zâÔ?g% tŽÙ?gÂ’Øk‘Ò?gŠ†øãÖåÕ?r   r/   )r   r/   r3   r4   r6   r  g333333Ó?)r™   r/   )rO  r/   )rP  r/   )rN  r6   ÚtestrQ   zDnot supported between instances|unorderable types|Invalid comparisonr   )
r   rE   rh   rD   rb   r    r=   r"   r#   r³   )r%   r@   rÞ   rB   rZ   r+   r+   r,   Ú#test_getitem_boolean_indexing_mixed½  sH    ûûûèÿ



z9TestDataFrameIndexing.test_getitem_boolean_indexing_mixedc                 C   s:  t jddgddggd dgd�}tg d¢g d¢g|tddgd	d
�d�}tjtdd��  |d d …df  W d   ƒ n1 sx0    Y  ttdƒd	d
�}t ddgddggddgddggd dgd�}tddgddgg||d�}|jd d …t	d ƒdff }t
 ||¡ d}ttdƒd	d
�}tddg||d�}|d }t
 ||¡ d S )Nr  r  r   r/   rj   ©Únames)r/   r/   r3   r3   )r4   r4   r6   r6   rö   r`   rŒ   r  r   r3   )ZlevelsÚcodesrT  r4   r6   )r  r   r©   )r   Úfrom_productr   r   r"   r#   r	   rX   rb   r  r    r=   r   rV   )r%   ÚmiÚdgr   r:   rB   rA   r\   r+   r+   r,   Útest_type_error_multiindexë  s$    ÿ."ÿz0TestDataFrameIndexing.test_type_error_multiindexc                 C   sh   t t d¡tj t d¡¡d�}|jd d …df }|d }t 	||¡ |j
d d …df }t 	||¡ d S )N©r4   r6   r7   r9   r   r%  )r   rE   rÔ   r  ZIntervalIndexZfrom_breaksr…   r’   r    rV   rb   )r%   r@   rB   rM   r+   r+   r,   Ú,test_getitem_interval_index_partial_indexing  s    ÿzBTestDataFrameIndexing.test_getitem_interval_index_partial_indexingc                 C   sZ   t ddgtd�}t d¡t d¡dœ|jd< t t d¡gt d¡gdœƒ}t ||¡ d S )NrÃ   rÄ   )r:   r1   )r3   )r3   r3   r  r   )r   rp   rE   Zzerosrb   r    r=   r±   r+   r+   r,   Ú test_setitem_array_as_cell_value  s    z6TestDataFrameIndexing.test_setitem_array_as_cell_valuec                 C   s¶   t dg d¢idd�}| ¡ }|jd d …d d d…f |jd d …< t ||¡ tjj 	|jd d …d d d…f ¡|jd d …< t ||¡ |j
d d …d d …f  ¡ |j
d d …< t ||¡ d S )NrS   r2   ÚInt64r0   re   )r   rD   rK   rb   r    r=   r  ÚcoreZarraysZNumpyExtensionArrayr’   )r%   r@   Úorigr+   r+   r,   Ú$test_iloc_setitem_nullable_2d_values  s    ",$z:TestDataFrameIndexing.test_iloc_setitem_nullable_2d_valuesc                 C   s2   t tjdtd�ƒ}t |d ¡|d< |dg  d S )N©r/   r/   r0   r   )r   rE   r�   rp   Z
empty_liker¦   r+   r+   r,   Ú,test_getitem_segfault_with_empty_like_object&  s    zBTestDataFrameIndexing.test_getitem_segfault_with_empty_like_objectz.ignore:Setting a value on a view:FutureWarningÚnullúM8[ns]rI  c                 C   s²  t dg d¢i|d�}|d  ¡ }|j}d g d¢¡}tjt|d�� ||d< W d   ƒ n1 s`0    Y  tjt|d��  ||g|d d…< W d   ƒ n1 sž0    Y  tjt|d�� ||d< W d   ƒ n1 sÔ0    Y  tjt|d��  ||g|d d…< W d   ƒ n1 �s0    Y  tjt|d�� ||jd< W d   ƒ n1 �sN0    Y  tjt|d��" ||g|jd d…< W d   ƒ n1 �s�0    Y  tjt|d�� ||jd	< W d   ƒ n1 �sÊ0    Y  tjt|d��& ||g|jd d…df< W d   ƒ n1 �s0    Y  | ¡ }| ¡ |d
< tjt|d�� ||jd	< W d   ƒ n1 �s^0    Y  tjt|d��& ||g|jd d…df< W d   ƒ n1 �s¤0    Y  d S )NrS   r2   r0   ú|)z@timedelta64\[ns\] cannot be converted to (Floating|Integer)Dtypez?datetime64\[ns\] cannot be converted to (Floating|Integer)Dtypez 'values' contains non-numeric NAz3Invalid value '.*' for dtype '(U?Int|Float)\d{1,2}'r   r   r3   ©r   r   rT   )r   rD   rã   Újoinr"   r#   r³   r’   )r%   rc  Zany_numeric_ea_dtyper@   ÚserrŠ   rZ   rÞ   r+   r+   r,   Ú.test_setting_mismatched_na_into_nullable_fails-  s8    ÿ&.&0*2*6*zDTestDataFrameIndexing.test_setting_mismatched_na_into_nullable_failsc                 C   sL   t dgtg dd�d�}d|jd< t ddgitdgdd�d�}t ||¡ d S )NrÄ   rÃ   r`   rŒ   r/   r   r   )r   r   rb   r    r=   r±   r+   r+   r,   Ú+test_loc_expand_empty_frame_keep_index_nameb  s    
zATestDataFrameIndexing.test_loc_expand_empty_frame_keep_index_namec                 C   sX   t dgtjg g d¢d�d�}d|jd< t ddgitjdgg d¢d�d�}t ||¡ d S )Nru   rÂ   rS  rŒ   rQ   r2   r   ©r   r   Úfrom_tuplesrb   r    r=   r±   r+   r+   r,   Ú+test_loc_expand_empty_frame_keep_midx_namesi  s    ÿ
þzATestDataFrameIndexing.test_loc_expand_empty_frame_keep_midx_namesz	val, idxr)r  rÃ   r  rÃ   )r/   rÃ   r/   c                 C   s†   t dddgiƒ}tjtdd��6 t d|dgiddgd�|jd d …|f< W d   ƒ n1 sZ0    Y  t dtj|giƒ}t ||¡ d S )NrÃ   r/   r3   r	  r   r–   r   )r   r    rq   r  rb   rE   rh   r=   )r%   Úidxrr÷   r@   rB   r+   r+   r,   Útest_loc_setitem_rhs_frameu  s    ÿDz0TestDataFrameIndexing.test_loc_setitem_rhs_framec                 C   sT   t ddgd�}| ¡ }|d d … }tjddgtjd�|jd d …df< t ||¡ d S )NrÃ   rÄ   r9   r/   r3   r0   r   )r   rD   rE   rŽ   r|   r’   r    r=   )r%   r­   r@   rB   Úviewr+   r+   r,   Ú$test_iloc_setitem_enlarge_no_warning‰  s
    "z:TestDataFrameIndexing.test_iloc_setitem_enlarge_no_warningc                 C   s¾   t ddddœtjddgddggddgd�d	�}d
g}d|d< d|j|df< |j|df  |j|ddgf  d|j|df< |j|df }tdtjdgdggddgd�dd� }}t ||¡ d S )NTr/   r¹   )Zbool_colrÃ   rÄ   r3   Úidx1Úidx2rS  r   ra  r4   rj   r   rÃ   rÄ   r¨   r©   )r   r   Úfrom_arraysrb   r   r    rV   )r%   r@   r?   rA   rB   r+   r+   r,   Ú(test_loc_internals_not_updated_correctly’  s"    
þý
z>TestDataFrameIndexing.test_loc_internals_not_updated_correctlyr÷   Nc                 C   sP   t dg d¢idd�}||jdgd d …f< t dtjddgidd�}t ||¡ d S ©NrÃ   rÂ   Ústringr0   r   rÄ   rj   ©r   r’   r  ÚNAr    r=   ©r%   r÷   r@   rB   r+   r+   r,   Ú test_iloc_setitem_string_list_na©  s    z6TestDataFrameIndexing.test_iloc_setitem_string_list_nac                 C   sN   t dg d¢idd�}||jdd d …f< t dtjddgidd�}t ||¡ d S rv  rx  rz  r+   r+   r,   Útest_iloc_setitem_string_na±  s    z1TestDataFrameIndexing.test_iloc_setitem_string_naÚfuncc                 C   sP   t dg d¢idd�}d|jd d …|dgƒf< t dg d¢idd�}t ||¡ d S )NrÃ   r2   r]  r0   r7   r   )r7   r7   r7   r    )r%   r}  r@   rB   r+   r+   r,   Ú/test_iloc_setitem_ea_null_slice_length_one_list¹  s    zETestDataFrameIndexing.test_iloc_setitem_ea_null_slice_length_one_listc                 C   s€   t tjddgg d¢gddgd�d�}td|jjƒ}|dd	d
gd�}|j|d d …f }t tjddgddgd�d�}t 	||¡ d S )NrS   rT   rÂ   ÚfirstÚsecondrS  r   ZIndexerrÃ   rÄ   )r  r€  )rS   rÃ   )rS   rÄ   )
r   r   rV  r   r   rT  rb   rl  r    r=   )r%   r@   Zindexer_tuplern  rA   rB   r+   r+   r,   Útest_loc_named_tuple_for_midxÁ  s    ÿÿÿÿz3TestDataFrameIndexing.test_loc_named_tuple_for_midxrv   rñ   rÄ   c                 C   sh   t dtdƒtdƒgi|¥ƒ}|d tjdd� |jdg|f< t dtdƒtdƒgi|¥ƒ}t ||¡ d S )NrÃ   z
2022-12-29z
2022-12-30r/   )Údaysz
2022-12-31)r   r   r  Ú	Timedeltarb   r    r=   )r%   rñ   rv   r@   rB   r+   r+   r,   Útest_set_2d_casting_date_to_intÒ  s    ÿ ÿz5TestDataFrameIndexing.test_set_2d_casting_date_to_intÚhas_refr\   c                 C   sr   d}t i |¥t|ƒt|ƒdœ¥ƒ}|ddg  ¡ }| ¡ }|rJ|d d … }||j|dg ddgf< t ||¡ d S )NrÌ   r  r  r  T)r   rX   rD   rb   r    r=   )r%   rñ   r…  Únr@   ÚvaluerB   rp  r+   r+   r,   Ú1test_loc_setitem_reordering_with_all_true_indexerß  s    zGTestDataFrameIndexing.test_loc_setitem_reordering_with_all_true_indexerc                 C   sn   t ddgd�}| ¡ }t dgd�}t d ¡�" ||jd d …df< W d   ƒ n1 sT0    Y  t ||¡ d S )NrÃ   rÄ   r9   )r   rD   r    rq   rb   r=   )r%   r@   rB   Úrhsr+   r+   r,   Útest_loc_rhs_empty_warningí  s    0z0TestDataFrameIndexing.test_loc_rhs_empty_warningc                 C   s‚   t g d¢g d¢gƒ}tddgdd�}tdgdd�}|j||f }t ddggdgd	�}t ||¡ |j|j|jf }t ||¡ d S )
N©r   r/   r3   r4   r6   ©r7   r8   rù   rÙ   é	   r   r/   r]  r0   r7   r8   r   )r   r   r’   r    r=   rK   )r%   r@   rv   Zrow_indexerrA   rB   r+   r+   r,   Útest_iloc_ea_series_indexerö  s    z1TestDataFrameIndexing.test_iloc_ea_series_indexerc                 C   s°   t g d¢g d¢gƒ}tdtjgdd�}d}tjt|d��" |jd d …|f  W d   ƒ n1 s`0    Y  tjt|d��$ |jd d …|jf  W d   ƒ n1 s¢0    Y  d S )Nr‹  rŒ  r   r]  r0   zcannot convertr   )	r   r   r  ry  r"   r#   rW   r’   rK   )r%   r@   rv   rZ   r+   r+   r,   Ú#test_iloc_ea_series_indexer_with_na  s    0z9TestDataFrameIndexing.test_iloc_ea_series_indexer_with_na)Tr1   Úbooleanc                 C   s°   t jtg d¢|d�tg d¢|d�gddgd�}tdg d¢i|d	�}t tt|tƒ¡� |j	| }W d   ƒ n1 st0    Y  tdd
dgit
ddgd|d�d	�}t ||¡ d S )N)TTFFr0   )TFTFrÃ   rÄ   rS  rj   )r/   r3   r4   r6   r   r/   r3   TF)r\   r1   )r   rt  r   r   r    Zmaybe_produces_warningr
   Ú
isinstanceÚtuplerb   r   r=   )r%   r1   rv   Zmidxr@   rA   rB   r+   r+   r,   Útest_loc_bool_multiindex  s    þû(ÿz.TestDataFrameIndexing.test_loc_bool_multiindexrC  rÅ   c                 C   sl   t ttdddƒtdddƒg|d�ddgdœƒ}|jdd	�}||d
  }|d |j|d
 |f< t ||¡ d S )Niæ  r/   r   rš   )rC  TF)rÅ   Úupdate)Údeepr”  rÅ   )r   r   r   rD   rb   r    r=   )r%   rC  rv   r@   rB   Z	update_dfr+   r+   r,   Ú2test_loc_datetime_assignment_dtype_does_not_change  s    ÿüÿzHTestDataFrameIndexing.test_loc_datetime_assignment_dtype_does_not_changezindexer, idxr3   c                 C   sˆ   t dtjgdtjgdtjggtd�}t dtjgdtjggƒ}|||ƒd |…d d …f< t dtjgdtjgdtjggtd�}t ||¡ d S )Nr^   r_   rÈ   r0   r/   r3   )r   rE   rh   rp   r    r=   )r%   rv   r?   r@   r‰  rB   r+   r+   r,   Ú"test_setitem_value_coercing_dtypes3  s
    $$z8TestDataFrameIndexing.test_setitem_value_coercing_dtypes)iÚ__name__Ú
__module__Ú__qualname__r-   rC   rN   rP   r[   rd   rw   r�   r"   ÚmarkÚparametrizer‡   r‹   r‘   r“   r¡   r£   r§   r°   r²   r¶   r¾   rË   rÐ   rÕ   rÖ   r×   rÚ   rß   ÚtdZskip_array_manager_invalid_testrç   rì   rï   ró   rø   rú   rý   rþ   rÿ   r   r  r
  r  r  Zxfailr   r  r   r!  r"  r&  r'  r)  r*  r-  r.  r2  r6  r8  r:  r;  rB  rG  rM  rR  rY  r[  r\  r`  rb  Úfilterwarningsr  r  Zto_numpyri  rj  rm  ro  rq  ru  ry  r{  r|  rÛ   r   rE   rŽ   r~  r�  r„  rˆ  rŠ  rŽ  r�  r�   r“  r–  r    rb   r’   r—  r+   r+   r+   r,   r   ,   sì   		;"ÿ


340




	Y" 



	
	.
ÿ1üþ	





	
r   c                   @   s   e Zd Zdd„ ZdS )ÚTestDataFrameIndexingUInt64c              	   C   s>  t t d¡g d¢dœtjd�}|d  d¡}d|jvs:J ‚||d< t |d t|dd�¡ d	|jvshJ ‚d|d	< ||d	< t |d	 t|d	d�¡ |d	= | 	¡ }tj
td
d��( tj|jd< tj|jd< W d   ƒ n1 sÚ0    Y  |d }t t|ƒtg d¢dd�¡ t |jtt d¡t d¡t d¡gg d¢d�¡ d S )Nr4   )l            l           l   
        r@  r0   rS   rQ   r}   r`   r~   r$  r   ra  ©r/   r3   rT   rƒ   Úuint64ÚOr#  r   )r   rE   r…   r¡  Úrenamer:   r    rV   r   rD   rq   r  r  r  r’   r   r€   r1   )r%   r@   r?   rÞ   rA   r+   r+   r,   r°   >  s4    þ*þþz(TestDataFrameIndexingUInt64.test_setitemN)r˜  r™  rš  r°   r+   r+   r+   r,   rŸ  =  s   rŸ  c                 C   sŠ  t ddgtddd�tjddd�dœƒ}|jd }t|jd tƒsDJ ‚t|jd tjƒsZJ ‚|j	d }t|jd tƒsxJ ‚t|jd tjƒsŽJ ‚|j
ddd�}t|jd tƒs°J ‚t|jd tjƒsÆJ ‚| rÎd S |j}| ¡  | d¡j}t|d tƒsúJ ‚t|d tjƒ�sJ ‚|j|jd  }|jd	k�s0J ‚| d
¡}t|tƒ�sJJ ‚|j|jd  }|jdk�sjJ ‚| d
¡}t|tjƒ�s†J ‚d S )Nr/   r3   Ú2000rè   z1 Dayr#  r   )Zaxisrd  rf  rI  )r   r   r  Ztimedelta_rangerb   r‘  rK   r   rƒ  r’   ÚxsZ_mgrZ_rebuild_blknos_and_blklocsZfast_xsrŽ   ÚblocksZblknosr1   Úiget)r  r@   rh  ZmgrrŠ   Zblkr÷   r+   r+   r,   Ú/test_object_casting_indexing_wraps_datetimelikea  s<    
ýÿ



r¨  zFCannot setitem on a Categorical with a new category( \(.*\))?, set thezCCannot set a Categorical with another, without identical categoriesc                   @   s8  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	ej
 dejejg¡dd„ ƒZej
 dejejejejg¡dd„ ƒZej
 dejejg¡dd„ ƒZej
 dejejg¡dd„ ƒZej
 dejejg¡dd„ ƒZej
 dejejg¡dd„ ƒZej
 dejejejg¡dd„ ƒZdd„ ZdS )ÚTestLocILocDataFrameCategoricalc                 C   s>   t g d¢ddgd�}tg d¢ƒ}g d¢}t||dœ|d�}|S )	N)rÃ   rÃ   rÃ   rÃ   rÃ   rÃ   rÃ   rÃ   rÄ   ©Ú
categories©Úhrö   rõ   r�   ÚlÚmr†  ©r/   r/   r/   r/   r/   r/   r/   ©ÚcatsrK   r   ©r   r   r   )r%   r²  r?   rK   r_  r+   r+   r,   r_  ‘  s
    z$TestLocILocDataFrameCategorical.origc                 C   s>   t g d¢ddgd�}tg d¢ƒ}g d¢}t||dœ|d�}|S )	N©rÃ   rÃ   rÄ   rÃ   rÃ   rÃ   rÃ   rÃ   rÄ   rª  r¬  )r/   r/   r3   r/   r/   r/   r/   r±  r   r³  )r%   Zcats1rr  Zvalues1Úexp_single_rowr+   r+   r,   rµ  ™  s
    z.TestLocILocDataFrameCategorical.exp_single_rowc                 C   s>   t g d¢ddgd�}tg d¢ƒ}g d¢}t||dœ|d�}|S )	N©rÃ   rÃ   rÄ   rÄ   rÃ   rÃ   rÃ   rÃ   rÄ   rª  r¬  )r/   r/   r3   r3   r/   r/   r/   r±  r   r³  )r%   Zcats2rs  Zvalues2Úexp_multi_rowr+   r+   r,   r·  ¢  s
    z-TestLocILocDataFrameCategorical.exp_multi_rowc                 C   s>   t g d¢ddgd�}tg d¢ƒ}g d¢}t||dœ|d�}|S )	Nr¶  rÃ   rÄ   rª  r¬  r°  r±  r   r³  )r%   Zcats3Zidx3Zvalues3Úexp_parts_cats_colr+   r+   r,   r¸  ¬  s
    z2TestLocILocDataFrameCategorical.exp_parts_cats_colc                 C   s>   t g d¢ddgd�}tg d¢ƒ}g d¢}t||dœ|d�}|S )	Nr´  rÃ   rÄ   rª  r¬  r°  r±  r   r³  )r%   Zcats4Zidx4Zvalues4Úexp_single_cats_valuer+   r+   r,   r¹  µ  s    
ÿz5TestLocILocDataFrameCategorical.exp_single_cats_valuerv   c                 C   s¬   |  ¡ }tddƒ}|tju r&tddƒ}ddgddgg||ƒ|d d …f< t ||¡ |  ¡ }tjttd��0 ddgddgg||ƒ|d d …f< W d   ƒ n1 sž0    Y  d S )Nr3   r6   rõ   r�   rÄ   r   rj   )	rD   r  r    rb   r=   r"   r#   r³   Úmsg1)r%   r_  r·  rv   r@   r*   r+   r+   r,   Ú#test_loc_iloc_setitem_list_of_listsÀ  s    


 zCTestLocILocDataFrameCategorical.test_loc_iloc_setitem_list_of_listsc                 C   s†   |  ¡ }d}|tjtjfv r0|jd |jd f}d||ƒ|< t ||¡ tjt	t
d�� d||ƒ|< W d   ƒ n1 sx0    Y  d S )N)r3   r   r3   r   rÄ   r   rj   )rD   r    rb   Úatr   r:   r=   r"   r#   r³   rº  )r%   r_  r¹  rv   r@   r*   r+   r+   r,   Ú7test_loc_iloc_at_iat_setitem_single_value_in_categoriesÐ  s    zWTestLocILocDataFrameCategorical.test_loc_iloc_at_iat_setitem_single_value_in_categoriesc                 C   sJ   |  ¡ }|jdk}d}|tju r*|j| }d||ƒ||f< t ||¡ d S )Nrõ   r   rÄ   )rD   r   r    rb   r:   r=   )r%   r_  r¹  rv   r@   rµ   r*   r+   r+   r,   Ú5test_loc_iloc_setitem_mask_single_value_in_categoriesã  s    


zUTestLocILocDataFrameCategorical.test_loc_iloc_setitem_mask_single_value_in_categoriesc                 C   sŽ   |  ¡ }d}|tju r |jd }ddg||ƒ|d d …f< t ||¡ tjttd��( ddg||ƒ|d d …f< W d   ƒ n1 s€0    Y  d S )Nr3   rÄ   r   rj   )	rD   r    rb   r   r=   r"   r#   r³   rº  )r%   r_  rµ  rv   r@   r*   r+   r+   r,   Ú2test_loc_iloc_setitem_full_row_non_categorical_rhsò  s    

zRTestLocILocDataFrameCategorical.test_loc_iloc_setitem_full_row_non_categorical_rhsc           	      C   s   |  ¡ }tddƒdf}|tju r4tddƒ|jd f}tddgddgd�}|||ƒ|< t ||¡ ttd	ƒtd
ƒd�}tj	t
td�� |||ƒ|< W d   ƒ n1 s¤0    Y  ttdƒtd
ƒd�}tj	t
td�� |||ƒ|< W d   ƒ n1 sò0    Y  d S )Nr3   r6   r   rõ   r�   rÄ   rÃ   rª  ZbbÚabcr   Úcc)rD   r  r    rb   r:   r   r=   rÛ   r"   r#   r³   Úmsg2)	r%   r_  r¸  rv   r@   r*   ÚcompatZsemi_compatZincompatr+   r+   r,   Ú1test_loc_iloc_setitem_partial_col_categorical_rhs  s    
*zQTestLocILocDataFrameCategorical.test_loc_iloc_setitem_partial_col_categorical_rhsc                 C   s’   |  ¡ }tddƒdf}|tju r4tddƒ|jd f}ddg||ƒ|< t ||¡ tjtt	d��  ddg||ƒ|< W d   ƒ n1 s„0    Y  d S )	Nr3   r6   r   rõ   r�   rÄ   r   rj   )
rD   r  r    rb   r:   r=   r"   r#   r³   rº  )r%   r_  r¸  rv   r@   r*   r+   r+   r,   Ú)test_loc_iloc_setitem_non_categorical_rhs#  s    
zITestLocILocDataFrameCategorical.test_loc_iloc_setitem_non_categorical_rhsc                 C   sv   t ddd� t¡}tdg d¢i|d�}|jjtks6J ‚|tju rN||ƒd }n||ƒd d …df }|jjtksrJ ‚d S )NZ2012r4   rè   r   r2   r   )r   ro   rp   r   r   r1   r    Úgetitem)r%   rv   r?   r@   rh  r+   r+   r,   Ú-test_getitem_preserve_object_index_with_dates6  s    
zMTestLocILocDataFrameCategorical.test_getitem_preserve_object_index_with_datesc                 C   s\   t dgdggtjddgdgd�d�}t dggtjdgdgd�d�}|jd }t ||¡ d S )	Nr   r/   )rÃ   )rÄ   r  rS  )rY   r   rÃ   rk  )r%   r@   rB   rA   r+   r+   r,   Ú test_loc_on_multiindex_one_levelE  s    
þÿ
z@TestLocILocDataFrameCategorical.test_loc_on_multiindex_one_levelN)r˜  r™  rš  r"   Zfixturer_  rµ  r·  r¸  r¹  r›  rœ  r    rb   r’   r»  r¼  Ziatr½  r¾  r¿  rÄ  rÅ  rÆ  rÇ  rÈ  r+   r+   r+   r,   r©  �  s2   


	









r©  c                   @   s,  e Zd Zej ddhddidhdfddidfddhfdddifg¡dd„ ƒZej ddhddidhdfdfddidfdfddhfdddifg¡dd	„ ƒZej ddhddidhdfddidfddhfdddifg¡d
d„ ƒZej ddhddidhdfdfddidfdfddhfdddifg¡dd„ ƒZ	dS )ÚTestDeprecatedIndexersr*   r/   rÃ   c                 C   sX   t ddgddggddgd�}tjtdd	�� |j|  W d   ƒ n1 sJ0    Y  d S ©
Nr/   r3   r4   r6   rÃ   rÄ   r9   úas an indexer is not supportedr   ©r   r"   r#   r³   rb   ©r%   r*   r@   r+   r+   r,   Ú$test_getitem_dict_and_set_deprecatedS  s    z;TestDeprecatedIndexers.test_getitem_dict_and_set_deprecatedr3   r   c                 C   sd   t ddgddggddgt ddg¡d	�}tjtd
d�� |j|  W d   ƒ n1 sV0    Y  d S ©Nr/   r3   r4   r6   rÃ   rÄ   r   rZ  rŒ   rË  r   ©r   r   rl  r"   r#   r³   rb   rÍ  r+   r+   r,   Ú/test_getitem_dict_and_set_deprecated_multiindex\  s    ýzFTestDeprecatedIndexers.test_getitem_dict_and_set_deprecated_multiindexc                 C   sX   t ddgddggddgd�}tjtdd	�� d|j|< W d   ƒ n1 sJ0    Y  d S rÊ  rÌ  rÍ  r+   r+   r,   Ú$test_setitem_dict_and_set_disallowedq  s    z;TestDeprecatedIndexers.test_setitem_dict_and_set_disallowedc                 C   sd   t ddgddggddgt ddg¡d	�}tjtd
d�� d|j|< W d   ƒ n1 sV0    Y  d S rÏ  rÐ  rÍ  r+   r+   r,   Ú/test_setitem_dict_and_set_disallowed_multiindexz  s    ýzFTestDeprecatedIndexers.test_setitem_dict_and_set_disallowed_multiindexN)
r˜  r™  rš  r"   r›  rœ  rÎ  rÑ  rÒ  rÓ  r+   r+   r+   r,   rÉ  R  s<   2ÿ

úþ

2ÿ

úþrÉ  )Úreturnc                  C   s�   t ddgiƒ} d| j| d dkdf< t dgdgdœƒ}t | |¡ t ddgiƒ} dd„ }|| j| d dkdf< t dg|gdœƒ}t | |¡ d S )Nr  r/   r^   r  r  c                 S   s   | S )Nr+   )r  r+   r+   r,   r1  ™  rm   z4test_adding_new_conditional_column.<locals>.<lambda>)r   rb   r    r=   )r@   rB   r‡  r+   r+   r,   Ú"test_adding_new_conditional_column�  s    rÕ  )r1   Úinfer_stringF©Zna_valueTc                 C   s–   t ddgddgdœƒ}t d|¡�& d|j|d dkd	f< W d   ƒ n1 sN0    Y  t ddgddgdtd
ƒgdœƒ dd| dœ¡}t ||¡ d S )Nr/   r3   r4   r6   r  úfuture.infer_stringr^   rÃ   rj   rh   rÂ   rz   )r   r  Úoption_contextrb   Úfloatro   r    r=   )r1   rÖ  r@   rB   r+   r+   r,   Ú.test_adding_new_conditional_column_with_stringŸ  s    	4 
ÿrÛ  c                  C   s”   t ddgiƒ} t dd¡�& d| j| d dkdf< W d   ƒ n1 sF0    Y  t dgtdgtjtjd�d�d	œtddgd
d�d�}t	 
| |¡ d S )Nr  r/   rØ  Tr^   r  r×  r0   r  rª   r9   )r   r  rÙ  rb   r   ÚStringDtyperE   rh   r   r    r=   )r@   rB   r+   r+   r,   Ú test_add_new_column_infer_string±  s    4þrÝ  c                
   @   sð   e Zd Zdd„ Zddddeje d¡e d¡gZ	ddge
dd	ƒg d
¢e
dddƒgZej de	d	de d	¡e d	¡g ¡ej de¡dd„ ƒƒZej de	dde d¡g ¡ej de¡dd„ ƒƒZej de	dg ¡ej de¡dd„ ƒƒZdS )ÚTestSetitemValidationc                 C   s¢   d}t  |¡}| ¡ }tj||d��& ||j|df< | ¡ }W d   ƒ n1 sP0    Y  tj||d��& ||j|df< | ¡ }W d   ƒ n1 s”0    Y  d S )Nz3Setting an item of incompatible dtype is deprecatedr   r   rÃ   )rH   rI   rD   r    rq   r’   rb   )r%   r@   Úinvalidrv   ÚwarnrZ   Zorig_dfr+   r+   r,   Ú_check_setitem_invalidÀ  s    
&z,TestSetitemValidation._check_setitem_invalidy      ð?       @ÚTruer^   z1.0r  r   r/   ©TFFNrß  r¿   rv   c                 C   s(   t dg d¢idd�}|  |||t¡ d S )NrÃ   rã  r�   r0   ©r   rá  r  )r%   rß  rv   r@   r+   r+   r,   Ú#test_setitem_validation_scalar_boolÛ  s    z9TestSetitemValidation.test_setitem_validation_scalar_boolTr”   c                 C   sN   t dg d¢i|d�}t|ƒr6|tjur6t |¡s6d }nt}|  ||||¡ d S )NrÃ   r2   r0   )r   r   r  r  rE   Zisnatr  rá  )r%   rß  Zany_int_numpy_dtyperv   r@   rà  r+   r+   r,   Ú"test_setitem_validation_scalar_intã  s
    z8TestSetitemValidation.test_setitem_validation_scalar_intc                 C   s(   t dg d¢i|d�}|  |||t¡ d S )NrÃ   )r/   r3   Nr0   rä  )r%   rß  Zfloat_numpy_dtyperv   r@   r+   r+   r,   Ú$test_setitem_validation_scalar_floatí  s    z:TestSetitemValidation.test_setitem_validation_scalar_float)r˜  r™  rš  rá  r  r  rE   r  rL  Z_invalid_scalarsr  Z	_indexersr"   r›  rœ  rz   r|   rå  ræ  rç  r+   r+   r+   r,   rÞ  ½  s*   ù	"ÿrÞ  )9Úcollectionsr   r   r   Údecimalr   rH   ÚnumpyrE   r"   Zpandas._configr   Zpandas._libsr   Zpandas.errorsr	   r
   r   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsr�  Zpandas.core.dtypes.commonr   Zpandasr  r   r   r   r   r   r   r   r   r   r   r   Zpandas._testingZ_testingr    r  r   rŸ  r¨  rº  rÂ  r©  rÉ  rÕ  r›  rœ  rp   rÜ  rh   rÛ  rÝ  rÞ  r+   r+   r+   r,   Ú<module>   sX   4            $+ C>þþ