o
    Û­jÿ ã                   @   sp  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„Z0e	j1 2de3dfej4ej5d�dfg¡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sAJ ‚tjtdd�� |d  W d   ƒ d S 1 sXw   Y  d S )Né   Úrandom©Úmatch)	ÚlenÚindexÚitemsÚtmÚassert_index_equalÚ_seriesÚpytestÚraisesÚKeyError)ÚselfÚfloat_frameÚslÚ_ÚseriesÚkey© r,   úf/var/www/html/CropPilot/venv/lib/python3.10/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   r0   ©Údtype©r0   é   é   ©é   é   é   ©Úcolumnsr0   r5   r7   r9   T©Úcheck_exact©r   r   r    Úassert_frame_equal)r&   Úany_numeric_dtyper2   Ú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 s:w   Y  |d }t ||j¡ d S )Nr4   z$10z@awesome_domainz'df["$10"]'r   z	df["$10"])ÚcopyÚnpr   Údefault_rngÚstandard_normalr   r#   r$   r%   ÚreÚescapeÚ__getitem__r    Úassert_numpy_array_equalÚvalues)r&   r'   rB   Ú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/   r1   r3   r6   r:   é
   r0   )rR   r4   rR   )rR   r8   rR   Tr<   r>   )r&   r@   r2   rA   rB   rD   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 sEw   Y  tt|jƒd	 ƒ}d
t|ƒ› dt|ƒ› d�}tjt|d�� ||d< W d   ƒ d S 1 sww   Y  d S )NÚfooÚEÚAÚBF©Úcheck_namesz"Columns must be same length as keyr   r0   zLength of values \(z$\) does not match length of index \(z\))r    Úassert_series_equalr#   r$   Ú
ValueErrorÚranger   r   )r&   r'   ÚdataÚmsgÚnewcolumndatar,   r,   r-   Útest_setitem_list]   s"   ÿÿÿ
"ÿ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   r5   Útt1Útt2)r   r;   r2   r0   r4   )r2   ÚnameÚ0Ú1Ú2©rc   )	r   r\   ÚintÚlocr   r   r;   r    rZ   ©r&   rB   rC   rD   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 s9w   Y  || }	t |	|¡ tjtdd�� ||  W d   ƒ n1 s^w   Y  t	||j ƒ}|| }	t |	|¡ t 
t¡� | |j d d d… ¡}|| }	t |	|¡ W d   ƒ n1 s˜w   Y  |||fD ]X}
|
 ¡ ‰ |
|
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 ]}|| j|| jkrù|| j|
| jksùJ ‚qáq¢d S )NrR   zItem wrong lengthr   éÿÿÿÿzBoolean array expectedr   c                    s*   i | ]}|t  ˆ | d kˆ | t j¡“qS ©r   )rG   ÚwhereÚnan)Ú.0Úc©r]   r,   r-   Ú
<dictcomp>©   s   * z>TestDataFrameIndexing.test_getitem_boolean.<locals>.<dictcomp>©r   r;   r:   F)Úcheck_dtype)r   ÚastypeÚobjectr    r!   r#   r$   r[   r?   r   Úassert_produces_warningÚUserWarningÚreindexÚ_get_numeric_datar   r;   r2   )r&   Úmixed_float_frameÚmixed_int_frameÚdatetime_frameÚdÚindexerÚindexer_objÚsubindexÚsubframeÚsubframe_objrB   ÚbifÚbifwrq   r,   rr   r-   Útest_getitem_boolean~   sZ   



ÿ
ÿýýý
€
€þì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 )Nr0   rU   Úint32ÚE1ÚFÚint64ÚF1r   Úfloat64r7   r4   )rV   rW   ÚCÚDrU   r‰   rŠ   rŒ   ©r   r5   )
rF   rv   Údtypesr   rG   r2   r    rZ   ri   r   )r&   r~   rB   ÚcastedrC   rD   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é   r5   r7   )r   rG   ÚarangeÚreshaperi   r   r    r?   )r&   r”   rB   rC   rD   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 )Nr4   ©r8   r8   )rV   rW   rŽ   r�   rU   r:   r   r0   )	rG   r   rH   rI   r   rF   r    Úassert_almost_equalrN   )r&   ÚarrrB   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   r0   rV   ©r;   r   )r   rG   Úemptyr   ÚarrayÚbool)r&   Ú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 )	Nr4   )r7   r5   )r0   rR   rŽ   rU   r3   rt   rl   r0   rR   )r   rG   r   rH   rI   Úilocri   r   r    r?   r   rj   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š™™™™™	@ç      @)é   é   é$   é(   )rR   é   é+   é"   )r   rR   r   é   )Úrnaéüÿÿr   éè  r:   r³   r5   r²   r0   ©r   r¥   r    r?   rj   r,   r,   r-   Útest_getitem_ix_mixed_integer2  s   üù
	
