o
    Û­jØé  ã                   @   s 	  d dl mZm Z  d dlmZ d dlZd dlZd dlZd dlm	Z	m
Z
 d dlmZ d dlmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z" d dl#m$Z% d dl&m'Z' G d	d
„ d
ƒZ(G dd„ dƒZ)G dd„ dƒZ*G dd„ dƒZ+G dd„ dƒZ,G dd„ dƒZ-G dd„ dƒZ.dd„ Z/dd„ Z0dd„ Z1dd„ Z2G dd „ d ƒZ3G d!d"„ d"ƒZ4ej5 6d#ej7ee d$d%ƒƒeed$d&ƒej8ed'd(ƒed(d%ƒgd)d*�d$e9d+d,�ej7eg d-¢ƒeej8d'ej8d%ej8d.ej8d/ej8g	ƒe:ddd&ƒdd0d,�ej7eg d1¢ƒeej8d2ej8d3ge;d*�e:ddd&ƒe9d4d,�ej7ee <d5¡ƒeej8ej8ej8ej8ej8d%d6d.d7d/g
ƒe:dd%ƒdd8d,�ej7eg d9¢ƒeej8d&d'gƒd dd:d,�ej7ed3gƒeej8ge;d*�d e9d;d,�ej7ed3d2gƒeej8d2ge;d*�d e9d<d,�g¡G d=d>„ d>e4ƒƒZ=G d?d@„ d@e4ƒZ>G dAdB„ dBe4ƒZ?G dCdD„ dDe4ƒZ@G dEdF„ dFe4ƒZAG dGdH„ dHe4ƒZBej5 6dIeg d9¢ƒeej8d&d'gƒdfeg dJ¢ƒeej8dKdLgƒdfee dMd$d$ƒe dMd$d&ƒe dMd$d'ƒgƒeee dMd$d&ƒe dMd$d'ƒgƒdfeg dN¢ƒeg dO¢ƒdfg¡G dPdQ„ dQe4ƒƒZCG dRdS„ dSe4ƒZDG dTdU„ dUe4ƒZEej5 6dVe dKdLg¡dfe dWdXg¡e9fejd&dY d&dY d$ gejFd*�e9fg¡G dZd[„ d[e4ƒƒZGej5 6d\d]e Hd]¡g¡G d^d_„ d_e4ƒƒZIej5 6d\g d`¢¡G dadb„ dbe4ƒƒZJG dcdd„ dde4ƒZKej5 6dee Ld$¡ejMdfe Hd]¡ejHe9fg¡G dfdg„ dgeKƒƒZNej5 6d\g dh¢¡ej5 6die;g¡G djdk„ dkeKƒƒƒZOej5 6ded$ejPdfdlejPdfdmejPdfd2e;e9fg¡G dndo„ doeKƒƒZQej5 6ded$e;e9fdpe;e9fd'e;e9fdle;e9fdme;e9fd2eRdfg¡G dqdr„ dreKƒƒZSej5 6ded$ejTdfdlejFe9fdmejPe9fd2e;e9fg¡G dsdt„ dteKƒƒZUej5 6ded$ejFdfdlejFdfdmejPe9fd2e;e9fg¡G dudv„ dveKƒƒZVej5 6ded$ejWdfej7dlejWdej5jXe
 �pQe
�oQe	 �oQejY Zdwdx¡dykdzd{�d|�dmejPe9fd2e;e9fe [d&¡ejWdfe \d&¡ejWdfe \e ]ej\¡j^¡ejFe9fe _d&¡ejWdfe Td&¡ejWdfg	¡G d}d~„ d~eKƒƒZ`ej5 6deedƒd€dfd$e;e9fd�e;e9fg¡G d‚dƒ„ dƒeKƒƒZaej5 6deedd„d…�d†dfedd‡d…�d†dfedƒe;e9fd$e;e9fg¡G dˆd‰„ d‰eKƒƒZbej5 6deedŠƒd‹dfd$e;e9fd�e;e9fg¡G dŒd�„ d�eKƒƒZcej5 6d\dŽed�d�d‘�ed$d&d’d“�g¡ej5 6die;g¡G d”d•„ d•eKƒƒƒZdd–d—„ Zed˜d™„ Zfdšd›„ Zgdœd�„ ZhdždŸ„ Zid d¡„ Zjd¢d£„ Zkd¤d¥„ Zld¦d§„ Zmd¨d©„ Zndªd«„ Zoej5 6d¬epd&d6ƒ¡ej5 6d­g d®¢d2d3gd3gg¡ej5 6d¯dKej8e qer¡j^e qer¡jsg¡ej5 6d°d±d²„ d³d²„ d´d²„ g¡dµd¶„ ƒƒƒƒZtd·d¸„ ZudS )¹é    )ÚdateÚdatetime)ÚDecimalN)Únp_version_gt2Únp_version_gte1p24)ÚIndexingError)Úis_list_like)ÚNAÚCategoricalÚ	DataFrameÚDatetimeIndexÚIndexÚIntervalÚIntervalIndexÚ
MultiIndexÚNaTÚPeriodÚSeriesÚ	TimedeltaÚ	TimestampÚarrayÚconcatÚ
date_rangeÚinterval_rangeÚperiod_rangeÚtimedelta_range)ÚBDayc                   @   sV   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zej 	d	g d
¢¡dd„ ƒZ
dd„ Zdd„ ZdS )ÚTestSetitemDT64Valuesc                 C   s€   t tddd�ƒ}d |d< |d tu sJ ‚d |dd…< |d tu s"J ‚tj|d< |d tu s/J ‚tj|dd…< |d tu s>J ‚d S )	Nz1/1/2000é
   ©Úperiodsé   é   é   é   é   )r   r   r   ÚnpÚnan©ÚselfÚseries© r+   úf/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pandas/tests/series/indexing/test_setitem.pyÚtest_setitem_none_nan.   s   
z+TestSetitemDT64Values.test_setitem_none_nanc                 C   s@   t  ddg¡}tddg|d�}| ¡ }d|jg < t ||¡ d S )N)Úaé   )Úbé   r/   r1   ©Úindexr   )r   Úfrom_tuplesr   ÚcopyÚlocÚtmÚassert_series_equal)r)   ÚidxÚresultÚexpectedr+   r+   r,   Ú#test_setitem_multiindex_empty_slice<   s
   
z9TestSetitemDT64Values.test_setitem_multiindex_empty_slicec                 C   sL   t g d¢g d¢td�}t ¡ |d< |jt ¡ ksJ ‚|d t ¡ ks$J ‚d S )N©r/   r1   r!   )ÚDater0   Úother©r3   Údtyper>   )r   Úobjectr   Útodayr>   ©r)   Úserr+   r+   r,   Útest_setitem_with_string_indexD   s   z4TestSetitemDT64Values.test_setitem_with_string_indexc                 C   sP   t dddd�}g d¢}t||d�}| ¡ }tj|d< tj|jd< t ||¡ d S )	NÚ2017r#   ú
US/Eastern©r    Útz)©r   r/   )r   r1   )r   r!   )r   r#   r2   rK   r   )r   r   r5   r&   r'   Úilocr7   r8   )r)   Úarrr3   r:   r;   r+   r+   r,   Ú)test_setitem_tuple_with_datetimetz_valuesL   s   
z?TestSetitemDT64Values.test_setitem_tuple_with_datetimetz_valuesrJ   )rH   ÚUTCz
Asia/Tokyoc                 C   s  t tddd|d�ƒ}|jd|› d�ksJ ‚t td|d�td	|d�td
|d�g|jd�}| ¡ }td|d�||ƒd< t ||¡ t td|d�td|d�gddg|jd�}|jd|› d�ks^J ‚t td|d�td	|d�td|d�g|jd�}| ¡ }|||ƒddg< t ||¡ d S )Nú
2016-01-01Úhr!   ©Úfreqr    rJ   údatetime64[ns, ú]z2016-01-01 00:00©rJ   ú2011-01-01 00:00z2016-01-01 02:00©rA   ú
2011-01-01r/   ú
2012-01-01r1   r@   ú2012-01-01 00:00©r   r   rA   r   r5   r7   r8   )r)   rJ   Úindexer_sliÚorigÚexprE   Úvalsr+   r+   r,   Útest_setitem_with_tzV   s8   


ýú
ý


ýú	z*TestSetitemDT64Values.test_setitem_with_tzc                 C   s  d}t tddd|d�ƒ}|jd|› d�ksJ ‚t td|d	�td
|d	�td|d	�g|jd�}| ¡ }td|d	�||ƒd< t ||¡ t td|d	�td|d	�gddg|jd�}|jd|› d�ks`J ‚t td|d	�td|d	�td|d	�g|jd�}| ¡ }|||ƒddg< t ||¡ d S )NrH   z
2016-11-06rQ   r!   rR   rT   rU   z2016-11-06 00:00-04:00rV   z2011-01-01 00:00-05:00z2016-11-06 01:00-05:00rX   rY   r/   rZ   r1   r@   z2016-11-06 00:00rW   r[   r\   )r)   r]   rJ   r^   r_   rE   r`   r+   r+   r,   Útest_setitem_with_tz_dst~   s:   


