
    Eg                        d dl mZm Z  d dlmZ d dlZd dlZd dl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
          Z& G d d          Z' G d d          Z( G d d          Z) G d d          Z* G d d          Z+ G d d          Z,d Z-d Z.d Z/d Z0 G d d          Z1 G d d          Z2ej3        4                    d ej5         e ed d!                     e ed d"          ej6         ed#d$           ed$d!          gd%&          d e7d'(           ej5         eg d)           eej6        d#ej6        d!ej6        d*ej6        d+ej6        g	           e8ddd"          dd,(           ej5         eg d-           eej6        d.ej6        d/ge9&           e8ddd"          e7d0(           ej5         e ej:        d1                     eej6        ej6        ej6        ej6        ej6        d!d2d*d3d+g
           e8dd!          dd4(           ej5         eg d5           eej6        d"d#g          d dd6(           ej5         ed/g           eej6        ge9&          d e7d7(           ej5         ed/d.g           eej6        d.ge9&          d e7d8(          g           G d9 d:e2                      Z; G d; d<e2          Z< G d= d>e2          Z= G d? d@e2          Z> G dA dBe2          Z? G dC dDe2          Z@ej3        4                    dE eg d5           eej6        d"d#g          df eg dF           eej6        dGdHg          df e e dId d            e dId d"           e dId d#          g           ee e dId d"           e dId d#          g          df eg dJ           eg dK          dfg           G dL dMe2                      ZA G dN dOe2          ZB G dP dQe2          ZCej3        4                    dR ej        dGdHg          df ej        dSdTg          e7f ej        d"dUz  d"dUz  d z   gejD        &          e7fg           G dV dWe2                      ZEej3        4                    dXdY ejF        dY          g           G dZ d[e2                      ZGej3        4                    dXg d\           G d] d^e2                      ZH G d_ d`e2          ZIej3        4                    da ejJ        d           ejK        df ejF        dY          ejF        e7fg           G db dceI                      ZLej3        4                    dXg dd          ej3        4                    dee9g           G df dgeI                                  ZMej3        4                    dad ejN        dfdhejN        dfdiejN        dfd.e9e7fg           G dj dkeI                      ZOej3        4                    dad e9e7fdle9e7fd#e9e7fdhe9e7fdie9e7fd.ePdfg           G dm dneI                      ZQej3        4                    dad ejR        dfdhejD        e7fdiejN        e7fd.e9e7fg           G do dpeI                      ZSej3        4                    dad ejD        dfdhejD        dfdiejN        e7fd.e9e7fg           G dq dreI                      ZTej3        4                    dad ejU        df ej5        dhejU        dej3        V                    e peo ejW                    dsk    dtu          v          diejN        e7fd.e9e7f ejX        d"          ejU        df ejY        d"          ejU        df ejY         ejZ        ejY                  j[                  ejD        e7f ej\        d"          ejU        df ejR        d"          ejU        dfg	           G dw dxeI                      Z]ej3        4                    da edy          dzdfd e9e7fd{e9e7fg           G d| d}eI                      Z^ej3        4                    da edyd~          ddf edyd          ddf edy          e9e7fd e9e7fg           G d deI                      Z_ej3        4                    da ed          ddfd e9e7fd{e9e7fg           G d deI                      Z`ej3        4                    dXd edd           ed d"d          g          ej3        4                    dee9g           G d deI                                  Zad Zbd Zcd Zdd Zed Zfd Zgd Zhd Zid Zjd Zkd Zlej3        4                    d emd"d2                    ej3        4                    dg dd.d/gd/gg          ej3        4                    ddGej6         ejn        eo          j[         ejn        eo          jp        g          ej3        4                    dd d d g          d                                                 Zqd ZrdS )    )datedatetime)DecimalN)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                   ~    e Zd Zd Zd Zd Zd Zej        	                    dg d          d             Z
d Zd	 Zd
S )TestSetitemDT64Valuesc                 "   t          t          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seriess     ^/var/www/sysmax/venv/lib/python3.11/site-packages/pandas/tests/series/indexing/test_setitem.pytest_setitem_none_nanz+TestSetitemDT64Values.test_setitem_none_nan*   s    
:r:::;;q	ayCqsayCFq	ayCfqsayC    c                     t          j        ddg          }t          ddg|          }|                                }d|j        g <   t          j        ||           d S )N)a   )b   r2   r4   indexr   )r   from_tuplesr   copyloctmassert_series_equal)r+   idxresultexpecteds       r-   #test_setitem_multiindex_empty_slicez9TestSetitemDT64Values.test_setitem_multiindex_empty_slice8   s^    $h%9::Ac***;;==
2
vx00000r/   c                     t          g dg dt                    }t          j                    |d<   |j        t          j                    k    sJ |d         t          j                    k    sJ d S )Nr2   r4   r#   )Dater3   otherr6   dtyperB   )r   objectr   todayrB   r+   sers     r-   test_setitem_with_string_indexz4TestSetitemDT64Values.test_setitem_with_string_index@   sl     YYY&<&<&<FKKKjllFx4:<<''''6{djll******r/   c                     t          ddd          }g d}t          ||          }|                                }t          j        |d<   t          j        |j        d<   t          j        ||           d S )	N2017r%   
US/Easternr"   tz)r   r2   )r   r4   )r   r#   )r   r%   r5   rP   r   )r   r   r8   r(   r)   ilocr:   r;   )r+   arrr6   r=   r>   s        r-   )test_setitem_tuple_with_datetimetz_valuesz?TestSetitemDT64Values.test_setitem_tuple_with_datetimetz_valuesH   sr    |<<<0005)));;==v6a
vx00000r/   rO   )rM   UTCz
Asia/Tokyoc                    t          t          ddd|                    }|j        d| dk    sJ t          t          d|          t          d	|          t          d
|          g|j                  }|                                }t          d|           ||          d<   t          j        ||           t          t          d|          t          d|          gddg|j                  }|j        d| dk    sJ t          t          d|          t          d	|          t          d|          g|j                  }|                                }| ||          ddg<   t          j        ||           d S )N
2016-01-01hr#   freqr"   rO   datetime64[ns, ]z2016-01-01 00:00rO   2011-01-01 00:00z2016-01-01 02:00rE   
2011-01-01r2   
2012-01-01r4   rD   2012-01-01 00:00r   r   rE   r   r8   r:   r;   )r+   rO   indexer_sliorigexprI   valss          r-   test_setitem_with_tzz*TestSetitemDT64Values.test_setitem_with_tzR   s   jCrJJJKKz4r4444444,444,444,444
 *
 
 
 iikk'<<<C
sC((( |+++Y|-K-K-KLa&*
 
 

 z4r4444444,444,444,444
 *
 
 
 iikk#'C!Q 
sC(((((r/   c                    d}t          t          ddd|                    }|j        d| dk    sJ t          t          d|	          t          d
|	          t          d|	          g|j                  }|                                }t          d|	           ||          d<   t          j        ||           t          t          d|	          t          d|	          gddg|j                  }|j        d| dk    sJ t          t          d|	          t          d|	          t          d|	          g|j                  }|                                }| ||          ddg<   t          j        ||           d S )NrM   z
2016-11-06rW   r#   rX   rZ   r[   z2016-11-06 00:00-04:00r\   z2011-01-01 00:00-05:00z2016-11-06 01:00-05:00r^   r_   r2   r`   r4   rD   z2016-11-06 00:00r]   ra   rb   )r+   rc   rO   rd   re   rI   rf   s          r-   test_setitem_with_tz_dstz.TestSetitemDT64Values.test_setitem_with_tz_dstz   s   jCrJJJKKz4r44444442r:::2r:::2r:::
 *
 
 
 iikk'<<<C
