
    o[we                        d dl mZ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
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 Z, G d d          Z- G d d          Z.ej/        0                    d ej1         e edd                     e edd           ej2         ed!d"           ed"d          gd#$          de3d%&           ej1         eg d'           eej2        d!ej2        dej2        d(ej2        d)ej2        g	           e4ddd           dd*&           ej1         eg d+           eej2        d,ej2        d-ge5$           e4ddd           e3d.&           ej1         e ej6        d/                     eej2        ej2        ej2        ej2        ej2        dd0d(d1d)g
           e4dd          dd2&           ej1         eg d3           eej2        d d!g          d dd4&           ej1         ed-g           eej2        ge5$          d e3d5&           ej1         ed-d,g           eej2        d,ge5$          d e3d6&          g           G d7 d8e.                      Z7 G d9 d:e.          Z8 G d; d<e.          Z9 G d= d>e.          Z: G d? d@e.          Z; G dA dBe.          Z<ej/        0                    dC eg d3           eej2        d d!g          df eg dD           eej2        dEdFg          df e e dGdd           e dGdd            e dGdd!          g           ee e dGdd            e dGdd!          g          df eg dH           eg dI          dfg           G dJ dKe.                      Z= G dL dMe.          Z> G dN dOe.          Z?ej/        0                    dP ej        dEdFg          df ej        dQdRg          e3f ej        d dSz  d dSz  dz   gej@        $          e3fg           G dT dUe.                      ZAej/        0                    dVdW ejB        dW          g           G dX dYe.                      ZCej/        0                    dVg dZ           G d[ d\e.                      ZD G d] d^e.          ZEej/        0                    d_ ejF        d          ejG        df ejB        dW          ejB        e3fg           G d` daeE                      ZHej/        0                    dVg db          ej/        0                    dce5g           G dd deeE                                  ZIej/        0                    d_dejJ        dfdfejJ        dfdgejJ        dfd,e5e3fg           G dh dieE                      ZKej/        0                    d_de5e3fdje5e3fd!e5e3fdfe5e3fdge5e3fd,eLdfg           G dk dleE                      ZMej/        0                    d_dejN        dfdfej@        e3fdgejJ        e3fd,e5e3fg           G dm dneE                      ZOej/        0                    d_dej@        dfdfej@        dfdgejJ        e3fd,e5e3fg           G do dpeE                      ZPej/        0                    d_dejQ        df ej1        dfejQ        dej/        R                    dqr          s          dgejJ        e3fd,e5e3f ejS        d           ejQ        df ejT        d           ejQ        df ejT         ejU        ejT                  jV                  ej@        e3f ejW        d           ejQ        df ejN        d           ejQ        dfg	           G dt dueE                      ZXej/        0                    d_ edv          dwdfde5e3fdxe5e3fg           G dy dzeE                      ZYej/        0                    d_ edvd{|          d}df edvd~|          d}df edv          e5e3fde5e3fg           G d deE                      ZZej/        0                    d_ ed          ddfde5e3fdxe5e3fg           G d deE                      Z[ej/        0                    dVd edd           edd d          g          ej/        0                    dce5g           G d deE                                  Z\d Z]d Z^d Z_d Z`d Zad Zbd Zcd Zdd Zed Zfd Zgej/        0                    d ehd d0                    ej/        0                    dg dd,d-gd-gg          ej/        0                    ddEej2         eji        ej          jV         eji        ej          jk        g          ej/        0                    dd d d g          d                                                 Zld ZmdS )    )datedatetimeN)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     Ilib/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   r0   r2   indexr   )r   from_tuplesr   copyloctmassert_series_equal)r)   idxresultexpecteds       r+   #test_setitem_multiindex_empty_slicez9TestSetitemDT64Values.test_setitem_multiindex_empty_slice6   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r0   r2   r!   )Dater1   otherr4   dtyper@   )r   objectr   todayr@   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   r0   )r   r2   )r   r!   )r   r#   r3   rN   r   )r   r   r6   r&   r'   ilocr8   r9   )r)   arrr4   r;   r<   s        r+   )test_setitem_tuple_with_datetimetz_valuesz?TestSetitemDT64Values.test_setitem_tuple_with_datetimetz_valuesF   sr    |<<<0005)));;==v6a