ýú
ý


ýú	z.TestSetitemDT64Values.test_setitem_with_tz_dstc                 C   sp   t dtjitd�}dg}tjdgdd�}||j|< t |d gdgtd�}tdd	„ |jD ƒƒs0J ‚t 	||¡ d S )
NÚXrX   Tr#   úM8[ns]r   r@   c                 s   s   � | ]	}t |tjƒV  qd S ©N)Ú
isinstancer&   Ú
datetime64©Ú.0Úxr+   r+   r,   Ú	<genexpr>µ   s   € zYTestSetitemDT64Values.test_object_series_setitem_dt64array_exact_match.<locals>.<genexpr>)
r   r&   r'   rB   r   rL   ÚallÚvaluesr7   r8   )r)   rE   ÚindexerÚvaluer;   r+   r+   r,   Ú0test_object_series_setitem_dt64array_exact_match§   s   
zFTestSetitemDT64Values.test_object_series_setitem_dt64array_exact_matchN)Ú__name__Ú
__module__Ú__qualname__r-   r<   rF   rN   ÚpytestÚmarkÚparametrizera   rb   rp   r+   r+   r+   r,   r   -   s    

')r   c                   @   sd   e Zd Zdd„ Zej dejej	g¡ej dddg¡dd„ ƒƒZ
ej d	d
dejfg¡dd„ ƒZdS )ÚTestSetitemScalarIndexerc              	   C   sš   t dgd dgd d�}d}d}tjt|d��, tjt|d�� d|d< W d   ƒ n1 s.w   Y  W d   ƒ d S W d   ƒ d S 1 sFw   Y  d S )	Nr.   r   r2   z5index -11|-1 is out of bounds for axis 0 with size 10ú;Series.__setitem__ treating keys as positions is deprecated©ÚmatchÚfooiõÿÿÿ)r   rt   ÚraisesÚ
IndexErrorr7   Úassert_produces_warningÚFutureWarning)r)   rE   ÚmsgÚwarn_msgr+   r+   r,   Ú#test_setitem_negative_out_of_bounds»   s   
ÿÿ"ÿz<TestSetitemScalarIndexer.test_setitem_negative_out_of_boundsrn   Ú	ser_indexr   r/   c                 C   sX   t ddgdd�}||ƒ}t dg|gd�|d< t t dg|gd�dgdd�}t ||¡ d S )Nr   rB   rX   é*   r2   ©r   r7   r8   )r)   rn   rƒ   rE   Úidxrr;   r+   r+   r,   Ú test_setitem_series_object_dtypeÅ   s
   z9TestSetitemScalarIndexer.test_setitem_series_object_dtypezindex, exp_value)r   r„   c                 C   s>   t ddgƒ}t dg|gd�|jd< t |dgƒ}t ||¡ d S )Nr   r„   r2   )r   r6   r7   r8   )r)   r3   Ú	exp_valuerE   r;   r+   r+   r,   Útest_setitem_seriesÏ   s   z,TestSetitemScalarIndexer.test_setitem_seriesN)rq   rr   rs   r‚   rt   ru   rv   r7   r6   Úatr‡   r&   r'   r‰   r+   r+   r+   r,   rw   º   s    
rw   c                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚTestSetitemSlicesc                 C   sŽ   d}t jt|jdd�d�� d|dd…< W d   ƒ n1 sw   Y  t jt|jdd�d�� d|d	d…< W d   ƒ d S 1 s@w   Y  d S )
NzUcannot do slice indexing on DatetimeIndex with these indexers \[{key}\] of type floatz4\.0)Úkeyry   r   g      @g      $@z4\.5g      @)rt   r|   Ú	TypeErrorÚformat)r)   Údatetime_seriesr€   r+   r+   r,   Útest_setitem_slice_float_raisesÙ   s   ÿÿ"ÿz1TestSetitemSlices.test_setitem_slice_float_raisesc                 C   sT   t tdƒttdƒƒd�}d|dd …< |dk ¡ sJ ‚d|d d…< |dk ¡ s(J ‚d S )Nr   r2   r   iôÿÿÿr"   )r   ÚrangeÚlistrl   rD   r+   r+   r,   Útest_setitem_sliceä   s
   z$TestSetitemSlices.test_setitem_slicec                 C   s^   t tj d¡ d¡g d¢d�}d|d d…< |d d… dk ¡ s!J ‚|dd … dk ¡ r-J ‚d S )Nr1   é   )r1   r#   r%   r”   r   é   é   é   r2   r   r#   )r   r&   ÚrandomÚdefault_rngÚstandard_normalrl   ÚanyrD   r+   r+   r,   Útest_setitem_slice_integersì   s   þz-TestSetitemSlices.test_setitem_slice_integersc                 C   sP   t tjdtjd�tjdtjd�d�}d|d d d…< |d d d… dk ¡ s&J ‚d S )Né   rX   r2   r   r1   )r   r&   ÚarangeÚfloat64Úint64rl   r(   r+   r+   r,   Útest_setitem_slicestepö   s
   ÿz(TestSetitemSlices.test_setitem_slicestepc                 C   s\   t  ddgtdƒf¡}ttjdtjd�|ƒ}d||ƒd d d…< tg d¢|ƒ}t ||¡ d S )	Nr   r/   Úabcder   rX   éd   r#   )
r£   r/   r1   r!   r£   r"   r%   r$   r£   é	   )	r   Úfrom_productr’   r   r&   rž   r    r7   r8   )r)   r]   Úmir:   r;   r+   r+   r,   Útest_setitem_multiindex_sliceÿ   s
   z/TestSetitemSlices.test_setitem_multiindex_sliceN)rq   rr   rs   r�   r“   rœ   r¡   r§   r+   r+   r+   r,   r‹   Ø   s    
	r‹   c                   @   sŠ   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	e
j deejeg¡dd„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚTestSetitemBooleanMaskc                 C   sV   t ddgddgdd�}t dgdgdd�|ddg< t ddgddgdd�}t ||¡ d S )Nr/   r1   r    r@   r   TFr…   ©r)   rE   r;   r+   r+   r,   Útest_setitem_mask_cast	  s   z-TestSetitemBooleanMask.test_setitem_mask_castc                 C   s    t tj d¡ d¡t ddd¡d� d¡}|dk}| ¡ }||  ¡  t	¡}t
jtdd�� |||< W d   ƒ n1 s<w   Y  | d	d
„ ¡}t
 ||¡ d S )Nr1   r£   r   éÿÿÿÿr2   r"   úitem of incompatible dtypery   c                 S   s   | dkrt | ƒS | S ©Nr   )Ústr)Útr+   r+   r,   Ú<lambda>  s    zLTestSetitemBooleanMask.test_setitem_mask_align_and_promote.<locals>.<lambda>)r   r&   r˜   r™   rš   rž   Úroundr5   Úmapr®   r7   r~   r   r8   )r)   ÚtsÚmaskÚleftÚrightr;   r+   r+   r,   Ú#test_setitem_mask_align_and_promote  s   ÿþÿ