z4TestDataFrameIndexing.test_getitem_ix_mixed_integer2c                 C   sP   t  |j|d ¡ d}tjt|d�� |j W d   ƒ d S 1 s!w   Y  d S )NrV   z6'DataFrame' object has no attribute 'NONEXISTENT_NAME'r   )r    rZ   rV   r#   r$   ÚAttributeErrorÚNONEXISTENT_NAME)r&   r'   r^   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Úfoobarr0   rR   r�   r8   )r   r\   r¹   Úall©r&   rB   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sJ ‚t |ƒdks#J ‚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 ¡ smJ ‚d|d< |d dk ¡ s{J ‚d|d< |d dk ¡ s‰J ‚d|d< |d dk ¡ s—J ‚|d d… }d}	|s£|rªddg|d< ntjt|	d�� ddg|d< W d   ƒ n1 sÂw   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 )NrV   r4   Úcol5é   r°   ©r   rc   Úcol6FrX   Úcol9r8   Úcol7g…ëQ¸	@Úcol0rT   Úcol8zC\nA value is trying to be set on a copy of a slice from a DataFramere   rf   Úcol10r   Ústr)r   rG   ÚravelÚcolumn_stackrN   ro   r   r   r    rZ   r   rH   rI   rº   r#   r$   r   r2   Úobject_)
r&   r'   Úusing_copy_on_writeÚwarn_copy_on_writeÚusing_infer_stringr*   Úexprœ   Úsmallerr^   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   rG   ro   r¥   r    r?   ri   ©r&   rB   rD   r,   r,   r-   Útest_setitem2X  s   z#TestDataFrameIndexing.test_setitem2c           	      C   sB  |  ¡ }|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Æw   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 )Nr7   rV   r   rl   r0   r8   r4   r5   z;Must pass DataFrame or 2-d ndarray with boolean values onlyr   rt   )rF   rN   r    r›   rz   r   rG   Úputmaskr#   r$   Ú	TypeErrorÚabsro   r   r;   r?   )	r&   r'   rB   rN   r*   r^   Údf_origÚmaskrD   r,   r,   r-   Útest_setitem_booleanc  sJ   
"ÿ
z*TestDataFrameIndexing.test_setitem_booleanc                 C   s  |d   d¡|d< |d jtjksJ ‚d|d< |d jtjks!J ‚t t|ƒ¡|d< t|d jjtjƒs6J ‚d|d< d|d< |d jtjksHJ ‚d|d< d|d< |d jtj	ksZJ ‚d|d< |d jtjkshJ ‚d	|d< |d jtjksvJ ‚d|d< |d jtj	ks„J ‚d S )
Nr�   Úi8r   rW   ÚbarrT   ç      @Ú	somethingr4   )
rv   r2   rG   r‹   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s(J ‚d|d	< d
|d< d|d< d|t ¡ < d|t ¡ < t |jd�}d
|d	< d|d< t|jƒdksWJ ‚|jj	tj
ks`J ‚d|d< |d j	tjksnJ ‚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
< |r®|d
 j	dks­J ‚n
|d
 j	tj
ks¸J ‚g d¢|d< |rË|d j	dksÉJ ‚d S |d j	tj
ksÕJ ‚d S )N)ç      ð?ç       @ç      @©ÚaÚbrq   )rW   rŽ   r5   r�   rW   r4   Ú	beginningrV   rT   rU   rÙ   r�   Údateç      @r0   rŽ   rá   r   rÆ   ©re   rf   Ú3Ú	coercible)r   rG   r—   r   r;   r   Únowr   rN   r2   rÉ   r‹   r�   r¥   )r&   r'   rÌ   rB   Ú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s9J ‚|jd d	ksBJ ‚d S )N)r¹   rÙ   r¹   r¹   é   r4   r   )ÚtitleÚcruftrñ   rÙ   r   rò   )r0   rñ   )r0   rò   )rG   r   rH   r   r   ri   )r&   r]   rB   Ú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s3J ‚||d< t|jƒdks@J ‚||d	< t|jƒdksMJ ‚|rZ|d	 jd
ksXJ ‚d S |d	 jtjksdJ ‚d S )Nr5   rt   c                 S   s   g | ]}t d ƒ‘qS )r0   r   )rp   r)   r,   r,   r-   Ú
<listcomp>ø  s    z<TestDataFrameIndexing.test_setitem_ambig.<locals>.<listcomp>r�   )rT   ÚbzrÚbazr   r0   r4   rÆ   )	r   r\   r   rG   Úonesr   r;   r2   rÉ   )r&   rÌ   rî   Úcoercable_seriesÚ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 )NrV   rl   FrX   )r    rZ   r¥   ri   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ê   )Ú11Ú22Ú33)Ú111Ú222Ú333rä   rå   )r   rF   rå   ri   ræ   r   r    r?   )r&   rB   rC   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 	¡ s+J ‚d S )Nr4   ©rR   r8   é   )
r   rG   r   rH   rI   r¥   ro   r   rN   rº   r»   r,   r,   r-   Ú&test_getitem_fancy_slice_integers_step  s   "z<TestDataFrameIndexing.test_getitem_fancy_slice_integers_stepc                 C   sp  t tj d¡ d¡tdddƒd�}| ¡ }d|jdd…< |jdd… dkj 	¡ s*J ‚| ¡ }d|jdd	…< |jdd	… dkj 	¡ sCJ ‚|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’w   Y  tjtdd�� d|j
dd	…< W d   ƒ d S 1 s±w   Y  d S )Nr4   r  r   r   r�   r7   rR   r5   r©   r9   )r7   r9   r  rR   r8   rl   z^3$r   )r   rG   r   rH   rI   r\   rF   r¥   rN   rº   ri   rz   r    r?   Úlistr#   r$   r%   )r&   rB   ÚcprC   Úresult2rD   Ú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¡s2J ‚t |¡� d|j	d d …df< W d   ƒ n1 sKw   Y  |sj|d dk 
¡ s\J ‚t |d j|d j¡ d S t ||¡ d S )Néýÿÿÿr�   rŽ   ç      @r7   )r¥   r2   rG   r�   rF   Úshares_memoryÚ_valuesr    Úassert_cow_warningri   rº   r?   )r&   r'   Úfloat_string_framerÊ   rË   ÚslicedÚoriginalr,   r,   r-   Útest_fancy_getitem_slice_mixedB  s   ÿ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�   r8   rR   r©   r   )r   r\   r   r   ri   r    r?   rF   )r&   rB   ÚstartÚendrC   r	  rD   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 )Nr4   ©r5   r4   r   r0   rt   )r   rG   r   rH   rI   ri   r   rz   r    r?   r;   )r&   rB   ÚrsÚ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 )Nr8   )ri   r;   r   )r&   r'   Úfró   ÚcolÚtsrA   r,   r,   r-   Útest_getitem_fancy_scalarz  s   
ÿþz/TestDataFrameIndexing.test_getitem_fancy_scalarc           
      C   sŠ   |}|  ¡ }|j}t|jƒD ]4\}}||  |jd d d… D ]#}|j |¡}tj d¡ 	¡ }	|	|j
||f< |	|||f< t ||¡ qqd S )Nr8   r4   )rF   ri   Ú	enumerater;   r   Úget_locrG   r   rH   rI   r¥   r    r?   )
r&   r'   r  rD   ró   Újr  rA   Ú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 )NrW   r�   r:   )FTFTr8   rR   rt   é   r�   r4   rŽ   )ri   rz   r    r?   r   r;   )r&   r'   r  ró   rD   rC   Ú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 )NrV   r   ç        rt   rW   r4   )rF   rN   ri   r   r   r;   r    r?   )r&   r'   ÚframerD   rN   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)r0   r7   r(  )r4   r   r0   )r¥   ri   r   r    r?   r;   )r&   r'   rC   rD   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 )NrV   rl   r0   r   )ri   r    r?   rF   )r&   r'   rÖ   rC   rD   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 )	Nr4   r  r•   FTr   r0   r8   )
r   rG   r   rH   rI   r    ri   r    r?   rF   )r&   rB   Úk1Úk2rC   rD   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sMJ ‚|jdd… }| ddg¡}t 	||¡ t
|ƒdksiJ ‚|jdd… }|jdd… }t 	||¡ |jdd… }d}tjt|d�� |dd… }W d   ƒ n1 sžw   Y  t 	||¡ t g d¢ƒ}ttj d¡ d¡|d�}d}tjt|d�� |jdd…  W d   ƒ n1 s×w   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 �sw   Y  tjt|d�� |jdd… dk}W d   ƒ n	1 �s6w   Y  |j ¡ �sCJ ‚|jdd… |jdd… kj ¡ �sWJ ‚| ¡ }d|jdd…< |jdd… dkj ¡ �sqJ ‚|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�sºJ ‚|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§   r4   r5   r7   r8   r4   rš   r�   r§   r7   )r§   r4   r5   r7   r8   F)Úcheck_index_typer  ré   r0   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Ú   r4  r¨   ré   g
×£p=
@)r   r   rG   r   rH   rI   ri   rz   r    r?   r   r¥   rx   ÚFutureWarningr#   r$   rÓ   rF   Ú
_slice_msgrN   rº   )r&   Úusing_array_managerr   rB   rC   rD   r^   r  r,   r,   r-   Ú!test_getitem_setitem_float_labelsç  s†   ÿÿÿÿÿ((z7TestDataFrameIndexing.test_getitem_setitem_float_labelsc                 C   s.  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 sLw   Y  t|jd ƒrZJ ‚|d jtjksdJ ‚|jd tksmJ ‚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 )Nr4   ©r8   r5   )rå   ræ   rq   r   Úe)rT   rÙ   r÷   rt   Ú20010102Ú	timestampr�   r5   zdatetime64[s])rT   rÙ   r÷   r<  r�   ú%Setting an item of incompatible dtyper   )ræ   r<  )rq   r<  r   rq   )r   rG   r   rH   rI   r   r‘   r   r2   r    rZ   rx   r5  r   ri   r   rÉ   ro   rº   rj   r,   r,   r-   Ú)test_setitem_single_column_mixed_datetime@  s0   ýþÿý"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 sKw   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Ü  r0   ÚxÚyiÝ  iÞ  ©rå   ræ   r   Úabr9   rž   ræ   ©r   ræ   r=  r   )r0   ræ   ©rA  rB  r4   r5   r?  z2013-01-01T00:00:00r@  z2014-01-01T00:00:00r7   r8   rå   )r   r   r  r\   ÚpdÚNaTri   r    rx   r5  rG   r    Ú
datetime64r?   )r&   rD   rB   rV   r,   r,   r-   Útest_setitem_mixed_datetimeb  s6   


úþÿ
ÿýþÿ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 ©Nr4   rV   rW   éþÿÿÿ)ri   r   rN   r    r›   ©r&   r'   ÚpiecerC   rD   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   r4   rV   rW   rt   )rF   r   r   Úsliceri   r    r›   rN   ©r&   r  r  rN  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   r4   rT   rÙ   rV   rW   rt   )	rF   r   r  r   rQ  ri   r    r›   rN   rR  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 )Nr4   rV   rL  rW   )	rF   ri   r   rQ  rG   ro   r    r›   rN   rR  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 rK  )rF   ri   r   rQ  rN   r    r›   rR  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 s:w   Y  |jddgd�}|d	7 }|d
 |d
< t ||¡ d S )N)r0   r4   rT   )r5   r7   rÙ   ©rV   rW   rŽ   r:   úincompatible dtyper   rV   rW   ç      à?rŽ   )r   rF   r    rx   r5  ri   rz   r?   )r&   rB   r
  rD   r,   r,   r-   Útest_setitem_frame_upcast»  s   .ÿ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 rK  )ri   r   r;   rN   r    r›   rM  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 )
Nr4   r9  ©rT   rT   rÙ   r÷   rÙ   r�   rT   rÙ   r7   r÷   r5   )
r   rG   r   rH   rI   ri   r    r?   r¥   rZ   rj   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 )	Nr4   r9  r\  r�   rÙ   r7   r0   r   )	r   rG   r   rH   rI   ri   r¥   r    r?   )r&   rB   rC   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 s$w   Y  d}tjt|d�� d|j|< W d   ƒ d S 1 sCw   Y  d S )Nrå   r3   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%   ri   )r&   r_  rB   Úmessager^   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|ƒs"J ‚t	ddgiƒ}d|d< |jd }t|ƒs8J ‚t
dgd	gdd
�}|jd	gdf }t ||¡ d S )Nr0   rU   r8   rå   g®Gáz®ó?iš  ræ   rE  r   rg   )rÜ   r2   rÝ   rh   rG   rÞ   ri   r   r   r   r   r    rZ   )r&   r'   rC   rB   rD   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 s,w   Y  tjt|d	�� d|jdd„ < W d   ƒ d S 1 sKw   Y  d S )Nr¬   rR   r7   r   r   r4   r�   zcallable with ilocr   c                 S   ó   dS ©Nrm   r,   ©r)   r,   r,   r-   Ú<lambda>  ó    zMTestDataFrameIndexing.test_iloc_callable_tuple_return_value.<locals>.<lambda>r0   c                 S   rc  rd  r,   re  r,   r,   r-   rf    rg  )	r   rG   r—   r˜   r\   r    rx   r5  r¥   )r&   rB   r^   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 )Nr4   ©rR   r7   r   r   r�   r0   r7   r  r@  ©r0   r4   r7   r9   )r   rG   r   rH   rI   r\   r¥   ri   r    rZ   rQ  r?   rz   r   ©r&   rB   rC   rÍ   rD   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 ¡s)J ‚|d  ¡ }t
 |¡� d|jd d …df< W d   ƒ n1 sHw   Y  |sbd|jdd…< t 	|d |d ¡sbJ ‚t
 |d |¡ d S )	Nr4   ri  r   r   r�   r7   r  r+  )r   rG   r   rH   rI   r\   rF   r¥   rQ  r  r    r  ri   r  rZ   )r&   rÊ   rË   rB   r  ÚsubsetÚexp_colr,   r,   r-   Útest_iloc_row_slice_view4  s   ÿÿ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 )Nr4   ©r7   rR   r   r   r:   r0   r7   r  r@  rj  )r   rG   r   rH   rI   r\   r¥   ri   r    rZ   rQ  r?   rz   r;   rk  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 }|sk|skt 	|d j
|d j
¡s3J ‚t |¡� d|jd d …df< W d   ƒ n1 sLw   Y  |d dk ¡ s[J ‚t 	|d j
|d j
¡siJ ‚d S |r{t 	|d j
|d j
¡s{J ‚d|d< |d dk ¡ s‰J ‚t ||¡ d S )	Nr4   rp  r   r   r:   r7   r  r+  )r   rG   r   rH   rI   r\   rF   r¥   rQ  r  r  r    r  ri   rº   r?   )r&   r7  rÊ   rË   rB   r  rm  r,   r,   r-   Útest_iloc_col_slice_viewa  s"   ÿÿ 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á  r0   )ÚyearÚmonthÚdayr8   )r  r  )ri   Úitemr   rV   rW   rt   )FFFFFTr9   )r   r   r   r   r9   r9   )r   r   r   r   r   r   ©rV   rW   r�   )	r   r   Úinsertr   rG   r    ri   r    r?   )r&   ÚtrangerB   Úbool_idxrD   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-01r5   Úutc)r  ÚtzÚdatesrg   )r0   r   r4   )r   r0   r4   )r   r   r   r    rZ   ri   )r&   ÚcolumnrB   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 )Nr0   )ÚhoursÚ20130101r7   r  r�   úm8[ns]r1   rV   r4   rW   r5   rŽ   r�   r8   rU   rH  rŠ   r9   rl   r  ÚGÚHztimedelta64[ns]zdatetime64[ns]ÚABCDEFGH)r   r   r   rG   r    ri   r   Útimedelta64rI  r‘   r   r2   r  r    rZ   )r&   Úone_hourrB   rC   rD   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   ƒ d S 1 sŠw   Y  d S )N)é#   r¬   r®   é1   é2   gj”B’zâÔ?g% tŽÙ?gÂ’Øk‘Ò?gŠ†øãÖåÕ?r   r0   )r   r0   r4   r5   r7   rB  g333333Ó?)r¬   r0   )r‹  r0   )rŒ  r0   )rŠ  r7   ÚtestrT   zDnot supported between instances|unorderable types|Invalid comparisonr   )
r   rG   ro   rF   ri   r    r?   r#   r$   rÓ   )r&   rB   r
  rD   r^   r,   r,   r-   Ú#test_getitem_boolean_indexing_mixed½  sJ   ûûûèÿ



"ÿ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 s<w   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 )NrA  rB  r   r0   rq   ©Únames)r0   r0   r4   r4   )r5   r5   r7   r7   r%  rg   rž   rQ  r   r4   )ÚlevelsÚcodesr�  r5   r7   )rA  r   r¿   )r   Úfrom_productr   r   r#   r$   r	   r\   ri   rQ  r    r?   r   rZ   )r&   ÚmiÚdgr   r;   rD   rC   rc   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©r5   r7   r8   r:   r   rY  )r   rG   rø   rG  ÚIntervalIndexÚfrom_breaksr—   r¥   r    rZ   ri   )r&   rB   rD   rP   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;   r2   )r4   )r4   r4   rC  r   )r   rw   rG   Úzerosri   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 )NrV   r3   ÚInt64r1   rl   )r   rF   rN   ri   r    r?   rG  ÚcoreÚarraysÚNumpyExtensionArrayr¥   )r&   rB   Ú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©r0   r0   r1   r   )r   rG   rŸ   rw   Ú
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]rƒ  c                 C   s¬  t dg d¢i|d�}|d  ¡ }|j}d g d¢¡}tjt|d�� ||d< W d   ƒ n1 s0w   Y  tjt|d�� ||g|d d…< W d   ƒ n1 sOw   Y  tjt|d�� ||d< W d   ƒ n1 sjw   Y  tjt|d�� ||g|d d…< W d   ƒ n1 s‰w   Y  tjt|d�� ||jd< W d   ƒ n1 s¥w   Y  tjt|d�� ||g|jd d…< W d   ƒ n1 sÅw   Y  tjt|d�� ||jd	< W d   ƒ n1 sáw   Y  tjt|d�� ||g|jd d…df< W d   ƒ n	1 �sw   Y  | ¡ }| ¡ |d
< tjt|d�� ||jd	< W d   ƒ n	1 �s+w   Y  tjt|d�� ||g|jd d…df< W d   ƒ d S 1 �sOw   Y  d S )NrV   r3   r1   ú|)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   r4   ©r   r   rW   )r   rF   r  Újoinr#   r$   rÓ   r¥   )r&   r¦  Úany_numeric_ea_dtyperB   Úserrœ   r^   r
  r,   r,   r-   Ú.test_setting_mismatched_na_into_nullable_fails-  sL   ÿ
ÿÿ
ÿÿÿÿÿÿÿ$ÿ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å   rg   rž   r0   r   r�   )r   r   ri   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 )Nr   rä   r�  rž   rT   r3   r�   ©r   r   Úfrom_tuplesri   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)rA  rå   rA  rå   )r0   rå   r0   c                 C   s†   t dddgiƒ}tjtdd�� t d|dgiddgd�|jd d …|f< W d   ƒ n1 s-w   Y  t dtj|giƒ}t ||¡ d S )Nrå   r0   r4   r=  r   r©   r�   )r   r    rx   r5  ri   rG   ro   r?   )r&   Úidxrr&  rB   rD   r,   r,   r-   Útest_loc_setitem_rhs_frameu  s   ÿ(ý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æ   r:   r0   r4   r1   r   )r   rF   rG   r    r�   r¥   r    r?   )r&   rË   rB   rD   Ú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 )NTr0   rÚ   )Úbool_colrå   ræ   r4   Úidx1Úidx2r�  r�   r£  r5   rq   r   rå   ræ   r¾   r¿   )r   r   Úfrom_arraysri   r   r    rZ   )r&   rB   rA   rC   rD   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ä   Ústringr1   r   ræ   rq   ©r   r¥   rG  ÚNAr    r?   ©r&   r&  rB   rD   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 r»  r½  r¿  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å   r3   r�  r1   r8   r   )r8   r8   r8   r´   )r&   rÂ  rB   rD   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 )NrV   rW   rä   ÚfirstÚsecondr�  r�   ÚIndexerrå   ræ   )rÄ  rÅ  )rV   rå   )rV   ræ   )
r   r   r“  r   r   r�  ri   r°  r    r?   )r&   rB   Úindexer_tupler²  rC   rD   r,   r,   r-   Útest_loc_named_tuple_for_midxÁ  s   ÿÿÿÿz3TestDataFrameIndexing.test_loc_named_tuple_for_midxr€   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-30r0   )Údaysz
2022-12-31)r   r   rG  Ú	Timedeltari   r    r?   )r&   r  r€   rB   rD   r,   r,   r-   Útest_set_2d_casting_date_to_intÒ  s   ÿ ÿz5TestDataFrameIndexing.test_set_2d_casting_date_to_intÚhas_refrc   c                 C   sr   d}t i |¥t|ƒt|ƒdœ¥ƒ}|ddg  ¡ }| ¡ }|r%|d d … }||j|dg ddgf< t ||¡ d S )Nrð   rF  rA  rB  T)r   r\   rF   ri   r    r?   )r&   r  rÌ  ÚnrB   ÚvaluerD   r´  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 s*w   Y  t ||¡ d S )Nrå   ræ   r:   )r   rF   r    rx   ri   r?   )r&   rB   rD   Úrhsr,   r,   r-   Útest_loc_rhs_empty_warningí  s   ÿ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   r0   r4   r5   r7   ©r8   r9   r(  r  é	   r   r0   r�  r1   r8   r9   r�   )r   r   r¥   r    r?   rN   )r&   rB   r€   Úrow_indexerrC   rD   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 s0w   Y  tjt|d�� |jd d …|jf  W d   ƒ d S 1 sRw   Y  d S )NrÒ  rÓ  r   r�  r1   zcannot convertr   )	r   r   rG  r¾  r#   r$   r[   r¥   rN   )r&   rB   r€   r^   r,   r,   r-   Ú#test_iloc_ea_series_indexer_with_na  s   ÿ"ÿz9TestDataFrameIndexing.test_iloc_ea_series_indexer_with_na)Tr2   Ú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 s:w   Y  tdd
dgit
ddgd|d�d	�}t ||¡ d S )N)TTFFr1   )TFTFrå   ræ   r�  rq   )r0   r4   r5   r7   r�   r0   r4   TF)rc   r2   )r   r¹  r   r   r    Úmaybe_produces_warningr
   Ú
isinstanceÚtupleri   r   r?   )r&   r2   r€   ÚmidxrB   rC   rD   r,   r,   r-   Útest_loc_bool_multiindex  s   þûÿÿz.TestDataFrameIndexing.test_loc_bool_multiindexr|  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æ  r0   r   r­   )r|  TF)rè   Úupdate)ÚdeeprÞ  rè   )r   r   r   rF   ri   r    r?   )r&   r|  r€   rB   rD   Ú	update_dfr,   r,   r-   Ú2test_loc_datetime_assignment_dtype_does_not_change  s   ÿüÿzHTestDataFrameIndexing.test_loc_datetime_assignment_dtype_does_not_changezindexer, idxr4   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 )Nre   rf   rë   r1   r0   r4   )r   rG   ro   rw   r    r?   )r&   r€   rA   rB   rÐ  rD   r,   r,   r-   Ú"test_setitem_value_coercing_dtypes3  s
   $$z8TestDataFrameIndexing.test_setitem_value_coercing_dtypes)iÚ__name__Ú
__module__Ú__qualname__r.   rE   rQ   rS   r`   rk   r‡   r“   r#   ÚmarkÚparametrizer™   r�   r¤   r¦   rµ   r¸   r¼   rÏ   rÑ   r×   rà   rï   rô   rû   rü   r  r  r  ÚtdÚskip_array_manager_invalid_testr  r  r  r!  r'  r*  r-  r.  r/  r2  r8  r>  rJ  rO  Úxfailr   rS  rT  rU  rV  rZ  r[  r]  r^  ra  rb  rh  rl  ro  rq  rr  r{  r€  r‰  rŽ  r–  rš  rœ  r¢  r¥  ÚfilterwarningsrG  rH  Úto_numpyr­  r®  r±  r³  rµ  rº  r¾  rÀ  rÁ  r  r   rG   r    rÃ  rÈ  rË  rÏ  rÑ  rÖ  r×  r¡   rÝ  rá  r    ri   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s4J ‚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 smw   Y  |d }t t|ƒtg d¢dd�¡ t |jtt d¡t d¡t d¡gg d¢d�¡ d S )Nr5   )l            l           l   
        rw  r1   rV   rT   rŽ   rg   r�   rX  r   r£  ©r0   r4   rW   r•   Úuint64ÚOrW  r�   )r   rG   r—   rï  Úrenamer;   r    rZ   r   rF   rx   r5  rG  rH  r¥   r   r‘   r2   )r&   rB   rA   r
  rC   r,   r,   r-   rÏ   >  s6   þþþþ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ƒs"J ‚t|jd tjƒs-J ‚|j	d }t|jd tƒs<J ‚t|jd tjƒsGJ ‚|j