vx00000r-   rM   )rK   UTCz
Asia/Tokyoc                    t          t          ddd|                    }|j        d| dk    sJ t          t          d|          t          d	|          t          d
|          g          }|                                }t          d|           ||          d<   t          j        ||           t          t          d|          t          d|          gddg          }|j        d| dk    sJ t          t          d|          t          d	|          t          d|          g          }|                                }| ||          ddg<   t          j        ||           d S )N
2016-01-01Hr!   freqr    rM   datetime64[ns, ]z2016-01-01 00:00rM   2011-01-01 00:00z2016-01-01 02:00
2011-01-01r0   
2012-01-01r2   r3   2012-01-01 00:00r   r   rC   r   r6   r8   r9   )r)   rM   indexer_sliorigexprG   valss          r+   test_setitem_with_tzz*TestSetitemDT64Values.test_setitem_with_tzP   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          }|                                }t          d|	           ||          d<   t          j        ||           t          t          d|	          t          d|	          gddg          }|j        d| dk    sJ t          t          d|	          t          d|	          t          d|	          g          }|                                }| ||          ddg<   t          j        ||           d S )NrK   z
2016-11-06rU   r!   rV   rX   rY   z2016-11-06 00:00-04:00rZ   z2011-01-01 00:00-05:00z2016-11-06 01:00-05:00r\   r0   r]   r2   r3   z2016-11-06 00:00r[   r^   r_   )r)   r`   rM   ra   rb   rG   rc   s          r+   test_setitem_with_tz_dstz.TestSetitemDT64Values.test_setitem_with_tz_dstu   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XrC   Tr#   M8[ns]r   rB   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'   rD   r   rO   allvaluesr8   r9   )r)   rG   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=   rH   rQ   pytestmarkparametrizerd   rf   rw    r-   r+   r   r   '   s             1 1 1+ + +1 1 1 [T#F#F#FGG") ") HG")H$) $) $)L. . . . .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 )	Nr/   r   r3   z2index -11 is out of bounds for axis 0 with size 10;Series.__setitem__ treating keys as positions is deprecatedmatchfooi)r   r{   raises
IndexErrorr8   assert_produces_warningFutureWarning)r)   rG   msgwarn_msgs       r+   #test_setitem_negative_out_of_boundsz<TestSetitemScalarIndexer.test_setitem_negative_out_of_bounds   s   cURZurz222BP]:S111 	! 	!+MJJJ ! ! C! ! ! ! ! ! ! ! ! ! ! ! ! ! !	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s5   A?A'A?'A+	+A?.A+	/A??BBru   	ser_indexr   r0   c                     t          ddgd          } ||          }t          dg|g          |d<   t          t          dg|g          dgd          }t          j        ||           d S )Nr   rD   ri   *   r3   r   r8   r9   )r)   ru   r   rG   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   r3   )r   r7   r8   r9   )r)   r4   	exp_valuerG   r<   s        r+   test_setitem_seriesz,TestSetitemScalarIndexer.test_setitem_series   sY     aVnnRD000
9a.))
sH-----r-   N)rx   ry   rz   r   r{   r|   r}   r8   r7   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   r3   r   ir"   )r   rangelistrs   rF   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 )Nr2      )r2   r#   r%   r   r            r3   r   r#   )r   r&   randomdefault_rngstandard_normalrs   anyrF   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                    t          j        d                    }d|d d d<   |d d d         dk                                    sJ d S )N   r3   r   r2   )r   r8   makeIntIndexastypefloatrs   r(   s     r+   test_setitem_slicestepz(TestSetitemSlices.test_setitem_slicestep   ss    ++22599QSATATUUU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   r0   abcder   ri   d   r#   )
r   r0   r2   r!   r   r"   r%   r$   r   	   )	r   from_productr   r   r&   arangeint64r8   r9   )r)   r`   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)rx   ry   rz   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 )Nr0   r2   r   rB   r   TFr   r)   rG   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 )
Nr2   r   r   r3   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   roundr6   mapr   r8   r   r   r9   )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   r0   r2   r   r   r   r   )r   12r   )r   r   r   r8   r   r   r9   r)   rG   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 )Nr2   r   r"   )medianr6   r8   r9   reindex_like)r)   string_seriesr   r;   r<   s        r+   test_setitem_booleanz+TestSetitemBooleanMask.test_setitem_boolean'  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 )Nr0   rW   zsUnalignable boolean Series provided as indexer \(index of the boolean Series and of the indexed object do not matchr   )shiftr   r   r{   r   r   r7   )r)   r   r   mask_shiftedr   s        r+   test_setitem_boolean_cornerz2TestSetitemBooleanMask.test_setitem_boolean_corner7  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_valuesr6   r8   r9   )r)   r   orderedr6   r<   s        r+   $test_setitem_boolean_different_orderz;TestSetitemBooleanMask.test_setitem_boolean_different_orderE  sj    ++--!!##Wq[ %%''!"A
tX.....r-   funcc                     t          g d          } |g d          }ddg||<   t          g d          }t          j        ||           d S )N)Nr1   NTFTr/   cr/   r1   r   r   )r)   r   rG   r   r<   s        r+    test_setitem_boolean_python_listz7TestSetitemBooleanMask.test_setitem_boolean_python_listP  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   ri   r#   r%   )r"   r%   r2   r!   r0   )r   r   r8   r9   r7   )r)   any_numeric_ea_dtyperG   r<   loc_sers        r+   'test_setitem_boolean_nullable_int_typesz>TestSetitemBooleanMask.test_setitem_boolean_nullable_int_typesY  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"   r2   ri   )r   r   r   rD   r8   r9   )r)   rG   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_lengthi  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   FTri   )r   r8   r   r   r&   r'   rD   r9   )r)   r;   r<   s      r+   test_setitem_nan_with_boolz1TestSetitemBooleanMask.test_setitem_nan_with_boolr  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 )Nr?   int8ri   )      r   r   r   )r   r2   r   Tinplace)r   r&   r   r   r6   r8   r   r   r9   r   where	r)   ra   altr   rG   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 )Nr?   uint8ri   )   r      r   )r  r2   r  Tr   F)check_dtype)	r   r&   r   r   r6   r8   r9   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)rx   ry   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      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!   rK   rL   r0   D)	r   r   _values_ndarraybase_datarW   r   rO   r)   using_copy_on_writedtir   rG   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 )NrT   r   
US/PacificrL   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)rx   ry   rz   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r0   r2   r!   r#   ABCDr3   r   c                     dS )NAr~   rq   s    r+   r   z?TestSetitemCallable.test_setitem_callable_key.<locals>.<lambda>  s    c r-   )r   r2   r!   r#   )r   r   r8   r9   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 Nr0   r~   r!  s    r+   r   zATestSetitemCallable.test_setitem_callable_other.<locals>.<lambda>  s
    A r-   )r0   r2   r   r#   ri   r   r0   r2   r#   )r   rD   r8   r9   )r)   incrG   r<   s       r+   test_setitem_callable_otherz/TestSetitemCallable.test_setitem_callable_other  s\    o ]]]&111C!G1aa.))
