
    d                        d dl mZm Z  d dlZd dlZd dlmZ d dlmZ d dl	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZ d dl m!Z!  G d d          Z" G d	 d
          Z# G d d          Z$ G d d          Z% G d d          Z& G d d          Z' G d d          Z(d Z)d Z*d Z+d Z, G d d          Z- G d d          Z.ej/        0                    d ej1         e edd                     e edd           ej2         ed!d"           ed"d          gd#$          dd%&           ej1         eg d'           eej2        d!ej2        dej2        d(ej2        d)ej2        g	           e3ddd           d*&           ej1         eg d+           eej2        d,ej2        d-ge4$           e3ddd           d.&           ej1         e ej5        d/                     eej2        ej2        ej2        ej2        ej2        dd0d(d1d)g
           e3dd          d2&           ej1         eg d3           eej2        d d!g          d d4&           ej1         ed-g           eej2        ge4$          d d5&           ej1         ed-d,g           eej2        d,ge4$          d d6&          g           G d7 d8e.                      Z6 G d9 d:e.          Z7 G d; d<e.          Z8 G d= d>e.          Z9 G d? d@e.          Z: G dA dBe.          Z;ej/        0                    dC eg d3           eej2        d d!g          f eg dD           eej2        dEdFg          f e e dGdd           e dGdd            e dGdd!          g           ee e dGdd            e dGdd!          g          f eg dH           eg dI          fg           G dJ dKe.                      Z< G dL dMe.          Z= G dN dOe.          Z>ej/        0                    dP ej        dEdFg           ej        dQdRg           ej        d dSz  d dSz  dz   gej?        $          g           G dT dUe.                      Z@ej/        0                    dPdV ejA        dV          g           G dW dXe.                      ZBej/        0                    dPg dY           G dZ d[e.                      ZC G d\ d]e.          ZDej/        0                    d^ ejE        d          ejF        f ejA        dV          ejA        fg           G d_ d`eD                      ZGej/        0                    dPg da          ej/        0                    dbe4g           G dc ddeD                                  ZHej/        0                    d^dejI        fdeejI        fdfejI        fd,e4fg           G dg dheD                      ZJej/        0                    d^de4fdie4fd!e4fdee4fdfe4fd,eKfg           G dj dkeD                      ZLej/        0                    d^dejM        fdeej?        fdfejI        fd,e4fg           G dl dmeD                      ZNej/        0                    d^dej?        fdeej?        fdfejI        fd,e4fg           G dn doeD                      ZOej/        0                    d^dejP        f ej1        deejP        ej/        Q                    dpq          r          dfejI        fd,e4f ejR        d           ejP        f ejS        d           ejP        f ejS         ejT        ejS                  jU                  ej?        f ejV        d           ejP        f ejM        d           ejP        fg	           G ds dteD                      ZWej/        0                    d^ edu          dvfde4fdwe4fg           G dx dyeD                      ZXej/        0                    d^ edudz{          d|f edud}{          d|f edu          e4fde4fg           G d~ deD                      ZYej/        0                    d^ ed          dfde4fdwe4fg           G d deD                      ZZej/        0                    dPd edd           edd d          g          ej/        0                    dbe4g           G d deD                                  Z[d Z\d Z]d Z^d Z_d Z`d Zad Zbd Zcd Zdd Zed Zfej/        0                    d egd d0                    ej/        0                    dg dd,d-gd-gg          ej/        0                    ddEej2         ejh        ei          jU         ejh        ei          jj        g          ej/        0                    dd d d g          d                                                 Zkd ZldS )    )datedatetimeN)IndexingError)is_list_like)NACategorical	DataFrameDatetimeIndexIndexIntervalIntervalIndex
MultiIndexNaTPeriodSeries	Timedelta	Timestamparrayconcat
date_rangeinterval_rangeperiod_rangetimedelta_range)BDayc                   ~    e Zd Zd Zd Zd Zd Zej        	                    dg d          d             Z
d Zd	 Zd
S )TestSetitemDT64Valuesc                 "   t          t          dd                    }d |d<   |d         t          u sJ d |dd<   |d         t          u sJ t          j        |d<   |d         t          u sJ t          j        |dd<   |d         t          u sJ d S )	Nz1/1/2000
   periods               )r   r   r   npnanselfseriess     e/var/www/html/t/fyr/venv311/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   r0   r2   indexr   )r   from_tuplesr   copyloctmassert_series_equal)r)   idxresultexpecteds       r+   #test_setitem_multiindex_empty_slicez9TestSetitemDT64Values.test_setitem_multiindex_empty_slice6   s^    $h%9::Ac***;;==