sC((( |+++Y|-K-K-KLa&*
 
 

 z4r4444444,444,444,444
 *
 
 
 iikk#'C!Q 
sC(((((r/   c                 :   t          dt          j        it                    }dg}t          j        dgd          }||j        |<   t          |d         gdgt                    }t          d |j        D                       sJ t          j	        ||           d S )	NXr^   Tr%   M8[ns]r   rD   c              3   J   K   | ]}t          |t          j                  V  d S N)
isinstancer(   
datetime64.0xs     r-   	<genexpr>zYTestSetitemDT64Values.test_object_series_setitem_dt64array_exact_match.<locals>.<genexpr>   s.      IIA:a//IIIIIIr/   )
r   r(   r)   rF   r   rQ   allvaluesr:   r;   )r+   rI   indexervaluer>   s        r-   0test_object_series_setitem_dt64array_exact_matchzFTestSetitemDT64Values.test_object_series_setitem_dt64array_exact_match   s     c26]&111& !H---!58*SE@@@IIIIIIIIII
sH-----r/   N)__name__
__module____qualname__r.   r?   rJ   rS   pytestmarkparametrizerg   ri   ry    r/   r-   r   r   )   s             1 1 1+ + +1 1 1 [T#F#F#FGG%) %) HG%)N') ') ')R. . . . .r/   r   c                      e Zd Zd Zej                            dej        ej	        g          ej                            dddg          d                         Z
ej                            dddej        fg          d	             Zd
S )TestSetitemScalarIndexerc                    t          dgdz  dgdz            }d}d}t          j        t          |          5  t	          j        t          |          5  d|d<   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )	Nr1   r    r5   z5index -11|-1 is out of bounds for axis 0 with size 10;Series.__setitem__ treating keys as positions is deprecatedmatchfooi)r   r}   raises
IndexErrorr:   assert_produces_warningFutureWarning)r+   rI   msgwarn_msgs       r-   #test_setitem_negative_out_of_boundsz<TestSetitemScalarIndexer.test_setitem_negative_out_of_bounds   s   cURZurz222 FP]:S111 	! 	!+MJJJ ! ! C! ! ! ! ! ! ! ! ! ! ! ! ! ! !	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s5   A?A'A?'A+	+A?.A+	/A??BBrw   	ser_indexr   r2   c                     t          ddgd          } ||          }t          dg|g          |d<   t          t          dg|g          dgd          }t          j        ||           d S )Nr   rF   r^   *   r5   r   r:   r;   )r+   rw   r   rI   idxrr>   s         r-    test_setitem_series_object_dtypez9TestSetitemScalarIndexer.test_setitem_series_object_dtype   s     aV8,,,ws||"i[111Q62$yk:::A>hOOO
sH-----r/   zindex, exp_value)r   r   c                     t          ddg          }t          dg|g          |j        d<   t          |dg          }t          j        ||           d S )Nr   r   r5   )r   r9   r:   r;   )r+   r6   	exp_valuerI   r>   s        r-   test_setitem_seriesz,TestSetitemScalarIndexer.test_setitem_series   sY     aVnnRD000
9a.))
sH-----r/   N)rz   r{   r|   r   r}   r~   r   r:   r9   atr   r(   r)   r   r   r/   r-   r   r      s        ! ! ! [Y88[[1a&11. . 21 98. [/'Arv;1GHH. . IH. . .r/   r   c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )TestSetitemSlicesc                 D   d}t          j        t          |                    d                    5  d|dd<   d d d            n# 1 swxY w Y   t          j        t          |                    d                    5  d|d	d<   d d d            d S # 1 swxY w Y   d S )
NzUcannot do slice indexing on DatetimeIndex with these indexers \[{key}\] of type floatz4\.0)keyr   r   g      @g      $@z4\.5g      @)r}   r   	TypeErrorformat)r+   datetime_seriesr   s      r-   test_setitem_slice_float_raisesz1TestSetitemSlices.test_setitem_slice_float_raises   s+   ' 	 ]9CJJ7J,C,CDDD 	* 	*()OCH%	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* ]9CJJ7J,C,CDDD 	* 	*()OCH%	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s#   AA
A
 BBBc                     t          t          d          t          t          d                              }d|dd <   |dk                                    sJ d|d d<   |dk                                    sJ d S )Nr    r5   r   ir$   )r   rangelistru   rH   s     r-   test_setitem_slicez$TestSetitemSlices.test_setitem_slice   sz    U2YYd599oo666CDD	q~~DSD	q~~r/   c                 "   t          t          j                            d                              d          g d          }d|d d<   |d d         dk                                    sJ |dd          dk                                    rJ d S )Nr4      )r4   r%   r'   r   r             r5   r   r%   )r   r(   randomdefault_rngstandard_normalru   anyrH   s     r-   test_setitem_slice_integersz-TestSetitemSlices.test_setitem_slice_integers   s    I!!!$$44Q77...
 
 

 BQBBQB1!!#####GqL%%'''''''r/   c                     t          t          j        dt          j                  t          j        dt          j                            }d|d d d<   |d d d         dk                                    sJ d S )N   r^   r5   r   r4   )r   r(   arangefloat64int64ru   r*   s     r-   test_setitem_slicestepz(TestSetitemSlices.test_setitem_slicestep   s{    Ib
+++29Rrx3P3P3P
 
 
 ssssssq %%'''''''r/   c                    t          j        ddgt          d          f          }t          t	          j        dt          j                  |          }d ||          d d d<   t          g d|          }t          j        ||           d S )	Nr   r2   abcder    r^   d   r%   )
r   r2   r4   r#   r   r$   r'   r&   r   	   )	r   from_productr   r   r(   r   r   r:   r;   )r+   rc   mir=   r>   s        r-   test_setitem_multiindex_slicez/TestSetitemSlices.test_setitem_multiindex_slice   s    $q!fd7mm%<==	"BH555r::#&FCCaC >>>CC
vx00000r/   N)rz   r{   r|   r   r   r   r   r   r   r/   r-   r   r      s_        	* 	* 	*     ( ( (( ( (1 1 1 1 1r/   r   c                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	e
j                            deej        eg          d	             Zd
 Zd Zd Zd Zd ZdS )TestSetitemBooleanMaskc                     t          ddgddgd          }t          dgdgd          |ddg<   t          ddgddgd          }t          j        ||           d S )Nr2   r4   r   rD   r   TFr   r+   rI   r>   s      r-   test_setitem_mask_castz-TestSetitemBooleanMask.test_setitem_mask_cast  sv     aVAq6999#QCs'BBBT5M1a&Ag>>>
sH-----r/   c                 4   t          t          j                            d                              d          t          j        ddd                                        d          }|dk    }|                                }||                                                             t                    }t          j        t          d          5  |||<   d d d            n# 1 swxY w Y   |                    d	           }t          j        ||           d S )
Nr4   r   r   r5   r$   item of incompatible dtyper   c                 0    | dk    rt          |           n| S Nr   )str)ts    r-   <lambda>zLTestSetitemBooleanMask.test_setitem_mask_align_and_promote.<locals>.<lambda>  s    a!eeCFFF r/   )r   r(   r   r   r   r   roundr8   mapr   r:   r   r   r;   )r+   tsmaskleftrightr>   s         r-   #test_setitem_mask_align_and_promotez:TestSetitemBooleanMask.test_setitem_mask_align_and_promote  s<   I!!!$$44S993PQSUAVAV
 
 

%(( 	 Avwwyy4##C(('!=
 
 
 	 	 DJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 66::;;
tX.....s   C""C&)C&c                 0   t          g d          }|dk    }||                             t                    }t          j        t
          d          5  |||<   d d d            n# 1 swxY w Y   t          g d          }t          j        ||           d S )N)r   r2   r4   r   r   r   r   )r   12r   )r   r   r   r:   r   r   r;   r+   rI   r   ser2r>   s        r-   test_setitem_mask_promote_strsz5TestSetitemBooleanMask.test_setitem_mask_promote_strs  s    \\\""Qw4y}}S!!'!=
 
 
 	 	 CI	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
 ***++
sH-----s   A%%A),A)c                     t          g d          }t          g d          }||         }|||<   t          g d          }t          j        ||           d S )N)r   r   barr   )FTTFr   r   s        r-   test_setitem_mask_promotez0TestSetitemBooleanMask.test_setitem_mask_promote)  si    )))**000114yD	...//
sH-----r/   c                    ||                                 k    }|                                }|dz  ||<   |dz  }t          j        ||         ||                    |                                }|dz  dd         ||<   |dz  dd                             |          }||         || <   t          j        ||         ||                    d S )Nr4   r   r$   )medianr8   r:   r;   reindex_like)r+   string_seriesr   r=   r>   s        r-   test_setitem_booleanz+TestSetitemBooleanMask.test_setitem_boolean2  s    }33555 ##%%$q(t 1$
vd|Xd^<<< ##%%%)1Q3/t!A%qs+88GG'-$
vd|Xd^<<<<<r/   c                 l   |}|                     dt                                |                                k    }d}t          j        t
          |          5  d||<   d d d            n# 1 swxY w Y   t          j        t
          |          5  d|j        |<   d d d            d S # 1 swxY w Y   d S )Nr2   rY   zsUnalignable boolean Series provided as indexer \(index of the boolean Series and of the indexed object do not matchr   )shiftr   r   r}   r   r   r9   )r+   r   r   mask_shiftedr   s        r-   test_setitem_boolean_cornerz2TestSetitemBooleanMask.test_setitem_boolean_cornerB  s5   xxx//"))++=I 	 ]=444 	! 	! B|	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! ]=444 	% 	%#$BF< 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s$   A++A/2A/B))B-0B-c                     |                                 }|                                }d||dk    <   |                                }d||dk    <   t          j        ||           d S r   )sort_valuesr8   r:   r;   )r+   r   orderedr8   r>   s        r-   $test_setitem_boolean_different_orderz;TestSetitemBooleanMask.test_setitem_boolean_different_orderP  sj    ++--!!##Wq[ %%''!"A