sH-----r-   N)rx   ry   rz   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]   ri   /   )r   r   rD   r8   r9   )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                    t          g t          g d          t                    }t          d          }d||<   t          dt          |gd                    }t	          j        ||           |j        j        |j        j        k    sJ d S )Nr  r   ri   r]   r+  )r   r
   rD   r   r8   r9   r4   rW   )r)   r*   r   r<   s       r+   6test_setitem_empty_series_datetimeindex_preserves_freqzOTestSetitemWithExpansion.test_setitem_empty_series_datetimeindex_preserves_freq  s    M"3777vFFF%%s"mSE<<<==
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 	timestamprB   ri   g     r@anything)r   r   rD   )r)   r0  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                 |   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 )Nrq   r   r3  rB   r4  )r   rD   r8   r9   rm   r   r7   )r)   r3  r<   rG   s       r+   #test_append_timedelta_does_not_castz<TestSetitemWithExpansion.test_append_timedelta_does_not_cast
  s     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 )
Nri   rT   r/         @r1   r   r   r   r3   )r   rD   r   r8   r9   r   s      r+   *test_setitem_with_expansion_type_promotionzCTestSetitemWithExpansion.test_setitem_with_expansion_type_promotion   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foobarr0   r*   )r4   name)r6   r4   r   r   r8   r9   )r)   r   rG   appr<   s        r+   test_setitem_not_containedz3TestSetitemWithExpansion.test_setitem_not_contained)  sr      ""sy((((HaS
:::=#.//
sH-----r-   c                     t          ddg|          }d|d<   t          g d|          }t          j        ||           d S )Nr0   r2   ri   r   )r0   r2   r   r   )r)   r   rG   r<   s       r+   test_setitem_keep_precisionz4TestSetitemWithExpansion.test_setitem_keep_precision3  sR    aV#7888A***,@AAA
sH-----r-   z1na, target_na, dtype, target_dtype, indexer, warnInt64r0   Nr2   r   float64rD   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 )Nr0   r2   ri   incompatible dtyper   )r   r8   r   r9   )
r)   na	target_narC   target_dtyperu   warnrG   expected_valuesr<   s
             r+   test_setitem_enlarge_with_naz5TestSetitemWithExpansion.test_setitem_enlarge_with_na:  s    * aV5)))'4HIII 	 	CL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	,3qLL1i..q!Y>O/>>>