2
vx00000r-   c                     t          g dg d          }t          j                    |d<   |j        t          j                    k    sJ |d         t          j                    k    sJ d S )Nr0   r2   r!   )Dater1   otherr3   r@   )r   r   todayr@   r)   sers     r+   test_setitem_with_string_indexz4TestSetitemDT64Values.test_setitem_with_string_index>   sh    YYY&<&<&<===jllFx4:<<''''6{djll******r-   c                     t          ddd          }g d}t          ||          }|                                }t          j        |d<   t          j        |j        d<   t          j        ||           d S )	N2017r#   
US/Easternr    tz)r   r0   )r   r2   )r   r!   )r   r#   r3   rK   r   )r   r   r6   r&   r'   ilocr8   r9   )r)   arrr4   r;   r<   s        r+   )test_setitem_tuple_with_datetimetz_valuesz?TestSetitemDT64Values.test_setitem_tuple_with_datetimetz_valuesE   sr    |<<<0005)));;==v6a
vx00000r-   rJ   )rH   UTCz
Asia/Tokyoc                    t          t          ddd|                    }|j        d| dk    sJ t          t          d|          t          d	|          t          d
|          g          }|                                }t          d|           ||          d<   t          j        ||           t          t          d|          t          d|          gddg          }|j        d| dk    sJ t          t          d|          t          d	|          t          d|          g          }|                                }| ||          ddg<   t          j        ||           d S )N
2016-01-01Hr!   freqr    rJ   datetime64[ns, ]z2016-01-01 00:00rJ   2011-01-01 00:00z2016-01-01 02:00
2011-01-01r0   
2012-01-01r2   r3   2012-01-01 00:00r   r   dtyper   r6   r8   r9   )r)   rJ   indexer_sliorigexprD   valss          r+   test_setitem_with_tzz*TestSetitemDT64Values.test_setitem_with_tzO   s   jCrJJJKKz4r4444444,444,444,444
 
 iikk'<<<C
sC((( |+++Y|-K-K-KLa&
 
 
 z4r4444444,444,444,444
 
 iikk#'C!Q 
sC(((((r-   c                    d}t          t          ddd|                    }|j        d| dk    sJ t          t          d|	          t          d
|	          t          d|	          g          }|                                }t          d|	           ||          d<   t          j        ||           t          t          d|	          t          d|	          gddg          }|j        d| dk    sJ t          t          d|	          t          d|	          t          d|	          g          }|                                }| ||          ddg<   t          j        ||           d S )NrH   z
2016-11-06rR   r!   rS   rU   rV   z2016-11-06 00:00-04:00rW   z2011-01-01 00:00-05:00z2016-11-06 01:00-05:00rY   r0   rZ   r2   r3   z2016-11-06 00:00rX   r[   r\   )r)   r^   rJ   r_   r`   rD   ra   s          r+   test_setitem_with_tz_dstz.TestSetitemDT64Values.test_setitem_with_tz_dstt   s   jCrJJJKKz4r44444442r:::2r:::2r:::
 
 iikk'<<<C
sC((( |+++Y|-K-K-KLa&
 
 
 z4r4444444,444,444,444
 
 iikk#'C!Q 
sC(((((r-   c                 :   t          dt          j        it                    }dg}t          j        dgd          }||j        |<   t          |d         gdgt                    }t          d |j        D                       sJ t          j	        ||           d S )	NXr]   Tr#   M8[ns]r   r4   r]   c              3   J   K   | ]}t          |t          j                  V  d S N)
isinstancer&   
datetime64.0xs     r+   	<genexpr>zYTestSetitemDT64Values.test_object_series_setitem_dt64array_exact_match.<locals>.<genexpr>   s.      IIA:a//IIIIIIr-   )
r   r&   r'   objectr   rL   allvaluesr8   r9   )r)   rD   indexervaluer<   s        r+   0test_object_series_setitem_dt64array_exact_matchzFTestSetitemDT64Values.test_object_series_setitem_dt64array_exact_match   s     c26]&111& !H---!58*SE@@@IIIIIIIIII
sH-----r-   N)__name__
__module____qualname__r,   r=   rE   rN   pytestmarkparametrizerb   rd   rw    r-   r+   r   r   '   s             1 1 1+ + +1 1 1 [T#F#F#FGG") ") HG")H$) $) $)L. . . . .r-   r   c                      e Zd Zd Zej                            dej        ej	        g          ej                            dddg          d                         Z
ej                            dddej        fg          d	             Zd
S )TestSetitemScalarIndexerc                     t          t          j        dd          t          j        dd                    }d}t          j        t
          |          5  d|d<   d d d            d S # 1 swxY w Y   d S )Nr"   r   r3   z2index -11 is out of bounds for axis 0 with size 10matchfooi)r   r8   rands_arrayr{   raises
IndexError)r)   rD   msgs      r+   #test_setitem_negative_out_of_boundsz<TestSetitemScalarIndexer.test_setitem_negative_out_of_bounds   s    R^Ar**".R2H2HIIIB]:S111 	 	CH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A((A,/A,ru   	ser_indexr   r0   c                     t          ddgd          } ||          }t          dg|g          |d<   t          t          dg|g          dgd          }t          j        ||           d S )Nr   rr   rg   *   r3   r   r8   r9   )r)   ru   r   rD   idxrr<   s         r+    test_setitem_series_object_dtypez9TestSetitemScalarIndexer.test_setitem_series_object_dtype   s     aV8,,,ws||"i[111Q62$yk:::A>hOOO
sH-----r-   zindex, exp_value)r   r   c                     t          ddg          }t          dg|g          |j        d<   t          |dg          }t          j        ||           d S )Nr   r   r3   )r   r7   r8   r9   )r)   r4   	exp_valuerD   r<   s        r+   test_setitem_seriesz,TestSetitemScalarIndexer.test_setitem_series   sY     aVnnRD000
9a.))
sH-----r-   N)rx   ry   rz   r   r{   r|   r}   r8   r7   atr   r&   r'   r   r~   r-   r+   r   r      s           [Y88[[1a&11. . 21 98. [/'Arv;1GHH. . IH. . .r-   r   c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )TestSetitemSlicesc                 D   d}t          j        t          |                    d                    5  d|dd<   d d d            n# 1 swxY w Y   t          j        t          |                    d                    5  d|d	d<   d d d            d S # 1 swxY w Y   d S )
NzUcannot do slice indexing on DatetimeIndex with these indexers \[{key}\] of type floatz4\.0)keyr   r   g      @g      $@z4\.5g      @)r{   r   	TypeErrorformat)r)   datetime_seriesr   s      r+   test_setitem_slice_float_raisesz1TestSetitemSlices.test_setitem_slice_float_raises   s+   ' 	 ]9CJJ7J,C,CDDD 	* 	*()OCH%	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* ]9CJJ7J,C,CDDD 	* 	*()OCH%	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s#   AA
A
 BBBc                     t          t          d          t          t          d                              }d|dd <   |dk                                    sJ d|d d<   |dk                                    sJ d S )Nr   r3   r   ir"   )r   rangelistrs   rC   s     r+   test_setitem_slicez$TestSetitemSlices.test_setitem_slice   sz    U2YYd599oo666CDD	q~~DSD	q~~r-   c                     t          t          j                            d          g d          }d|d d<   |d d         dk                                    sJ |dd          dk                                    rJ d S )N   )r2   r#   r%   r   r            r3   r   r#   )r   r&   randomrandnrs   anyrC   s     r+   test_setitem_slice_integersz-TestSetitemSlices.test_setitem_slice_integers   s    RY__Q''/K/K/KLLLBQBBQB1!!#####GqL%%'''''''r-   c                     t          t          j        d                              t                    t          j        d                    }d|d d d<   |d d d         dk                                    sJ d S )N   r3   r   r2   )r   r8   makeIntIndexastypefloatrs   r(   s     r+   test_setitem_slicestepz(TestSetitemSlices.test_setitem_slicestep   ss    ++22599QSATATUUUssssssq %%'''''''r-   c                    t          j        ddgt          d          f          }t          t	          j        dt          j                  |          }d ||          d d d<   t          g d|          }t          j        ||           d S )	Nr   r0   abcder   rg   d   r#   )
r   r0   r2   r!   r   r"   r%   r$   r   	   )	r   from_productr   r   r&   arangeint64r8   r9   )r)   r^   mir;   r<   s        r+   test_setitem_multiindex_slicez/TestSetitemSlices.test_setitem_multiindex_slice   s    $q!fd7mm%<==	"BH555r::#&FCCaC >>>CC
vx00000r-   N)rx   ry   rz   r   r   r   r   r   r~   r-   r+   r   r      s_        	* 	* 	*     ( ( (( ( (1 1 1 1 1r-   r   c                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	e
j                            deej        eg          d	             Zd
 Zd Zd Zd Zd ZdS )TestSetitemBooleanMaskc                     t          ddgddgd          }t          dgdgd          |ddg<   t          ddgddgd          }t          j        ||           d S )Nr0   r2   r   ri   r   TFr   r)   rD   r<   s      r+   test_setitem_mask_castz-TestSetitemBooleanMask.test_setitem_mask_cast   sv     aVAq6999#QCs'BBBT5M1a&Ag>>>
sH-----r-   c                    t          t          j                            d          t          j        ddd                                        d          }|dk    }|                                }||                                                             t                    }|||<   |                    d           }t          j
        ||           d S )Nr   r   r3   r"   c                 0    | dk    rt          |           n| S Nr   )str)ts    r+   <lambda>zLTestSetitemBooleanMask.test_setitem_mask_align_and_promote.<locals>.<lambda>  s    a!eeCFFF r-   )r   r&   r   r   r   roundr6   mapr   r8   r9   )r)   tsmaskleftrightr<   s         r+   #test_setitem_mask_align_and_promotez:TestSetitemBooleanMask.test_setitem_mask_align_and_promote   s    BIOOC((	#q"0E0EFFFLLQOOAvwwyy4##C((T
66::;;
tX.....r-   c                     t          g d          }|dk    }||                             t                    }|||<   t          g d          }t          j        ||           d S )N)r   r0   r2   r   r   )r   12r   )r   r   r   r8   r9   r)   rD   r   ser2r<   s        r+   test_setitem_mask_promote_strsz5TestSetitemBooleanMask.test_setitem_mask_promote_strs  sg    \\\""Qw4y}}S!!D	***++
sH-----r-   c                     t          g d          }t          g d          }||         }|||<   t          g d          }t          j        ||           d S )N)r   r   barr   )FTTFr   r   s        r+   test_setitem_mask_promotez0TestSetitemBooleanMask.test_setitem_mask_promote  si    )))**000114yD	...//
sH-----r-   c                    ||                                 k    }|                                }|dz  ||<   |dz  }t          j        ||         ||                    |                                }|dz  dd         ||<   |dz  dd                             |          }||         || <   t          j        ||         ||                    d S )Nr2   r   r"   )medianr6   r8   r9   reindex_like)r)   string_seriesr   r;   r<   s        r+   test_setitem_booleanz+TestSetitemBooleanMask.test_setitem_boolean  s    }33555 ##%%$q(t 1$
vd|Xd^<<< ##%%%)1Q3/t!A%qs+88GG'-$
vd|Xd^<<<<<r-   c                 l   |}|                     dt                                |                                k    }d}t          j        t
          |          5  d||<   d d d            n# 1 swxY w Y   t          j        t
          |          5  d|j        |<   d d d            d S # 1 swxY w Y   d S )Nr0   rT   zsUnalignable boolean Series provided as indexer \(index of the boolean Series and of the indexed object do not matchr   )shiftr   r   r{   r   r   r7   )r)   r   r   mask_shiftedr   s        r+   test_setitem_boolean_cornerz2TestSetitemBooleanMask.test_setitem_boolean_corner)  s5   xxx//"))++=I 	 ]=444 	! 	! B|	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! ]=444 	% 	%#$BF< 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s$   A++A/2A/B))B-0B-c                     |                                 }|                                }d||dk    <   |                                }d||dk    <   t          j        ||           d S r   )sort_valuesr6   r8   r9   )r)   r   orderedr6   r<   s        r+   $test_setitem_boolean_different_orderz;TestSetitemBooleanMask.test_setitem_boolean_different_order7  sj    ++--!!##Wq[ %%''!"A
tX.....r-   funcc                     t          g d          } |g d          }ddg||<   t          g d          }t          j        ||           d S )N)Nr1   NTFTr/   cr/   r1   r   r   )r)   r   rD   r   r<   s        r+    test_setitem_boolean_python_listz7TestSetitemBooleanMask.test_setitem_boolean_python_listB  se     &&&''t'''((#JD	///**
sH-----r-   c                 0   t          g d|          }t          t          d          |          ||dk    <   t          g d|          }t          j        ||           t          g d|          }t          t          d          |          |j        |dk    <   t          j        ||           t          g d|          }t          t          d          |          }|j        |dk             |j        |dk    <   t          j        ||           d S )N)r"   r%   r$   r   rg   r#   r%   )r"   r%   r2   r!   r0   )r   r   r8   r9   r7   )r)   any_numeric_ea_dtyperD   r<   loc_sers        r+   'test_setitem_boolean_nullable_int_typesz>TestSetitemBooleanMask.test_setitem_boolean_nullable_int_typesK  s   \\\)=>>>eAhh.BCCCC!G,,,.BCCC
sH---\\\)=>>>!%((2FGGGa
sH---\\\)=>>>q)=>>>";w{3a
sH-----r-   c                 :   t          d gdz            }dgdz  dgdz  z   dgdz  z   }t          d          ||<   |}t          d gdz  t          t          d                    z   d gdz  z                                 d          }t	          j        ||           d S )Nr   Fr!   Tr"   r2   rr   )r   r   r   r   r8   r9   )r)   rD   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_length[  s    dVb[!!w{dVaZ'5'A+5!HHD	4&1*tE!HH~~5
BCCJJ8TT
vx00000r-   c                     t          g d          }t          j        |d<   t          t          j        ddgt                    }t	          j        ||           d S )Nr   r   FTrg   )r   r&   r'   rr   r8   r9   )r)   r;   r<   s      r+   test_setitem_nan_with_boolz1TestSetitemBooleanMask.test_setitem_nan_with_boold  sU    +++,,Fq	265$/v>>>
vx00000r-   c                 P   t          g dd          }t          j        g dt          j                  }t          j        g d          }|                                }t          |          ||<   t          g d          }t          j        ||           |                                }|                    ||d           t          j        ||           |                                }|                    | t          |                    }t          j        ||           d S )	Nr?   int8rg   )      r   )r   r2   r   Tinplace)	r   r&   r   r   r6   r8   r9   r   where)	r)   r_   altr   rD   r<   r   ser3ress	            r+   !test_setitem_mask_smallint_upcastz8TestSetitemBooleanMask.test_setitem_mask_smallint_upcastk  s   iiiv...h(((999x+++,,iikk3KKD	...))
sH---yy{{		$T	***
tX...yy{{jj$s,,
sH-----r-   c                    t          g dd          }t          g dt          j                  }t          j        g d          }|                                }|||<   t          g dd          }t          j        ||           |                                }|                    ||d           t          j        ||           d S )	Nr?   uint8rg   )   r      r   )r   r2   r   Tr   )r   r&   r   r   r6   r8   r9   r   )r)   r_   r   r   rD   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.....r-   N)rx   ry   rz   r   r   r   r   r   r   r   r{   r|   r}   r   r&   r   r   r   r   r   r   r   r   r~   r-   r+   r   r      s        . . ./ / /. . .. . .= = = % % %	/ 	/ 	/ [VdBHf%=>>. . ?>.. . . 1 1 11 1 1. . .&/ / / / /r-   r   c                       e Zd Zd Zd ZdS )TestSetitemViewCopySemanticsc                    t          ddd          }|d         }t          |          }|j        |usJ |r%|j        j        j        |j        j        j        u sJ n$|j        j        j        |j        j        j        usJ |j        dk    sJ t          |j        d<   |j        j        J |j        |usJ |j        j        j        |j        j        j        usJ |d         |k    sJ |j        dk    sJ d S )N20130101r!   rH   rI   r0   D)	r   r   _values_ndarraybase_datarT   r   rL   r)   using_copy_on_writedtir   rD   s        r+   ,test_setitem_invalidates_datetime_index_freqzITestSetitemViewCopySemantics.test_setitem_invalidates_datetime_index_freq  s    Q<@@@VSkk{#%%%% 	L;',	0B0GGGGGG;',CI4F4KKKKKx3{''' {#%%%%{#(	0B0GGGGG1v||||x3r-   c                 D   t          ddd          }|d         }t          |          }|j        |usJ |rT|j        j        j        |j        j        j        u sJ |j        j        d         j        j        |j        j        j        u sJ nS|j        j        j        |j        j        j        usJ |j        j        d         j        j        |j        j        j        usJ |j        j        d         |usJ t          |d d d<   |d         t          u sJ |d         |k    sJ d S )NrQ   r   
US/PacificrI   r   r!   )	r   r   r  r  r  r	  _mgrarraysr   r
  s        r+   'test_dt64tz_setitem_does_not_mutate_dtizDTestSetitemViewCopySemantics.test_dt64tz_setitem_does_not_mutate_dti  s*   rlCCCVSkk{#%%%% 	S;',	0B0GGGGG8?1%.3sy7I7NNNNNN;',CI4F4KKKKK8?1%.339;M;RRRRRxq!,,,,CCaC1v}}}}1v||||||r-   N)rx   ry   rz   r  r  r~   r-   r+   r  r    s2          ,    r-   r  c                       e Zd Zd Zd ZdS )TestSetitemCallablec                     t          g dt          d                    }d|d <   t          g dt          d                    }t          j        ||           d S )Nr0   r2   r!   r#   ABCDr3   r   c                     dS )NAr~   rp   s    r+   r   z?TestSetitemCallable.test_setitem_callable_key.<locals>.<lambda>  s    c r-   )r   r2   r!   r#   )r   r   r8   r9   r   s      r+   test_setitem_callable_keyz-TestSetitemCallable.test_setitem_callable_key  s_    \\\f666MM---tF||<<<