tX.....r/   funcc                     t          g d          } |g d          }ddg||<   t          g d          }t          j        ||           d S )N)Nr3   NTFTr1   cr1   r3   r   r   )r+   r   rI   r   r>   s        r-    test_setitem_boolean_python_listz7TestSetitemBooleanMask.test_setitem_boolean_python_list[  se     &&&''t'''((#JD	///**
sH-----r/   c                 0   t          g d|          }t          t          d          |          ||dk    <   t          g d|          }t          j        ||           t          g d|          }t          t          d          |          |j        |dk    <   t          j        ||           t          g d|          }t          t          d          |          }|j        |dk             |j        |dk    <   t          j        ||           d S )N)r$   r'   r&   r   r^   r%   r'   )r$   r'   r4   r#   r2   )r   r   r:   r;   r9   )r+   any_numeric_ea_dtyperI   r>   loc_sers        r-   'test_setitem_boolean_nullable_int_typesz>TestSetitemBooleanMask.test_setitem_boolean_nullable_int_typesd  s   \\\)=>>>eAhh.BCCCC!G,,,.BCCC
sH---\\\)=>>>!%((2FGGGa
sH---\\\)=>>>q)=>>>";w{3a
sH-----r/   c                 "   t          d gdz            }dgdz  dgdz  z   dgdz  z   }t          d          ||<   |}t          d gdz  t          t          d                    z   d gdz  z   t                    }t	          j        ||           d S )Nr    Fr#   Tr$   r4   r^   )r   r   r   rF   r:   r;   )r+   rI   r   r=   r>   s        r-   Atest_setitem_with_bool_mask_and_values_matching_n_trues_in_lengthzXTestSetitemBooleanMask.test_setitem_with_bool_mask_and_values_matching_n_trues_in_lengtht  s    dVb[!!w{dVaZ'5'A+5!HHD	4&1*tE!HH~~5
B&QQQ
vx00000r/   c                    t          g d          }t          j        t          d          5  t          j        |d<   d d d            n# 1 swxY w Y   t          t          j        ddgt                    }t          j        ||           d S )Nr   r   r   r   FTr^   )r   r:   r   r   r(   r)   rF   r;   )r+   r=   r>   s      r-   test_setitem_nan_with_boolz1TestSetitemBooleanMask.test_setitem_nan_with_bool}  s    +++,,'!=
 
 
 	 	 F1I	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 265$/v>>>
vx00000s   A		AAc                    t          g dd          }t          j        g dt          j                  }t          j        g d          }|                                }t          j        t          d          5  t          |          ||<   d d d            n# 1 swxY w Y   t          g d          }t          j        ||           |                                }t          j        t          d          5  |	                    ||d	
           d d d            n# 1 swxY w Y   t          j        ||           |                                }|
                    | t          |                    }t          j        ||           d S )NrA   int8r^   )      r   r   r   )r   r4   r   Tinplace)r   r(   r   r   r8   r:   r   r   r;   r   where	r+   rd   altr   rI   r>   r   ser3ress	            r-   !test_setitem_mask_smallint_upcastz8TestSetitemBooleanMask.test_setitem_mask_smallint_upcast  s   iiiv...h(((999x+++,,iikk'!=
 
 
 	$ 	$ sCI	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ ...))
sH---yy{{'!=
 
 
 	/ 	/ IIdCI...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	tX...yy{{jj$s,,
sH-----s$   ;BB!B:DD#&D#c                    t          g dd          }t          g dt          j                  }t          j        g d          }|                                }|||<   t          g dd          }t          j        ||           |                                }|                    ||d           t          j        ||           |                                }|                    | |          }t          j        ||d	
           d S )NrA   uint8r^   )   r      r   )r  r4   r  Tr   F)check_dtype)	r   r(   r   r   r8   r:   r;   r   r   r   s	            r-   $test_setitem_mask_smallint_no_upcastz;TestSetitemBooleanMask.test_setitem_mask_smallint_no_upcast  s    iiiw///%%%RX666x+++,,iikkD	---w777
sH---yy{{		$T	***
tX... yy{{jj$$$
sH%@@@@@@r/   N)rz   r{   r|   r   r   r   r   r   r   r   r}   r~   r   r   r(   r   r   r   r   r   r   r  r  r   r/   r-   r   r     s       . . ./ / /
. 
. 
.. . .= = = % % %	/ 	/ 	/ [VdBHf%=>>. . ?>.. . . 1 1 11 1 1. . .2A A A A Ar/   r   c                       e Zd Zd Zd ZdS )TestSetitemViewCopySemanticsc                    t          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sJ |j        dk    sJ t          |j        d<   |j        j        J |j        |usJ |j        j        j        |j        j        j        usJ |d         |k    sJ |j        dk    sJ d S )N20130101r#   rM   rN   r2   D)	r   r   _values_ndarraybase_datarY   r   rQ   r+   using_copy_on_writedtir   rI   s        r-   ,test_setitem_invalidates_datetime_index_freqzITestSetitemViewCopySemantics.test_setitem_invalidates_datetime_index_freq  s    Q<@@@VSkk{#%%%% 	L;',	0B0GGGGGG;',CI4F4KKKKKx3{''' {#%%%%{#(	0B0GGGGG1v||||x3r/   c                 D   t          ddd          }|d         }t          |          }|j        |usJ |rT|j        j        j        |j        j        j        u sJ |j        j        d         j        j        |j        j        j        u sJ nS|j        j        j        |j        j        j        usJ |j        j        d         j        j        |j        j        j        usJ |j        j        d         |usJ t          |d d d<   |d         t          u sJ |d         |k    sJ d S )NrV   r    
US/PacificrN   r   r#   )	r   r   r  r  r  r  _mgrarraysr   r  s        r-   'test_dt64tz_setitem_does_not_mutate_dtizDTestSetitemViewCopySemantics.test_dt64tz_setitem_does_not_mutate_dti  s*   rlCCCVSkk{#%%%% 	S;',	0B0GGGGG8?1%.3sy7I7NNNNNN;',CI4F4KKKKK8?1%.339;M;RRRRRxq!,,,,CCaC1v}}}}1v||||||r/   N)rz   r{   r|   r  r  r   r/   r-   r	  r	    s2          ,    r/   r	  c                       e Zd Zd Zd ZdS )TestSetitemCallablec                     t          g dt          d                    }d|d <   t          g dt          d                    }t          j        ||           d S )Nr2   r4   r#   r%   ABCDr5   r   c                     dS )NAr   rs   s    r-   r   z?TestSetitemCallable.test_setitem_callable_key.<locals>.<lambda>  s    c r/   )r   r4   r#   r%   )r   r   r:   r;   r   s      r-   test_setitem_callable_keyz-TestSetitemCallable.test_setitem_callable_key  s_    \\\f666MM---tF||<<<
sH-----r/   c                     d }t          g dt                    }|||dk     <   t          dd|dg          }t          j        ||           d S )Nc                     | dz   S Nr2   r   r!  s    r-   r   zATestSetitemCallable.test_setitem_callable_other.<locals>.<lambda>  s
    A r/   )r2   r4   r   r%   r^   r   r2   r4   r%   )r   rF   r:   r;   )r+   incrI   r>   s       r-   test_setitem_callable_otherz/TestSetitemCallable.test_setitem_callable_other  s\    o ]]]&111C!G1aa.))
sH-----r/   N)rz   r{   r|   r"  r'  r   r/   r-   r  r    s2        . . .	. 	. 	. 	. 	.r/   r  c                   X   e Zd Zd Zd Zd Zej                            d e	d           e	d          
                                 e	d                                          g          d             Zd Zd Z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             Zd ZdS )TestSetitemWithExpansionc                     t          d          }t          t                    }d||<   t          d|g          }t          j        ||           d S )Nr`   r^   /   )r   r   rF   r:   r;   )r+   r   r,   r>   s       r-   test_setitem_empty_seriesz2TestSetitemWithExpansion.test_setitem_empty_series  sR    %%f%%%s"se$$
vx00000r/   c                 H   t          g dd          }t          g |t                    }t          d          }d||<   t          dt          |gd                              d                    }t          j        ||           |j        j        |j        j        k    sJ d S )	Nr  rl   )rY   rE   rD   r`   r+  r   ns)	r   r   rF   r   as_unitr:   r;   r6   rY   )r+   r  r,   r   r>   s        r-   6test_setitem_empty_series_datetimeindex_preserves_freqzOTestSetitemWithExpansion.test_setitem_empty_series_datetimeindex_preserves_freq   s    BS999#V444%%s"mSE<<<DDTJJKK
vx000| HN$7777777r/   c                     t          d          }t          |gdgt                    }|d         }t          g t                    }d|d<   ||d<   |d         }||k    sJ d S )Nl    Pi5 	timestamprD   r^   g     r@anything)r   r   rF   )r+   r2  r,   r>   r=   s        r-   3test_setitem_empty_series_timestamp_preserves_dtypezLTestSetitemWithExpansion.test_setitem_empty_series_timestamp_preserves_dtype
  sy    122	K=GGG+&&)))"z'{$!!!!!!r/   td9 daysc                    |rHt          |t                    s3|                    t          j                            d                     t          d|gddgt                    }t          dg          }||d<   t          j	        ||           t          |d         t                    sJ t          dg          }t          d          |j
        d<   t          j	        ||           t          |d         t                    sJ d S )Nzinferred as stringreasonrs   r   r5  rD   r6  )ro   r   applymarkerr}   r~   xfailr   rF   r:   r;   r9   )r+   r5  using_infer_stringrequestr>   rI   s         r-   #test_append_timedelta_does_not_castz<TestSetitemWithExpansion.test_append_timedelta_does_not_cast  s      	PjY&?&? 	P 1 19M 1 N NOOO3)At9FCCCcUmmD	