sH-----s   <A A c                     t          ddg          }||d<   t          dd|gg d          }t          j        ||           |d         |u sJ d S )Nr/   r1   r!   )r   r0   r!   r3   r   )r)   nulls_fixturerG   r<   s       r+   $test_setitem_enlargement_object_nonez=TestSetitemWithExpansion.test_setitem_enlargement_object_noneV  sg    c3Z  A3]3999EEE
sH---1v&&&&&&r-   )rx   ry   rz   r,  r.  r2  r{   r|   r}   r   to_timedelta64to_pytimedeltar6  r9  r>  r@  r   r&   r'   r   r   rK  rN  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r6   #assignment destination is read-onlyr   r0   r   )	r&   zerosflags	writeabler   r4   r{   r   
ValueError)r   r*   nr   s       r+   .test_setitem_scalar_into_readonly_backing_datarY  _  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"   FrR  rS  r   r0   r!   )	r&   rT  rU  rV  r   r{   r   rW  r   )r   r*   r   s      r+   -test_setitem_slice_into_readonly_backing_datar[  n  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 )Nr1   r/   
categoriesr0   r   FTrq   yr3   )r   r   r6   r8   r9   r4   )ra   rG   rb   s      r+   &test_setitem_categorical_assigning_opsr`  |  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 )Nr?   r0   r!   r]  )r   r   r&   r'   r8   r9   )rG   rb   s     r+   !test_setitem_nan_into_categoricalrb    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!   r8  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 )NTFr0   rE  r   )rC   r4   )	r   r4   r8   r   r   typerO   rD   r9   )r)   rf  r`   re  rG   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   )TFNr2   rE  r   r0   )r   r  r   r8   r   r   r9   )r)   rG   rt   rP   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)	rx   ry   rz   r{   r|   r}   rj  rk  rm  r~   r-   r+   rd  rd    sy        [Xe}55[UMMMt<<. . =< 65.. . . . .r-   rd  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.
        ri   )r)   objr<   s      r+   
is_inplacez$SetitemCastingEquivalents.is_inplace  s    
 ~**r-   c                     |}|                                 }|j        }| ||          |<   t          j        ||           |                     ||||           d S rl   )r6   r  r8   r9   _check_inplace)	r)   rq  r   r<   rf  ru   rr  ra   rP   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)rC   kindr  r  r8   assert_equal)r)   rr  ra   rP   rq  s        r+   rt  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 keyrE  r   r0   c              3      K   | ]}|V  d S rl   r~   ro   s     r+   rr   z9SetitemCastingEquivalents.test_int_key.<locals>.<genexpr>  s"      ##!######r-   )rm   intr{   skipr8   r   ru  r7   r   rO   iatr   slicer&   r   )r)   rq  r   r<   rI  rf  r`   rr  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 keyrE  r   c              3      K   | ]}|V  d S rl   r~   ro   s     r+   rr   z;SetitemCastingEquivalents.test_slice_key.<locals>.<genexpr>   s"      $$!$$$$$$r-   )rm   r  r{   r~  r8   r7   r   ru  r   r   lenr&   r   )r)   rq  r   r<   rI  rf  r`   rr  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 )Nri   Tz9boolean index did not match indexed array along dimensionr   rE  )r&   rT  shapeboolr6   r   r  sumr{   r   r   r8   r   r9   )	r)   rq  r   r<   rI  rf  r`   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 )Nri   Tz4operands could not be broadcast together with shapesr   )r&   rT  r  r  r   r  r{   r   rW  r   r6   r  r   rC   rD   fillnaisnar8   r9   rt  )r)   rq  r   r<   rI  rf  rr  r   r   ra   rP   r   s               r+   test_series_wherez+SetitemCastingEquivalents.test_series_where5  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||<   t	          |                              | |          }t	          ||j                  }t          j        ||           d S Nri   T)	r&   rT  r  r  r   r   rC   r8   assert_index_equal)	r)   rq  r   r<   rI  rf  r   r   expected_idxs	            r+   test_index_wherez*SetitemCastingEquivalents.test_index_whereP  sk    x	...S	Cjjuc**XX^<<<