ddd�}t|jd tƒsXJ ‚t|jd tjƒscJ ‚| rgd S |j}| ¡  | d¡j}t|d tƒs}J ‚t|d tjƒs‡J ‚|j|jd  }|jd	ks–J ‚| d
¡}t|tƒs¢J ‚|j|jd  }|jdks±J ‚| d
¡}t|tjƒs¾J ‚d S )Nr0   r4   Ú2000r  z1 DayrW  r   )Úaxisr§  r©  rƒ  )r   r   rG  Útimedelta_rangeri   rÚ  rN   r   rÊ  r¥   ÚxsÚ_mgrÚ_rebuild_blknos_and_blklocsÚfast_xsr    ÚblocksÚblknosr2   Úiget)r7  rB   r¬  Úmgrrœ   Ú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   ó>   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Í  ©r0   r0   r0   r0   r0   r0   r0   ©ÚcatsrN   r�   ©r   r   r   )r&   r	  rA   rN   r¡  r,   r,   r-   r¡  ‘  s
   z$TestLocILocDataFrameCategorical.origc                 C   r   )	N©rå   rå   ræ   rå   rå   rå   rå   rå   ræ   r  r  )r0   r0   r4   r0   r0   r0   r0   r  r�   r
  )r&   Úcats1r·  Úvalues1Úexp_single_rowr,   r,   r-   r  ™  ó
   z.TestLocILocDataFrameCategorical.exp_single_rowc                 C   r   )	N©rå   rå   ræ   ræ   rå   rå   rå   rå   ræ   r  r  )r0   r0   r4   r4   r0   r0   r0   r  r�   r
  )r&   Úcats2r¸  Úvalues2Úexp_multi_rowr,   r,   r-   r  ¢  s
   z-TestLocILocDataFrameCategorical.exp_multi_rowc                 C   r   )	Nr  rå   ræ   r  r  r  r  r�   r
  )r&   Úcats3Úidx3Úvalues3Úexp_parts_cats_colr,   r,   r-   r  ¬  r  z2TestLocILocDataFrameCategorical.exp_parts_cats_colc                 C   r   )	Nr  rå   ræ   r  r  r  r  r�   r
  )r&   Úcats4Úidx4Úvalues4Úexp_single_cats_valuer,   r,   r-   r  µ  s   