sH---#d)Y/////cUmm!(++
sH---#d)Y///////r/   c                     t          t                    }t          d          |d<   d|d<   d|d<   t          t          d          ddgg d	          }t          j        ||           d S )
Nr^   rV   r1         @r3   r   r   r   r5   )r   rF   r   r:   r;   r   s      r-   *test_setitem_with_expansion_type_promotionzCTestSetitemWithExpansion.test_setitem_with_expansion_type_promotion0  ss    6"""\**CCC9\22C?WWW
sH-----r/   c                     |                                 }d|j        vsJ d|d<   t          dgdgd          }t          ||g          }t	          j        ||           d S )Nfoobarr2   r,   )r6   name)r8   r6   r   r   r:   r;   )r+   r   rI   appr>   s        r-   test_setitem_not_containedz3TestSetitemWithExpansion.test_setitem_not_contained9  sr      ""sy((((HaS
:::=#.//
sH-----r/   c                     t          ddg|          }d|d<   t          g d|          }t          j        ||           d S )Nr2   r4   r^   r    )r2   r4   r    r   )r+   r   rI   r>   s       r-   test_setitem_keep_precisionz4TestSetitemWithExpansion.test_setitem_keep_precisionC  sR    aV#7888A***,@AAA
sH-----r/   z1na, target_na, dtype, target_dtype, indexer, warnInt64r2   Nr4   r   r   rF   Float64c                     t          ddg|          }t          j        |d          5  |||<   d d d            n# 1 swxY w Y   |dk    rd|gndd|g}t          ||          }	t          j        ||	           d S )Nr2   r4   r^   incompatible dtyper   )r   r:   r   r;   )
r+   na	target_narE   target_dtyperw   warnrI   expected_valuesr>   s
             r-   test_setitem_enlarge_with_naz5TestSetitemWithExpansion.test_setitem_enlarge_with_naJ  s    * aV5)))'4HIII 	 	CL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	,3qLL1i..q!Y>O/>>>
sH-----s   <A A c                    t          ddg          }||d<   |rt          |t                    sdnt          }t          dd|gg d|          }t	          j        ||           |r|d         t          j        u  d S |d         |u sJ d S )Nr1   r3   r#   zstring[pyarrow_numpy])r   r2   r#   rD   )r   ro   r   rF   r:   r;   r(   r)   )r+   nulls_fixturer<  rI   rE   r>   s         r-   $test_setitem_enlargement_object_nonez=TestSetitemWithExpansion.test_setitem_enlargement_object_nonef  s    c3Z  A "*4]G*L*L## 	
 3]3999ERRR
sH--- 	+Fbfq6]******r/   )rz   r{   r|   r,  r0  r4  r}   r~   r   r   to_timedelta64to_pytimedeltar>  rA  rF  rH  r	   r(   r)   r   r   rR  rU  r   r/   r-   r)  r)    s        1 1 18 8 8
" 
" 
" [IhIh..00Ih..00	
 0 0 0$. . .. . .. . . [;Wgq$/Wgq$/)Q5)Q5#w!];#w!T2VR'1d3VR'1d3VRIq$7VRIq$7VRVWiD9VRVWiD9	
 "	. 	.# "	.+ + + + +r/   r)  c                     t          j        d          } d| j        _        t	          | d          }|j        D ]J}d}t          j        t          |          5  d||<   d d d            n# 1 swxY w Y   | |         dk    sJ Kd S )Nr$   Fr8   #assignment destination is read-onlyr   r2   r   )	r(   zerosflags	writeabler   r6   r}   r   
ValueError)r   r,   nr   s       r-   .test_setitem_scalar_into_readonly_backing_datar`  w  s     HQKKE!EKE&&&F\  3]:S111 	 	F1I	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 Qx1}}}}} s   A**A.	1A.	c                     t          j        d          } d| j        _        t	          | d          }d}t          j        t          |          5  d|dd<   d d d            n# 1 swxY w Y    | j                    rJ d S )Nr$   FrY  rZ  r   r2   r#   )	r(   r[  r\  r]  r   r}   r   r^  r   )r   r,   r   s      r-   -test_setitem_slice_into_readonly_backing_datarb    s     HQKKE!EKE&&&F
/C	z	-	-	-  qs               uy{{s   A##A'*A'c                     t          t          ddgddg                    } |                                 }d|d d <   t          t          ddgddg                    }t          j        ||           |                                 }d|d<   t          t          ddgddg                    }t          j        ||           |                                 }d||j        dk    <   t          t          ddgddg                    }t          j        ||           |                                 }d|ddg<   t          t          ddgddg                    }t          j        ||           |                                 }dd	g|_        d|d	<   t          t          ddgddg          dd	g
          }t          j        ||           d S )Nr3   r1   
categoriesr2   r   FTrs   yr5   )r   r
   r8   r:   r;   r6   )rd   rI   re   s      r-   &test_setitem_categorical_assigning_opsrg    s   +sCjc3Z@@@AAD
))++CCF
c3ZS#J???
@
@C3$$$
))++CCF
c3ZS#J???
@
@C3$$$
))++CC	A
c3ZS#J???
@
@C3$$$
))++CC
c3ZS#J???
@
@C3$$$
))++Cc
CICH
c3ZS#J???Sz
R
R
RC3$$$$$r/   c                      t          t          g d                    } t          t          dt          j        dgg d                    }t          j        | d<   t	          j        | |           d S )NrA   r2   r#   rd  )r   r
   r(   r)   r:   r;   )rI   re   s     r-   !test_setitem_nan_into_categoricalri    se    
YYY''
(
(C
a^			BBB
C
CCVCF3$$$$$r/   c                       e Zd Zej                            dddg          ej                            dg de          d                         Zd Zd	S )
TestSetitemCastinguniqueTFval)r#   r@  3)idsc                    t          ddg          }|s	ddg|_        t          j        t          d          5  | ||          d<   d d d            n# 1 swxY w Y   t          |j        d                   t          |          k    sJ t          d|gt          |j                  }|s)|t          j        urt          ||gt          ddg          }t          j        ||           d S )NTFr2   rL  r   )rE   r6   )	r   r6   r:   r   r   typerQ   rF   r;   )r+   rm  rc   rl  rI   r>   s         r-   test_setitem_non_bool_into_boolz2TestSetitemCasting.test_setitem_non_bool_into_bool  s1    dE]## 	ACI'=QRRR 	& 	&"%KKQ	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&CHQK  DII----4+V39EEE 	F+RW44sCjq!fEEEH
sH-----s   AAAc                 X   t          g d          }|j        }t          g d          }|d d         |d d<   |j        |u sJ t          j        t
          d          5  |dd          |dd <   d d d            n# 1 swxY w Y   t          |          }t          j        ||           d S )Nr   )TFNr4   rL  r   r2   )r   r  r   r:   r   r   r;   )r+   rI   rv   rR   r>   s        r-   &test_setitem_boolean_array_into_npboolz9TestSetitemCasting.test_setitem_boolean_array_into_npbool  s    ((())'''((bqb'BQB{f$$$$'=QRRR 	 	!""gCG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	#;;
sH-----s   A;;A?A?N)	rz   r{   r|   r}   r~   r   rq  rr  rt  r   r/   r-   rk  rk    sy        [Xe}55[UMMMt<<. . =< 65.. . . . .r/   rk  c                   b    e Zd ZdZej        d             Zd Zd Zd Z	d Z
d Zd Zd	 Z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                 "    |j         |j         k    S )zF
        Whether we expect the setting to be in-place or not.
        r^   )r+   objr>   s      r-   
is_inplacez$SetitemCastingEquivalents.is_inplace  s    
 ~**r/   c                     |}|                                 }|j        }| ||          |<   t          j        ||           |                     ||||           d S rn   )r8   r  r:   r;   _check_inplace)	r+   rx  r   r>   rm  rw   ry  rd   rR   s	            r-   check_indexerz'SetitemCastingEquivalents.check_indexer  s`    hhjjkS
sH---Jc377777r/   c                     |d S |r2|j         j        dv r|j        |j        j        u sJ d S |j        |u sJ d S t	          j        ||j                   d S )N)mM)rE   kindr  r  r:   assert_equal)r+   ry  rd   rR   rx  s        r-   r{  z(SetitemCastingEquivalents._check_inplace  sy    D 		/y~++ |s{';;;;;;;{c)))))) OC.....r/   c           	         t          |t                    st          j        d           t	          j        |d          5  |                     ||||||           d d d            n# 1 swxY w Y   |t          j        u rSt	          j        |d          5  |                     ||||t          j        |           d d d            n# 1 swxY w Y   n`|t          j	        u rRt	          j        |d          5  |                     ||||t          j
        |           d d d            n# 1 swxY w Y   t          ||dz             }t	          j        |d          5  |                     ||||||           d d d            n# 1 swxY w Y   |t          j        ur[t          ||dz             }	t	          j        |d          5  |                     ||	||||           d d d            n# 1 swxY w Y   |g}
t	          j        |d          5  |                     ||
||||           d d d            n# 1 swxY w Y   t          j        |
          }t	          j        |d          5  |                     ||||||           d d d            n# 1 swxY w Y   d |fD             }t	          j        |d          5  |                     ||||||           d d d            d S # 1 swxY w Y   d S )NzNot relevant for int keyrL  r   r2   c              3      K   | ]}|V  d S rn   r   rq   s     r-   rt   z9SetitemCastingEquivalents.test_int_key.<locals>.<genexpr>#  s"      ##!######r/   )ro   intr}   skipr:   r   r|  r9   r   rQ   iatr   slicer(   r   )r+   rx  r   r>   rP  rm  rc   ry  rngslcilkeyindkeygenkeys                r-   test_int_keyz&SetitemCastingEquivalents.test_int_key  s   #s## 	4K2333'4HIII 	Q 	QsC3ZPPP	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q "&  +D8LMMM O O""3XsBE:NNNO O O O O O O O O O O O O O OBG##+D8LMMM P P""3XsBFJOOOP P P P P P P P P P P P P P P Cq!!'4HIII 	Q 	QsC3ZPPP	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q bf$$S1W%%C+D8LMMM U U""3XsKTTTU U U U U U U U U U U U U U U '4HIII 	S 	SsE8S+zRRR	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S %'4HIII 	T 	TsFHc;
SSS	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T $#cU###'4HIII 	T 	TsFHc;
SSS	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	Ts    A''A+.A+%CCC7%D((D,/D,FF
FG,,G03G0H77H;>H;,JJJK))K-0K-c           	      T   t          |t                    st          j        d           |t          j        urHt	          j        |d          5  |                     ||||||           d d d            n# 1 swxY w Y   t          t          t          |                              |         }t	          j        |d          5  |                     ||||||           d d d            n# 1 swxY w Y   t          j        |          }	t	          j        |d          5  |                     ||	||||           d d d            n# 1 swxY w Y   d |	D             }
t	          j        |d          5  |                     ||
||||           d d d            d S # 1 swxY w Y   d S )NzNot relevant for slice keyrL  r   c              3      K   | ]}|V  d S rn   r   rq   s     r-   rt   z;SetitemCastingEquivalents.test_slice_key.<locals>.<genexpr>8  s"      $$!$$$$$$r/   )ro   r  r}   r  r:   r9   r   r|  r   r   lenr(   r   )r+   rx  r   r>   rP  rm  rc   ry  r  r  r  s              r-   test_slice_keyz(SetitemCastingEquivalents.test_slice_key'  s   #u%% 	6K4555bf$$+D8LMMM U U""3XsKTTTU U U U U U U U U U U U U U U U3s88__%%c*'4HIII 	S 	SsE8S+zRRR	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S %'4HIII 	T 	TsFHc;
SSS	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T %$V$$$'4HIII 	T 	TsFHc;
SSS	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	TsH   A55A9<A9C,,C03C0!EEE5FF!$F!c                    t          j        |j        t                    }d||<   |                                }t          |          rjt          |          |                                k     rEd}t          j	        t          |          5  | ||          |<   d d d            n# 1 swxY w Y   d S t          j        |d          5  | ||          |<   d d d            n# 1 swxY w Y   t          j        ||           d S )Nr^   Tz9boolean index did not match indexed array along dimensionr   rL  )r(   r[  shapeboolr8   r   r  sumr}   r   r   r:   r   r;   )	r+   rx  r   r>   rP  rm  rc   r   r   s	            r-   test_mask_keyz'SetitemCastingEquivalents.test_mask_key<  sw   x	...S	hhjj 	SDHHJJ!6!6MCz555 - -),C  &- - - - - - - - - - - - - - -F'4HIII 	) 	)%(KKT"	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)
sH-----s$   B&&B*-B*	C$$C(+C(c                    t          j        |j        t                    }d||<   t	          |          rnt          |          t          |          k     rNd}t          j        t          |          5  |	                    | |           d d d            n# 1 swxY w Y   d S |}	|
                                }|j        }
|	                    | |          }|t          u r+|j        t          k    r|                    t                    }nO|M|j        t          k    r=|j        t          k    sJ |
                                }d ||                                <   t#          j        ||           |                     ||	|
|           d S )Nr^   Tz4operands could not be broadcast together with shapesr   )r(   r[  r  r  r   r  r}   r   r^  r   r8   r  r	   rE   rF   fillnaisnar:   r;   r{  )r+   rx  r   r>   rP  rm  ry  r   r   rd   rR   r   s               r-   test_series_wherez+SetitemCastingEquivalents.test_series_whereM  s   x	...S	 	SCHH!4!4HCz555 & &		4%%%%& & & & & & & & & & & & & & &Fhhjjkiis##"99f,,r**HH[SY&00>V++++}}H(,HX]]__%
sH---Jc377777s   2BBBc                    t          j        |j        t                    }d||<   |rj|j        t
          k    rZt          j        t          d          5  t          |          
                    | |           d d d            d S # 1 swxY w Y   d S t          |          
                    | |          }t          ||j                  }	t          j        ||	           d S Nr^   TzScalar mustr   )r(   r[  r  r  rE   rF   r}   r   r   r   r   r:   assert_index_equal)
r+   rx  r   r>   rP  rm  r<  r   r   expected_idxs
             r-   test_index_wherez*SetitemCastingEquivalents.test_index_whereh  s   x	...S	 	5#)v"5"5y>>> - -c

  $,,,- - - - - - - - - - - - - - - - - - **""D5#..C @@@L!#|44444s   %BB	B	c                    t          j        |j        t                    }d||<   |ri|j        t
          k    rYt          j        t          d          5  t          |          
                    ||           d d d            d S # 1 swxY w Y   d S t          |          
                    ||          }t          j        |t          ||j                             d S r  )r(   r[  r  r  rE   rF   r}   r   r   r   putmaskr:   r  )	r+   rx  r   r>   rP  rm  r<  r   r   s	            r-   test_index_putmaskz,SetitemCastingEquivalents.test_index_putmaskt  s   x	...S	 	N#)v"5"5y>>> . .c

""4---. . . . . . . . . . . . . . . . . . **$$T3//C!#uXX^'L'L'LMMMMMs   $BBBN)rz   r{   r|   __doc__r}   fixturery  r|  r{  r  r  r  r  r  r  r   r/   r-   rv  rv    s          ^+ + ^+8 8 8/ / /"T "T "THT T T*. . ."8 8 86
5 
5 
5	N 	N 	N 	N 	Nr/   rv  zobj,expected,key,warnr2   r$   r4   r#   r%   zinterval[float64]r^   interval_int_na_value)id)	r4   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_keyrA   int_series_int_keybool_series_int_key_change_allbool_series_int_keyc                   p    e Zd Z ej        ej         ej        d          deg          d             Z	dS )TestSetitemCastingEquivalentsNaNNparamsc                     |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=  s     r-   rm  z!TestSetitemCastingEquivalents.val  s     }r/   )
rz   r{   r|   r}   r  r(   r)   r   r	   rm  r   r/   r-   r  r    sX        D V^BFJBJu$5$5tR@AAA  BA  r/   r  c                       e Zd Zej        d             Z ej        eeeg          d             Z	ej        d             Z
ej        d             Zej        d             Zej        d             ZdS )	!TestSetitemTimedelta64IntoNumericc                 0    t          j        dd          }|S )Nr%   r.  )r(   timedelta64)r+   r5  s     r-   rm  z%TestSetitemTimedelta64IntoNumeric.val  s    ^At$$	r/   r  c                     |j         S rn   r  r  s     r-   rE   z'TestSetitemTimedelta64IntoNumeric.dtype  
    }r/   c                 r    t          j        d                              |          }t          |          }|S )Nr$   )r(   r   astyper   r+   rE   rR   rI   s       r-   rx  z%TestSetitemTimedelta64IntoNumeric.obj  s-    ill!!%((Skk
r/   c                     t          j        d                              |          }t          |          }|                    t                    }t          j        dd          |j        d<   |S )Nr$   r%   r.  r   )r(   r   r  r   rF   r  rQ   r  s       r-   r>   z*TestSetitemTimedelta64IntoNumeric.expected  sU    ill!!%((Skkjj  nQ--
r/   c                     dS r   r   r+   s    r-   r   z%TestSetitemTimedelta64IntoNumeric.key      qr/   c                     t           S rn   r   r  s    r-   rP  z&TestSetitemTimedelta64IntoNumeric.warn      r/   N)rz   r{   r|   r}   r  rm  complexr  floatrE   rx  r>   r   rP  r   r/   r-   r  r    s         ^  ^
 V^GS%0111  21 ^  ^
 ^  ^ ^  ^ ^  ^  r/   r  c                   *   e Zd Z ej        ddg          d             Zej        d             Zej        d             Zej        d             Zej        d             Z	 ej        d	e
ej        g          d
             Zej        d             Zd	S )TestSetitemDT64IntoIntrl   m8[ns]r  c                     |j         S rn   r  r  s     r-   rE   zTestSetitemDT64IntoInt.dtype  r  r/   c                 F    t          j        dd          }|dk    r||z
  }|S )Nz2021-01-18 13:25:00r.  r  )r(   rp   )r+   rE   rm  s      r-   scalarzTestSetitemDT64IntoInt.scalar  s-    m1488H)C
r/   c                     t          ||dgt                    }t          |d         t          |                    sJ |S )Nr#   r^   r   )r   rF   ro   rq  )r+   r  r>   s      r-   r>   zTestSetitemDT64IntoInt.expected   s@    661-V<<<(1+tF||44444r/   c                 $    t          g d          S )NrA   r   r  s    r-   rx  zTestSetitemDT64IntoInt.obj  s    iii   r/   c                 "    t          d d          S )Nr   r  r  s    r-   r   zTestSetitemDT64IntoInt.key
  s    T2r/   Nc                 2    |j         }||S  |||g          S rn   r  )r+   r  r=  boxs       r-   rm  zTestSetitemDT64IntoInt.val  s(    m;MsFF#$$$r/   c                     t           S rn   r  r  s    r-   rP  zTestSetitemDT64IntoInt.warn  r  r/   )rz   r{   r|   r}   r  rE   r  r>   rx  r   r   r(   r   rm  rP  r   r/   r-   r  r    s	        V^Hh/000  10 ^  ^ ^  ^
 ^! ! ^! ^  ^ V^D$1222% % 32% ^  ^  r/   r  c                       e Zd Zej        d             Zej        d             Z ej        d edd          g          d             Z ej        de	j
        g          d             Zej        d	             ZdS )
TestSetitemNAPeriodDtypec                     t          t          ddd                    }t          j        |j                            d          |<   ||         t          u s!t          d ||         D                       sJ |S )N
2000-01-01r    r  r"   rY   i8c              3   (   K   | ]}|t           u V  d S rn   )r   rq   s     r-   rt   z4TestSetitemNAPeriodDtype.expected.<locals>.<genexpr>!  s&      %A%A1a3h%A%A%A%A%A%Ar/   )r   r   r   _valuer  viewru   )r+   r   re   s      r-   r>   z!TestSetitemNAPeriodDtype.expected  so    \,EEEFF&)js#3x3#%A%AC%A%A%A"A"A
r/   c                 @    t          t          ddd                    S )Nr  r    r  r  )r   r   r  s    r-   rx  zTestSetitemNAPeriodDtype.obj$  s    l<#FFFGGGr/   r#   r$   r  c                     |j         S rn   r  r  s     r-   r   zTestSetitemNAPeriodDtype.key(  r  r/   Nc                     |j         S rn   r  r  s     r-   rm  zTestSetitemNAPeriodDtype.val,  r  r/   c                     d S rn   r   r  s    r-   rP  zTestSetitemNAPeriodDtype.warn0      tr/   )rz   r{   r|   r}   r  r>   rx  r  r   r(   r)   rm  rP  r   r/   r-   r  r    s         ^  ^ ^H H ^H V^AuuQ{{+,,,  -, V^D"&>***  +* ^  ^  r/   r  c            
       j   e Zd Z ej        g d          d             Zej        d             Z ej        dej        e	 ej
        dd           ej        dd          g          d             Zej        d	             Zej        d
             Zej        d             Zej        d             ZdS )TestSetitemNADatetimeLikeDtype)r  rl   zdatetime64[ns, UTC]zdatetime64[ns, US/Central]r  c                     |j         S rn   r  r  s     r-   rE   z$TestSetitemNADatetimeLikeDtype.dtype;  s     }r/   c                     t          dd          j        }t          ||          }|j        |k    sJ t	          |          S )NrV   r#   r!   r^   )r   asi8r   rE   r   )r+   rE   i8valsr<   s       r-   rx  z"TestSetitemNADatetimeLikeDtype.objA  sH    L!4449F%(((yE!!!!c{{r/   Nr   r.  c                     |j         S rn   r  r  s     r-   rm  z"TestSetitemNADatetimeLikeDtype.valH  s     }r/   c                 X    |t           u p!|d u p|t          j        u p|j        |j        k    S rn   )r   r(   r)   rE   )r+   rm  rx  s      r-   ry  z)TestSetitemNADatetimeLikeDtype.is_inplaceT  s0    
 czSSD[SC26MSSY#)=SSr/   c                 z    |r|j         nt          }t          |gt          |dd                    z   |          }|S )Nr2   r^   )rE   rF   r   r   )r+   rx  rm  ry  rE   r>   s         r-   r>   z'TestSetitemNADatetimeLikeDtype.expected[  s>    '3		V3%$s122w--/u===r/   c                     dS r   r   r  s    r-   r   z"TestSetitemNADatetimeLikeDtype.keya  r  r/   c                     |rd nt           S rn   r  )r+   ry  s     r-   rP  z#TestSetitemNADatetimeLikeDtype.warne  s    !4tt}4r/   )rz   r{   r|   r}   r  rE   rx  r(   r)   r   r  rp   rm  ry  r>   r   rP  r   r/   r-   r  r  5  sE        V^XXX     ^  ^ V^FBN5$''BM%&&
     ^T T ^T ^  ^
 ^  ^ ^5 5 ^5 5 5r/   r  c                       e Zd Zej        d             Zej        d             Zej        d             Zej        d             Zej        d             Z	dS )$TestSetitemMismatchedTZCastsToObjectc                 @    t          t          ddd                    S )N2000r4   
US/CentralrN   r   r   r  s    r-   rx  z(TestSetitemMismatchedTZCastsToObject.objl  s    j|DDDEEEr/   c                 $    t          dd          S )Nr  rM   r\   )r   r  s    r-   rm  z(TestSetitemMismatchedTZCastsToObject.valp  s    L1111r/   c                     dS r   r   r  s    r-   r   z(TestSetitemMismatchedTZCastsToObject.keyt  r  r/   c                 z    t          |                    d          t          dd          g|j                  }|S )Nr  z2000-01-02 00:00:00-06:00r\   r^   )r   
tz_convertr   rE   )r+   rx  rm  r>   s       r-   r>   z-TestSetitemMismatchedTZCastsToObject.expectedx  sK     |,,5,GGG )
 
 
 r/   c                     d S rn   r   r  s    r-   rP  z)TestSetitemMismatchedTZCastsToObject.warn  r  r/   N
rz   r{   r|   r}   r  rx  rm  r   r>   rP  r   r/   r-   r  r  j  s        ^F F ^F ^2 2 ^2 ^  ^ ^
 
 ^
 ^  ^  r/   r  zobj,expected,warn)      ?       @r@  r  r@  i  )r   r   baz)Nr   r  c                   N    e Zd Zej        d             Zej        d             ZdS )TestSeriesNoneCoercionc                     dS r   r   r  s    r-   r   zTestSeriesNoneCoercion.key  r  r/   c                     d S rn   r   r  s    r-   rm  zTestSeriesNoneCoercion.val  r  r/   N)rz   r{   r|   r}   r  r   rm  r   r/   r-   r  r    sN        " ^  ^ ^  ^  r/   r  c                       e Zd Zd Zej        d             Zej        d             Zej        d             Zej        d             Z	ej        d             Z
dS )-TestSetitemFloatIntervalWithIntIntervalValuesc                    t          j        t          d                    }t          |          }t	          dd          }t          j        t          d          5  ||d<   d d d            n# 1 swxY w Y   |j        dk    sJ d S )Nr%         ?      ?z%Setting an item of incompatible dtyper   r   zInterval[float64, right])	r   from_breaksr   r   r   r:   r   r   rE   )r+   r<   rx  rm  s       r-   test_setitem_examplezBTestSetitemFloatIntervalWithIntIntervalValues.test_setitem_example  s    'a11SkksC  '!H
 
 
 	 	 CF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 y6666666s   A..A25A2c                 b    t          j        t          d                    }t          |          S )Nr%   )r   r  r   r   )r+   r<   s     r-   rx  z1TestSetitemFloatIntervalWithIntIntervalValues.obj  s$    'a11c{{r/   c                 "    t          dd          S )Nr  r  )r   r  s    r-   rm  z1TestSetitemFloatIntervalWithIntIntervalValues.val  s    S!!!r/   c                     dS r   r   r  s    r-   r   z1TestSetitemFloatIntervalWithIntIntervalValues.key  r  r/   c                 x    |gt          |dd                    z   }t          |d          }t          |          S )Nr2   zInterval[float64]r^   )r   r   r   )r+   rx  rm  datar<   s        r-   r>   z6TestSetitemFloatIntervalWithIntIntervalValues.expected  s;    utCG}}$D(;<<<c{{r/   c                     t           S rn   r  r  s    r-   rP  z2TestSetitemFloatIntervalWithIntIntervalValues.warn  r  r/   N)rz   r{   r|   r  r}   r  rx  rm  r   r>   rP  r   r/   r-   r  r    s        
7 
7 
7 ^  ^ ^" " ^" ^  ^ ^  ^
 ^  ^  r/   r  c                       e Zd Zej        d             Zej        d             Zej        d             Zej        d             Zej        d             Z	dS )!TestSetitemRangeIntoIntegerSeriesc                 j    t          j        |          }t          t          d          |          }|S Nr$   r^   )r(   rE   r   r   )r+   any_int_numpy_dtyperE   rI   s       r-   rx  z%TestSetitemRangeIntoIntegerSeries.obj  s/    ,--U1XXU+++
r/   c                 "    t          dd          S )Nr4   r%   )r   r  s    r-   rm  z%TestSetitemRangeIntoIntegerSeries.val      Q{{r/   c                 "    t          dd          S Nr   r4   r  r  s    r-   r   z%TestSetitemRangeIntoIntegerSeries.key  r  r/   c                 T    t          j        |          }t          g d|          }|S )N)r4   r#   r4   r#   r%   r^   )r(   rE   r   )r+   r  rE   re   s       r-   r>   z*TestSetitemRangeIntoIntegerSeries.expected  s-    ,--___E222
r/   c                     d S rn   r   r  s    r-   rP  z&TestSetitemRangeIntoIntegerSeries.warn  r  r/   Nr  r   r/   r-   r  r    s         ^  ^
 ^  ^ ^  ^ ^  ^
 ^  ^  r/   r  z	val, warn      @g      @A   c                   n    e Zd Zej        d             Zej        d             Zej        d             ZdS )(TestSetitemFloatNDarrayIntoIntegerSeriesc                 R    t          t          d          t          j                  S r  )r   r   r(   r   r  s    r-   rx  z,TestSetitemFloatNDarrayIntoIntegerSeries.obj  s    eAhhbh////r/   c                 "    t          dd          S r  r  r  s    r-   r   z,TestSetitemFloatNDarrayIntoIntegerSeries.key  r  r/   c                     |d         dk    rt           j        }nt           j        }t          j        t	          d          |          }||d d<   t          |          S )Nr   r4   r$   r^   )r(   r   r   r   r   r   )r+   rm  rE   
res_valuess       r-   r>   z1TestSetitemFloatNDarrayIntoIntegerSeries.expected  sT    q6Q;;HEEJEXeAhhe444

2A2j!!!r/   N)rz   r{   r|   r}   r  rx  r   r>   r   r/   r-   r  r    sk         ^0 0 ^0 ^  ^ ^" " ^" " "r/   r  rm     c                       e Zd Zej        d             Zej        d             Zej        d             Zej        d             ZdS )'TestSetitemIntoIntegerSeriesNeedsUpcastc                 <    t          g dt          j                  S )NrA   r^   r   r(   r   r  s    r-   rx  z+TestSetitemIntoIntegerSeriesNeedsUpcast.obj
  s    iiirw////r/   c                     dS r%  r   r  s    r-   r   z+TestSetitemIntoIntegerSeriesNeedsUpcast.key  r  r/   c                 <    t          g dt          j                  S )N)r2   r"  r#   r^   )r   r(   int16r  s    r-   r>   z0TestSetitemIntoIntegerSeriesNeedsUpcast.expected  s    kkk2222r/   c                     t           S rn   r  r  s    r-   rP  z,TestSetitemIntoIntegerSeriesNeedsUpcast.warn  r  r/   N	rz   r{   r|   r}   r  rx  r   r>   rP  r   r/   r-   r$  r$    s        ^0 0 ^0 ^  ^ ^3 3 ^3 ^  ^  r/   r$  )g      Bg    Bl            c                       e Zd Zej        d             Zej        d             Zej        d             Zej        d             ZdS )TestSmallIntegerSetitemUpcastc                 (    t          g dd          S )NrA   i4r^   r  r  s    r-   rx  z!TestSmallIntegerSetitemUpcast.obj  s    iiit,,,,r/   c                     dS r   r   r  s    r-   r   z!TestSmallIntegerSetitemUpcast.key"  r  r/   c                 F    |dz  dk    rd}nd}t          |ddg|          S )Nr2   r   f8r  r4   r#   r^   r  )r+   rm  rE   s      r-   r>   z&TestSmallIntegerSetitemUpcast.expected&  s4    7a<<EEEsAqk////r/   c                     t           S rn   r  r  s    r-   rP  z"TestSmallIntegerSetitemUpcast.warn.  r  r/   Nr+  r   r/   r-   r-  r-    s         ^- - ^- ^  ^ ^0 0 ^0 ^  ^  r/   r-  c                   N    e Zd Zej        d             Zej        d             ZdS )CoercionTestc                     dS r%  r   r  s    r-   r   zCoercionTest.key6  r  r/   c                 L    t          |          }|||<   t          ||          S )Nr^   )r   r   )r+   rx  r   rm  	exp_dtyperf   s         r-   r>   zCoercionTest.expected:  s)    CyyS	d),,,,r/   N)rz   r{   r|   r}   r  r   r>   r   r/   r-   r5  r5  3  sN         ^  ^ ^- - ^- - -r/   r5  zval,exp_dtype,warnc                   .    e Zd Zej        d             ZdS )TestCoercionInt8c                 <    t          g dt          j                  S )Nr  r^   r&  r  s    r-   rx  zTestCoercionInt8.objG  s    lll"'2222r/   Nrz   r{   r|   r}   r  rx  r   r/   r-   r:  r:  A  s1         ^3 3 ^3 3 3r/   r:  )r2   皙?      ?      ?Tr8  c                   N    e Zd Zej        d             Zej        d             ZdS )TestCoercionObjectc                 2    t          g dt                    S )N)r1   r3   r   dr^   )r   rF   r  s    r-   rx  zTestCoercionObject.objP  s    ***&9999r/   c                     d S rn   r   r  s    r-   rP  zTestCoercionObject.warnT  r  r/   Nrz   r{   r|   r}   r  rx  rP  r   r/   r-   r@  r@  L  sN         ^: : ^: ^  ^  r/   r@  r=  r>  c                   .    e Zd Zej        d             ZdS )TestCoercionComplexc                 $    t          g d          S )N)r>  y       @       @y      @      @y      @      @r  r  s    r-   rx  zTestCoercionComplex.objd  s    666777r/   Nr<  r   r/   r-   rF  rF  Y  s1         ^8 8 ^8 8 8r/   rF  rn  c                   .    e Zd Zej        d             ZdS )TestCoercionBoolc                 2    t          g dt                    S )N)TFTFr^   )r   r  r  s    r-   rx  zTestCoercionBool.objv  s    000====r/   Nr<  r   r/   r-   rI  rI  i  s1         ^> > ^> > >r/   rI  c                   .    e Zd Zej        d             ZdS )TestCoercionInt64c                 $    t          g d          S )Nr  r  r  s    r-   rx  zTestCoercionInt64.obj  s    lll###r/   Nr<  r   r/   r-   rL  rL  {  s1         ^$ $ ^$ $ $r/   rL  c                   .    e Zd Zej        d             ZdS )TestCoercionFloat64c                 $    t          g d          S )Nr=  g@gffffff
@g@r  r  s    r-   rx  zTestCoercionFloat64.obj  s    ***+++r/   Nr<  r   r/   r-   rO  rO    s1         ^, , ^, , ,r/   rO  weakzbnp.float32(1.1) ends up as 1.100000023841858, so np_can_hold_element raises and we cast to float64r8  )marksc                   >     e Zd Zej        d             Z fdZ xZS )TestCoercionFloat32c                 <    t          g dt          j                  S )NrQ  r^   )r   r(   float32r  s    r-   rx  zTestCoercionFloat32.obj  s    ***"*====r/   c           	          t                                          |||||||           t          |t                    rt	          d          d S )Nz!xfail not relevant for this test.)superr  ro   r  AssertionError)	r+   rx  r   r>   rP  rm  rc   ry  	__class__s	           r-   r  z"TestCoercionFloat32.test_slice_key  sU    sC4k:VVVc5!! 	F !DEEE	F 	Fr/   )rz   r{   r|   r}   r  rx  r  __classcell__)r[  s   @r-   rU  rU    s^        < ^> > ^>F F F F F F F F Fr/   rU  r`   zdatetime64[ns]rs   c                   N    e Zd Zej        d             Zej        d             ZdS )TestCoercionDatetime64c                 @    t          t          ddd                    S )Nr_   r  r%   )rY   r"   r  r  s    r-   rx  zTestCoercionDatetime64.obj  s    jCCCCDDDr/   c                     d S rn   r   r  s    r-   rP  zTestCoercionDatetime64.warn  r  r/   NrD  r   r/   r-   r^  r^    sQ         ^E E ^E ^  ^  r/   r^  rM   r\   zdatetime64[ns, US/Eastern]r  c                   N    e Zd Zej        d             Zej        d             ZdS )TestCoercionDatetime64TZc                 F    d}t          t          ddd|                    S )NrM   r_   r  r%   rX   r  )r+   rO   s     r-   rx  zTestCoercionDatetime64TZ.obj  s&    jCrJJJKKKr/   c                     d S rn   r   r  s    r-   rP  zTestCoercionDatetime64TZ.warn  r  r/   NrD  r   r/   r-   rb  rb    sQ         ^L L ^L ^  ^  r/   rb  z12 dayztimedelta64[ns]c                   N    e Zd Zej        d             Zej        d             ZdS )TestCoercionTimedelta64c                 >    t          t          dd                    S )Nz1 dayr%   r!   )r   r   r  s    r-   rx  zTestCoercionTimedelta64.obj  s    ogq999:::r/   c                     d S rn   r   r  s    r-   rP  zTestCoercionTimedelta64.warn  r  r/   NrD  r   r/   r-   rf  rf    sN         ^; ; ^; ^  ^  r/   rf  r   2016Yr   both)closedc                       e Zd Z ej         eddd           edd          g          d             Zej        d	             Zd
S )TestPeriodIntervalCoercionrV   r#   r  r  r2   r$   r  c                 *    t          |j                  S rn   )r   r  r  s     r-   rx  zTestPeriodIntervalCoercion.obj  s     gm$$$r/   c                     t           S rn   r  r  s    r-   rP  zTestPeriodIntervalCoercion.warn  r  r/   N)	rz   r{   r|   r}   r  r   r   rx  rP  r   r/   r-   rn  rn    s         V^Lqs;;;N1a  
  % % % ^  ^  r/   rn  c                     t          g dg d          } t          g dg d          }|                                 }t          j        t          d          5  d|j        d<   d d d            n# 1 swxY w Y   t          j        ||           |                                 }t          j        t          d          5  d|j        d<   d d d            n# 1 swxY w Y   t          j        ||           |                                 }t          j        t          d          5  d|d<   d d d            n# 1 swxY w Y   t          j        ||           |                                 }t          j        t          d          5  d|j        d	<   d d d            n# 1 swxY w Y   t          j        ||           |                                 }t          j        t          d          5  d|j	        d	<   d d d            n# 1 swxY w Y   t          j        ||           | 
                    d
          }|
                    d
          }|                                }t          j        t          d          5  d|j        d<   d d d            n# 1 swxY w Y   t          j        ||           |                                }t          j        t          d          5  d|j        d<   d d d            n# 1 swxY w Y   t          j        ||           |                                }t          j        t          d          5  d|j	        d<   d d d            n# 1 swxY w Y   t          j        ||           |                                }t          j        t          d          5  d|j        d<   d d d            n# 1 swxY w Y   t          j        ||           d S )Nr   r2   r4   r   r5   )r   皙@r4   rL  r   rs  r3   r2   r   )r3   r   )r2   r   )r   r8   r:   r   r   r   r;   r9   r  rQ   to_frameassert_frame_equal)rd   r>   rI   orig_dfexpected_dfdfs         r-   
test_20643ry    s   )))???333Dkkk999H
))++C		#M9M	N	N	N  s              3)))
))++C		#M9M	N	N	N                3)))
))++C		#M9M	N	N	N  C              3)))
))++C		#M9M	N	N	N  
              3)))
))++C		#M9M	N	N	N                3)))mmC  G##C((K	B		#M9M	N	N	N  h              "k***	B		#M9M	N	N	N  x              "k***	B		#M9M	N	N	N                "k***	B		#M9M	N	N	N  t              "k*****s   A11A58A5 CCC&D88D<?D<FF"%F"-HHH=JJJ#K::K>K>	M  M$'M$/OO
O
c                  <   t          g dg d          } t          t          j        ddgg d          }|                                 }d |j        d<   t          j        ||           |                                 }d |j        d<   t          j        ||           d S )Nrr  r   r5   r2   r4   r   )r   r(   r)   r8   r  r:   r;   rQ   )rd   r>   rI   s      r-   test_20643_commentr{  M  s     )))???333Drvq!nOOO<<<H
))++CCGAJ3)))
))++CCHQK3)))))r/   c                  D   t          g d          } t          j        t          d          5  | | dk    xx         dz  cc<   d d d            n# 1 swxY w Y   t          g d          }t          j        | |           t          g d          } t          j        t          d          5  | dxx         dz  cc<   d d d            n# 1 swxY w Y   t          j        | |           t          g d          } t          j        t          d          5  | j        dxx         dz  cc<   d d d            n# 1 swxY w Y   t          j        | |           t          g d          } t          j        t          d          5  | j        dxx         dz  cc<   d d d            n# 1 swxY w Y   t          j        | |           t          g d          } t          j        t          d          5  | j        dxx         dz  cc<   d d d            n# 1 swxY w Y   t          j        | |           t          g d          } t          j        t          d          5  | j        dxx         dz  cc<   d d d            n# 1 swxY w Y   t          j        | |           d S )NrA   rL  r   r4   r  )r2   r  r#   r2   )	r   r:   r   r   r;   r9   rQ   r  r   )rI   r>   s     r-   
test_15413r}  \  s   


C		#M9M	N	N	N  C1H              kkk""H3)))


C		#M9M	N	N	N  A#              3)))


C		#M9M	N	N	N  


c


              3)))


C		#M9M	N	N	N  s              3)))


C		#M9M	N	N	N  


c


              3)))


C		#M9M	N	N	N  q			S			              3)))))sk   AAA+CCCD66D:=D:F$$F(+F(0HHHJ  JJc                     t          j        d                              d          } t          |           }t          j        t          j        t           j                  j                  }t          j        t          d          5  ||d<   d d d            n# 1 swxY w Y   t          |dddd	gt           j        
          }t          j
        ||           d S )Nr$   r/  rL  r   r   r2   r4   r#   r%   r^   )r(   r   r  r   r   iinfomaxr:   r   r   r;   rR   rI   rm  r>   s       r-   test_32878_int_itemsizer    s    
)A,,

d
#
#C
++C
(28BH%%)
*
*C		#M9M	N	N	N  A              sAq!Q'rx888H3)))))s   BB Bc                     t          j        d                              d          } t          |           }t          j        t           j                  j        }|                    d          }t          j        t          d          5  ||d<   d d d            n# 1 swxY w Y   |d         |k    sJ t          |ddd	d
gd          }t          j
        ||           d S )Nr$   c8c16rL  r   r   r2   r4   r#   r%   r^   )r(   r   r  r   finfor   r  r:   r   r   r;   r  s       r-   test_32878_complex_itemsizer    s   
)A,,

d
#
#C
++C
(2:


"C
**U

C 
	#M9M	N	N	N  A              q6S====sAq!Q'u555H3)))))s   
BB #B c                    t          g dg d          }t          j        t          d          5  d | |          d<   d d d            n# 1 swxY w Y   t          g dg dt          	          }t          j        ||           d S )
NrA   r   r5   rL  r   testr3   )r2   r  r#   rD   r   r:   r   r   rF   r;   )
indexer_alrI   r>   s      r-   
test_37692r    s    
///
2
2
2C		#M9M	N	N	N & &%

3& & & & & & & & & & & & & & &nnnOOO6JJJH3)))))s   AAAc                 `   t           j        t           j        fD ]}t          dt	          d          |          }t          j        t          d          5  d | |          d<   d d d            n# 1 swxY w Y   |j        t          k    sJ t          dt	          d          t                    }t          j        t          d          5   |d          |d<   d d d            n# 1 swxY w Y   |j        t          k    sJ t          dt	          d          t           j                  }t          j        d           | |          d<   |j        t           j        k    sJ t          dt	          d          t           j                  }t          j        d           | |          d<   d S )	Nr   r#   rD   rL  r   Tr2   r  )r(   r   r   r   r   r:   r   r   rE   rF   r  )rc   rE   rI   s      r-   'test_setitem_bool_int_float_consistencyr    s   
 *bh' 	# 	#QeAhhe444'=QRRR 	' 	'"&KKQ	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	'yF""""QeAhhd333'=QRRR 	 	U1XXCF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	yF""""" %(("(
3
3
3C*S//KKQ9     %(("*
5
5
5C(1++KKQs$   A00A4	7A4	C''C+	.C+	c                     t          g dg d          } d}t          j        t          |          5  d| d<   d d d            n# 1 swxY w Y   t          g dg dt          	          }t          j        | |           d S )
NrA   r   r5   r   r   rk   r   )rk   r4   r#   rD   r  rI   r   r>   s      r-   $test_setitem_positional_with_castingr    s     ///
2
2
2CLH		#M	B	B	B  A              kkkGGGH3)))))   AA	A	c                      t          g dg d          } d}t          j        t          |          5  d| d<   d d d            n# 1 swxY w Y   t          g dg d          }t          j        | |           d S )	NrA   r   r5   r   r   r  r   )r  r4   r#   )r   r:   r   r   r;   r  s      r-   .test_setitem_positional_float_into_int_coercesr    s     ///
2
2
2CLH		#M	B	B	B  A              kkk999H3)))))r  c                     t          g dg d          } | j        j        rJ d| d<   t          g d| j                  }t          j        | |           d| d<   t          g dg d	          }t          j        | |           t          j        t          d                    d d d
         }t          t          t          |                    |          }|	                    t                                        t          dg                    }t          g d|          }d|d<   t          j        ||           t          j        | j        ddgg          }t          t          t          |                    |          }|                                }d|j        d<   d|d<   t          j        ||           d S )Nr  )r=   @r@  ffffff@r5   r    r#   )r2   r4   r    r%   r$   )r2   r4   r    r%   r$   )r=  r  r@  r  g      @r4   r%   )r   r2   r4   r#   r%   r   r   r   Bc   )r   r6   _should_fallback_to_positionalr:   r;   r   r  r   r  r  rF   appendr   r   r   r8   r9   )	rI   r>   iir   	exp_index	expected2r   r   	expected3s	            r-   test_setitem_int_not_positionalr    s    %9%9%9
:
:
:Cy7777 CFmmm39555H3))) CF&&&.G.G.GHHHH3)))		"599	-	-ccc	2B%B..+++D		&!!((s44I)));;;IDG4+++		 #)c3Z!8	9	9B%B..+++D		IIM!DG4+++++r/   c                  J   t          g dg dd          } |                     d                                          }d|g d<   t          g dd          }t	          j        ||           d	| j        g dd
f<   t          d
g di          }t	          j        | |           d S )NrA   )r%   r$   r'   )r1   r3   r3   r   )TFF)r   r$   r'   )r  rD  r    r1   )r    r4   r#   )r   popr8   r   r:   r;   r9   ru  )rx  r=   r>   s      r-   test_setitem_with_bool_indexerr    s     
33	4	4BVVC[[F#$F 9993///H68,,,(*BF$%#zzz*++H"h'''''r/   sizer   )TFFFFitemr  c                 ,    t          j        | g          S rn   )r(   r   r!  s    r-   r   r     s    bhsmm r/   c                     | gS rn   r   r!  s    r-   r   r     s    s r/   c                     | fS rn   r   r!  s    r-   r   r     s    qd r/   c                    t          j        ||           }t          j        | t                    }t	          |          }|                                dk    rFd}t          j        t          |          5   ||          ||<   d d d            d S # 1 swxY w Y   d S  ||          ||<   t	          t          j        | t                              }|||<   t          j
        ||           d S )Nr^   r2   zKcannot set using a list-like indexer with a different length than the valuer   )r(   resizer   r  r   r  r}   r   r^  r:   r;   )	r  r   r  r  	selectionr  rI   r   r>   s	            r-   7test_setitem_bool_indexer_dont_broadcast_length1_valuesr    s/     	$%%I9T'''D
,,C}}!$ 	 ]:S111 	' 	' SYYC	N	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' TI")D66677"
sH-----s   5BBBc                  z   t          dd          } t          |           }|                                }t          j        dt
                    }d||<   |j        | j        k    sJ t          j        ||           |	                    |dd           |j        | j        k    sJ t          j        ||           d S )NrV   r#   r!   r^   r   Tr   )
r   r   r8   r(   r[  r  rE   r:   r;   r   )r  rI   rd   r   s       r-   (test_setitem_empty_mask_dont_upcast_dt64r  +  s    
\1
-
-
-C
++C88::D8AT"""DCI9	!!!!3%%%HHT5$H'''9	!!!!3%%%%%r/   )sr   r   decimalr   numpyr(   r}   pandas.compat.numpyr   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_testingr:   pandas.tseries.offsetsr   r   r   r   r   r	  r  r)  r`  rb  rg  ri  rk  rv  r~   r   r  r)   r   r  rF   r   r  r  r  r  r  r  r  r  r  r   r  r)  r$  r-  r5  int32r   r:  r@  
complex128rF  r  rI  r   rL  rO  rW  r;  _get_promotion_stater  uint32r  r  uint64rU  r^  rb  rf  rn  ry  r{  r}  r  r  r  r  r  r  r  r  r   r  r  minr  r  r   r/   r-   <module>r     s                     2 2 2 2 2 2 ' ' ' ' ' ' 2 2 2 2 2 2                                         *       ' ' ' ' ' 'J. J. J. J. J. J. J. J.Z. . . . . . . .<-1 -1 -1 -1 -1 -1 -1 -1`pA pA pA pA pA pA pA pAf( ( ( ( ( ( ( (V. . . . . . . .*}+ }+ }+ }+ }+ }+ }+ }+@    % % %:% % %. . . . . . . .BcN cN cN cN cN cN cN cNL  F>>!Q''((F!Q!Q!QH)   &	
 	
 	
 	F///00FBFArvq"&!RVQGHHE$a  *	
 	
 	
 	F---..FBFD"&%0???E$a  +	
 	
 	
 	F929R==!!FBFBFBFBFBFAq!QJKKE$NN%	
 	
 	
 	F999FBFAq>""#	
 	
 	
 	FE7OOFBF86***/	
 	
 	
 	FE4=!!FBFD>000$	
 	
 	
k=@ @B	 	 	 	 	$= 	 	C@ @B	" " " " "(A " " "J% % % % %6 % % %P    8   625 25 25 25 25%> 25 25 25j    +D   @  
					FFBFAq>22D9		 	 &&"&#s);"<"<dC FHHT1a((((4A*>*>qRS@T@TUVVFC$1--xxa/C/CDEE	
 
%%%	&	&/C/C/C(D(DdK      6  !  $ $ $ $ $4M $ $ $N    (A   : 	3*		t$	3*		}-BHaeQUQY'rz:::	

 
" " " " "/H " "
 
"* hbhsmm 455    .G   65$  A A ABB    $=   CB.- - - - -, - - - bhqkk27D!HBHTNNBHm#LM 3 3 3 3 3| 3 3	 3  6 6 677vh//       0/ 87 	
BM4 	bmT"	%	v}%	 8 8 8 8 8, 8 8 8 	
FM"	fm$	
FM"	fm$	'	tT
 
> > > > >| > >
 
> 	
BHd	bj-(	.	v}%	 $ $ $ $ $ $ $ $ 	
BJ	bj$	.	v}%	 , , , , ,, , , , 	
BJJ+##** T*R/Fr/F/H/HF/RD $  		
 	
 	
 
.	v}%	!bj$'	1rz4( 
828BI&&*	+	+RZG	1rz4(	!bj$'1 :
F 
F 
F 
F 
F, 
F 
F; :
F 	<	 	 "2D9	
FM"	fm$ 	 	 	 	 	\ 	 	 	 	<L	1	1	13OQUV	<L	1	1	13OQUV	<	 	 &-8	
FM"	 		 	 	 	 	| 	 		 		 	8		/6	
FM"	fm$     l    	E66&s+++XXa6-J-J-JK  vh//       0/  4+ 4+ 4+n* * * *  *  *F* * ** * ** * *& & &4	* 	* 	*	* 	* 	*, , ,D( ( ( q!--
///$H  
S"&("(5//-xrx/BC 
 	##]]NNC . .    .-.8& & & & &r/   