c<00000r-   c                     t          j        |j        t                    }d||<   t	          |                              ||          }t          j        |t	          ||j                             d S r  )	r&   rT  r  r  r   putmaskr8   r  rC   )r)   rq  r   r<   rI  rf  r   r   s           r+   test_index_putmaskz,SetitemCastingEquivalents.test_index_putmaskX  sd    x	...S	Cjj  s++
c5#H#H#HIIIIIr-   N)rx   ry   rz   __doc__r{   fixturerr  ru  rt  r  r  r  r  r  r  r~   r-   r+   ro  ro    s          ^+ + ^+8 8 8/ / /"T "T "THT T T*. . ."8 8 861 1 1J J J J Jr-   ro  zobj,expected,key,warnr0   r"   r2   r!   r#   zinterval[float64]ri   interval_int_na_value)id)	r2   r!   r#   r"   r%   r$   r   r   r   r$   r   int_series_slice_key_step)TTFFTFbool_series_slice_key_stepr   r%   r   int_series_slice_keyr?   int_series_int_keybool_series_int_key_change_allbool_series_int_keyc                   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)   requests     r+   rf  z!TestSetitemCastingEquivalents.val  s     }r-   )
rx   ry   rz   r{   r  r&   r'   rB  r   rf  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#   ns)r&   timedelta64)r)   r3  s     r+   rf  z%TestSetitemTimedelta64IntoNumeric.val  s    ^At$$	r-   r  c                     |j         S rl   r  r  s     r+   rC   z'TestSetitemTimedelta64IntoNumeric.dtype  
    }r-   c                 r    t          j        d                              |          }t          |          }|S )Nr"   )r&   r   r   r   r)   rC   rP   rG   s       r+   rq  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   rD   r  rO   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 rl   r   r  s    r+   rI  z&TestSetitemTimedelta64IntoNumeric.warn      r-   N)rx   ry   rz   r{   r  rf  complexr}  r   rC   rq  r<   r   rI  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 )TestSetitemDT64IntoIntrj   m8[ns]r  c                     |j         S rl   r  r  s     r+   rC   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&   rn   )r)   rC   rf  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!   ri   r   )r   rD   rm   rj  )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 )Nr?   r   r  s    r+   rq  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 rl   r  )r)   r  r  boxs       r+   rf  zTestSetitemDT64IntoInt.val  s(    m;MsFF#$$$r-   c                     t           S rl   r  r  s    r+   rI  zTestSetitemDT64IntoInt.warn  r  r-   )rx   ry   rz   r{   r  rC   r  r<   rq  r   r   r&   r   rf  rI  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    rW   i8c              3   (   K   | ]}|t           u V  d S rl   )r   ro   s     r+   rr   z4TestSetitemNAPeriodDtype.expected.<locals>.<genexpr>  s&      %A%A1a3h%A%A%A%A%A%Ar-   )r   r   r   _valuer  viewrs   )r)   r   rb   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+   rq  zTestSetitemNAPeriodDtype.obj  s    l<#FFFGGGr-   r!   r"   r  c                     |j         S rl   r  r  s     r+   r   zTestSetitemNAPeriodDtype.key  r  r-   Nc                     |j         S rl   r  r  s     r+   rf  zTestSetitemNAPeriodDtype.val  r  r-   c                     d S rl   r~   r  s    r+   rI  zTestSetitemNAPeriodDtype.warn      tr-   )rx   ry   rz   r{   r  r<   rq  r  r   r&   r'   rf  rI  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  rj   zdatetime64[ns, UTC]zdatetime64[ns, US/Central]r  c                     |j         S rl   r  r  s     r+   rC   z$TestSetitemNADatetimeLikeDtype.dtype  s     }r-   c                     t          dd          j        }t          ||          }|j        |k    sJ t	          |          S )NrT   r!   r   ri   )r   asi8r   rC   r   )r)   rC   i8valsr:   s       r+   rq  z"TestSetitemNADatetimeLikeDtype.obj!  sH    L!4449F%(((yE!!!!c{{r-   Nr   r  c                     |j         S rl   r  r  s     r+   rf  z"TestSetitemNADatetimeLikeDtype.val(  s     }r-   c                 X    |t           u p!|d u p|t          j        u p|j        |j        k    S rl   )r   r&   r'   rC   )r)   rf  rq  s      r+   rr  z)TestSetitemNADatetimeLikeDtype.is_inplace4  s0    
 czSSD[SC26MSSY#)=SSr-   c                 z    |r|j         nt          }t          |gt          |dd                    z   |          }|S )Nr0   ri   )rC   rD   r   r   )r)   rq  rf  rr  rC   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 rl   r  )r)   rr  s     r+   rI  z#TestSetitemNADatetimeLikeDtype.warnE  s    !4tt}4r-   )rx   ry   rz   r{   r  rC   rq  r&   r'   r   r  rn   rf  rr  r<   r   rI  r~   r-   r+   r  r    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2000r2   
US/CentralrL   r   r   r  s    r+   rq  z(TestSetitemMismatchedTZCastsToObject.objL  s    j|DDDEEEr-   c                 $    t          dd          S )Nr  rK   rZ   )r   r  s    r+   rf  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:00rZ   ri   )r   
tz_convertr   rC   )r)   rq  rf  r<   s       r+   r<   z-TestSetitemMismatchedTZCastsToObject.expectedX  sK     |,,5,GGG )
 
 
 r-   c                     d S rl   r~   r  s    r+   rI  z)TestSetitemMismatchedTZCastsToObject.warne  r  r-   N