ÿz5TestLocILocDataFrameCategorical.exp_single_cats_valuer€   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�� ddgddgg||ƒ|d d …f< W d   ƒ d S 1 sPw   Y  d S )Nr4   r7   r$  r£   ræ   r   rq   )	rF   rQ  r    ri   r?   r#   r$   rÓ   Úmsg1)r&   r¡  r  r€   rB   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 r|jd |jd f}d||ƒ|< t ||¡ tjt	t
d�� d||ƒ|< W d   ƒ d S 1 s=w   Y  d S )N)r4   r   r4   r   ræ   r   rq   )rF   r    ri   Úatr   r;   r?   r#   r$   rÓ   r  )r&   r¡  r  r€   rB   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æ   )rF   r   r    ri   r;   r?   )r&   r¡  r  r€   rB   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   ƒ d S 1 sAw   Y  d S )Nr4   ræ   r   rq   )	rF   r    ri   r   r?   r#   r$   rÓ   r  )r&   r¡  r  r€   rB   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 rt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 sRw   Y  ttdƒtd
ƒd�}tj	t
td�� |||ƒ|< W d   ƒ d S 1 szw   Y  d S )Nr4   r7   r   r$  r£   ræ   rå   r  ÚbbÚabcr   Úcc)rF   rQ  r    ri   r;   r   r?   r  r#   r$   rÓ   Úmsg2)	r&   r¡  r  r€   rB   r+   ÚcompatÚsemi_compatÚ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 rtddƒ|jd f}ddg||ƒ|< t ||¡ tjtt	d�� ddg||ƒ|< W d   ƒ d S 1 sCw   Y  d S )	Nr4   r7   r   r$  r£   ræ   r   rq   )
rF   rQ  r    ri   r;   r?   r#   r$   rÓ   r  )r&   r¡  r  r€   rB   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sJ ‚|tju r'||ƒd }n
||ƒd d …df }|jjtks9J ‚d S )NÚ2012r5   r  r   r3   r�   )r   rv   rw   r   r   r2   r    Úgetitem)r&   r€   rA   rB   r¬  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   r0   )rå   )ræ   rÄ  r�  )r]   r   rå   r¯  )r&   rB   rD   rC   r,   r,   r-   Ú test_loc_on_multiindex_one_levelE  s   
þÿ
z@TestLocILocDataFrameCategorical.test_loc_on_multiindex_one_levelN)rã  rä  rå  r#   Úfixturer¡  r  r  r  r  ræ  rç  r    ri   r¥   r  r  Úiatr  r   r!  r)  r*  r,  r-  r.  r,   r,   r,   r-   rÿ  �  s4    


	









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+   r0   rå   c                 C   sZ   t ddgddggddgd�}tjtdd	�� |j|  W d   ƒ d S 1 s&w   Y  d S ©
Nr0   r4   r5   r7   rå   ræ   r:   úas an indexer is not supportedr   ©r   r#   r$   rÓ   ri   ©r&   r+   rB   r,   r,   r-   Ú$test_getitem_dict_and_set_deprecatedS  ó   "ÿz;TestDeprecatedIndexers.test_getitem_dict_and_set_deprecatedr4   rî  c                 C   sf   t ddgddggddgt ddg¡d	�}tjtd
d�� |j|  W d   ƒ d S 1 s,w   Y  d S ©Nr0   r4   r5   r7   rå   ræ   rî  r—  rž   r3  r   ©r   r   r°  r#   r$   rÓ   ri   r5  r,   r,   r-   Ú/test_getitem_dict_and_set_deprecated_multiindex\  ó   ý"ÿzFTestDeprecatedIndexers.test_getitem_dict_and_set_deprecated_multiindexc                 C   sZ   t ddgddggddgd�}tjtdd	�� d|j|< W d   ƒ d S 1 s&w   Y  d S r2  r4  r5  r,   r,   r-   Ú$test_setitem_dict_and_set_disallowedq  r7  z;TestDeprecatedIndexers.test_setitem_dict_and_set_disallowedc                 C   sf   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   ƒ d S 1 s,w   Y  d S r8  r9  r5  r,   r,   r-   Ú/test_setitem_dict_and_set_disallowed_multiindexz  r;  zFTestDeprecatedIndexers.test_setitem_dict_and_set_disallowed_multiindexN)
rã  rä  rå  r#   ræ  rç  r6  r:  r<  r=  r,   r,   r,   r-   r1  R  s>    2ÿ

