
    bMh                        d dl mZm Z  d dlmZ d dlZd dlZd dlZd dlm	Z	m
Z
 d dlmZ d dlmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z" d dl#m$Z% d dl&m'Z'  G d	 d
          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 Z0d Z1d Z2 G d d          Z3 G d d          Z4ej5        6                    d ej7         e e d d!                     e ed d"          ej8         ed#d$           ed$d!          gd%&          d e9d'(           ej7         eg d)           eej8        d#ej8        d!ej8        d*ej8        d+ej8        g	           e:ddd"          dd,(           ej7         eg d-           eej8        d.ej8        d/ge;&           e:ddd"          e9d0(           ej7         e ej<        d1                     eej8        ej8        ej8        ej8        ej8        d!d2d*d3d+g
           e:dd!          dd4(           ej7         eg d5           eej8        d"d#g          d dd6(           ej7         ed/g           eej8        ge;&          d e9d7(           ej7         ed/d.g           eej8        d.ge;&          d e9d8(          g           G d9 d:e4                      Z= G d; d<e4          Z> G d= d>e4          Z? G d? d@e4          Z@ G dA dBe4          ZA G dC dDe4          ZBej5        6                    dE eg d5           eej8        d"d#g          df eg dF           eej8        dGdHg          df e e dId d            e dId d"           e dId d#          g           ee e dId d"           e dId d#          g          df eg dJ           eg dK          dfg           G dL dMe4                      ZC G dN dOe4          ZD G dP dQe4          ZEej5        6                    dR ej        dGdHg          df ej        dSdTg          e9f ej        d"dUz  d"dUz  d z   gejF        &          e9fg           G dV dWe4                      ZGej5        6                    dXdY ejH        dY          g           G dZ d[e4                      ZIej5        6                    dXg d\           G d] d^e4                      ZJ G d_ d`e4          ZKej5        6                    da ejL        d           ejM        df ejH        dY          ejH        e9fg           G db dceK                      ZNej5        6                    dXg dd          ej5        6                    dee;g           G df dgeK                                  ZOej5        6                    dad ejP        dfdhejP        dfdiejP        dfd.e;e9fg           G dj dkeK                      ZQej5        6                    dad e;e9fdle;e9fd#e;e9fdhe;e9fdie;e9fd.eRdfg           G dm dneK                      ZSej5        6                    dad ejT        dfdhejF        e9fdiejP        e9fd.e;e9fg           G do dpeK                      ZUej5        6                    dad ejF        dfdhejF        dfdiejP        e9fd.e;e9fg           G dq dreK                      ZVej5        6                    dad ejW        df ej7        dhejW        dej5        X                    e
 p#e
o!e	 oejY        Z                    dsdt          duk    dvw          x          diejP        e9fd.e;e9f ej[        d"          ejW        df ej\        d"          ejW        df ej\         ej]        ej\                  j^                  ejF        e9f ej_        d"          ejW        df ejT        d"          ejW        dfg	           G dy dzeK                      Z`ej5        6                    da ed{          d|dfd e;e9fd}e;e9fg           G d~ deK                      Zaej5        6                    da ed{d          ddf ed{d          ddf ed{          e;e9fd e;e9fg           G d deK                      Zbej5        6                    da ed          ddfd e;e9fd}e;e9fg           G d deK                      Zcej5        6                    dXd edd           ed d"d          g          ej5        6                    dee;g           G d deK                                  Zdd Zed Zfd Zgd Zhd Zid Zjd Zkd Zld Zmd Znd Zoej5        6                    d epd"d2                    ej5        6                    dg dd.d/gd/gg          ej5        6                    ddGej8         ejq        er          j^         ejq        er          js        g          ej5        6                    dd d d g          d                                                 Ztd ZudS )    )datedatetime)DecimalN)np_version_gt2np_version_gte1p24)IndexingError)is_list_like)NACategorical	DataFrameDatetimeIndexIndexIntervalIntervalIndex
MultiIndexNaTPeriodSeries	Timedelta	Timestamparrayconcat
date_rangeinterval_rangeperiod_rangetimedelta_range)BDayc                   ~    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     i/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/series/indexing/test_setitem.pytest_setitem_none_nanz+TestSetitemDT64Values.test_setitem_none_nan.   s    
:r:::;;q	ayCqsayCFq	ayCfqsayC    c                     t          j        ddg          }t          ddg|          }|                                }d|j        g <   t          j        ||           d S )N)a   )b   r3   r5   indexr   )r   from_tuplesr   copyloctmassert_series_equal)r,   idxresultexpecteds       r.   #test_setitem_multiindex_empty_slicez9TestSetitemDT64Values.test_setitem_multiindex_empty_slice<   s^    $h%9::Ac***;;==
2
vx00000r0   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r3   r5   r$   )Dater4   otherr7   dtyperC   )r   objectr   todayrC   r,   sers     r.   test_setitem_with_string_indexz4TestSetitemDT64Values.test_setitem_with_string_indexD   sl     YYY&<&<&<FKKKjllFx4:<<''''6{djll******r0   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   r3   )r   r5   )r   r$   )r   r&   r6   rQ   r   )r   r   r9   r)   r*   ilocr;   r<   )r,   arrr7   r>   r?   s        r.   )test_setitem_tuple_with_datetimetz_valuesz?TestSetitemDT64Values.test_setitem_tuple_with_datetimetz_valuesL   sr    |<<<0005)));;==v6a
vx00000r0   rP   )rN   UTCz
Asia/Tokyoc                    t          t          ddd|                    }|j        d| dk    sJ t          t          d|          t          d	|          t          d
|          g|j                  }|                                }t          d|           ||          d<   t          j        ||           t          t          d|          t          d|          gddg|j                  }|j        d| dk    sJ t          t          d|          t          d	|          t          d|          g|j                  }|                                }| ||          ddg<   t          j        ||           d S )N
2016-01-01hr$   freqr#   rP   datetime64[ns, ]z2016-01-01 00:00rP   2011-01-01 00:00z2016-01-01 02:00rF   
2011-01-01r3   
2012-01-01r5   rE   2012-01-01 00:00r   r   rF   r   r9   r;   r<   )r,   rP   indexer_sliorigexprJ   valss          r.   test_setitem_with_tzz*TestSetitemDT64Values.test_setitem_with_tzV   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(((((r0   c                    d}t          t          ddd|                    }|j        d| dk    sJ t          t          d|	          t          d
|	          t          d|	          g|j                  }|                                }t          d|	           ||          d<   t          j        ||           t          t          d|	          t          d|	          gddg|j                  }|j        d| dk    sJ t          t          d|	          t          d|	          t          d|	          g|j                  }|                                }| ||          ddg<   t          j        ||           d S )NrN   z
2016-11-06rX   r$   rY   r[   r\   z2016-11-06 00:00-04:00r]   z2011-01-01 00:00-05:00z2016-11-06 01:00-05:00r_   r`   r3   ra   r5   rE   z2016-11-06 00:00r^   rb   rc   )r,   rd   rP   re   rf   rJ   rg   s          r.   test_setitem_with_tz_dstz.TestSetitemDT64Values.test_setitem_with_tz_dst~   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(((((r0   c                 :   t          dt          j        it                    }dg}t          j        dgd          }||j        |<   t          |d         gdgt                    }t          d |j        D                       sJ t          j	        ||           d S )	NXr_   Tr&   M8[ns]r   rE   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Ir0   )
r   r)   r*   rG   r   rR   allvaluesr;   r<   )r,   rJ   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-----r0   N)__name__
__module____qualname__r/   r@   rK   rT   pytestmarkparametrizerh   rj   rz    r0   r.   r   r   -   s             1 1 1+ + +1 1 1 [T#F#F#FGG%) %) HG%)N') ') ')R. . . . .r0   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 )	Nr2   r!   r6   z5index -11|-1 is out of bounds for axis 0 with size 10;Series.__setitem__ treating keys as positions is deprecatedmatchfooi)r   r~   raises
IndexErrorr;   assert_produces_warningFutureWarning)r,   rJ   msgwarn_msgs       r.   #test_setitem_negative_out_of_boundsz<TestSetitemScalarIndexer.test_setitem_negative_out_of_bounds   s   cURZurz222 FP]:S111 	! 	!+MJJJ ! ! C! ! ! ! ! ! ! ! ! ! ! ! ! ! !	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s5   A?A'A?'A+	+A?.A+	/A??BBrx   	ser_indexr   r3   c                     t          ddgd          } ||          }t          dg|g          |d<   t          t          dg|g          dgd          }t          j        ||           d S )Nr   rG   r_   *   r6   r   r;   r<   )r,   rx   r   rJ   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-----r0   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   r6   )r   r:   r;   r<   )r,   r7   	exp_valuerJ   r?   s        r.   test_setitem_seriesz,TestSetitemScalarIndexer.test_setitem_series   sY     aVnnRD000
9a.))
sH-----r0   N)r{   r|   r}   r   r~   r   r   r;   r:   atr   r)   r*   r   r   r0   r.   r   r      s        ! ! ! [Y88[[1a&11. . 21 98. [/'Arv;1GHH. . IH. . .r0   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!   r6   r   ir%   )r   rangelistrv   rI   s     r.   test_setitem_slicez$TestSetitemSlices.test_setitem_slice   sz    U2YYd599oo666CDD	q~~DSD	q~~r0   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 )Nr5      )r5   r&   r(   r   r!            r6   r   r&   )r   r)   randomdefault_rngstandard_normalrv   anyrI   s     r.   test_setitem_slice_integersz-TestSetitemSlices.test_setitem_slice_integers   s    I!!!$$44Q77...
 
 

 BQBBQB1!!#####GqL%%'''''''r0   c                     t          t          j        dt          j                  t          j        dt          j                            }d|d d d<   |d d d         dk                                    sJ d S )N   r_   r6   r   r5   )r   r)   arangefloat64int64rv   r+   s     r.   test_setitem_slicestepz(TestSetitemSlices.test_setitem_slicestep   s{    Ib
+++29Rrx3P3P3P
 
 
 ssssssq %%'''''''r0   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   r3   abcder!   r_   d   r&   )
r   r3   r5   r$   r   r%   r(   r'   r   	   )	r   from_productr   r   r)   r   r   r;   r<   )r,   rd   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0r0   N)r{   r|   r}   r   r   r   r   r   r   r0   r.   r   r      s_        	* 	* 	*     ( ( (( ( (1 1 1 1 1r0   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 )Nr3   r5   r   rE   r   TFr   r,   rJ   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-----r0   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 )
Nr5   r   r   r6   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 r0   )r   r)   r   r   r   r   roundr9   mapr   r;   r   r   r<   )r,   tsmaskleftrightr?   s         r.   #test_setitem_mask_align_and_promotez:TestSetitemBooleanMask.test_setitem_mask_align_and_promote  s<   I!!!$$44S993PQSUAVAV
 
 

%(( 	 Avwwyy4##C(('!=
 
 
 	 	 DJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 66::;;
tX.....s   C""C&)C&c                 0   t          g d          }|dk    }||                             t                    }t          j        t
          d          5  |||<   d d d            n# 1 swxY w Y   t          g d          }t          j        ||           d S )N)r   r3   r5   r   r   r   r   )r   12r   )r   r   r   r;   r   r   r<   r,   rJ   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-----r0   c                    ||                                 k    }|                                }|dz  ||<   |dz  }t          j        ||         ||                    |                                }|dz  dd         ||<   |dz  dd                             |          }||         || <   t          j        ||         ||                    d S )Nr5   r   r%   )medianr9   r;   r<   reindex_like)r,   string_seriesr   r>   r?   s        r.   test_setitem_booleanz+TestSetitemBooleanMask.test_setitem_boolean6  s    }33555 ##%%$q(t 1$