rx   ry   rz   r{   r  rq  rf  r   r<   rI  r~   r-   r+   r  r  J  s        ^F F ^F ^2 2 ^2 ^  ^ ^
 
 ^
 ^  ^  r-   r  zobj,expected,warn)      ?       @r8  r  r8  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 rl   r~   r  s    r+   rf  zTestSeriesNoneCoercion.val  r  r-   N)rx   ry   rz   r{   r  r   rf  r~   r-   r+   r  r  j  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   r8   r   r   rC   )r)   r:   rq  rf  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+   rq  z1TestSetitemFloatIntervalWithIntIntervalValues.obj  s$    'a11c{{r-   c                 "    t          dd          S )Nr  r  )r   r  s    r+   rf  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 )Nr0   zInterval[float64]ri   )r   r   r   )r)   rq  rf  datar:   s        r+   r<   z6TestSetitemFloatIntervalWithIntIntervalValues.expected  s;    utCG}}$D(;<<<c{{r-   c                     t           S rl   r  r  s    r+   rI  z2TestSetitemFloatIntervalWithIntIntervalValues.warn  r  r-   N)rx   ry   rz   r  r{   r  rq  rf  r   r<   rI  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"   ri   )r&   rC   r   r   )r)   any_int_numpy_dtyperC   rG   s       r+   rq  z%TestSetitemRangeIntoIntegerSeries.obj  s/    ,--U1XXU+++
r-   c                 "    t          dd          S )Nr2   r#   )r   r  s    r+   rf  z%TestSetitemRangeIntoIntegerSeries.val      Q{{r-   c                 "    t          dd          S Nr   r2   r  r  s    r+   r   z%TestSetitemRangeIntoIntegerSeries.key  r  r-   c                 T    t          j        |          }t          g d|          }|S )N)r2   r!   r2   r!   r#   ri   )r&   rC   r   )r)   r  rC   rb   s       r+   r<   z*TestSetitemRangeIntoIntegerSeries.expected  s-    ,--___E222
r-   c                     d S rl   r~   r  s    r+   rI  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+   rq  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   r2   r"   ri   )r&   r   rB  r   r   r   )r)   rf  rC   
res_valuess       r+   r<   z1TestSetitemFloatNDarrayIntoIntegerSeries.expected  sT    q6Q;;HEEJEXeAhhe444