ýz:TestSetitemBooleanMask.test_setitem_mask_align_and_promotec                 C   st   t g d¢ƒ}|dk}||  t¡}tjtdd�� |||< W d   ƒ n1 s'w   Y  t g d¢ƒ}t ||¡ d S )N)r   r/   r1   r   r   r¬   ry   )r   Ú1Ú2r   )r   r²   r®   r7   r~   r   r8   ©r)   rE   r´   Úser2r;   r+   r+   r,   Útest_setitem_mask_promote_strs!  s   ÿ
ýz5TestSetitemBooleanMask.test_setitem_mask_promote_strsc                 C   sD   t g d¢ƒ}t g d¢ƒ}|| }|||< t g d¢ƒ}t ||¡ d S )N)r   r{   Úbarr   )FTTFr…   rº   r+   r+   r,   Útest_setitem_mask_promote-  s   z0TestSetitemBooleanMask.test_setitem_mask_promotec                 C   s”   ||  ¡ k}| ¡ }|d ||< |d }t || || ¡ | ¡ }|d dd… ||< |d dd…  |¡}|| || < t || || ¡ d S )Nr1   r   r"   )Úmedianr5   r7   r8   Úreindex_like)r)   Ústring_seriesr´   r:   r;   r+   r+   r,   Útest_setitem_boolean6  s   z+TestSetitemBooleanMask.test_setitem_booleanc                 C   s”   |}|j dtƒ d�| ¡ k}d}tjt|d�� d||< W d   ƒ n1 s&w   Y  tjt|d�� d|j|< W d   ƒ d S 1 sCw   Y  d S )Nr/   ©rS   zsUnalignable boolean Series provided as indexer \(index of the boolean Series and of the indexed object do not matchry   )Úshiftr   r¿   rt   r|   r   r6   )r)   r�   r³   Úmask_shiftedr€   r+   r+   r,   Útest_setitem_boolean_cornerF  s   ÿ
ÿ"ÿz2TestSetitemBooleanMask.test_setitem_boolean_cornerc                 C   s@   |  ¡ }| ¡ }d||dk< | ¡ }d||dk< t ||¡ d S r­   )Úsort_valuesr5   r7   r8   )r)   rÁ   Úorderedr5   r;   r+   r+   r,   Ú$test_setitem_boolean_different_orderT  s   z;TestSetitemBooleanMask.test_setitem_boolean_different_orderÚfuncc                 C   s@   t g d¢ƒ}|g d¢ƒ}ddg||< t g d¢ƒ}t ||¡ d S )N)Nr0   N©TFTr.   Úc©r.   r0   rÌ   r…   )r)   rÊ   rE   r´   r;   r+   r+   r,   Ú test_setitem_boolean_python_list_  s
   z7TestSetitemBooleanMask.test_setitem_boolean_python_listc                 C   sÂ   t g d¢|d�}t tdƒ|d�||dk< t g d¢|d�}t ||¡ t g d¢|d�}t tdƒ|d�|j|dk< t ||¡ t g d¢|d�}t tdƒ|d�}|j|dk |j|dk< t ||¡ d S )N)r"   r%   r$   r”   rX   r#   r%   )r"   r%   r1   r!   r/   )r   r‘   r7   r8   r6   )r)   Úany_numeric_ea_dtyperE   r;   Úloc_serr+   r+   r,   Ú'test_setitem_boolean_nullable_int_typesh  s   z>TestSetitemBooleanMask.test_setitem_boolean_nullable_int_typesc                 C   st   t d gd ƒ}dgd dgd  dgd  }tdƒ||< |}t d gd ttdƒƒ d gd  td�}t ||¡ d S )Nr   Fr!   Tr"   r1   rX   )r   r‘   r’   rB   r7   r8   )r)   rE   r´   r:   r;   r+   r+   r,   ÚAtest_setitem_with_bool_mask_and_values_matching_n_trues_in_lengthx  s   (zXTestSetitemBooleanMask.test_setitem_with_bool_mask_and_values_matching_n_trues_in_lengthc                 C   sh   t g d¢ƒ}tjtdd�� tj|d< W d   ƒ n1 sw   Y  t tjddgtd�}t ||¡ d S )NrË   r¬   ry   r   FTrX   )r   r7   r~   r   r&   r'   rB   r8   )r)   r:   r;   r+   r+   r,   Útest_setitem_nan_with_bool�  s   ÿýz1TestSetitemBooleanMask.test_setitem_nan_with_boolc           	      C   s  t g d¢dd�}tjg d¢tjd�}t g d¢¡}| ¡ }tjtdd�� t |ƒ||< W d   ƒ n1 s5w   Y  t g d¢ƒ}t ||¡ | ¡ }tjtdd�� |j	||d	d
� W d   ƒ n1 sdw   Y  t ||¡ | ¡ }| 
| t |ƒ¡}t ||¡ d S )Nr=   Úint8rX   )éç  éè  éé  rË   r¬   ry   )rÕ   r1   r×   T©Úinplace)r   r&   r   r    r5   r7   r~   r   r8   r´   Úwhere©	r)   r^   Úaltr´   rE   r;   r»   Úser3Úresr+   r+   r,   Ú!test_setitem_mask_smallint_upcast‹  s*   ÿýÿýz8TestSetitemBooleanMask.test_setitem_mask_smallint_upcastc           	      C   sª   t g d¢dd�}t g d¢tjd�}t g d¢¡}| ¡ }|||< t g d¢dd�}t ||¡ | ¡ }|j||dd� t ||¡ | ¡ }| | |¡}tj||d	d
� d S )Nr=   Úuint8rX   )éõ   rÖ   éö   rË   )rá   r1   râ   TrØ   F)Úcheck_dtype)	r   r&   r    r   r5   r7   r8   r´   rÚ   rÛ   r+   r+   r,   Ú$test_setitem_mask_smallint_no_upcast¤  s   z;TestSetitemBooleanMask.test_setitem_mask_smallint_no_upcastN)rq   rr   rs   rª   r·   r¼   r¾   rÂ   rÆ   rÉ   rt   ru   rv   r’   r&   r   r   rÎ   rÑ   rÒ   rÓ   rß   rä   r+   r+   r+   r,   r¨     s    		
	