vd|Xd^<<< ##%%%)1Q3/t!A%qs+88GG'-$
vd|Xd^<<<<<r0   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 )Nr3   rZ   zsUnalignable boolean Series provided as indexer \(index of the boolean Series and of the indexed object do not matchr   )shiftr   r   r~   r   r   r:   )r,   r   r   mask_shiftedr   s        r.   test_setitem_boolean_cornerz2TestSetitemBooleanMask.test_setitem_boolean_cornerF  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_valuesr9   r;   r<   )r,   r   orderedr9   r?   s        r.   $test_setitem_boolean_different_orderz;TestSetitemBooleanMask.test_setitem_boolean_different_orderT  sj    ++--!!##Wq[ %%''!"A
tX.....r0   funcc                     t          g d          } |g d          }ddg||<   t          g d          }t          j        ||           d S )N)Nr4   NTFTr2   cr2   r4   r   r   )r,   r   rJ   r   r?   s        r.    test_setitem_boolean_python_listz7TestSetitemBooleanMask.test_setitem_boolean_python_list_  se     &&&''t'''((#JD	///**
sH-----r0   c                 0   t          g d|          }t          t          d          |          ||dk    <   t          g d|          }t          j        ||           t          g d|          }t          t          d          |          |j        |dk    <   t          j        ||           t          g d|          }t          t          d          |          }|j        |dk             |j        |dk    <   t          j        ||           d S )N)r%   r(   r'   r   r_   r&   r(   )r%   r(   r5   r$   r3   )r   r   r;   r<   r:   )r,   any_numeric_ea_dtyperJ   r?   loc_sers        r.   'test_setitem_boolean_nullable_int_typesz>TestSetitemBooleanMask.test_setitem_boolean_nullable_int_typesh  s   \\\)=>>>eAhh.BCCCC!G,,,.BCCC
sH---\\\)=>>>!%((2FGGGa
sH---\\\)=>>>q)=>>>";w{3a
sH-----r0   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%   r5   r_   )r   r   r   rG   r;   r<   )r,   rJ   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_lengthx  s    dVb[!!w{dVaZ'5'A+5!HHD	4&1*tE!HH~~5
B&QQQ
vx00000r0   c                    t          g d          }t          j        t          d          5  t          j        |d<   d d d            n# 1 swxY w Y   t          t          j        ddgt                    }t          j        ||           d S )Nr   r   r   r   FTr_   )r   r;   r   r   r)   r*   rG   r<   )r,   r>   r?   s      r.   test_setitem_nan_with_boolz1TestSetitemBooleanMask.test_setitem_nan_with_bool  s    +++,,'!=
 
 
 	 	 F1I	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 265$/v>>>
vx00000s   A		AAc                    t          g dd          }t          j        g dt          j                  }t          j        g d          }|                                }t          j        t          d          5  t          |          ||<   d d d            n# 1 swxY w Y   t          g d          }t          j        ||           |                                }t          j        t          d          5  |	                    ||d	
           d d d            n# 1 swxY w Y   t          j        ||           |                                }|
                    | t          |                    }t          j        ||           d S )NrB   int8r_   )      r   r   r   )r   r5   r   Tinplace)r   r)   r   r   r9   r;   r   r   r<   r   where	r,   re   altr   rJ   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 )NrB   uint8r_   )   r      r   )r  r5   r  Tr   F)check_dtype)	r   r)   r   r   r9   r;   r<   r   r   r   s	            r.   $test_setitem_mask_smallint_no_upcastz;TestSetitemBooleanMask.test_setitem_mask_smallint_no_upcast  s    iiiw///%%%RX666x+++,,iikkD	---w777
sH---yy{{		$T	***
tX... yy{{jj$$$
sH%@@@@@@r0   N)r{   r|   r}   r   r   r   r   r   r   r   r~   r   r   r   r)   r   r   r   r   r   r   r  r  r   r0   r.   r   r     s       . . ./ / /
. 
. 
.. . .= = = % % %	/ 	/ 	/ [VdBHf%=>>. . ?>.. . . 1 1 11 1 1. . .2A A A A Ar0   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$   rN   rO   r3   D)	r   r   _values_ndarraybase_datarZ   r   rR   r,   using_copy_on_writedtir   rJ   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r0   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 )NrW   r!   
US/PacificrO   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||||||r0   N)r{   r|   r}   r  r  r   r0   r.   r
  r
    s2          ,    r0   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r3   r5   r$   r&   ABCDr6   r   c                     dS )NAr   rt   s    r.   r   z?TestSetitemCallable.test_setitem_callable_key.<locals>.<lambda>  s    c r0   )r   r5   r$   r&   )r   r   r;   r<   r   s      r.   test_setitem_callable_keyz-TestSetitemCallable.test_setitem_callable_key  s_    \\\f666MM---tF||<<<
sH-----r0   c                     d }t          g dt                    }|||dk     <   t          dd|dg          }t          j        ||           d S )Nc                     | dz   S Nr3   r   r"  s    r.   r   zATestSetitemCallable.test_setitem_callable_other.<locals>.<lambda>  s
    A r0   )r3   r5   r   r&   r_   r   r3   r5   r&   )r   rG   r;   r<   )r,   incrJ   r?   s       r.   test_setitem_callable_otherz/TestSetitemCallable.test_setitem_callable_other  s\    o ]]]&111C!G1aa.))
sH-----r0   N)r{   r|   r}   r#  r(  r   r0   r.   r  r    s2        . . .	. 	. 	. 	. 	.r0   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 )Nra   r_   /   )r   r   rG   r;   r<   )r,   r   r-   r?   s       r.   test_setitem_empty_seriesz2TestSetitemWithExpansion.test_setitem_empty_series  sR    %%f%%%s"se$$
vx00000r0   c                 H   t          g dd          }t          g |t                    }t          d          }d||<   t          dt          |gd                              d                    }t          j        ||           |j        j        |j        j        k    sJ d S )	Nr  rm   )rZ   rF   rE   ra   r,  r   ns)	r   r   rG   r   as_unitr;   r<   r7   rZ   )r,   r  r-   r   r?   s        r.   6test_setitem_empty_series_datetimeindex_preserves_freqzOTestSetitemWithExpansion.test_setitem_empty_series_datetimeindex_preserves_freq  s    BS999#V444%%s"mSE<<<DDTJJKK
vx000| HN$7777777r0   c                     t          d          }t          |gdgt                    }|d         }t          g t                    }d|d<   ||d<   |d         }||k    sJ d S )Nl    Pi5 	timestamprE   r_   g     r@anything)r   r   rG   )r,   r3  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'{$!!!!!!r0   td9 daysc                    |rHt          |t                    s3|                    t          j                            d                     t          d|gddgt                    }t          dg          }||d<   t          j	        ||           t          |d         t                    sJ t          dg          }t          d          |j
        d<   t          j	        ||           t          |d         t                    sJ d S )Nzinferred as stringreasonrt   r   r6  rE   r7  )rp   r   applymarkerr~   r   xfailr   rG   r;   r<   r:   )r,   r6  using_infer_stringrequestr?   rJ   s         r.   #test_append_timedelta_does_not_castz<TestSetitemWithExpansion.test_append_timedelta_does_not_cast  s      	PjY&?&? 	P 1 19M 1 N NOOO3)At9FCCCcUmmD	
sH---#d)Y/////cUmm!(++
sH---#d)Y///////r0   c                     t          t                    }t          d          |d<   d|d<   d|d<   t          t          d          ddgt          g dt                    	          }t	          j        ||           d S )
Nr_   rW   r2         @r4   r   r   r   r6   )r   rG   r   r   r;   r<   r   s      r.   *test_setitem_with_expansion_type_promotionzCTestSetitemWithExpansion.test_setitem_with_expansion_type_promotion4  s    6"""\**CCC|$$c51v666
 
 
 	sH-----r0   c                     |                                 }d|j        vsJ d|d<   t          dgdgd          }t          ||g          }t	          j        ||           d S )Nfoobarr3   r-   )r7   name)r9   r7   r   r   r;   r<   )r,   r   rJ   appr?   s        r.   test_setitem_not_containedz3TestSetitemWithExpansion.test_setitem_not_contained@  sr      ""sy((((HaS
:::=#.//
sH-----r0   c                     t          ddg|          }d|d<   t          g d|          }t          j        ||           d S )Nr3   r5   r_   r!   )r3   r5   r!   r   )r,   r   rJ   r?   s       r.   test_setitem_keep_precisionz4TestSetitemWithExpansion.test_setitem_keep_precisionJ  sR    aV#7888A***,@AAA
sH-----r0   z1na, target_na, dtype, target_dtype, indexer, warnInt64r3   Nr5   r   r   rG   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 )Nr3   r5   r_   incompatible dtyper   )r   r;   r   r<   )
r,   na	target_narF   target_dtyperx   warnrJ   expected_valuesr?   s
             r.   test_setitem_enlarge_with_naz5TestSetitemWithExpansion.test_setitem_enlarge_with_naQ  s    * aV5)))'4HIII 	 	CL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	,3qLL1i..q!Y>O/>>>
sH-----s   <A A c                    t          ddg          }||d<   |rt          |t                    sdnt          }t          dd|gg d|          }t	          j        ||           |r|d         t          j        u  d S |d         |u sJ d S )Nr2   r4   r$   r   )r   r3   r$   rE   )r   rp   r   rG   r;   r<   r)   r*   )r,   nulls_fixturer=  rJ   rF   r?   s         r.   $test_setitem_enlargement_object_nonez=TestSetitemWithExpansion.test_setitem_enlargement_object_nonem  s    c3Z  A "*4]G*L*LEE 	
 3]3999ERRR
sH--- 	+Fbfq6]******r0   )r{   r|   r}   r-  r1  r5  r~   r   r   r   to_timedelta64to_pytimedeltar?  rB  rG  rI  r
   r)   r*   r   r   rS  rV  r   r0   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	
 "	. 	.# "	.+ + + + +r0   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r9   #assignment destination is read-onlyr   r3   r   )	r)   zerosflags	writeabler   r7   r~   r   
ValueError)r   r-   nr   s       r.   .test_setitem_scalar_into_readonly_backing_datara  ~  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%   FrZ  r[  r   r3   r$   )	r)   r\  r]  r^  r   r~   r   r_  r   )r   r-   r   s      r.   -test_setitem_slice_into_readonly_backing_datarc    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 )Nr4   r2   
categoriesr3   r   FTrt   yr6   )r   r   r9   r;   r<   r7   )re   rJ   rf   s      r.   &test_setitem_categorical_assigning_opsrh    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$$$$$r0   c                      t          t          g d                    } t          t          dt          j        dgg d                    }t          j        | d<   t	          j        | |           d S )NrB   r3   r$   re  )r   r   r)   r*   r;   r<   )rJ   rf   s     r.   !test_setitem_nan_into_categoricalrj    se    
YYY''
(
(C
a^			BBB
C
CCVCF3$$$$$r0   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$   rA  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 )NTFr3   rM  r   )rF   r7   )	r   r7   r;   r   r   typerR   rG   r<   )r,   rn  rd   rm  rJ   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   )TFNr5   rM  r   r3   )r   r  r   r;   r   r   r<   )r,   rJ   rw   rS   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)	r{   r|   r}   r~   r   r   rr  rs  ru  r   r0   r.   rl  rl    sy        [Xe}55[UMMMt<<. . =< 65.. . . . .r0   rl  c                   b    e Zd ZdZej        d             Zd Zd Zd Z	d Z
d Zd Zd	 Zd
 ZdS )SetitemCastingEquivalentsz
    Check each of several methods that _should_ be equivalent to `obj[key] = val`

    We assume that
        - obj.index is the default Index(range(len(obj)))
        - the setitem does not expand the obj
    c                 "    |j         |j         k    S )zF
        Whether we expect the setting to be in-place or not.
        r_   )r,   objr?   s      r.   
is_inplacez$SetitemCastingEquivalents.is_inplace  s    
 ~**r0   c                     |}|                                 }|j        }| ||          |<   t          j        ||           |                     ||||           d S ro   )r9   r  r;   r<   _check_inplace)	r,   ry  r   r?   rn  rx   rz  re   rS   s	            r.   check_indexerz'SetitemCastingEquivalents.check_indexer  s`    hhjjkS
sH---Jc377777r0   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)rF   kindr  r  r;   assert_equal)r,   rz  re   rS   ry  s        r.   r|  z(SetitemCastingEquivalents._check_inplace  sy    D 		/y~++ |s{';;;;;;;{c)))))) OC.....r0   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 keyrM  r   r3   c              3      K   | ]}|V  d S ro   r   rr   s     r.   ru   z9SetitemCastingEquivalents.test_int_key.<locals>.<genexpr>*  s"      ##!######r0   )rp   intr~   skipr;   r   r}  r:   r   rR   iatr   slicer)   r   )r,   ry  r   r?   rQ  rn  rd   rz  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 keyrM  r   c              3      K   | ]}|V  d S ro   r   rr   s     r.   ru   z;SetitemCastingEquivalents.test_slice_key.<locals>.<genexpr>?  s"      $$!$$$$$$r0   )rp   r  r~   r  r;   r:   r   r}  r   r   lenr)   r   )r,   ry  r   r?   rQ  rn  rd   rz  r  r  r  s              r.   test_slice_keyz(SetitemCastingEquivalents.test_slice_key.  s   #u%% 	6K4555bf$$+D8LMMM U U""3XsKTTTU U U U U U U U U U U U U U U U3s88__%%c*'4HIII 	S 	SsE8S+zRRR	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S %'4HIII 	T 	TsFHc;
SSS	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T %$V$$$'4HIII 	T 	TsFHc;
SSS	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	TsH   A55A9<A9C,,C03C0!EEE5FF!$F!c                    t          j        |j        t                    }d||<   |                                }t          |          rjt          |          |                                k     rEd}t          j	        t          |          5  | ||          |<   d d d            n# 1 swxY w Y   d S t          j        |d          5  | ||          |<   d d d            n# 1 swxY w Y   t          j        ||           d S )Nr_   Tz9boolean index did not match indexed array along dimensionr   rM  )r)   r\  shapeboolr9   r	   r  sumr~   r   r   r;   r   r<   )	r,   ry  r   r?   rQ  rn  rd   r   r   s	            r.   test_mask_keyz'SetitemCastingEquivalents.test_mask_keyC  sw   x	...S	hhjj 	SDHHJJ!6!6MCz555 - -),C  &- - - - - - - - - - - - - - -F'4HIII 	) 	)%(KKT"	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)
sH-----s$   B&&B*-B*	C$$C(+C(c                    t          j        |j        t                    }d||<   t	          |          rnt          |          t          |          k     rNd}t          j        t          |          5  |	                    | |           d d d            n# 1 swxY w Y   d S |}	|
                                }|j        }
|	                    | |          }|t          u r+|j        t          k    r|                    t                    }nO|M|j        t          k    r=|j        t          k    sJ |
                                }d ||                                <   t#          j        ||           |                     ||	|
|           d S )Nr_   Tz4operands could not be broadcast together with shapesr   )r)   r\  r  r  r	   r  r~   r   r_  r   r9   r  r
   rF   rG   fillnaisnar;   r<   r|  )r,   ry  r   r?   rQ  rn  rz  r   r   re   rS   r  s               r.   test_series_wherez+SetitemCastingEquivalents.test_series_whereT  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	          ||j                                      | |          }t	          ||j                  }t          j        ||           d S Nr_   T)	r)   r\  r  r  r   rF   r   r;   assert_index_equal)	r,   ry  r   r?   rQ  rn  r   r  expected_idxs	            r.   test_index_wherez*SetitemCastingEquivalents.test_index_whereo  st    x	...S	Csy)))//s;;XX^<<<
c<00000r0   c                     t          j        |j        t                    }d||<   t	          ||j                                      ||          }t          j        |t	          ||j                             d S r  )	r)   r\  r  r  r   rF   putmaskr;   r  )r,   ry  r   r?   rQ  rn  r   r  s           r.   test_index_putmaskz,SetitemCastingEquivalents.test_index_putmaskw  sm    x	...S	Csy)))11$<<
c5#H#H#HIIIIIr0   N)r{   r|   r}   __doc__r~   fixturerz  r}  r|  r  r  r  r  r  r  r   r0   r.   rw  rw    s          ^+ + ^+8 8 8/ / /"T "T "THT T T*. . ."8 8 861 1 1J J J J Jr0   rw  zobj,expected,key,warnr3   r%   r5   r$   r&   zinterval[float64]r_   interval_int_na_value)id)	r5   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_keyrB   int_series_int_keybool_series_int_key_change_allbool_series_int_keyc                   p    e Zd Z ej        ej         ej        d          deg          d             Z	dS )TestSetitemCastingEquivalentsNaNNparamsc                     |j         S )z
        NA values that should generally be valid_na for *all* dtypes.

        Include both python float NaN and np.float64; only np.float64 has a
        `dtype` attribute.
        paramr,   r>  s     r.   rn  z!TestSetitemCastingEquivalents.val  s     }r0   )
r{   r|   r}   r~   r  r)   r*   r   r
   rn  r   r0   r.   r  r    sX        D V^BFJBJu$5$5tR@AAA  BA  r0   r  c                       e Zd Zej        d             Z ej        eeeg          d             Z	ej        d             Z
ej        d             Zej        d             Zej        d             ZdS )	!TestSetitemTimedelta64IntoNumericc                 0    t          j        dd          }|S )Nr&   r/  )r)   timedelta64)r,   r6  s     r.   rn  z%TestSetitemTimedelta64IntoNumeric.val  s    ^At$$	r0   r  c                     |j         S ro   r  r  s     r.   rF   z'TestSetitemTimedelta64IntoNumeric.dtype  
    }r0   c                 r    t          j        d                              |          }t          |          }|S )Nr%   )r)   r   astyper   r,   rF   rS   rJ   s       r.   ry  z%TestSetitemTimedelta64IntoNumeric.obj  s-    ill!!%((Skk
r0   c                     t          j        d                              |          }t          |          }|                    t                    }t          j        dd          |j        d<   |S )Nr%   r&   r/  r   )r)   r   r  r   rG   r  rR   r  s       r.   r?   z*TestSetitemTimedelta64IntoNumeric.expected  sU    ill!!%((Skkjj  nQ--
r0   c                     dS r   r   r,   s    r.   r   z%TestSetitemTimedelta64IntoNumeric.key      qr0   c                     t           S ro   r   r  s    r.   rQ  z&TestSetitemTimedelta64IntoNumeric.warn      r0   N)r{   r|   r}   r~   r  rn  complexr  floatrF   ry  r?   r   rQ  r   r0   r.   r  r    s         ^  ^
 V^GS%0111  21 ^  ^
 ^  ^ ^  ^ ^  ^  r0   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 )TestSetitemDT64IntoIntrm   m8[ns]r  c                     |j         S ro   r  r  s     r.   rF   zTestSetitemDT64IntoInt.dtype  r  r0   c                 F    t          j        dd          }|dk    r||z
  }|S )Nz2021-01-18 13:25:00r/  r  )r)   rq   )r,   rF   rn  s      r.   scalarzTestSetitemDT64IntoInt.scalar  s-    m1488H)C
r0   c                     t          ||dgt                    }t          |d         t          |                    sJ |S )Nr$   r_   r   )r   rG   rp   rr  )r,   r  r?   s      r.   r?   zTestSetitemDT64IntoInt.expected  s@    661-V<<<(1+tF||44444r0   c                 $    t          g d          S )NrB   r   r  s    r.   ry  zTestSetitemDT64IntoInt.obj  s    iii   r0   c                 "    t          d d          S )Nr   r  r  s    r.   r   zTestSetitemDT64IntoInt.key	  s    T2r0   Nc                 2    |j         }||S  |||g          S ro   r  )r,   r  r>  boxs       r.   rn  zTestSetitemDT64IntoInt.val  s(    m;MsFF#$$$r0   c                     t           S ro   r  r  s    r.   rQ  zTestSetitemDT64IntoInt.warn  r  r0   )r{   r|   r}   r~   r  rF   r  r?   ry  r   r   r)   r   rn  rQ  r   r0   r.   r  r    s	        V^Hh/000  10 ^  ^ ^  ^
 ^! ! ^! ^  ^ V^D$1222% % 32% ^  ^  r0   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#   rZ   i8c              3   (   K   | ]}|t           u V  d S ro   )r   rr   s     r.   ru   z4TestSetitemNAPeriodDtype.expected.<locals>.<genexpr>   s&      %A%A1a3h%A%A%A%A%A%Ar0   )r   r   r   _valuer  viewrv   )r,   r   rf   s      r.   r?   z!TestSetitemNAPeriodDtype.expected  so    \,EEEFF&)js#3x3#%A%AC%A%A%A"A"A
r0   c                 @    t          t          ddd                    S )Nr  r!   r  r  )r   r   r  s    r.   ry  zTestSetitemNAPeriodDtype.obj#  s    l<#FFFGGGr0   r$   r%   r  c                     |j         S ro   r  r  s     r.   r   zTestSetitemNAPeriodDtype.key'  r  r0   Nc                     |j         S ro   r  r  s     r.   rn  zTestSetitemNAPeriodDtype.val+  r  r0   c                     d S ro   r   r  s    r.   rQ  zTestSetitemNAPeriodDtype.warn/      tr0   )r{   r|   r}   r~   r  r?   ry  r  r   r)   r*   rn  rQ  r   r0   r.   r  r    s         ^  ^ ^H H ^H V^AuuQ{{+,,,  -, V^D"&>***  +* ^  ^  r0   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  rm   zdatetime64[ns, UTC]zdatetime64[ns, US/Central]r  c                     |j         S ro   r  r  s     r.   rF   z$TestSetitemNADatetimeLikeDtype.dtype:  s     }r0   c                     t          dd          j        }t          ||          }|j        |k    sJ t	          |          S )NrW   r$   r"   r_   )r   asi8r   rF   r   )r,   rF   i8valsr=   s       r.   ry  z"TestSetitemNADatetimeLikeDtype.obj@  sH    L!4449F%(((yE!!!!c{{r0   Nr   r/  c                     |j         S ro   r  r  s     r.   rn  z"TestSetitemNADatetimeLikeDtype.valG  s     }r0   c                 X    |t           u p!|d u p|t          j        u p|j        |j        k    S ro   )r   r)   r*   rF   )r,   rn  ry  s      r.   rz  z)TestSetitemNADatetimeLikeDtype.is_inplaceS  s0    
 czSSD[SC26MSSY#)=SSr0   c                 z    |r|j         nt          }t          |gt          |dd                    z   |          }|S )Nr3   r_   )rF   rG   r   r   )r,   ry  rn  rz  rF   r?   s         r.   r?   z'TestSetitemNADatetimeLikeDtype.expectedZ  s>    '3		V3%$s122w--/u===r0   c                     dS r   r   r  s    r.   r   z"TestSetitemNADatetimeLikeDtype.key`  r  r0   c                     |rd nt           S ro   r  )r,   rz  s     r.   rQ  z#TestSetitemNADatetimeLikeDtype.warnd  s    !4tt}4r0   )r{   r|   r}   r~   r  rF   ry  r)   r*   r   r  rq   rn  rz  r?   r   rQ  r   r0   r.   r  r  4  sE        V^XXX     ^  ^ V^FBN5$''BM%&&
     ^T T ^T ^  ^
 ^  ^ ^5 5 ^5 5 5r0   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2000r5   
US/CentralrO   r   r   r  s    r.   ry  z(TestSetitemMismatchedTZCastsToObject.objk  s    j|DDDEEEr0   c                 $    t          dd          S )Nr  rN   r]   )r   r  s    r.   rn  z(TestSetitemMismatchedTZCastsToObject.valo  s    L1111r0   c                     dS r   r   r  s    r.   r   z(TestSetitemMismatchedTZCastsToObject.keys  r  r0   c                 z    t          |                    d          t          dd          g|j                  }|S )Nr  z2000-01-02 00:00:00-06:00r]   r_   )r   
tz_convertr   rF   )r,   ry  rn  r?   s       r.   r?   z-TestSetitemMismatchedTZCastsToObject.expectedw  sK     |,,5,GGG )
 
 
 r0   c                     d S ro   r   r  s    r.   rQ  z)TestSetitemMismatchedTZCastsToObject.warn  r  r0   N
r{   r|   r}   r~   r  ry  rn  r   r?   rQ  r   r0   r.   r  r  i  s        ^F F ^F ^2 2 ^2 ^  ^ ^
 
 ^
 ^  ^  r0   r  zobj,expected,warn)      ?       @rA  r  rA  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  r0   c                     d S ro   r   r  s    r.   rn  zTestSeriesNoneCoercion.val  r  r0   N)r{   r|   r}   r~   r  r   rn  r   r0   r.   r   r     sN        " ^  ^ ^  ^  r0   r   c                       e Zd Zd Zej        d             Zej        d             Zej        d             Zej        d             Z	ej        d             Z
dS )-TestSetitemFloatIntervalWithIntIntervalValuesc                    t          j        t          d                    }t          |          }t	          dd          }t          j        t          d          5  ||d<   d d d            n# 1 swxY w Y   |j        dk    sJ d S )Nr&         ?      ?z%Setting an item of incompatible dtyper   r   zInterval[float64, right])	r   from_breaksr   r   r   r;   r   r   rF   )r,   r=   ry  rn  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.   ry  z1TestSetitemFloatIntervalWithIntIntervalValues.obj  s$    'a11c{{r0   c                 "    t          dd          S )Nr  r  )r   r  s    r.   rn  z1TestSetitemFloatIntervalWithIntIntervalValues.val  s    S!!!r0   c                     dS r   r   r  s    r.   r   z1TestSetitemFloatIntervalWithIntIntervalValues.key  r  r0   c                 x    |gt          |dd                    z   }t          |d          }t          |          S )Nr3   zInterval[float64]r_   )r   r   r   )r,   ry  rn  datar=   s        r.   r?   z6TestSetitemFloatIntervalWithIntIntervalValues.expected  s;    utCG}}$D(;<<<c{{r0   c                     t           S ro   r  r  s    r.   rQ  z2TestSetitemFloatIntervalWithIntIntervalValues.warn  r  r0   N)r{   r|   r}   r	  r~   r  ry  rn  r   r?   rQ  r   r0   r.   r  r    s        
7 
7 
7 ^  ^ ^" " ^" ^  ^ ^  ^
 ^  ^  r0   r  c                       e Zd Zej        d             Zej        d             Zej        d             Zej        d             Zej        d             Z	dS )!TestSetitemRangeIntoIntegerSeriesc                 j    t          j        |          }t          t          d          |          }|S Nr%   r_   )r)   rF   r   r   )r,   any_int_numpy_dtyperF   rJ   s       r.   ry  z%TestSetitemRangeIntoIntegerSeries.obj  s/    ,--U1XXU+++
r0   c                 "    t          dd          S )Nr5   r&   )r   r  s    r.   rn  z%TestSetitemRangeIntoIntegerSeries.val      Q{{r0   c                 "    t          dd          S Nr   r5   r  r  s    r.   r   z%TestSetitemRangeIntoIntegerSeries.key  r  r0   c                 T    t          j        |          }t          g d|          }|S )N)r5   r$   r5   r$   r&   r_   )r)   rF   r   )r,   r  rF   rf   s       r.   r?   z*TestSetitemRangeIntoIntegerSeries.expected  s-    ,--___E222
r0   c                     d S ro   r   r  s    r.   rQ  z&TestSetitemRangeIntoIntegerSeries.warn  r  r0   Nr  r   r0   r.   r  r    s         ^  ^
 ^  ^ ^  ^ ^  ^
 ^  ^  r0   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.   ry  z,TestSetitemFloatNDarrayIntoIntegerSeries.obj  s    eAhhbh////r0   c                 "    t          dd          S r  r  r  s    r.   r   z,TestSetitemFloatNDarrayIntoIntegerSeries.key  r  r0   c                     |d         dk    rt           j        }nt           j        }t          j        t	          d          |          }||d d<   t          |          S )Nr   r5   r%   r_   )r)   r   r   r   r   r   )r,   rn  rF   
res_valuess       r.   r?   z1TestSetitemFloatNDarrayIntoIntegerSeries.expected  sT    q6Q;;HEEJEXeAhhe444

2A2j!!!r0   N)r{   r|   r}   r~   r  ry  r   r?   r   r0   r.   r  r    sk         ^0 0 ^0 ^  ^ ^" " ^" " "r0   r  rn     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 )NrB   r_   r   r)   r   r  s    r.   ry  z+TestSetitemIntoIntegerSeriesNeedsUpcast.obj	  s    iiirw////r0   c                     dS r&  r   r  s    r.   r   z+TestSetitemIntoIntegerSeriesNeedsUpcast.key  r  r0   c                 <    t          g dt          j                  S )N)r3   r#  r$   r_   )r   r)   int16r  s    r.   r?   z0TestSetitemIntoIntegerSeriesNeedsUpcast.expected  s    kkk2222r0   c                     t           S ro   r  r  s    r.   rQ  z,TestSetitemIntoIntegerSeriesNeedsUpcast.warn  r  r0   N	r{   r|   r}   r~   r  ry  r   r?   rQ  r   r0   r.   r%  r%    s        ^0 0 ^0 ^  ^ ^3 3 ^3 ^  ^  r0   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 )NrB   i4r_   r  r  s    r.   ry  z!TestSmallIntegerSetitemUpcast.obj  s    iiit,,,,r0   c                     dS r   r   r  s    r.   r   z!TestSmallIntegerSetitemUpcast.key!  r  r0   c                 F    |dz  dk    rd}nd}t          |ddg|          S )Nr3   r   f8r  r5   r$   r_   r  )r,   rn  rF   s      r.   r?   z&TestSmallIntegerSetitemUpcast.expected%  s4    7a<<EEEsAqk////r0   c                     t           S ro   r  r  s    r.   rQ  z"TestSmallIntegerSetitemUpcast.warn-  r  r0   Nr,  r   r0   r.   r.  r.    s         ^- - ^- ^  ^ ^0 0 ^0 ^  ^  r0   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.key5  r  r0   c                 L    t          |          }|||<   t          ||          S )Nr_   )r   r   )r,   ry  r   rn  	exp_dtyperg   s         r.   r?   zCoercionTest.expected9  s)    CyyS	d),,,,r0   N)r{   r|   r}   r~   r  r   r?   r   r0   r.   r6  r6  2  sN         ^  ^ ^- - ^- - -r0   r6  zval,exp_dtype,warnc                   .    e Zd Zej        d             ZdS )TestCoercionInt8c                 <    t          g dt          j                  S )Nr  r_   r'  r  s    r.   ry  zTestCoercionInt8.objF  s    lll"'2222r0   Nr{   r|   r}   r~   r  ry  r   r0   r.   r;  r;  @  s1         ^3 3 ^3 3 3r0   r;  )r3   皙?      ?      ?Tr9  c                   N    e Zd Zej        d             Zej        d             ZdS )TestCoercionObjectc                 2    t          g dt                    S )N)r2   r4   r   dr_   )r   rG   r  s    r.   ry  zTestCoercionObject.objO  s    ***&9999r0   c                     d S ro   r   r  s    r.   rQ  zTestCoercionObject.warnS  r  r0   Nr{   r|   r}   r~   r  ry  rQ  r   r0   r.   rA  rA  K  sN         ^: : ^: ^  ^  r0   rA  r>  r?  c                   .    e Zd Zej        d             ZdS )TestCoercionComplexc                 $    t          g d          S )N)r?  y       @       @y      @      @y      @      @r  r  s    r.   ry  zTestCoercionComplex.objc  s    666777r0   Nr=  r   r0   r.   rG  rG  X  s1         ^8 8 ^8 8 8r0   rG  ro  c                   .    e Zd Zej        d             ZdS )TestCoercionBoolc                 2    t          g dt                    S )N)TFTFr_   )r   r  r  s    r.   ry  zTestCoercionBool.obju  s    000====r0   Nr=  r   r0   r.   rJ  rJ  h  s1         ^> > ^> > >r0   rJ  c                   .    e Zd Zej        d             ZdS )TestCoercionInt64c                 $    t          g d          S )Nr  r  r  s    r.   ry  zTestCoercionInt64.obj  s    lll###r0   Nr=  r   r0   r.   rM  rM  z  s1         ^$ $ ^$ $ $r0   rM  c                   .    e Zd Zej        d             ZdS )TestCoercionFloat64c                 $    t          g d          S )Nr>  g@gffffff
@g@r  r  s    r.   ry  zTestCoercionFloat64.obj  s    ***+++r0   Nr=  r   r0   r.   rP  rP    s1         ^, , ^, , ,r0   rP  NPY_PROMOTION_STATElegacyweakzbnp.float32(1.1) ends up as 1.100000023841858, so np_can_hold_element raises and we cast to float64r9  )marksc                   >     e Zd Zej        d             Z fdZ xZS )TestCoercionFloat32c                 <    t          g dt          j                  S )NrR  r_   )r   r)   float32r  s    r.   ry  zTestCoercionFloat32.obj  s    ***"*====r0   c           	          t                                          |||||||           t          |t                    rt	          d          d S )Nz!xfail not relevant for this test.)superr  rp   r  AssertionError)	r,   ry  r   r?   rQ  rn  rd   rz  	__class__s	           r.   r  z"TestCoercionFloat32.test_slice_key  sU    sC4k:VVVc5!! 	F !DEEE	F 	Fr0   )r{   r|   r}   r~   r  ry  r  __classcell__)r^  s   @r.   rX  rX    s_        D ^> > ^>F F F F F F F F Fr0   rX  ra   zdatetime64[ns]rt   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&   )rZ   r#   r  r  s    r.   ry  zTestCoercionDatetime64.obj  s    jCCCCDDDr0   c                     d S ro   r   r  s    r.   rQ  zTestCoercionDatetime64.warn  r  r0   NrE  r   r0   r.   ra  ra    sQ         ^E E ^E ^  ^  r0   ra  rN   r]   zdatetime64[ns, US/Eastern]r  c                   N    e Zd Zej        d             Zej        d             ZdS )TestCoercionDatetime64TZc                 F    d}t          t          ddd|                    S )NrN   r`   r  r&   rY   r  )r,   rP   s     r.   ry  zTestCoercionDatetime64TZ.obj  s&    jCrJJJKKKr0   c                     d S ro   r   r  s    r.   rQ  zTestCoercionDatetime64TZ.warn  r  r0   NrE  r   r0   r.   re  re    sQ         ^L L ^L ^  ^  r0   re  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.   ry  zTestCoercionTimedelta64.obj  s    ogq999:::r0   c                     d S ro   r   r  s    r.   rQ  zTestCoercionTimedelta64.warn   r  r0   NrE  r   r0   r.   ri  ri    sN         ^; ; ^; ^  ^  r0   ri  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 )TestPeriodIntervalCoercionrW   r$   r  r  r3   r%   r  c                 *    t          |j                  S ro   )r   r  r  s     r.   ry  zTestPeriodIntervalCoercion.obj  s     gm$$$r0   c                     t           S ro   r  r  s    r.   rQ  zTestPeriodIntervalCoercion.warn  r  r0   N)	r{   r|   r}   r~   r  r   r   ry  rQ  r   r0   r.   rq  rq    s         V^Lqs;;;N1a  
  % % % ^  ^  r0   rq  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   r3   r5   r   r6   )r   皙@r5   rM  r   rv  r4   r3   r!  )r4   r!  )r3   r   )r   r9   r;   r   r   r   r<   r:   r  rR   to_frameassert_frame_equal)re   r?   rJ   orig_dfexpected_dfdfs         r.   
test_20643r|    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 )Nru  r   r6   r3   r5   r   )r   r)   r*   r9   r  r;   r<   rR   )re   r?   rJ   s      r.   test_20643_commentr~  P  s     )))???333Drvq!nOOO<<<H
))++CCGAJ3)))
))++CCHQK3)))))r0   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 )NrB   rM  r   r5   r  )r3   r  r$   r3   )	r   r;   r   r   r<   r:   rR   r  r   )rJ   r?   s     r.   
test_15413r  _  s   


C		#M9M	N	N	N  C1H              kkk""H3)))


C		#M9M	N	N	N  A#              3)))


C		#M9M	N	N	N  


c


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


c


              3)))


C		#M9M	N	N	N  q			S			              3)))))sk   AAA+CCCD66D:=D:F$$F(+F(0HHHJ  JJc                     t          j        d                              d          } t          |           }t          j        t          j        t           j                  j                  }t          j        t          d          5  ||d<   d d d            n# 1 swxY w Y   t          |dddd	gt           j        
          }t          j
        ||           d S )Nr%   r0  rM  r   r   r3   r5   r$   r&   r_   )r)   r   r  r   r   iinfomaxr;   r   r   r<   rS   rJ   rn  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c16rM  r   r   r3   r5   r$   r&   r_   )r)   r   r  r   finfor   r  r;   r   r   r<   r  s       r.   test_32878_complex_itemsizer    s   
)A,,

d
#
#C
++C
(2:


"C
**U

C 
	#M9M	N	N	N  A              q6S====sAq!Q'u555H3)))))s   
BB #B c                    t          g dg d          }t          j        t          d          5  d | |          d<   d d d            n# 1 swxY w Y   t          g dg dt          	          }t          j        ||           d S )
NrB   r   r6   rM  r   testr4   )r3   r  r$   rE   r   r;   r   r   rG   r<   )
indexer_alrJ   r?   s      r.   
test_37692r    s    
///
2
2
2C		#M9M	N	N	N & &%

3& & & & & & & & & & & & & & &nnnOOO6JJJH3)))))s   AAAc                 `   t           j        t           j        fD ]}t          dt	          d          |          }t          j        t          d          5  d | |          d<   d d d            n# 1 swxY w Y   |j        t          k    sJ t          dt	          d          t                    }t          j        t          d          5   |d          |d<   d d d            n# 1 swxY w Y   |j        t          k    sJ t          dt	          d          t           j                  }t          j        d           | |          d<   |j        t           j        k    sJ t          dt	          d          t           j                  }t          j        d           | |          d<   d S )	Nr   r$   rE   rM  r   Tr3   r  )r)   r   r   r   r   r;   r   r   rF   rG   r  )rd   rF   rJ   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 )
NrB   r   r6   r   r   rl   r   )rl   r5   r$   rE   r  rJ   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 )	NrB   r   r6   r   r   r  r   )r  r5   r$   )r   r;   r   r   r<   r  s      r.   .test_setitem_positional_float_into_int_coercesr    s     ///
2
2
2CLH		#M	B	B	B  A              kkk999H3)))))r  c                     t          g dg d          } | j        j        rJ d| d<   t          g d| j                  }t          j        | |           d| d<   t          g dg d	          }t          j        | |           t          j        t          d                    d d d
         }t          t          t          |                    |          }|	                    t                                        t          dg                    }t          g d|          }d|d<   t          j        ||           t          j        | j        ddgg          }t          t          t          |                    |          }|                                }d|j        d<   d|d<   t          j        ||           d S )Nr  )r>   @rA  ffffff@r6   r!   r$   )r3   r5   r!   r&   r%   )r3   r5   r!   r&   r%   )r>  r  rA  r  g      @r5   r&   )r   r3   r5   r$   r&   r   r   r!  Bc   )r   r7   _should_fallback_to_positionalr;   r<   r   r  r   r  r  rG   appendr   r   r   r9   r:   )	rJ   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+++++r0   c                  J   t          g dg dd          } |                     d                                          }d|g d<   t          g dd          }t	          j        ||           d	| j        g dd
f<   t          d
g di          }t	          j        | |           d S )NrB   )r&   r%   r(   )r2   r4   r4   r   )TFF)r   r%   r(   )r  rE  r!   r2   )r!   r5   r$   )r   popr9   r   r;   r<   r:   rx  )r{  r>   r?   s      r.   test_setitem_with_bool_indexerr    s     
33	4	4BVVC[[F#$F 9993///H68,,,(*BF$%#zzz*++H"h'''''r0   sizer   )TFFFFitemr  c                 ,    t          j        | g          S ro   )r)   r   r"  s    r.   r   r     s    bhsmm r0   c                     | gS ro   r   r"  s    r.   r   r     s    s r0   c                     | fS ro   r   r"  s    r.   r   r     s    qd r0   c                    t          j        ||           }t          j        | t                    }t	          |          }|                                dk    rFd}t          j        t          |          5   ||          ||<   d d d            d S # 1 swxY w Y   d S  ||          ||<   t	          t          j        | t                              }|||<   t          j
        ||           d S )Nr_   r3   zKcannot set using a list-like indexer with a different length than the valuer   )r)   resizer   r  r   r  r~   r   r_  r;   r<   )	r  r   r  r  	selectionr  rJ   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 )NrW   r$   r"   r_   r   Tr   )