úþ

2ÿ

úþr1  Ú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 )NrA  r0   re   rB  rF  c                 S   s   | S )Nr,   )rA  r,   r,   r-   rf  ™  rg  z4test_adding_new_conditional_column.<locals>.<lambda>)r   ri   r    r?   )rB   rD   rÎ  r,   r,   r-   Ú"test_adding_new_conditional_column�  s   r?  )r2   Úinfer_stringF©Ú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 s'w   Y  t ddgddgdtd
ƒgdœƒ dd| dœ¡}t ||¡ d S )Nr0   r4   r5   r7   rC  úfuture.infer_stringre   rå   rq   ro   rä   r‹   )r   rG  Úoption_contextri   Úfloatrv   r    r?   )r2   r@  rB   rD   r,   r,   r-   Ú.test_adding_new_conditional_column_with_stringŸ  s   	ÿ 
ÿrF  c                  C   s”   t ddgiƒ} t dd¡� d| j| d dkdf< W d   ƒ n1 s#w   Y  t dgtdgtjtjd�d�d	œtddgd
d�d�}t	 
| |¡ d S )NrA  r0   rC  Tre   rB  rA  r1   rF  rÆ   r:   )r   rG  rD  ri   r   ÚStringDtyperG   ro   r   r    r?   )rB   rD   r,   r,   r-   Ú test_add_new_column_infer_string±  s   ÿþrH  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 s(w   Y  tj||d�� ||j|df< | ¡ }W d   ƒ d S 1 sKw   Y  d S )Nz3Setting an item of incompatible dtype is deprecatedr   r   rå   )rJ   rK   rF   r    rx   r¥   ri   )r&   rB   Úinvalidr€   Úwarnr^   Úorig_dfr,   r,   r-   Ú_check_setitem_invalidÀ  s   