r¨   c                   @   ó   e Zd Zdd„ Zdd„ ZdS )ÚTestSetitemViewCopySemanticsc                 C   sÒ   t dddd�}|d }t|ƒ}|j|usJ ‚|r%|jjj|jjju s$J ‚n|jjj|jjjus1J ‚|jdks8J ‚t|jd< |jjd u sEJ ‚|j|usLJ ‚|jjj|jjjusXJ ‚|d |ks`J ‚|jdksgJ ‚d S )NÚ20130101r!   rH   rI   r/   ÚD)	r   r   Ú_valuesÚ_ndarrayÚbaseÚ_datarS   r   rL   ©r)   Úusing_copy_on_writeÚdtir³   rE   r+   r+   r,   Ú,test_setitem_invalidates_datetime_index_freq¼  s   
zITestSetitemViewCopySemantics.test_setitem_invalidates_datetime_index_freqc                 C   sä   t dddd�}|d }t|ƒ}|j|usJ ‚|r4|jjj|jjju s$J ‚|jjd jj|jjju s3J ‚n|jjj|jjjus@J ‚|jjd jj|jjjusOJ ‚|jjd |usYJ ‚t|d d d…< |d tu shJ ‚|d |kspJ ‚d S )NrP   r   ú
US/PacificrI   r   r!   )	r   r   ré   rê   rë   rì   Ú_mgrÚarraysr   rí   r+   r+   r,   Ú'test_dt64tz_setitem_does_not_mutate_dtiÒ  s    zDTestSetitemViewCopySemantics.test_dt64tz_setitem_does_not_mutate_dtiN)rq   rr   rs   rð   rô   r+   r+   r+   r,   ræ   »  s    ræ   c                   @   rå   )ÚTestSetitemCallablec                 C   sD   t g d¢tdƒd�}d|dd„ < t g d¢tdƒd�}t ||¡ d S )N©r/   r1   r!   r#   ÚABCDr2   r«   c                 S   ó   dS )NÚAr+   ©rj   r+   r+   r,   r°   ê  s    z?TestSetitemCallable.test_setitem_callable_key.<locals>.<lambda>)r«   r1   r!   r#   )r   r’   r7   r8   r©   r+   r+   r,   Útest_setitem_callable_keyç  s   z-TestSetitemCallable.test_setitem_callable_keyc                 C   sD   dd„ }t g d¢td�}|||dk < t dd|dgƒ}t ||¡ d S )	Nc                 S   s   | d S ©Nr/   r+   rú   r+   r+   r,   r°   ñ  s    zATestSetitemCallable.test_setitem_callable_other.<locals>.<lambda>)r/   r1   r«   r#   rX   r   r/   r1   r#   )r   rB   r7   r8   )r)   ÚincrE   r;   r+   r+   r,   Útest_setitem_callable_otherï  s
   z/TestSetitemCallable.test_setitem_callable_otherN)rq   rr   rs   rû   rþ   r+   r+   r+   r,   rõ   æ  s    rõ   c                   @   sF  e Zd Zdd„ Zdd„ Zdd„ Zej de	dƒe	dƒ 
¡ e	dƒ ¡ g¡d	d
„ ƒZdd„ Zdd„ Zdd„ Zej deeddddfeeddddfeejddddfeejddddfeedddefeeddddfejeddddfejeddddfejeddddfejeddddfejejddddfejejddddfg¡dd„ ƒZdd„ ZdS )ÚTestSetitemWithExpansionc                 C   s6   t dƒ}ttd�}d||< td|gƒ}t ||¡ d S )NrZ   rX   é/   )r   r   rB   r7   r8   )r)   rŒ   r*   r;   r+   r+   r,   Útest_setitem_empty_seriesü  s
   
z2TestSetitemWithExpansion.test_setitem_empty_seriesc                 C   sj   t g ddd�}tg |td�}tdƒ}d||< tdt |gdd� d¡ƒ}t ||¡ |jj|jjks3J ‚d S )	Nrè   rd   )rS   rA   r@   rZ   r   rÃ   Úns)	r   r   rB   r   Úas_unitr7   r8   r3   rS   )r)   rï   r*   rŒ   r;   r+   r+   r,   Ú6test_setitem_empty_series_datetimeindex_preserves_freq  s   zOTestSetitemWithExpansion.test_setitem_empty_series_datetimeindex_preserves_freqc                 C   sV   t dƒ}t|gdgtd�}|d }tg td�}d|d< ||d< |d }||ks)J ‚d S )Nl    P”iÕ5Ò Ú	timestampr@   rX   g     Àr@Úanything)r   r   rB   )r)   r  r*   r;   r:   r+   r+   r,   Ú3test_setitem_empty_series_timestamp_preserves_dtype  s   zLTestSetitemWithExpansion.test_setitem_empty_series_timestamp_preserves_dtypeÚtdú9 daysc                 C   s¢   |rt |tƒs| tjjdd�¡ td|gddgtd�}tdgƒ}||d< t 	||¡ t |d tƒs4J ‚tdgƒ}tdƒ|j
d< t 	||¡ t |d tƒsOJ ‚d S )Nzinferred as string©Úreasonrj   r   r  r@   r	  )rf   r   Úapplymarkerrt   ru   Úxfailr   rB   r7   r8   r6   )r)   r  Úusing_infer_stringÚrequestr;   rE   r+   r+   r,   Ú#test_append_timedelta_does_not_cast  s   


z<TestSetitemWithExpansion.test_append_timedelta_does_not_castc                 C   sP   t td�}tdƒ|d< d|d< d|d< t tdƒddgg d¢d	�}t ||¡ d S )
NrX   rP   r.   ç      @r0   r{   rÌ   rÍ   r2   )r   rB   r   r7   r8   r©   r+   r+   r,   Ú*test_setitem_with_expansion_type_promotion4  s   
zCTestSetitemWithExpansion.test_setitem_with_expansion_type_promotionc                 C   sL   |  ¡ }d|jvsJ ‚d|d< tdgdgdd�}t||gƒ}t ||¡ d S )NÚfoobarr/   r*   )r3   Úname)r5   r3   r   r   r7   r8   )r)   rÁ   rE   Úappr;   r+   r+   r,   Útest_setitem_not_contained=  s   z3TestSetitemWithExpansion.test_setitem_not_containedc                 C   s8   t ddg|d�}d|d< t g d¢|d�}t ||¡ d S )Nr/   r1   rX   r   )r/   r1   r   r…   )r)   rÏ   rE   r;   r+   r+   r,   Útest_setitem_keep_precisionG  s   z4TestSetitemWithExpansion.test_setitem_keep_precisionz1na, target_na, dtype, target_dtype, indexer, warnÚInt64r/   Nr1   r    rŸ   rB   ÚFloat64c           
      C   s|   t ddg|d�}tj|dd�� |||< W d   ƒ n1 sw   Y  |dkr+d|gndd|g}t ||d�}	t ||	¡ d S )Nr/   r1   rX   úincompatible dtypery   )r   r7   r~   r8   )
r)   ÚnaÚ	target_narA   Útarget_dtypern   ÚwarnrE   Úexpected_valuesr;   r+   r+   r,   Útest_setitem_enlarge_with_naN  s   
ÿz5TestSetitemWithExpansion.test_setitem_enlarge_with_nac                 C   sx   t ddgƒ}||d< |rt|tƒsdnt}t dd|gg d¢|d�}t ||¡ |r2|d tju  d S |d |u s:J ‚d S )Nr.   r0   r!   r®   )r   r/   r!   r@   )r   rf   r   rB   r7   r8   r&   r'   )r)   Únulls_fixturer  rE   rA   r;   r+   r+   r,   Ú$test_setitem_enlargement_object_nonej  s   ÿÿýz=TestSetitemWithExpansion.test_setitem_enlargement_object_none)rq   rr   rs   r  r  r  rt   ru   rv   r   Úto_timedelta64Úto_pytimedeltar  r  r  r  r	   r&   r'   r   r   r   r"  r+   r+   r+   r,   rÿ   û  sB    


ýþ
	
ôþ
rÿ   c               	   C   sx   t  d¡} d| j_t| dd�}|jD ]'}d}tjt|d�� d||< W d   ƒ n1 s,w   Y  | | dks9J ‚qd S )Nr"   F©r5   ú#assignment destination is read-onlyry   r/   r   )	r&   ÚzerosÚflagsÚ	writeabler   r3   rt   r|   Ú
ValueError)r   r*   Únr€   r+   r+   r,   Ú.test_setitem_scalar_into_readonly_backing_data{  s   


ÿûr,  c                  C   sl   t  d¡} d| j_t| dd�}d}tjt|d�� d|dd…< W d   ƒ n1 s)w   Y  |  ¡ r4J ‚d S )Nr"   Fr%  r&  ry   r/   r!   )	r&   r'  r(  r)  r   rt   r|   r*  r›   )r   r*   r€   r+   r+   r,   Ú-test_setitem_slice_into_readonly_backing_dataŠ  s   
ÿr-  c                  C   s@  t tddgddgd�ƒ} |  ¡ }d|d d …< t tddgddgd�ƒ}t ||¡ |  ¡ }d|d< t tddgddgd�ƒ}t ||¡ |  ¡ }d||jdk< t tddgddgd�ƒ}t ||¡ |  ¡ }d|ddg< t tddgddgd�ƒ}t ||¡ |  ¡ }dd	g|_d|d	< t tddgddgd�dd	gd
�}t ||¡ d S )Nr0   r.   ©Ú
categoriesr/   r   FTrj   Úyr2   )r   r
   r5   r7   r8   r3   )r^   rE   r_   r+   r+   r,   Ú&test_setitem_categorical_assigning_ops˜  s,   
 r1  c                  C   sF   t tg d¢ƒƒ} t tdtjdgg d¢d�ƒ}tj| d< t | |¡ d S )Nr=   r/   r!   r.  )r   r
   r&   r'   r7   r8   )rE   r_   r+   r+   r,   Ú!test_setitem_nan_into_categoricalµ  s   
r2  c                   @   sD   e Zd Zej dddg¡ejjdg d¢ed�dd„ ƒƒZd	d
„ ZdS )ÚTestSetitemCastingÚuniqueTFÚval)r!   r  Ú3)Úidsc                 C   s¶   t ddgƒ}|sddg|_tjtdd�� |||ƒd< W d   ƒ n1 s%w   Y  t|jd ƒt|ƒks7J ‚t d|gt|jd�}|sS|tjurSt ||gtddgd�}t ||¡ d S )NTFr/   r  ry   )rA   r3   )	r   r3   r7   r~   r   ÚtyperL   rB   r8   )r)   r5  r]   r4  rE   r;   r+   r+   r,   Útest_setitem_non_bool_into_bool¾  s   
ÿz2TestSetitemCasting.test_setitem_non_bool_into_boolc                 C   sš   t g d¢ƒ}|j}tg d¢ƒ}|d d… |d d…< |j|u s J ‚tjtdd�� |dd … |dd …< W d   ƒ n1 s<w   Y  t |ƒ}t ||¡ d S )NrË   )TFNr1   r  ry   r/   )r   ré   r   r7   r~   r   r8   )r)   rE   rm   rM   r;   r+   r+   r,   Ú&test_setitem_boolean_array_into_npboolÏ  s   ÿz9TestSetitemCasting.test_setitem_boolean_array_into_npboolN)	rq   rr   rs   rt   ru   rv   r8  r9  r:  r+   r+   r+   r,   r3  ½  s
    r3  c                   @   s^   e Zd ZdZejdd„ ƒZdd„ Zdd„ Zdd	„ Z	d
d„ Z
dd„ Zdd„ Zdd„ Zdd„ ZdS )ÚSetitemCastingEquivalentszÓ
    Check each of several methods that _should_ be equivalent to `obj[key] = val`

    We assume that
        - obj.index is the default Index(range(len(obj)))
        - the setitem does not expand the obj
    c                 C   s   |j |j kS )zF
        Whether we expect the setting to be in-place or not.
        rX   )r)   Úobjr;   r+   r+   r,   Ú
is_inplaceç  s   z$SetitemCastingEquivalents.is_inplacec           	      C   s>   |}|  ¡ }|j}|||ƒ|< t ||¡ |  ||||¡ d S re   )r5   ré   r7   r8   Ú_check_inplace)	r)   r<  rŒ   r;   r5  rn   r=  r^   rM   r+   r+   r,   Úcheck_indexerî  s   z'SetitemCastingEquivalents.check_indexerc                 C   sV   |d u rd S |r"|j jdv r|j|jju sJ ‚d S |j|u s J ‚d S t ||j¡ d S )N)ÚmÚM)rA   Úkindrê   ré   r7   Úassert_equal)r)   r=  r^   rM   r<  r+   r+   r,   r>  ø  s   z(SetitemCastingEquivalents._check_inplacec              	   C   sŽ  t |tƒs
t d¡ tj|dd�� |  ||||||¡ W d   ƒ n1 s&w   Y  |tju rStj|dd�� |  ||||tj|¡ W d   ƒ n1 sMw   Y  n'|tj	u rztj|dd�� |  ||||tj
|¡ W d   ƒ n1 suw   Y  t||d ƒ}tj|dd�� |  ||||||¡ W d   ƒ n1 s�w   Y  |tjurÏt||d ƒ}	tj|dd�� |  ||	||||¡ W d   ƒ n1 sÊw   Y  |g}
tj|dd�� |  ||
||||¡ W d   ƒ n1 sîw   Y  t |
¡}tj|dd�� |  ||||||¡ W d   ƒ n	1 �sw   Y  dd„ |fD ƒ}tj|dd�� |  ||||||¡ W d   ƒ d S 1 �s@w   Y  d S )NzNot relevant for int keyr  ry   r/   c                 s   ó   � | ]}|V  qd S re   r+   rh   r+   r+   r,   rk   '  ó   € z9SetitemCastingEquivalents.test_int_key.<locals>.<genexpr>)rf   Úintrt   Úskipr7   r~   r?  r6   rŠ   rL   Úiatr‘   Úslicer&   r   )r)   r<  rŒ   r;   r  r5  r]   r=  ÚrngÚslcÚilkeyÚindkeyÚgenkeyr+   r+   r,   Útest_int_key  sF   

ÿ
ÿ€
ÿÿ
ÿÿ
ÿ$ÿz&SetitemCastingEquivalents.test_int_keyc              	   C   sX  t |tƒs
t d¡ |tjur0tj|dd�� |  ||||||¡ W d   ƒ n1 s+w   Y  tt	t
|ƒƒƒ| }tj|dd�� |  ||||||¡ W d   ƒ n1 sVw   Y  t |¡}	tj|dd�� |  ||	||||¡ W d   ƒ n1 s|w   Y  dd„ |	D ƒ}
tj|dd�� |  ||
||||¡ W d   ƒ d S 1 s¥w   Y  d S )NzNot relevant for slice keyr  ry   c                 s   rD  re   r+   rh   r+   r+   r,   rk   <  rE  z;SetitemCastingEquivalents.test_slice_key.<locals>.<genexpr>)rf   rI  rt   rG  r7   r6   r~   r?  r’   r‘   Úlenr&   r   )r)   r<  rŒ   r;   r  r5  r]   r=  rL  rM  rN  r+   r+   r,   Útest_slice_key+  s$   


ÿÿ
ÿ"ÿz(SetitemCastingEquivalents.test_slice_keyc           	      C   sÆ   t j|jtd�}d||< | ¡ }t|ƒr>t|ƒ| ¡ k r>d}tj	t
|d�� |||ƒ|< W d   ƒ d S 1 s7w   Y  d S tj|dd�� |||ƒ|< W d   ƒ n1 sVw   Y  t ||¡ d S )NrX   Tz9boolean index did not match indexed array along dimensionry   r  )r&   r'  ÚshapeÚboolr5   r   rP  Úsumrt   r|   r}   r7   r~   r8   )	r)   r<  rŒ   r;   r  r5  r]   r´   r€   r+   r+   r,   Útest_mask_key@  s   
ÿþÿz'SetitemCastingEquivalents.test_mask_keyc                 C   s  t j|jtd�}d||< t|ƒr;t|ƒt|ƒk r;d}tjt|d�� | 	| |¡ W d   ƒ d S 1 s4w   Y  d S |}	| 
¡ }|j}
| 	| |¡}|tu rZ|jtkrZ| t¡}n|d u rt|jtkrt|jtksjJ ‚| 
¡ }d || ¡ < t ||¡ |  ||	|
|¡ d S )NrX   Tz4operands could not be broadcast together with shapesry   )r&   r'  rR  rS  r   rP  rt   r|   r*  rÚ   r5   ré   r	   rA   rB   ÚfillnaÚisnar7   r8   r>  )r)   r<  rŒ   r;   r  r5  r=  r´   r€   r^   rM   rÞ   r+   r+   r,   Útest_series_whereQ  s,   
ÿþz+SetitemCastingEquivalents.test_series_wherec           	      C   sN   t j|jtd�}d||< t||jd� | |¡}t||jd�}t ||¡ d S ©NrX   T)	r&   r'  rR  rS  r   rA   rÚ   r7   Úassert_index_equal)	r)   r<  rŒ   r;   r  r5  r´   rÞ   Úexpected_idxr+   r+   r,   Útest_index_wherel  s
   z*SetitemCastingEquivalents.test_index_wherec                 C   sH   t j|jtd�}d||< t||jd� ||¡}t |t||jd�¡ d S rY  )	r&   r'  rR  rS  r   rA   Úputmaskr7   rZ  )r)   r<  rŒ   r;   r  r5  r´   rÞ   r+   r+   r,   Útest_index_putmaskt  s   z,SetitemCastingEquivalents.test_index_putmaskN)rq   rr   rs   Ú__doc__rt   Úfixturer=  r?  r>  rO  rQ  rU  rX  r\  r^  r+   r+   r+   r,   r;  Þ  s    

$r;  zobj,expected,key,warnr/   r"   r1   r!   r#   zinterval[float64]rX   Úinterval_int_na_value)Úid)	r1   r!   r#   r"   r%   r$   r”   r¤   r   r$   r¤   Úint_series_slice_key_step)TTFFTFÚbool_series_slice_key_stepr   r%   r”   Úint_series_slice_keyr=   Úint_series_int_keyÚbool_series_int_key_change_allÚbool_series_int_keyc                   @   s0   e Zd Zejeje d¡degd�dd„ ƒZ	dS )ÚTestSetitemCastingEquivalentsÚNaNN©Úparamsc                 C   ó   |j S )z·
        NA values that should generally be valid_na for *all* dtypes.

        Include both python float NaN and np.float64; only np.float64 has a
        `dtype` attribute.
        ©Úparam©r)   r  r+   r+   r,   r5  ¾  s   z!TestSetitemCastingEquivalents.val)
rq   rr   rs   rt   r`  r&   r'   rŸ   r	   r5  r+   r+   r+   r,   ri  |  s    Bri  c                   @   sl   e Zd Zejdd„ ƒZejeeegd�dd„ ƒZ	ejdd„ ƒZ
ejdd	„ ƒZejd
d„ ƒZejdd„ ƒZdS )Ú!TestSetitemTimedelta64IntoNumericc                 C   s   t  dd¡}|S )Nr#   r  )r&   Útimedelta64)r)   r  r+   r+   r,   r5  Í  s   z%TestSetitemTimedelta64IntoNumeric.valrk  c                 C   rm  re   rn  rp  r+   r+   r,   rA   Ó  ó   z'TestSetitemTimedelta64IntoNumeric.dtypec                 C   s   t  d¡ |¡}t|ƒ}|S )Nr"   )r&   rž   Úastyper   ©r)   rA   rM   rE   r+   r+   r,   r<  ×  s   z%TestSetitemTimedelta64IntoNumeric.objc                 C   s8   t  d¡ |¡}t|ƒ}| t¡}t  dd¡|jd< |S )Nr"   r#   r  r   )r&   rž   rt  r   rB   rr  rL   ru  r+   r+   r,   r;   Ý  s
   