r   r   r9   r)   r\  r  rF   r;   r<   r   )r  rJ   re   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%%%%%r0   )vr   r   decimalr   osnumpyr)   r~   pandas.compat.numpyr   r   pandas.errorsr   pandas.core.dtypes.commonr	   pandasr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr;   pandas.tseries.offsetsr   r   r   r   r   r
  r  r*  ra  rc  rh  rj  rl  rw  r   r   r  r*   r   r  rG   r   r  r  r  r  r  r  r   r  r  r   r  r*  r%  r.  r6  int32r   r;  rA  
complex128rG  r  rJ  r   rM  rP  rZ  r<  environgetr  uint32r  r  uint64rX  ra  re  ri  rq  r|  r~  r  r  r  r  r  r  r  r  r  r   r  r  minr  r  r   r0   r.   <module>r     s                				             ( ' ' ' ' ' 2 2 2 2 2 2                                         *       ' ' ' ' ' 'J. J. J. J. J. J. J. J.Z. . . . . . . .<-1 -1 -1 -1 -1 -1 -1 -1`pA pA pA pA pA pA pA pAf( ( ( ( ( ( ( (V. . . . . . . .*@+ @+ @+ @+ @+ @+ @+ @+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+##** * V ..VJNN+@(KKvUD $  		
 	
 	
" 
.	v}%	!bj$'	1rz4( 
828BI&&*	+	+RZG	1rz4(	!bj$'9   B
F 
F 
F 
F 
F, 
F 
FC   B
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& & & & &r0   