þ
"þz,TestSetitemValidation._check_setitem_invalidy      ð?       @ÚTruere   z1.0rH  r   r0   ©TFFNrJ  rá   r€   c                 C   s(   t dg d¢idd�}|  |||t¡ d S )Nrå   rO  r¡   r1   ©r   rM  r5  )r&   rJ  r€   rB   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|ƒr|tjurt |¡sd }nt}|  ||||¡ d S )Nrå   r3   r1   )r   r   rG  rH  rG   Úisnatr5  rM  )r&   rJ  Úany_int_numpy_dtyper€   rB   rK  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å   )r0   r4   Nr1   rP  )r&   rJ  Úfloat_numpy_dtyper€   rB   r,   r,   r-   Ú$test_setitem_validation_scalar_floatí  s   z:TestSetitemValidation.test_setitem_validation_scalar_float)rã  rä  rå  rM  rG  rH  rG   rI  r‡  Ú_invalid_scalarsrQ  Ú	_indexersr#   ræ  rç  r‹   r�   rQ  rT  rV  r,   r,   r,   r-   rI  ½  s,    ù"	ÿrI  )r>  N)9Úcollectionsr   r   r   Údecimalr   rJ   ÚnumpyrG   r#   Úpandas._configr   Úpandas._libsr   Úpandas.errorsr	   r
   r   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsrè  Úpandas.core.dtypes.commonr   ÚpandasrG  r   r   r   r   r   r   r   r   r   r   r   Úpandas._testingÚ_testingr    r6  r   rí  rþ  r  r%  rÿ  r1  r?  ræ  rç  rw   rG  ro   rF  rH  rI  r,   r,   r,   r-   Ú<module>   sZ    4            $+ C
>þþ