z*TestSetitemTimedelta64IntoNumeric.expectedc                 C   rø   r­   r+   ©r)   r+   r+   r,   rŒ   å  ó   z%TestSetitemTimedelta64IntoNumeric.keyc                 C   ó   t S re   ©r   rv  r+   r+   r,   r  é  rw  z&TestSetitemTimedelta64IntoNumeric.warnN)rq   rr   rs   rt   r`  r5  ÚcomplexrF  ÚfloatrA   r<  r;   rŒ   r  r+   r+   r+   r,   rq  É  s    




rq  c                   @   s†   e Zd Zejddgd�dd„ ƒZejdd„ ƒZejdd	„ ƒZejd
d„ ƒZejdd„ ƒZ	ejde
ejgd�dd„ ƒZejdd„ ƒZdS )ÚTestSetitemDT64IntoIntrd   úm8[ns]rk  c                 C   rm  re   rn  rp  r+   r+   r,   rA   ñ  rs  zTestSetitemDT64IntoInt.dtypec                 C   s    t  dd¡}|dkr|| }|S )Nz2021-01-18 13:25:00r  r}  )r&   rg   )r)   rA   r5  r+   r+   r,   Úscalarõ  s   zTestSetitemDT64IntoInt.scalarc                 C   s,   t ||dgtd�}t|d t|ƒƒsJ ‚|S )Nr!   rX   r   )r   rB   rf   r8  )r)   r~  r;   r+   r+   r,   r;   ü  s   zTestSetitemDT64IntoInt.expectedc                 C   ó   t g d¢ƒS )Nr=   ©r   rv  r+   r+   r,   r<    ó   zTestSetitemDT64IntoInt.objc                 C   s
   t d dƒS )Nr«   ©rI  rv  r+   r+   r,   rŒ     ó   
zTestSetitemDT64IntoInt.keyNc                 C   s   |j }|d u r	|S |||gƒS re   rn  )r)   r~  r  Úboxr+   r+   r,   r5  
  s   zTestSetitemDT64IntoInt.valc                 C   rx  re   ry  rv  r+   r+   r,   r    rw  zTestSetitemDT64IntoInt.warn)rq   rr   rs   rt   r`  rA   r~  r;   r<  rŒ   r’   r&   r   r5  r  r+   r+   r+   r,   r|  î  s    