2A2j!!!r-   N)rx   ry   rz   r{   r  rq  r   r<   r~   r-   r+   r  r    sk         ^0 0 ^0 ^  ^ ^" " ^" " "r-   r  rf     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 )Nr?   ri   r   r&   r   r  s    r+   rq  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)r0   r  r!   ri   )r   r&   int16r  s    r+   r<   z0TestSetitemIntoIntegerSeriesNeedsUpcast.expected  s    kkk2222r-   c                     t           S rl   r  r  s    r+   rI  z,TestSetitemIntoIntegerSeriesNeedsUpcast.warn  r  r-   N	rx   ry   rz   r{   r  rq  r   r<   rI  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 )Nr?   i4ri   r  r  s    r+   rq  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 )Nr0   r   f8r  r2   r!   ri   r  )r)   rf  rC   s      r+   r<   z&TestSmallIntegerSetitemUpcast.expected  s4    7a<<EEEsAqk////r-   c                     t           S rl   r  r  s    r+   rI  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.key  r  r-   c                 L    t          |          }|||<   t          ||          S )Nri   )r   r   )r)   rq  r   rf  	exp_dtyperc   s         r+   r<   zCoercionTest.expected  s)    CyyS	d),,,,r-   N)rx   ry   rz   r{   r  r   r<   r~   r-   r+   r.  r.    sN         ^  ^ ^- - ^- - -r-   r.  zval,exp_dtype,warnc                   .    e Zd Zej        d             ZdS )TestCoercionInt8c                 <    t          g dt          j                  S )Nr  ri   r  r  s    r+   rq  zTestCoercionInt8.obj'  s    lll"'2222r-   Nrx   ry   rz   r{   r  rq  r~   r-   r+   r3  r3  !  s1         ^3 3 ^3 3 3r-   r3  )r0   皙?      ?      ?Tr1  c                   N    e Zd Zej        d             Zej        d             ZdS )TestCoercionObjectc                 2    t          g dt                    S )N)r/   r1   r   dri   )r   rD   r  s    r+   rq  zTestCoercionObject.obj0  s    ***&9999r-   c                     d S rl   r~   r  s    r+   rI  zTestCoercionObject.warn4  r  r-   Nrx   ry   rz   r{   r  rq  rI  r~   r-   r+   r9  r9  ,  sN         ^: : ^: ^  ^  r-   r9  r6  r7  c                   .    e Zd Zej        d             ZdS )TestCoercionComplexc                 $    t          g d          S )N)r7  y       @       @y      @      @y      @      @r  r  s    r+   rq  zTestCoercionComplex.objD  s    666777r-   Nr5  r~   r-   r+   r?  r?  9  s1         ^8 8 ^8 8 8r-   r?  rg  c                   .    e Zd Zej        d             ZdS )TestCoercionBoolc                 2    t          g dt                    S )N)TFTFri   )r   r  r  s    r+   rq  zTestCoercionBool.objV  s    000====r-   Nr5  r~   r-   r+   rB  rB  I  s1         ^> > ^> > >r-   rB  c                   .    e Zd Zej        d             ZdS )TestCoercionInt64c                 $    t          g d          S )Nr  r  r  s    r+   rq  zTestCoercionInt64.objf  s    lll###r-   Nr5  r~   r-   r+   rE  rE  [  s1         ^$ $ ^$ $ $r-   rE  c                   .    e Zd Zej        d             ZdS )TestCoercionFloat64c                 $    t          g d          S )Nr6  g@gffffff
@g@r  r  s    r+   rq  zTestCoercionFloat64.objv  s    ***+++r-   Nr5  r~   r-   r+   rH  rH  k  s1         ^, , ^, , ,r-   rH  zbnp.float32(1.1) ends up as 1.100000023841858, so np_can_hold_element raises and we cast to float64)reason)marksc                   >     e Zd Zej        d             Z fdZ xZS )TestCoercionFloat32c                 <    t          g dt          j                  S )NrJ  ri   )r   r&   float32r  s    r+   rq  zTestCoercionFloat32.obj  s    ***"*====r-   c           	          t                                          |||||||           t          |          t          u rt	          d          d S )Nz!xfail not relevant for this test.)superr  rj  r   AssertionError)	r)   rq  r   r<   rI  rf  r`   rr  	__class__s	           r+   r  z"TestCoercionFloat32.test_slice_key  sO    sC4k:VVV99 !DEEE r-   )rx   ry   rz   r{   r  rq  r  __classcell__)rT  s   @r+   rN  rN  {  s^        4 ^> > ^>F F F F F F F F Fr-   rN  r]   zdatetime64[ns]rq   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#   )rW   r    r  r  s    r+   rq  zTestCoercionDatetime64.obj  s    jCCCCDDDr-   c                     d S rl   r~   r  s    r+   rI  zTestCoercionDatetime64.warn  r  r-   Nr=  r~   r-   r+   rW  rW    sQ         ^E E ^E ^  ^  r-   rW  rK   rZ   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 )NrK   r\   r  r#   rV   r  )r)   rM   s     r+   rq  zTestCoercionDatetime64TZ.obj  s&    jCrJJJKKKr-   c                     d S rl   r~   r  s    r+   rI  zTestCoercionDatetime64TZ.warn  r  r-   Nr=  r~   r-   r+   r[  r[    sQ         ^L L ^L ^  ^  r-   r[  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+   rq  zTestCoercionTimedelta64.obj  s    ogq999:::r-   c                     d S rl   r~   r  s    r+   rI  zTestCoercionTimedelta64.warn  r  r-   Nr=  r~   r-   r+   r_  r_    sN         ^; ; ^; ^  ^  r-   r_  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 )TestPeriodIntervalCoercionrT   r!   r  r  r0   r"   r  c                 *    t          |j                  S rl   )r   r  r  s     r+   rq  zTestPeriodIntervalCoercion.obj  s     gm$$$r-   c                     t           S rl   r  r  s    r+   rI  zTestPeriodIntervalCoercion.warn  r  r-   N)	rx   ry   rz   r{   r  r   r   rq  rI  r~   r-   r+   rg  rg    s         V^Lqs;;;N1a  
  % % % ^  ^  r-   rg  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   r0   r2   r   r3   )r   皙@r2   rE  r   rl  r1   r0   r   )r1   r   )r0   r   )r   r6   r8   r   r   r   r9   r7   r  rO   to_frameassert_frame_equal)ra   r<   rG   orig_dfexpected_dfdfs         r+   