sH-----r-   c                     d }t          g d          }|||dk     <   t          dd|dg          }t          j        ||           d S )Nc                     | dz   S Nr0   r~   r  s    r+   r   zATestSetitemCallable.test_setitem_callable_other.<locals>.<lambda>  s
    A r-   )r0   r2   r   r#   r   r0   r2   r#   r   )r)   incrD   r<   s       r+   test_setitem_callable_otherz/TestSetitemCallable.test_setitem_callable_other  sU    o]]]##C!G1aa.))
sH-----r-   N)rx   ry   rz   r  r   r~   r-   r+   r  r    s2        . . .. . . . .r-   r  c                       e Zd Zd Zd Zd Zej                            d e	d           e	d          
                                 e	d                                          g          d             Zd Zd Zd	 Zej                            d
ddg          ej                            deeddfeej        ddfeeddfej        eddfej        eddfej        ej        ddfg          d                         Zd ZdS )TestSetitemWithExpansionc                     t          d          }t          t                    }d||<   t          d|g          }t          j        ||           d S )NrZ   rg   /   )r   r   rr   r8   r9   )r)   r   r*   r<   s       r+   test_setitem_empty_seriesz2TestSetitemWithExpansion.test_setitem_empty_series  sR    %%f%%%s"se$$
vx00000r-   c                    t          g t          g d          t                    }t          d          }d||<   t          dt          |gd                    }t	          j        ||           |j        j        |j        j        k    sJ d S )Nr  r   rg   rZ   r$  )r   r
   rr   r   r8   r9   r4   rT   )r)   r*   r   r<   s       r+   6test_setitem_empty_series_datetimeindex_preserves_freqzOTestSetitemWithExpansion.test_setitem_empty_series_datetimeindex_preserves_freq  s    M"3777vFFF%%s"mSE<<<==