r|  c                   @   sn   e Zd Zejdd„ ƒZejdd„ ƒZejdeddƒgd�dd	„ ƒZejd
e	j
gd�dd„ ƒZejdd„ ƒZd
S )ÚTestSetitemNAPeriodDtypec                 C   sN   t tdddd�ƒ}tj|j d¡|< || tu s%tdd„ || D ƒƒs%J ‚|S )Nú
2000-01-01r   rè   ©r    rS   Úi8c                 s   s   � | ]}|t u V  qd S re   )r   rh   r+   r+   r,   rk     s   € z4TestSetitemNAPeriodDtype.expected.<locals>.<genexpr>)r   r   r   Ú_valueré   Úviewrl   )r)   rŒ   r_   r+   r+   r,   r;     s   &z!TestSetitemNAPeriodDtype.expectedc                 C   ó   t tdddd�ƒS )Nr†  r   rè   r‡  )r   r   rv  r+   r+   r,   r<     ó   zTestSetitemNAPeriodDtype.objr!   r"   rk  c                 C   rm  re   rn  rp  r+   r+   r,   rŒ   $  rs  zTestSetitemNAPeriodDtype.keyNc                 C   rm  re   rn  rp  r+   r+   r,   r5  (  rs  zTestSetitemNAPeriodDtype.valc                 C   ó   d S re   r+   rv  r+   r+   r,   r  ,  rw  zTestSetitemNAPeriodDtype.warn)rq   rr   rs   rt   r`  r;   r<  rI  rŒ   r&   r'   r5  r  r+   r+   r+   r,   r…    s    



r…  c                	   @   sš   e Zd Zejg d¢d�dd„ ƒZejdd„ ƒZejdeje	e 
dd	¡e dd	¡gd�d
d„ ƒZejdd„ ƒZejdd„ ƒZejdd„ ƒZejdd„ ƒZdS )ÚTestSetitemNADatetimeLikeDtype)r}  rd   zdatetime64[ns, UTC]zdatetime64[ns, US/Central]rk  c                 C   rm  re   rn  rp  r+   r+   r,   rA   7  s   z$TestSetitemNADatetimeLikeDtype.dtypec                 C   s0   t ddd�j}t||d�}|j|ksJ ‚t|ƒS )NrP   r!   r   rX   )r   Úasi8r   rA   r   )r)   rA   Úi8valsr9   r+   r+   r,   r<  =  s   z"TestSetitemNADatetimeLikeDtype.objNr   r  c                 C   rm  re   rn  rp  r+   r+   r,   r5  D  s   
z"TestSetitemNADatetimeLikeDtype.valc                 C   s&   |t u p|d u p|tju p|j|jkS re   )r   r&   r'   rA   )r)   r5  r<  r+   r+   r,   r=  P  s   &z)TestSetitemNADatetimeLikeDtype.is_inplacec                 C   s0   |r|j nt}t|gt|dd … ƒ |d�}|S )Nr/   rX   )rA   rB   r   r’   )r)   r<  r5  r=  rA   r;   r+   r+   r,   r;   W  s   z'TestSetitemNADatetimeLikeDtype.expectedc                 C   rø   r­   r+   rv  r+   r+   r,   rŒ   ]  rw  z"TestSetitemNADatetimeLikeDtype.keyc                 C   s   |rd S t S re   ry  )r)   r=  r+   r+   r,   r  a  r�  z#TestSetitemNADatetimeLikeDtype.warn)rq   rr   rs   rt   r`  rA   r<  r&   r'   r   rr  rg   r5  r=  r;   rŒ   r  r+   r+   r+   r,   rŽ  1  s0    ÿ



ûÿ
	


rŽ  c                   @   óR   e Zd Zejdd„ ƒZejdd„ ƒZejdd„ ƒZejdd„ ƒZejd	d
„ ƒZ	dS )Ú$TestSetitemMismatchedTZCastsToObjectc                 C   r‹  )NÚ2000r1   ú
US/CentralrI   ©r   r   rv  r+   r+   r,   r<  h  rŒ  z(TestSetitemMismatchedTZCastsToObject.objc                 C   s   t ddd�S )Nr“  rH   rV   )r   rv  r+   r+   r,   r5  l  r�  z(TestSetitemMismatchedTZCastsToObject.valc                 C   rø   r­   r+   rv  r+   r+   r,   rŒ   p  rw  z(TestSetitemMismatchedTZCastsToObject.keyc                 C   s$   t | d¡tddd�g|jd�}|S )Nr”  z2000-01-02 00:00:00-06:00rV   rX   )r   Ú
tz_convertr   rA   )r)   r<  r5  r;   r+   r+   r,   r;   t  s   
þûz-TestSetitemMismatchedTZCastsToObject.expectedc                 C   r�  re   r+   rv  r+   r+   r,   r  �  rw  z)TestSetitemMismatchedTZCastsToObject.warnN©
rq   rr   rs   rt   r`  r<  r5  rŒ   r;   r  r+   r+   r+   r,   r’  f  s    



r’  zobj,expected,warn)ç      ð?ç       @r  r™  r  iÐ  )r{   r½   Úbaz)Nr½   rš  c                   @   ó(   e Zd Zejdd„ ƒZejdd„ ƒZdS )ÚTestSeriesNoneCoercionc                 C   rø   r­   r+   rv  r+   r+   r,   rŒ   —  rw  zTestSeriesNoneCoercion.keyc                 C   r�  re   r+   rv  r+   r+   r,   r5  ›  rw  zTestSeriesNoneCoercion.valN)rq   rr   rs   rt   r`  rŒ   r5  r+   r+   r+   r,   rœ  †  s
    
rœ  c                   @   sZ   e Zd Zdd„ Zejdd„ ƒZejdd„ ƒZejdd„ ƒZejd	d
„ ƒZ	ejdd„ ƒZ
dS )Ú-TestSetitemFloatIntervalWithIntIntervalValuesc                 C   sh   t  tdƒ¡}t|ƒ}tddƒ}tjtdd�� ||d< W d   ƒ n1 s&w   Y  |jdks2J ‚d S )Nr#   ç      à?ç      ø?z%Setting an item of incompatible dtypery   r   zInterval[float64, right])	r   Úfrom_breaksr‘   r   r   r7   r~   r   rA   )r)   r9   r<  r5  r+   r+   r,   Útest_setitem_example£  s   
ÿ
ýzBTestSetitemFloatIntervalWithIntIntervalValues.test_setitem_examplec                 C   s   t  tdƒ¡}t|ƒS )Nr#   )r   r   r‘   r   )r)   r9   r+   r+   r,   r<  ¯  s   z1TestSetitemFloatIntervalWithIntIntervalValues.objc                 C   ó
   t ddƒS )Nrž  rŸ  )r   rv  r+   r+   r,   r5  ´  rƒ  z1TestSetitemFloatIntervalWithIntIntervalValues.valc                 C   rø   r­   r+   rv  r+   r+   r,   rŒ   ¸  rw  z1TestSetitemFloatIntervalWithIntIntervalValues.keyc                 C   s*   |gt |dd … ƒ }t|dd�}t|ƒS )Nr/   zInterval[float64]rX   )r’   r   r   )r)   r<  r5  Údatar9   r+   r+   r,   r;   ¼  s   z6TestSetitemFloatIntervalWithIntIntervalValues.expectedc                 C   rx  re   ry  rv  r+   r+   r,   r  Â  rw  z2TestSetitemFloatIntervalWithIntIntervalValues.warnN)rq   rr   rs   r¡  rt   r`  r<  r5  rŒ   r;   r  r+   r+   r+   r,   r�     s    



r�  c                   @   r‘  )Ú!TestSetitemRangeIntoIntegerSeriesc                 C   s   t  |¡}ttdƒ|d�}|S ©Nr"   rX   )r&   rA   r   r‘   )r)   Úany_int_numpy_dtyperA   rE   r+   r+   r,   r<  Ë  ó   
z%TestSetitemRangeIntoIntegerSeries.objc                 C   r¢  )Nr1   r#   )r‘   rv  r+   r+   r,   r5  Ñ  rƒ  z%TestSetitemRangeIntoIntegerSeries.valc                 C   r¢  ©Nr   r1   r‚  rv  r+   r+   r,   rŒ   Õ  rƒ  z%TestSetitemRangeIntoIntegerSeries.keyc                 C   s   t  |¡}tg d¢|d�}|S )N)r1   r!   r1   r!   r#   rX   )r&   rA   r   )r)   r¦  rA   r_   r+   r+   r,   r;   Ù  r§  z*TestSetitemRangeIntoIntegerSeries.expectedc                 C   r�  re   r+   rv  r+   r+   r,   r  ß  rw  z&TestSetitemRangeIntoIntegerSeries.warnNr—  r+   r+   r+   r,   r¤  Ç  s    



r¤  z	val, warnç      @g      @éA   c                   @   s6   e Zd Zejdd„ ƒZejdd„ ƒZejdd„ ƒZdS )Ú(TestSetitemFloatNDarrayIntoIntegerSeriesc                 C   s   t tdƒtjd�S r¥  )r   r‘   r&   r    rv  r+   r+   r,   r<  ð  rŒ  z,TestSetitemFloatNDarrayIntoIntegerSeries.objc                 C   r¢  r¨  r‚  rv  r+   r+   r,   rŒ   ô  rƒ  z,TestSetitemFloatNDarrayIntoIntegerSeries.keyc                 C   s@   |d dkr
t j}nt j}t jtdƒ|d�}||d d…< t|ƒS )Nr   r1   r"   rX   )r&   r    rŸ   r   r‘   r   )r)   r5  rA   Ú
res_valuesr+   r+   r,   r;   ø  s   z1TestSetitemFloatNDarrayIntoIntegerSeries.expectedN)rq   rr   rs   rt   r`  r<  rŒ   r;   r+   r+   r+   r,   r«  ä  s    