test_20643rr    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 )Nrk  r   r3   r0   r2   r   )r   r&   r'   r6   r  r8   r9   rO   )ra   r<   rG   s      r+   test_20643_commentrt  )  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 )Nr?   rE  r   r2   r  )r0   r  r!   r0   )	r   r8   r   r   r9   r7   rO   r  r   )rG   r<   s     r+   
test_15413rv  8  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(  rE  r   r   r0   r2   r!   r#   ri   )r&   r   r   r   r   iinfomaxr8   r   r   r9   rP   rG   rf  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c16rE  r   r   r0   r2   r!   r#   ri   )r&   r   r   r   finforB  ry  r8   r   r   r9   rz  s       r+   test_32878_complex_itemsizer  f  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 )
Nr?   r   r3   rE  r   testr1   )r0   r  r!   rB   r   r8   r   r   rD   r9   )
indexer_alrG   r<   s      r+   
test_37692r  t  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!   rB   rE  r   Tr0   r  )r&   rB  r   r   r   r8   r   r   rC   rD   r  )r`   rC   rG   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 )
Nr?   r   r3   r   r   rh   r   )rh   r2   r!   rB   r  rG   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 )	Nr?   r   r3   r   r   r  r   )r  r2   r!   )r   r8   r   r   r9   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  )r6   @r8  ffffff@r3   r   r!   )r0   r2   r   r#   r"   )r0   r2   r   r#   r"   )r6  r  r8  r  g      @r2   r#   )r   r0   r2   r!   r#   r   r   r   Bc   )r   r4   _should_fallback_to_positionalr8   r9   r   r   r   r  r   rD   appendr   r   r   r6   r7   )	rG   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                  &   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 )Nr?   )r#   r"   r%   )r/   r1   r1   r   )TFF)r   r"   r%   )r  r<  r   r/   )r   r2   r!   )r	   popr   r8   r9   r7   rn  )rq  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 rl   )r&   r   r!  s    r+   r   r     s    bhsmm r-   c                     | gS rl   r~   r!  s    r+   r   r     s    s r-   c                     | fS rl   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 )Nri   r0   zKcannot set using a list-like indexer with a different length than the valuer   )r&   resizer   r   r   r  r{   r   rW  r8   r9   )	r  r   r  r  	selectionr  rG   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 )NrT   r!   r   ri   r   Tr   )
r   r   r6   r&   rT  r  rC   r8   r9   r   )r  rG   ra   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-   )nr   r   numpyr&   r{   pandas.errorsr   pandas.core.dtypes.commonr   pandasr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr8   pandas.tseries.offsetsr   r   r   r   r   r	  r  r)  rY  r[  r`  rb  rd  ro  r|   r}   r  r'   r   r  rD   r   r  r  r  r  r  r  r  r  r	  rB  r  r"  r  r&  r.  int32r   r3  r9  
complex128r?  r  rB  r   rE  rH  rP  xfailr  uint32rx  ry  uint64rN  rW  r[  r_  rg  rr  rt  rv  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                                         *       ' ' ' ' ' 'D. D. D. D. D. D. D. D.N. . . . . . . .:+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. . . . . . . .*p' p' p' p' p' p' p' p'f    % % %:% % %. . . . . . . .B[J [J [J [J [J [J [J [J|  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+##D $  		
 	
 	
 
.	v}%	!bj$'	1rz4( 
828BI&&*	+	+RZG	1rz4(	!bj$') 2
F 
F 
F 
F 
F, 
F 
F3 2
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-   