vx000| HN$7777777r-   c                     t          d          }t          |gdgt                    }|d         }t          g t                    }d|d<   ||d<   |d         }||k    sJ d S )Nl    Pi5 	timestampri   rg   g     r@anything)r   r   rr   )r)   r)  r*   r<   r;   s        r+   3test_setitem_empty_series_timestamp_preserves_dtypezLTestSetitemWithExpansion.test_setitem_empty_series_timestamp_preserves_dtype  sy    122	K=GGG+&&)))"z'{$!!!!!!r-   td9 daysc                 |   t          d|gddgt                    }t          dg          }||d<   t          j        ||           t	          |d         t
                    sJ t          dg          }t          d          |j        d<   t          j        ||           t	          |d         t
                    sJ d S )Nrp   r   r,  ri   r-  )r   rr   r8   r9   rl   r   r7   )r)   r,  r<   rD   s       r+   #test_append_timedelta_does_not_castz<TestSetitemWithExpansion.test_append_timedelta_does_not_cast  s     3)At9FCCCcUmmD	
sH---#d)Y/////cUmm!(++
sH---#d)Y///////r-   c                     t          t                    }t          d          |d<   d|d<   d|d<   t          t          d          ddgg d	          }t          j        ||           d S )
Nrg   rQ   r/         @r1   r   r   r   r3   )r   rr   r   r8   r9   r   s      r+   *test_setitem_with_expansion_type_promotionzCTestSetitemWithExpansion.test_setitem_with_expansion_type_promotion	  ss    6"""\**CCC9\22C?WWW
sH-----r-   c                     |                                 }d|j        vsJ d|d<   t          dgdgd          }t          ||g          }t	          j        ||           d S )Nfoobarr0   r*   )r4   name)r6   r4   r   r   r8   r9   )r)   r   rD   appr<   s        r+   test_setitem_not_containedz3TestSetitemWithExpansion.test_setitem_not_contained  sr      ""sy((((HaS
:::=#.//
sH-----r-   c                     t          ddg|          }d|d<   t          g d|          }t          j        ||           d S )Nr0   r2   rg   r   )r0   r2   r   r   )r)   r   rD   r<   s       r+   test_setitem_keep_precisionz4TestSetitemWithExpansion.test_setitem_keep_precision  sR    aV#7888A***,@AAA
sH-----r-   ru   r0   r2   z"na, target_na, dtype, target_dtypeInt64r   float64rr   Float64c                     t          ddg|          }|||<   |dk    rd|gndd|g}t          ||          }t          j        ||           d S )Nr0   r2   rg   r   )	r)   na	target_nar]   target_dtyperu   rD   expected_valuesr<   s	            r+   test_setitem_enlarge_with_naz5TestSetitemWithExpansion.test_setitem_enlarge_with_na#  sj     aV5)))G,3qLL1i..q!Y>O/>>>
sH-----r-   c                     t          ddg          }||d<   t          dd|gg d          }t          j        ||           |d         |u sJ d S )Nr/   r1   r!   )r   r0   r!   r3   r   )r)   nulls_fixturerD   r<   s       r+   $test_setitem_enlargement_object_nonez=TestSetitemWithExpansion.test_setitem_enlargement_object_none7  sg    c3Z  A3]3999EEE
sH---1v&&&&&&r-   N)rx   ry   rz   r%  r'  r+  r{   r|   r}   r   to_timedelta64to_pytimedeltar/  r2  r7  r9  r   r&   r'   r   rB  rE  r~   r-   r+   r"  r"    s       1 1 18 8 8
" 
" 
" [IhIh..00Ih..00	
 0 0 0. . .. . .. . . [YA//[,Wg&),#w)VR'*VRI.VRVWi0	

 
. .
 
 0/.' ' ' ' 'r-   r"  c                     t          j        d          } d| j        _        t	          | d          }|j        D ]J}d}t          j        t          |          5  d||<   d d d            n# 1 swxY w Y   | |         dk    sJ Kd S )Nr"   Fr6   #assignment destination is read-onlyr   r0   r   )	r&   zerosflags	writeabler   r4   r{   r   
ValueError)r   r*   nr   s       r+   .test_setitem_scalar_into_readonly_backing_datarP  @  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"   FrI  rJ  r   r0   r!   )	r&   rK  rL  rM  r   r{   r   rN  r   )r   r*   r   s      r+   -test_setitem_slice_into_readonly_backing_datarR  O  s     HQKKE!EKE&&&F
/C	z	-	-	-  qs               uy{{s   A##A'*A'c                     t          t          ddgddg                    } |                                 }d|d d <   t          t          ddgddg                    }t          j        ||           |                                 }d|d<   t          t          ddgddg                    }t          j        ||           |                                 }d||j        dk    <   t          t          ddgddg                    }t          j        ||           |                                 }d|ddg<   t          t          ddgddg                    }t          j        ||           |                                 }dd	g|_        d|d	<   t          t          ddgddg          dd	g
          }t          j        ||           d S )Nr1   r/   
categoriesr0   r   FTrp   yr3   )r   r   r6   r8   r9   r4   )r_   rD   r`   s      r+   &test_setitem_categorical_assigning_opsrW  ]  s   +sCjc3Z@@@AAD
))++CCF
c3ZS#J???
@
@C3$$$
))++CCF
c3ZS#J???
@
@C3$$$
))++CC	A
c3ZS#J???
@
@C3$$$
))++CC
c3ZS#J???
@
@C3$$$
))++Cc
CICH
c3ZS#J???Sz
R
R
RC3$$$$$r-   c                      t          t          g d                    } t          t          dt          j        dgg d                    }t          j        | d<   t	          j        | |           d S )Nr?   r0   r!   rT  )r   r   r&   r'   r8   r9   )rD   r`   s     r+   !test_setitem_nan_into_categoricalrY  z  se    
YYY''
(
(C
a^			BBB
C
CCVCF3$$$$$r-   c                       e Zd Zej                            dddg          ej                            dg de          d                         Zd Zd	S )
TestSetitemCastinguniqueTFval)r!   r1  3)idsc                 p   t          ddg          }|s	ddg|_        | ||          d<   t          |j        d                   t          |          k    sJ t          d|gt          |j                  }|s)|t
          j        urt          ||gt          ddg          }t          j        ||           d S )NTFr0   )r]   r4   )r   r4   typerL   rr   r8   r9   )r)   r]  r^   r\  rD   r<   s         r+   test_setitem_non_bool_into_boolz2TestSetitemCasting.test_setitem_non_bool_into_bool  s     dE]## 	ACI!CCHQK  DII----4+V39EEE 	F+RW44sCjq!fEEEH
sH-----r-   c                     t          g d          }|j        }t          g d          }|d d         |d d<   |j        |u sJ |dd          |dd <   t          |          }t          j        ||           d S )Nr   )TFNr2   r0   )r   r  r   r8   r9   )r)   rD   rt   rM   r<   s        r+   &test_setitem_boolean_array_into_npboolz9TestSetitemCasting.test_setitem_boolean_array_into_npbool  s    ((())'''((bqb'BQB{f$$$$abb'ABB#;;
sH-----r-   N)	rx   ry   rz   r{   r|   r}   ra  rb  rd  r~   r-   r+   r[  r[    sy        [Xe}55[UMMMt<<. . =< 65.. . . . .r-   r[  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                 F    	 |j         |j         k    S # t          $ r Y dS w xY w)zF
        Whether we expect the setting to be in-place or not.
        F)r]   r   )r)   objr<   s      r+   
is_inplacez$SetitemCastingEquivalents.is_inplace  s8    
	>SY.. 	 	 	55	s    
  c                     |}|                                 }|j        }| ||          |<   t          j        ||           |                     ||||           d S rk   )r6   r  r8   r9   _check_inplace)	r)   rh  r   r<   r]  ru   ri  r_   rM   s	            r+   check_indexerz'SetitemCastingEquivalents.check_indexer  s`    hhjjkS
sH---Jc377777r-   c                     |d S |r2|j         j        dv r|j        |j        j        u sJ d S |j        |u sJ d S t	          j        ||j                   d S )N)mM)r]   kindr  r  r8   assert_equal)r)   ri  r_   rM   rh  s        r+   rk  z(SetitemCastingEquivalents._check_inplace  sy    D 		/y~++ |s{';;;;;;;{c)))))) OC.....r-   c                    t          |t                    sd S |                     ||||||           |t          j        u r%|                     ||||t          j        |           n2|t          j        u r$|                     ||||t          j        |           t          ||dz             }|                     ||||||           |t          j        ur-t          ||dz             }|                     ||||||           |g}	|                     ||	||||           t          j        |	          }
|                     ||
||||           d |fD             }|                     ||||||           d S )Nr0   c              3      K   | ]}|V  d S rk   r~   rn   s     r+   rq   z9SetitemCastingEquivalents.test_int_key.<locals>.<genexpr>  s"      ##!######r-   )rl   intrl  r8   r7   r   rL   iatr   slicer&   r   )r)   rh  r   r<   r]  r^   ri  rngslcilkeyindkeygenkeys               r+   test_int_keyz&SetitemCastingEquivalents.test_int_key  s   #s## 	F3XsKLLL"&  sC3zJJJJBG##sC3
KKKCq!!3XsKLLLbf$$S1W%%CsC3ZPPP3xk:NNN%3#{JOOO##cU###3#{JOOOOOr-   c                    t          |t                    sd S |t          j        ur|                     ||||||           t          t          t          |                              |         }|                     ||||||           t          j	        |          }|                     ||||||           d |D             }	|                     ||	||||           d S )Nc              3      K   | ]}|V  d S rk   r~   rn   s     r+   rq   z;SetitemCastingEquivalents.test_slice_key.<locals>.<genexpr>  s"      $$!$$$$$$r-   )
rl   rv  r8   r7   rl  r   r   lenr&   r   )
r)   rh  r   r<   r]  r^   ri  ry  rz  r{  s
             r+   test_slice_keyz(SetitemCastingEquivalents.test_slice_key  s    #u%% 	Fbf$$sC3ZPPPU3s88__%%c*3xk:NNN%3#{JOOO$$V$$$3#{JOOOOOr-   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 S )Nrg   Tz9boolean index did not match indexed array along dimensionr   )r&   rK  shapeboolr6   r   r  sumr{   r   r   r8   r9   )r)   rh  r   r<   r]  r^   r   r   s           r+   test_mask_keyz'SetitemCastingEquivalents.test_mask_key  s   x	...S	hhjj 	SDHHJJ!6!6MCz555 - -),C  &- - - - - - - - - - - - - - -F!$C
sH-----s   B&&B*-B*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          j        |
|           |                     |||	|           d S )Nrg   Tz4operands could not be broadcast together with shapesr   )r&   rK  r  r  r   r  r{   r   rN  r   r6   r  r8   r9   rk  )r)   rh  r   r<   r]  ri  r   r   r_   rM   r   s              r+   test_series_wherez+SetitemCastingEquivalents.test_series_where  s2   x	...S	 	SCHH!4!4HCz555 & &		4%%%%& & & & & & & & & & & & & & &Fhhjjkiis##
sH---Jc377777s   2BBBc                     t          j        |j        t                    }d||<   t	          |                              | |          }t	          ||j                  }t          j        ||           d S Nrg   T)	r&   rK  r  r  r   r   r]   r8   assert_index_equal)r)   rh  r   r<   r]  r   r   expected_idxs           r+   test_index_wherez*SetitemCastingEquivalents.test_index_where  sk    x	...S	Cjjuc**XX^<<<
c<00000r-   c                     t          j        |j        t                    }d||<   t	          |                              ||          }t          j        |t	          ||j                             d S r  )	r&   rK  r  r  r   putmaskr8   r  r]   )r)   rh  r   r<   r]  r   r   s          r+   test_index_putmaskz,SetitemCastingEquivalents.test_index_putmask'  sd    x	...S	Cjj  s++
c5#H#H#HIIIIIr-   N)rx   ry   rz   __doc__r{   fixtureri  rl  rk  r|  r  r  r  r  r  r~   r-   r+   rf  rf    s          ^  ^8 8 8/ / /P P P8P P P". . . 8 8 8(1 1 1J J J J Jr-   rf  zobj,expected,keyr0   r"   r2   r!   r#   zinterval[float64]rg   interval_int_na_value)id)	r2   r!   r#   r"   r%   r$   r   r   r   r$   r   int_series_slice_key_step)TTFFTFbool_series_slice_key_stepr   r%   r   int_series_slice_keyr?   int_series_int_keybool_series_int_key_change_allbool_series_int_keyc                   p    e Zd Z ej        ej         ej        d          deg          d             Z	dS )TestSetitemCastingEquivalentsNaNNparamsc                     |j         S )z
        NA values that should generally be valid_na for *all* dtypes.

        Include both python float NaN and np.float64; only np.float64 has a
        `dtype` attribute.
        paramr)   requests     r+   r]  z!TestSetitemCastingEquivalents.valj  s     }r-   )
rx   ry   rz   r{   r  r&   r'   r;  r   r]  r~   r-   r+   r  r  /  sX        v V^BFJBJu$5$5tR@AAA  BA  r-   r  c                       e Zd Zej        d             Z ej        eeeg          d             Z	ej        d             Z
ej        d             Zej        d             ZdS )!TestSetitemTimedelta64IntoNumericc                 0    t          j        dd          }|S )Nr#   ns)r&   timedelta64)r)   r,  s     r+   r]  z%TestSetitemTimedelta64IntoNumeric.valy  s    ^At$$	r-   r  c                     |j         S rk   r  r  s     r+   r]   z'TestSetitemTimedelta64IntoNumeric.dtype  
    }r-   c                 r    t          j        d                              |          }t          |          }|S )Nr"   )r&   r   r   r   r)   r]   rM   rD   s       r+   rh  z%TestSetitemTimedelta64IntoNumeric.obj  s-    ill!!%((Skk
r-   c                     t          j        d                              |          }t          |          }|                    t                    }t          j        dd          |j        d<   |S )Nr"   r#   r  r   )r&   r   r   r   rr   r  rL   r  s       r+   r<   z*TestSetitemTimedelta64IntoNumeric.expected  sU    ill!!%((Skkjj  nQ--
r-   c                     dS r   r~   r)   s    r+   r   z%TestSetitemTimedelta64IntoNumeric.key      qr-   N)rx   ry   rz   r{   r  r]  complexrt  r   r]   rh  r<   r   r~   r-   r+   r  r  u  s         ^  ^
 V^GS%0111  21 ^  ^
 ^  ^ ^  ^  r-   r  c                   
   e Zd Z ej        ddg          d             Zej        d             Zej        d             Zej        d             Zej        d             Z	 ej        d	e
ej        g          d
             Zd	S )TestSetitemDT64IntoIntrh   m8[ns]r  c                     |j         S rk   r  r  s     r+   r]   zTestSetitemDT64IntoInt.dtype  r  r-   c                 F    t          j        dd          }|dk    r||z
  }|S )Nz2021-01-18 13:25:00r  r  )r&   rm   )r)   r]   r]  s      r+   scalarzTestSetitemDT64IntoInt.scalar  s-    m1488H)C
r-   c                     t          ||dgt                    }t          |d         t          |                    sJ |S )Nr!   rg   r   )r   rr   rl   ra  )r)   r  r<   s      r+   r<   zTestSetitemDT64IntoInt.expected  s@    661-V<<<(1+tF||44444r-   c                 $    t          g d          S )Nr?   r   r  s    r+   rh  zTestSetitemDT64IntoInt.obj  s    iii   r-   c                 "    t          d d          S )Nr   rv  r  s    r+   r   zTestSetitemDT64IntoInt.key  s    T2r-   Nc                 2    |j         }||S  |||g          S rk   r  )r)   r  r  boxs       r+   r]  zTestSetitemDT64IntoInt.val  s(    m;MsFF#$$$r-   )rx   ry   rz   r{   r  r]   r  r<   rh  r   r   r&   r   r]  r~   r-   r+   r  r    s         V^Hh/000  10 ^  ^ ^  ^
 ^! ! ^! ^  ^ V^D$1222% % 32% % %r-   r  c                       e Zd Zej        d             Zej        d             Z ej        d edd          g          d             Z ej        de	j
        g          d             Z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    rT   i8c              3   (   K   | ]}|t           u V  d S rk   )r   rn   s     r+   rq   z4TestSetitemNAPeriodDtype.expected.<locals>.<genexpr>  s&      %A%A1a3h%A%A%A%A%A%Ar-   )r   r   r   _valuer  viewrs   )r)   r   r`   s      r+   r<   z!TestSetitemNAPeriodDtype.expected  so    \,EEEFF&)js#3x3#%A%AC%A%A%A"A"A
r-   c                 @    t          t          ddd                    S )Nr  r   r  r  )r   r   r  s    r+   rh  zTestSetitemNAPeriodDtype.obj  s    l<#FFFGGGr-   r!   r"   r  c                     |j         S rk   r  r  s     r+   r   zTestSetitemNAPeriodDtype.key  r  r-   Nc                     |j         S rk   r  r  s     r+   r]  zTestSetitemNAPeriodDtype.val  r  r-   )rx   ry   rz   r{   r  r<   rh  rv  r   r&   r'   r]  r~   r-   r+   r  r    s         ^  ^ ^H H ^H V^AuuQ{{+,,,  -, V^D"&>***  +*  r-   r  c            
       J   e Zd Z ej        g d          d             Zej        d             Z ej        dej        e	 ej
        dd           ej        dd          g          d             Zej        d	             Zej        d
             Zej        d             ZdS )TestSetitemNADatetimeLikeDtype)r  rh   zdatetime64[ns, UTC]zdatetime64[ns, US/Central]r  c                     |j         S rk   r  r  s     r+   r]   z$TestSetitemNADatetimeLikeDtype.dtype  s     }r-   c                     t          dd          j        }t          ||          }|j        |k    sJ t	          |          S )NrQ   r!   r   rg   )r   asi8r   r]   r   )r)   r]   i8valsr:   s       r+   rh  z"TestSetitemNADatetimeLikeDtype.obj  sH    L!4449F%(((yE!!!!c{{r-   Nr   r  c                     |j         S rk   r  r  s     r+   r]  z"TestSetitemNADatetimeLikeDtype.val  s     }r-   c                 X    |t           u p!|d u p|t          j        u p|j        |j        k    S rk   )r   r&   r'   r]   )r)   r]  rh  s      r+   ri  z)TestSetitemNADatetimeLikeDtype.is_inplace  s0    
 czSSD[SC26MSSY#)=SSr-   c                 z    |r|j         nt          }t          |gt          |dd                    z   |          }|S )Nr0   rg   )r]   rr   r   r   )r)   rh  r]  ri  r]   r<   s         r+   r<   z'TestSetitemNADatetimeLikeDtype.expected  s>    '3		V3%$s122w--/u===r-   c                     dS r   r~   r  s    r+   r   z"TestSetitemNADatetimeLikeDtype.key  r  r-   )rx   ry   rz   r{   r  r]   rh  r&   r'   r   r  rm   r]  ri  r<   r   r~   r-   r+   r  r    s(        V^XXX     ^  ^ V^FBN5$''BM%&&
     ^T T ^T ^  ^
 ^  ^  r-   r  c                       e Zd Zej        d             Zej        d             Zej        d             Zej        d             ZdS )$TestSetitemMismatchedTZCastsToObjectc                 @    t          t          ddd                    S )N2000r2   
US/CentralrI   r   r   r  s    r+   rh  z(TestSetitemMismatchedTZCastsToObject.obj  s    j|DDDEEEr-   c                 $    t          dd          S )Nr  rH   rW   )r   r  s    r+   r]  z(TestSetitemMismatchedTZCastsToObject.val  s    L1111r-   c                     dS r   r~   r  s    r+   r   z(TestSetitemMismatchedTZCastsToObject.key  r  r-   c                 z    t          |                    d          t          dd          g|j                  }|S )Nr  z2000-01-02 00:00:00-06:00rW   rg   )r   
tz_convertr   r]   )r)   rh  r]  r<   s       r+   r<   z-TestSetitemMismatchedTZCastsToObject.expected  sK     |,,5,GGG )
 
 
 r-   N	rx   ry   rz   r{   r  rh  r]  r   r<   r~   r-   r+   r  r    s        ^F F ^F ^2 2 ^2 ^  ^ ^
 
 ^
 
 
r-   r  zobj,expected)      ?       @r1  r  r1  i  )r   r   baz)Nr   r  c                   N    e Zd Zej        d             Zej        d             ZdS )TestSeriesNoneCoercionc                     dS r   r~   r  s    r+   r   zTestSeriesNoneCoercion.key.  r  r-   c                     d S rk   r~   r  s    r+   r]  zTestSeriesNoneCoercion.val2  s    tr-   N)rx   ry   rz   r{   r  r   r]  r~   r-   r+   r  r    sN          ^  ^ ^  ^  r-   r  c                       e Zd Zd Zej        d             Zej        d             Zej        d             Zej        d             Z	dS )-TestSetitemFloatIntervalWithIntIntervalValuesc                     t          j        t          d                    }t          |          }t	          dd          }||d<   |j        dk    sJ d S )Nr#         ?      ?r   zInterval[float64, right])r   from_breaksr   r   r   r]   )r)   r:   rh  r]  s       r+   test_setitem_examplezBTestSetitemFloatIntervalWithIntIntervalValues.test_setitem_example:  sU    'a11SkksC  Ay6666666r-   c                 b    t          j        t          d                    }t          |          S )Nr#   )r   r  r   r   )r)   r:   s     r+   rh  z1TestSetitemFloatIntervalWithIntIntervalValues.objC  s$    'a11c{{r-   c                 "    t          dd          S )Nr  r  )r   r  s    r+   r]  z1TestSetitemFloatIntervalWithIntIntervalValues.valH  s    S!!!r-   c                     dS r   r~   r  s    r+   r   z1TestSetitemFloatIntervalWithIntIntervalValues.keyL  r  r-   c                 x    |gt          |dd                    z   }t          |d          }t          |          S )Nr0   zInterval[float64]rg   )r   r   r   )r)   rh  r]  datar:   s        r+   r<   z6TestSetitemFloatIntervalWithIntIntervalValues.expectedP  s;    utCG}}$D(;<<<c{{r-   N)
rx   ry   rz   r  r{   r  rh  r]  r   r<   r~   r-   r+   r  r  7  s        7 7 7 ^  ^ ^" " ^" ^  ^ ^  ^  r-   r  c                       e Zd Zej        d             Zej        d             Zej        d             Zej        d             ZdS )!TestSetitemRangeIntoIntegerSeriesc                 j    t          j        |          }t          t          d          |          }|S Nr"   rg   )r&   r]   r   r   )r)   any_int_numpy_dtyper]   rD   s       r+   rh  z%TestSetitemRangeIntoIntegerSeries.obj[  s/    ,--U1XXU+++
r-   c                 "    t          dd          S )Nr2   r#   )r   r  s    r+   r]  z%TestSetitemRangeIntoIntegerSeries.vala      Q{{r-   c                 "    t          dd          S Nr   r2   r  r  s    r+   r   z%TestSetitemRangeIntoIntegerSeries.keye  r  r-   c                 T    t          j        |          }t          g d|          }|S )N)r2   r!   r2   r!   r#   rg   )r&   r]   r   )r)   r  r]   r`   s       r+   r<   z*TestSetitemRangeIntoIntegerSeries.expectedi  s-    ,--___E222
r-   Nr  r~   r-   r+   r  r  W  s         ^  ^
 ^  ^ ^  ^ ^  ^  r-   r  r]        @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+   rh  z,TestSetitemFloatNDarrayIntoIntegerSeries.objy  s    eAhhbh////r-   c                 "    t          dd          S r  r  r  s    r+   r   z,TestSetitemFloatNDarrayIntoIntegerSeries.key}  r  r-   c                     |d         dk    rt           j        }nt           j        }t          j        t	          d          |          }||d d<   t          |          S )Nr   r2   r"   rg   )r&   r   r;  r   r   r   )r)   r]  r]   
res_valuess       r+   r<   z1TestSetitemFloatNDarrayIntoIntegerSeries.expected  sT    q6Q;;HEEJEXeAhhe444

2A2j!!!r-   Nrx   ry   rz   r{   r  rh  r   r<   r~   r-   r+   r   r   p  sk         ^0 0 ^0 ^  ^ ^" " ^" " "r-   r      c                   n    e Zd Zej        d             Zej        d             Zej        d             ZdS )'TestSetitemIntoIntegerSeriesNeedsUpcastc                 <    t          g dt          j                  S )Nr?   rg   r   r&   r   r  s    r+   rh  z+TestSetitemIntoIntegerSeriesNeedsUpcast.obj  s    iiirw////r-   c                     dS r  r~   r  s    r+   r   z+TestSetitemIntoIntegerSeriesNeedsUpcast.key  r  r-   c                 <    t          g dt          j                  S )N)r0   r  r!   rg   )r   r&   int16r  s    r+   r<   z0TestSetitemIntoIntegerSeriesNeedsUpcast.expected  s    kkk2222r-   Nr  r~   r-   r+   r  r    si        ^0 0 ^0 ^  ^ ^3 3 ^3 3 3r-   r  )g      Bg    Bl            c                   n    e Zd Zej        d             Zej        d             Zej        d             ZdS )TestSmallIntegerSetitemUpcastc                 (    t          g dd          S )Nr?   i4rg   r  r  s    r+   rh  z!TestSmallIntegerSetitemUpcast.obj  s    iiit,,,,r-   c                     dS r   r~   r  s    r+   r   z!TestSmallIntegerSetitemUpcast.key  r  r-   c                 F    |dz  dk    rd}nd}t          |ddg|          S )Nr0   r   f8r  r2   r!   rg   r  )r)   r]  r]   s      r+   r<   z&TestSmallIntegerSetitemUpcast.expected  s4    7a<<EEEsAqk////r-   Nr  r~   r-   r+   r  r    sk         ^- - ^- ^  ^ ^0 0 ^0 0 0r-   r  c                   N    e Zd Zej        d             Zej        d             ZdS )CoercionTestc                     dS r  r~   r  s    r+   r   zCoercionTest.key  r  r-   c                 L    t          |          }|||<   t          ||          S )Nrg   )r   r   )r)   rh  r   r]  	exp_dtypera   s         r+   r<   zCoercionTest.expected  s)    CyyS	d),,,,r-   N)rx   ry   rz   r{   r  r   r<   r~   r-   r+   r  r    sN         ^  ^ ^- - ^- - -r-   r  zval,exp_dtypec                   .    e Zd Zej        d             ZdS )TestCoercionInt8c                 <    t          g dt          j                  S )Nr  rg   r
  r  s    r+   rh  zTestCoercionInt8.obj  s    lll"'2222r-   Nrx   ry   rz   r{   r  rh  r~   r-   r+   r  r    s1        
 ^3 3 ^3 3 3r-   r  )r0   皙?      ?      ?Tr  c                   .    e Zd Zej        d             ZdS )TestCoercionObjectc                 2    t          g dt                    S )N)r/   r1   r   drg   )r   rr   r  s    r+   rh  zTestCoercionObject.obj  s    ***&9999r-   Nr  r~   r-   r+   r!  r!    s1         ^: : ^: : :r-   r!  r  r  c                   .    e Zd Zej        d             ZdS )TestCoercionComplexc                 $    t          g d          S )N)r  y       @       @y      @      @y      @      @r  r  s    r+   rh  zTestCoercionComplex.obj  s    666777r-   Nr  r~   r-   r+   r%  r%    s1         ^8 8 ^8 8 8r-   r%  r^  c                   .    e Zd Zej        d             ZdS )TestCoercionBoolc                 2    t          g dt                    S )N)TFTFrg   )r   r  r  s    r+   rh  zTestCoercionBool.obj  s    000====r-   Nr  r~   r-   r+   r(  r(    s1         ^> > ^> > >r-   r(  c                   .    e Zd Zej        d             ZdS )TestCoercionInt64c                 $    t          g d          S )Nr  r  r  s    r+   rh  zTestCoercionInt64.obj  s    lll###r-   Nr  r~   r-   r+   r+  r+    s1         ^$ $ ^$ $ $r-   r+  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+   rh  zTestCoercionFloat64.obj  s    ***+++r-   Nr  r~   r-   r+   r.  r.    s1         ^, , ^, , ,r-   r.  zbnp.float32(1.1) ends up as 1.100000023841858, so np_can_hold_element raises and we cast to float64)reason)marksc                   >     e Zd Zej        d             Z fdZ xZS )TestCoercionFloat32c                 <    t          g dt          j                  S )Nr0  rg   )r   r&   float32r  s    r+   rh  zTestCoercionFloat32.obj  s    ***"*====r-   c                     t                                          ||||||           t          |          t          u rt	          d          d S )Nz!xfail not relevant for this test.)superr  ra  r   AssertionError)r)   rh  r   r<   r]  r^   ri  	__class__s          r+   r  z"TestCoercionFloat32.test_slice_key!  sM    sC3ZPPP99 !DEEE r-   )rx   ry   rz   r{   r  rh  r  __classcell__)r:  s   @r+   r4  r4    s^        2 ^> > ^>F F F F F F F F Fr-   r4  rZ   zdatetime64[ns]rp   c                   .    e Zd Zej        d             ZdS )TestCoercionDatetime64c                 @    t          t          ddd                    S )NrY   r  r#   )rT   r    r  r  s    r+   rh  zTestCoercionDatetime64.obj0  s    jCCCCDDDr-   Nr  r~   r-   r+   r=  r=  )  s6         ^E E ^E E Er-   r=  rH   rW   zdatetime64[ns, US/Eastern]r  c                   .    e Zd Zej        d             ZdS )TestCoercionDatetime64TZc                 F    d}t          t          ddd|                    S )NrH   rY   r  r#   rS   r  )r)   rJ   s     r+   rh  zTestCoercionDatetime64TZ.objA  s&    jCrJJJKKKr-   Nr  r~   r-   r+   r@  r@  5  s6         ^L L ^L L Lr-   r@  z12 dayztimedelta64[ns]c                   .    e Zd Zej        d             ZdS )TestCoercionTimedelta64c                 >    t          t          dd                    S )Nz1 dayr#   r   )r   r   r  s    r+   rh  zTestCoercionTimedelta64.objM  s    ogq999:::r-   Nr  r~   r-   r+   rC  rC  G  s1         ^; ; ^; ; ;r-   rC  r   2016Yr   both)closedc                   r    e Zd Z ej         eddd           edd          g          d             Zd	S )
TestPeriodIntervalCoercionrQ   r!   r  r  r0   r"   r  c                 *    t          |j                  S rk   )r   r  r  s     r+   rh  zTestPeriodIntervalCoercion.objX  s     gm$$$r-   N)rx   ry   rz   r{   r  r   r   rh  r~   r-   r+   rJ  rJ  R  sm         V^Lqs;;;N1a  
  % % % % %r-   rJ  c                  :   t          g dg d          } t          g dg d          }|                                 }d|j        d<   t          j        ||           |                                 }d|j        d<   t          j        ||           |                                 }d|d<   t          j        ||           |                                 }d|j        d<   t          j        ||           |                                 }d|j        d<   t          j        ||           |                     d          }|                    d          }|                                }d|j        d	<   t          j	        ||           |                                }d|j        d	<   t          j	        ||           |                                }d|j        d
<   t          j	        ||           |                                }d|j        d
<   t          j	        ||           d S )Nr   r0   r2   r   r3   )r   皙@r2   rN  r1   r0   r  )r1   r  )r0   r   )
r   r6   r   r8   r9   r7   ru  rL   to_frameassert_frame_equal)r_   r<   rD   orig_dfexpected_dfdfs         r+   
test_20643rT  b  s   )))???333Dkkk999H
))++CCF3K3)))
))++CCGCL3)))
))++CCH3)))
))++CCGAJ3)))
))++CCHQK3)))mmC  G##C((K	BBE(O"k***	BBF8"k***	BBGDM"k***	BBF4L"k*****r-   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 )NrM  r   r3   r0   r2   r   )r   r&   r'   r6   ru  r8   r9   rL   )r_   r<   rD   s      r+   test_20643_commentrV    s     )))???333Drvq!nOOO<<<H
))++CCGAJ3)))
))++CCHQK3)))))r-   c                     t          g d          } | | dk    xx         dz  cc<   t          g d          }t          j        | |           t          g d          } | dxx         dz  cc<   t          j        | |           t          g d          } | j        dxx         dz  cc<   t          j        | |           t          g d          } | j        dxx         dz  cc<   t          j        | |           t          g d          } | j        dxx         dz  cc<   t          j        | |           t          g d          } | j        dxx         dz  cc<   t          j        | |           d S )Nr?   r2   r  )r0   r  r!   r0   )r   r8   r9   r7   rL   ru  r   rD   r<   s     r+   
test_15413rY    s   


CqMMMSMMMkkk""H3)))


CFFFcMFFF3)))


CGAJJJ#JJJ3)))


CHQKKK3KKK3)))


CGAJJJ#JJJ3)))


CF1IIIIII3)))))r-   c                  P   t          j        d                              d          } t          |           }t          j        t          j        t           j                  j                  }||d<   t          |ddddgt           j                  }t          j        ||           d S )	Nr"   r  r   r0   r2   r!   r#   rg   )	r&   r   r   r   r   iinfomaxr8   r9   rM   rD   r]  r<   s       r+   test_32878_int_itemsizer^    s    
)A,,

d
#
#C
++C
(28BH%%)
*
*CCFsAq!Q'rx888H3)))))r-   c                  ^   t          j        d                              d          } t          |           }t          j        t           j                  j        }|                    d          }||d<   |d         |k    sJ t          |ddddgd	          }t          j        ||           d S )
Nr"   c8c16r   r0   r2   r!   r#   rg   )	r&   r   r   r   finfor;  r\  r8   r9   r]  s       r+   test_32878_complex_itemsizerc    s    
)A,,

d
#
#C
++C
(2:


"C
**U

C CFq6S====sAq!Q'u555H3)))))r-   c                     t          g dg d          }d | |          d<   t          g dg dt                    }t          j        ||           d S )Nr?   r   r3   testr1   )r0   re  r!   ri   r   rr   r8   r9   )
indexer_alrD   r<   s      r+   
test_37692rh    sc    
///
2
2
2C!JJsOOCnnnOOO6JJJH3)))))r-   c                    t           j        t           j        fD ]}t          dt	          d          |          }d | |          d<   |j        t          k    sJ t          dt	          d          t                    } |d          |d<   |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!   ri   Tr0   r  )r&   r;  r   r   r   r]   rr   r  )r^   r]   rD   s      r+   'test_setitem_bool_int_float_consistencyrj    s-   
 *bh' # #QeAhhe444"CyF""""QeAhhd333qAyF""""" %(("(
3
3
3C*S//KKQ9     %(("*
5
5
5C(1++KKQr-   c                      t          g dg d          } d| d<   t          g dg dt                    }t          j        | |           d S )Nr?   r   r3   rf   r   )rf   r2   r!   ri   rf  rX  s     r+   $test_setitem_positional_with_castingrl    s\     ///
2
2
2CCFkkkGGGH3)))))r-   c                      t          g dg d          } d| d<   t          g dg d          }t          j        | |           d S )Nr?   r   r3   r  r   )r  r2   r!   r   rX  s     r+   .test_setitem_positional_float_into_int_coercesrn    sZ     ///
2
2
2CCF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   @r1  ffffff@r3   r   r!   )r0   r2   r   r#   r"   )r0   r2   r   r#   r"   )r  rp  r1  rq  g      @r2   r#   )r   r0   r2   r!   r#   r   r   r  Bc   )r   r4   _should_fallback_to_positionalr8   r9   r   r  r   r  r   rr   appendr   r   r   r6   r7   )	rD   r<   iir   	exp_index	expected2r   r   	expected3s	            r+   test_setitem_int_not_positionalrz    s    %9%9%9
:
:
:Cy7777 CFmmm39555H3))) CF&&&.G.G.GHHHH3)))		"599	-	-ccc	2B%B..+++D		&!!((s44I)));;;IDG4+++		 #)c3Z!8	9	9B%B..+++D		IIM!DG4+++++r-   c                  &   t          g dg dd          } |                     d          }d|g d<   t          g dd          }t          j        ||           d	| j        g dd
f<   t          d
g di          }t          j        | |           d S )Nr?   )r#   r"   r%   )r/   r1   r1   r   )TFF)r   r"   r%   )r  r5  r   r/   )r   r2   r!   )r	   popr   r8   r9   r7   rP  )rS  r;   r<   s      r+   test_setitem_with_bool_indexerr}  (  s     
33	4	4BVVC[[F#$F 9993///H68,,,(*BF$%#zzz*++H"h'''''r-   sizer   )TFFFFitemr  c                 ,    t          j        | g          S rk   )r&   r   r  s    r+   r   r   @  s    bhsmm r-   c                     | gS rk   r~   r  s    r+   r   r   @  s    s r-   c                     | fS rk   r~   r  s    r+   r   r   @  s    qd r-   c                    t          j        ||           }t          j        | t                    }t	          |          }|                                dk    rFd}t          j        t          |          5   ||          ||<   d d d            d S # 1 swxY w Y   d S  ||          ||<   t	          t          j        | t                              }|||<   t          j
        ||           d S )Nrg   r0   zKcannot set using a list-like indexer with a different length than the valuer   )r&   resizer   r   r   r  r{   r   rN  r8   r9   )	r~  r   r  r  	selectionr  rD   r   r<   s	            r+   7test_setitem_bool_indexer_dont_broadcast_length1_valuesr  6  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 )NrQ   r!   r   rg   r   Tr   )
r   r   r6   r&   rK  r  r]   r8   r9   r   )r  rD   r_   r   s       r+   (test_setitem_empty_mask_dont_upcast_dt64r  ^  s    
\1
-
-
-C
++C88::D8AT"""DCI9	!!!!3%%%HHT5$H'''9	!!!!3%%%%%r-   )mr   r   numpyr&   r{   pandas.errorsr   pandas.core.dtypes.commonr   pandasr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr8   pandas.tseries.offsetsr   r   r   r   r   r  r  r"  rP  rR  rW  rY  r[  rf  r|   r}   r  r'   rv  rr   r   r  r  r  r  r  r  r  r  r  r;  r   r  r  r  r  int32r   r  r!  
complex128r%  r  r(  r   r+  r.  r6  xfailr   uint32r[  r\  uint64r4  r=  r@  rC  rJ  rT  rV  rY  r^  rc  rh  rj  rl  rn  rz  r}  r   rb  r   minr  r  r~   r-   r+   <module>r     s         
      ' ' ' ' ' ' 2 2 2 2 2 2                                         *       ' ' ' ' ' 'C. C. C. C. C. C. C. C.L. . . . . . . .6(1 (1 (1 (1 (1 (1 (1 (1VZ/ Z/ Z/ Z/ Z/ Z/ Z/ Z/F( ( ( ( ( ( ( (V. . . . . . . .(h' h' h' h' h' h' h' h'V    % % %:% % %. . . . . . . .>KJ KJ KJ KJ KJ KJ KJ K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$	
 	
 	
_69 9t	 	 	 	 	$= 	 	u9 9t	    (A   B!% !% !% !% !%6 !% !% !%H    8   .. . . . .%> . . .b    +D   8  
					FFBFAq>223		 	 &&"&#s);"<"<= FHHT1a((((4A*>*>qRS@T@TUVVFC$1--xxa/C/CDEE	

 
%%%	&	&/C/C/C(D(DE     6       4M   @    (A   2 	#s#s!R%B#2:666 " " " " "/H " " "* hbhsmm 4553 3 3 3 3.G 3 3 653  A A ABB0 0 0 0 0$= 0 0 CB0&- - - - -, - - - xrx{{BG,xrx~~rx.HI 3 3 3 3 3| 3 3 3  6 6 677vh//: : : : : : : 0/ 87: #r}-/FvW 8 8 8 8 8, 8 8	 8 	
F	f	
F	f		t
 
> > > > >| > >
 
> ]S"*%'>vO $ $ $ $ $ $ $	 $ _sBJ'&"-)@4.Q , , , , ,, , ,	 , 	
BJJ+##D $  	
 	
 	
 
	v	!bj!	1rz" 
828BI&&*	+	+RZ8	1rz"	!bj!' 0
F 
F 
F 
F 
F, 
F 
F1 0
F i/01f+V}M E E E E E\ E E	 E 	<L	1	1	13OP	<L	1	1	13OP	<	 	 &)	
F	 	L L L L L| L L	 	L i,-6{S&MJ ; ; ; ; ;l ; ;	 ; 	E66&s+++XXa6-J-J-JK  vh//	% 	% 	% 	% 	% 	% 	% 0/ 	%++ ++ ++\* * ** * *:* * *
* 
* 
** * *& & &0* * ** * *, , ,D( ( ( q!--
///$H  
S"&("(5//-xrx/BC 
 	##]]NNC . .    .-.8& & & & &r-   