r«  r5  é   c                   @   óD   e Zd Zejdd„ ƒZejdd„ ƒZejdd„ ƒZejdd„ ƒZd	S )
Ú'TestSetitemIntoIntegerSeriesNeedsUpcastc                 C   ó   t g d¢tjd�S )Nr=   rX   ©r   r&   rÔ   rv  r+   r+   r,   r<    rŒ  z+TestSetitemIntoIntegerSeriesNeedsUpcast.objc                 C   rø   rü   r+   rv  r+   r+   r,   rŒ   
  rw  z+TestSetitemIntoIntegerSeriesNeedsUpcast.keyc                 C   r°  )N)r/   r­  r!   rX   )r   r&   Úint16rv  r+   r+   r,   r;     rŒ  z0TestSetitemIntoIntegerSeriesNeedsUpcast.expectedc                 C   rx  re   ry  rv  r+   r+   r,   r    rw  z,TestSetitemIntoIntegerSeriesNeedsUpcast.warnN©	rq   rr   rs   rt   r`  r<  rŒ   r;   r  r+   r+   r+   r,   r¯    s    


r¯  )g      BgÍÌ    Bl            c                   @   r®  )
ÚTestSmallIntegerSetitemUpcastc                 C   s   t g d¢dd�S )Nr=   Úi4rX   r€  rv  r+   r+   r,   r<    ó   z!TestSmallIntegerSetitemUpcast.objc                 C   rø   r­   r+   rv  r+   r+   r,   rŒ     rw  z!TestSmallIntegerSetitemUpcast.keyc                 C   s(   |d dkr	d}nd}t |ddg|d�S )Nr/   r   Úf8rˆ  r1   r!   rX   r€  )r)   r5  rA   r+   r+   r,   r;   "  s   z&TestSmallIntegerSetitemUpcast.expectedc                 C   rx  re   ry  rv  r+   r+   r,   r  *  rw  z"TestSmallIntegerSetitemUpcast.warnNr³  r+   r+   r+   r,   r´    s    


r´  c                   @   r›  )ÚCoercionTestc                 C   rø   rü   r+   rv  r+   r+   r,   rŒ   2  rw  zCoercionTest.keyc                 C   s   t |ƒ}|||< t||d�S )NrX   )r’   r   )r)   r<  rŒ   r5  Ú	exp_dtyper`   r+   r+   r,   r;   6  s   zCoercionTest.expectedN)rq   rr   rs   rt   r`  rŒ   r;   r+   r+   r+   r,   r¸  /  s
    
r¸  zval,exp_dtype,warnc                   @   ó   e Zd Zejdd„ ƒZdS )ÚTestCoercionInt8c                 C   r°  )Nrö   rX   r±  rv  r+   r+   r,   r<  C  rŒ  zTestCoercionInt8.objN©rq   rr   rs   rt   r`  r<  r+   r+   r+   r,   r»  =  s    r»  )r/   çš™™™™™ñ?ù      ð?      ð?Tr¹  c                   @   r›  )ÚTestCoercionObjectc                 C   ó   t g d¢td�S )N)r.   r0   rÌ   ÚdrX   )r   rB   rv  r+   r+   r,   r<  L  r¶  zTestCoercionObject.objc                 C   r�  re   r+   rv  r+   r+   r,   r  P  rw  zTestCoercionObject.warnN©rq   rr   rs   rt   r`  r<  r  r+   r+   r+   r,   r¿  H  s
    
r¿  r½  r¾  c                   @   rº  )ÚTestCoercionComplexc                 C   r  )N)r¾  y       @       @y      @      @y      @      @r€  rv  r+   r+   r,   r<  `  r�  zTestCoercionComplex.objNr¼  r+   r+   r+   r,   rÃ  U  ó    rÃ  r6  c                   @   rº  )ÚTestCoercionBoolc                 C   rÀ  )N)TFTFrX   )r   rS  rv  r+   r+   r,   r<  r  r¶  zTestCoercionBool.objNr¼  r+   r+   r+   r,   rÅ  e  s    rÅ  c                   @   rº  )ÚTestCoercionInt64c                 C   r  )Nrö   r€  rv  r+   r+   r,   r<  ‚  r�  zTestCoercionInt64.objNr¼  r+   r+   r+   r,   rÆ  w  rÄ  rÆ  c                   @   rº  )ÚTestCoercionFloat64c                 C   r  )N©r½  gš™™™™™@gffffff
@gš™™™™™@r€  rv  r+   r+   r,   r<  ’  r�  zTestCoercionFloat64.objNr¼  r+   r+   r+   r,   rÇ  ‡  rÄ  rÇ  ÚNPY_PROMOTION_STATEÚlegacyÚweakzbnp.float32(1.1) ends up as 1.100000023841858, so np_can_hold_element raises and we cast to float64r
  )Úmarksc                       s*   e Zd Zejdd„ ƒZ‡ fdd„Z‡  ZS )ÚTestCoercionFloat32c                 C   r°  )NrÈ  rX   )r   r&   Úfloat32rv  r+   r+   r,   r<  ¹  rŒ  zTestCoercionFloat32.objc              	      s.   t ƒ  |||||||¡ t|tƒrtdƒ‚d S )Nz!xfail not relevant for this test.)ÚsuperrQ  rf   r{  ÚAssertionError)r)   r<  rŒ   r;   r  r5  r]   r=  ©Ú	__class__r+   r,   rQ  ½  s   
þz"TestCoercionFloat32.test_slice_key)rq   rr   rs   rt   r`  r<  rQ  Ú__classcell__r+   r+   rÑ  r,   rÍ  —  s    "
rÍ  rZ   zdatetime64[ns]rj   c                   @   r›  )ÚTestCoercionDatetime64c                 C   r‹  )NrY   rè   r#   )rS   r    r•  rv  r+   r+   r,   r<  Ð  rŒ  zTestCoercionDatetime64.objc                 C   r�  re   r+   rv  r+   r+   r,   r  Ô  rw  zTestCoercionDatetime64.warnNrÂ  r+   r+   r+   r,   rÔ  Å  s
    
rÔ  rH   rV   zdatetime64[ns, US/Eastern]rñ   c                   @   r›  )ÚTestCoercionDatetime64TZc                 C   s   d}t tddd|d�ƒS )NrH   rY   rè   r#   rR   r•  )r)   rJ   r+   r+   r,   r<  å  s   zTestCoercionDatetime64TZ.objc                 C   r�  re   r+   rv  r+   r+   r,   r  ê  rw  zTestCoercionDatetime64TZ.warnNrÂ  r+   r+   r+   r,   rÕ  Ù  s
    
rÕ  z12 dayztimedelta64[ns]c                   @   r›  )ÚTestCoercionTimedelta64c                 C   s   t tddd�ƒS )Nz1 dayr#   r   )r   r   rv  r+   r+   r,   r<  ù  r¶  zTestCoercionTimedelta64.objc                 C   r�  re   r+   rv  r+   r+   r,   r  ý  rw  zTestCoercionTimedelta64.warnNrÂ  r+   r+   r+   r,   rÖ  ï  s
    

rÖ  r{   Ú2016ÚYrÃ   Úboth)Úclosedc                   @   sB   e Zd Zejedddd�eddƒgd�dd	„ ƒZejd
d„ ƒZdS )ÚTestPeriodIntervalCoercionrP   r!   rè   r‡  r/   r"   rk  c                 C   s
   t |jƒS re   )r   ro  rp  r+   r+   r,   r<    s   
zTestPeriodIntervalCoercion.objc                 C   rx  re   ry  rv  r+   r+   r,   r    rw  zTestPeriodIntervalCoercion.warnN)	rq   rr   rs   rt   r`  r   r   r<  r  r+   r+   r+   r,   rÛ    s    þÿ
rÛ  c                  C   sð  t g d¢g d¢d�} t g d¢g d¢d�}|  ¡ }tjtdd�� d|jd< W d   ƒ n1 s/w   Y  t ||¡ |  ¡ }tjtdd�� d|jd< W d   ƒ n1 sUw   Y  t ||¡ |  ¡ }tjtdd�� d|d< W d   ƒ n1 szw   Y  t ||¡ |  ¡ }tjtdd�� d|jd	< W d   ƒ n1 s w   Y  t ||¡ |  ¡ }tjtdd�� d|j	d	< W d   ƒ n1 sÆw   Y  t ||¡ |  
d
¡}| 
d
¡}| ¡ }tjtdd�� d|jd< W d   ƒ n1 söw   Y  t ||¡ | ¡ }tjtdd�� d|jd< W d   ƒ n	1 �sw   Y  t ||¡ | ¡ }tjtdd�� d|j	d< W d   ƒ n	1 �sDw   Y  t ||¡ | ¡ }tjtdd�� d|jd< W d   ƒ n	1 �skw   Y  t ||¡ d S )N©r   r/   r1   rÍ   r2   )r   çš™™™™™@r1   r  ry   rÝ  r0   r/   rù   )r0   rù   )r/   r   )r   r5   r7   r~   r   rŠ   r8   r6   rH  rL   Úto_frameÚassert_frame_equal)r^   r;   rE   Úorig_dfÚexpected_dfÚdfr+   r+   r,   Ú
test_20643  sb   ÿÿ
ÿÿÿ

ÿÿÿÿrã  c                  C   sl   t g d¢g d¢d�} t tjddgg d¢d�}|  ¡ }d |jd< t ||¡ |  ¡ }d |jd< t ||¡ d S )NrÜ  rÍ   r2   r/   r1   r   )r   r&   r'   r5   rH  r7   r8   rL   )r^   r;   rE   r+   r+   r,   Útest_20643_commentM  s   

rä  c                  C   s"  t g d¢ƒ} tjtdd�� | | dk  d7  < W d   ƒ n1 s"w   Y  t g d¢ƒ}t | |¡ t g d¢ƒ} tjtdd�� | d  d7  < W d   ƒ n1 sSw   Y  t | |¡ t g d¢ƒ} tjtdd�� | jd  d7  < W d   ƒ n1 sw   Y  t | |¡ t g d¢ƒ} tjtdd�� | jd  d7  < W d   ƒ n1 s«w   Y  t | |¡ t g d¢ƒ} tjtdd�� | jd  d7  < W d   ƒ n1 s×w   Y  t | |¡ t g d¢ƒ} tjtdd�� | jd  d7  < W d   ƒ n	1 �sw   Y  t | |¡ d S )Nr=   r  ry   r1   rž  )r/   r©  r!   r/   )	r   r7   r~   r   r8   r6   rL   rH  rŠ   )rE   r;   r+   r+   r,   Ú
test_15413\  s>   ÿÿÿÿÿÿrå  c                  C   sŠ   t  d¡ d¡} t| ƒ}t  t  t j¡j¡}tjt	dd�� ||d< W d   ƒ n1 s,w   Y  t|dddd	gt jd
�}t 
||¡ d S )Nr"   rµ  r  ry   r   r/   r1   r!   r#   rX   )r&   rž   rt  r   r    ÚiinfoÚmaxr7   r~   r   r8   ©rM   rE   r5  r;   r+   r+   r,   Útest_32878_int_itemsize  s   
ÿré  c                  C   sœ   t  d¡ d¡} t| ƒ}t  t j¡j}| d¡}tjt	dd�� ||d< W d   ƒ n1 s.w   Y  |d |ks;J ‚t|ddd	d
gdd�}t 
||¡ d S )Nr"   Úc8Úc16r  ry   r   r/   r1   r!   r#   rX   )r&   rž   rt  r   ÚfinforŸ   rç  r7   r~   r   r8   rè  r+   r+   r,   Útest_32878_complex_itemsizeŠ  s   

ÿrí  c                 C   st   t g d¢g d¢d�}tjtdd�� d| |ƒd< W d   ƒ n1 s"w   Y  t g d¢g d¢td	�}t ||¡ d S )
Nr=   rÍ   r2   r  ry   Útestr0   )r/   rî  r!   r@   ©r   r7   r~   r   rB   r8   )Ú
indexer_alrE   r;   r+   r+   r,   Ú
test_37692˜  s   ÿrñ  c              	   C   s&  t jt jfD ]\}tdtdƒ|d�}tjtdd�� d| |ƒd< W d   ƒ n1 s)w   Y  |jt	ks5J ‚tdtdƒt
d�}tjtdd�� |dƒ|d< W d   ƒ n1 sVw   Y  |jt	ksbJ ‚qtdtdƒt jd�}t  d¡| |ƒd< |jt jks~J ‚tdtdƒt jd�}t  d¡| |ƒd< d S )	Nr   r!   r@   r  ry   Tr/   r˜  )r&   rŸ   r    r   r‘   r7   r~   r   rA   rB   rS  )r]   rA   rE   r+   r+   r,   Ú'test_setitem_bool_int_float_consistency¡  s    ÿÿrò  c                  C   st   t g d¢g d¢d�} d}tjt|d�� d| d< W d   ƒ n1 s"w   Y  t g d¢g d¢td	�}t | |¡ d S )
Nr=   rÍ   r2   rx   ry   rc   r   )rc   r1   r!   r@   rï  ©rE   r�   r;   r+   r+   r,   Ú$test_setitem_positional_with_casting»  s   
ÿrô  c                  C   sr   t g d¢g d¢d�} d}tjt|d�� d| d< W d   ƒ n1 s"w   Y  t g d¢g d¢d�}t | |¡ d S )	Nr=   rÍ   r2   rx   ry   rŸ  r   )rŸ  r1   r!   )r   r7   r~   r   r8   ró  r+   r+   r,   Ú.test_setitem_positional_float_into_int_coercesÇ  s   
ÿrõ  c            	      C   s&  t g d¢g d¢d�} | jjrJ ‚d| d< t g d¢| jd�}t | |¡ d| d< t g d¢g d	¢d�}t | |¡ t tdƒ¡d d d
… }t tt|ƒƒ|d�}| 	t
¡ tdgƒ¡}t g d¢|d�}d|d< t ||¡ t | jddgg¡}t tt|ƒƒ|d�}| ¡ }d|jd< d|d< t ||¡ d S )Nrö   )r½  çÍÌÌÌÌÌ @r  çffffff@r2   r   r!   )r/   r1   r   r#   r"   )r/   r1   r   r#   r"   )r½  rö  r  r÷  g      @r1   r#   )r   r/   r1   r!   r#   r¤   r¤   rù   ÚBéc   )r   r3   Ú_should_fallback_to_positionalr7   r8   r   r   r‘   rP  rt  rB   Úappendr   r   r¥   r5   r6   )	rE   r;   Úiir»   Ú	exp_indexÚ	expected2r¦   rÝ   Ú	expected3r+   r+   r,   Útest_setitem_int_not_positionalÓ  s(   
r   c                  C   s~   t g d¢g d¢dœƒ} |  d¡ ¡ }d|g d¢< tg d¢dd�}t ||¡ d	| jg d¢d
f< t d
g d¢iƒ}t | |¡ d S )Nr=   )r#   r"   r%   )r.   r0   r0   r¤   )TFF)r¤   r"   r%   )r£  r  r   r.   )r   r1   r!   )r   Úpopr5   r   r7   r8   r6   rß  )râ  r:   r;   r+   r+   r,   Útest_setitem_with_bool_indexerõ  s   r  Úsizer´   )TFFFFÚitemr„  c                 C   s   t  | g¡S re   )r&   r   rú   r+   r+   r,   r°     s    r°   c                 C   s   | gS re   r+   rú   r+   r+   r,   r°     ó    c                 C   s   | fS re   r+   rú   r+   r+   r,   r°     r  c           	      C   s¨   t  || ¡}t j| td�}t|ƒ}| ¡ dkr9d}tjt|d�� ||ƒ||< W d   ƒ d S 1 s2w   Y  d S ||ƒ||< tt j| td�ƒ}|||< t	 
||¡ d S )NrX   r/   zKcannot set using a list-like indexer with a different length than the valuery   )r&   Úresizerž   r{  r   rT  rt   r|   r*  r7   r8   )	r  r´   r  r„  Ú	selectionr£  rE   r€   r;   r+   r+   r,   Ú7test_setitem_bool_indexer_dont_broadcast_length1_values  s   ÿ"þr  c                  C   s~   t ddd�} t| ƒ}| ¡ }tjdtd�}d||< |j| jks!J ‚t ||¡ |j	|ddd� |j| jks7J ‚t ||¡ d S )NrP   r!   r   rX   r{   TrØ   )
r   r   r5   r&   r'  rS  rA   r7   r8   r´   )rï   rE   r^   r´   r+   r+   r,   Ú(test_setitem_empty_mask_dont_upcast_dt64+  s   r	  )vr   r   Údecimalr   ÚosÚnumpyr&   rt   Úpandas.compat.numpyr   r   Úpandas.errorsr   Úpandas.core.dtypes.commonr   Úpandasr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Úpandas._testingÚ_testingr7   Úpandas.tseries.offsetsr   r   rw   r‹   r¨   ræ   rõ   rÿ   r,  r-  r1  r2  r3  r;  ru   rv   ro  r'   r   rI  rB   rž   ri  rq  r|  r…  rŽ  r’  rœ  r�  r¤  rŸ   r«  r²  r¯  r´  r¸  Úint32rÔ   r»  r¿  Ú
complex128rÃ  rS  rÅ  r    rÆ  rÇ  rÎ  r  ÚenvironÚgetrà   Úuint32ræ  rç  Úuint64rÍ  rÔ  rÕ  rÖ  rÛ  rã  rä  rå  ré  rí  rñ  rò  rô  rõ  r   r  r‘   rì  r{  Úminr  r	  r+   r+   r+   r,   Ú<module>   sè   T 0 4+ ! þö
"
ú

û$ú
úù	
úËþA%(5 $ýõþ
'þýþ"þ


üþ	úþ


üþ	


üþ	
ÿ÷ü
äþ!ýþûþ
ýþÿ7#	"ÿÿÿ