
    m*i0                     z   S SK J r   S SKrS SKrS SKJr  S SKJs  Jr	  S SK
Jr  S SKJr  S SKJrJrJrJr  S SKrS SKJrJrJrJrJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%  S SK&J'r(  S SK)J*r*  S S	K+J,r,   " S
 S5      r- " S S5      r. " S S5      r/ " S S5      r0 " S S5      r1 " S S5      r2 " S S5      r3S r4S r5g)    )datetimeN)SettingWithCopyWarning)	_registry)is_object_dtype)CategoricalDtypeDatetimeTZDtypeIntervalDtypePeriodDtype)Categorical	DataFrameDatetimeIndexIndexIntervalIntervalIndex
MultiIndexNaTPeriodPeriodIndexSeries	Timestampcut
date_rangenotnaperiod_range)SparseArray)BDayc                   X   \ rS rSrS r\R                  R                  S/ SQ5      S 5       rS r	S r
S rS	 rS
 rS rS rS rS rS rS rS rS r\R                  R                  S\" S5      \" S5      4\" SSS9\" SS5      4\" SSS9\" SSS94/5      S  5       r\R                  R                  S!\R<                   V VVVs/ s H0  n[?        UR@                  [B        5      (       a  M$  UR@                  PM2     snnnn S"S#/-   5      S$ 5       r"S% r#\R                  R                  S&/ S'Q5      S( 5       r$\R                  R                  S&/ S'Q5      S) 5       r%S* r&S+ r'S, r(S- r)\R                  R                  S/ S.Q5      S/ 5       r*\R                  R                  S0S1S1//5      S2 5       r+S3 r,S4 r-\R                  R                  S5/ S6Q/ S7Q/5      S8 5       r.S9 r/S: r0S; r1S< r2S= r3\R                  R                  S>/ S?Q/ S@QSA4/ SBQ/ S@QSA4/ SCQ/ S@QSA4/ SDQ/ SEQSF4/ SGQ/ SHQSI4/ SJQ/ SHQSK4/5      SL 5       r4SM r5\R                  R                  SN/ SOQSP\6" / SQQ/ SQQ/ SQQ// SOQSR94SSST/SPSU/\6" / SVQ/ SWQ/ SXQ// SOQSR94/ SYQ\7Rp                  " / SZQ\7Rr                  S[9\6" / SZQ/ SZQ/ SZQ// SYQSR94/ S\Q/ SZQ/ S]Q/ S^Q/\6" / S_Q/ S`Q/ SaQ// SOQSR94/ SbQ\7Rp                  " / SZQ/ S]Q/ S^Q/\7Rr                  S[9\6" / ScQ/ SdQ/ SeQ// SOQSR94SfSS/\6" SPSU/SgSh/SiSj//SfSS/SR9\6" / SkQ/ SlQ/ SmQ// SYQSR94/5      Sn 5       r:So r;Sp r<Sq r=Sr r>Ss r?St r@\AR                  Su 5       rC\R                  R                  Sv0 SwSx0/5      Sy 5       rDSz rES{ rFS| rGS} rHS~ rIS rJSrKgs  snnnn f )TestDataFrameSetItem+   c           	           " S S[         5      nS/n[        U5      n[        SS/0US9nSUS'   S	XA" S
5      '   [        SS/SS/U" S
5      S	/0US9n[        R                  " XE5        g )Nc                       \ rS rSrSrg)@TestDataFrameSetItem.test_setitem_str_subclass.<locals>.mystring.    N)__name__
__module____qualname____firstlineno____static_attributes__r$       h/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/pandas/tests/frame/indexing/test_setitem.pymystringr"   .   s    r*   r,   z2020-10-22 01:21:00+00:00a   index   b   c)strr   r   tmassert_equal)selfr,   datar0   dfexpecteds         r+   test_setitem_str_subclass.TestDataFrameSetItem.test_setitem_str_subclass,   sz    	s 	 ,,d#aSz/38C=cA3aS(3-!EUS
%r*   dtype)int32int64uint32uint64float32float64c                     [         R                  R                  S5      R                  SS[	        U5      5      n[         R
                  " X1S9X!'   X!   R                  R                  U:X  d   eg )Nr1   r.   
   r>   )nprandomdefault_rngintegerslenarrayr>   name)r8   r>   float_framearrs       r+   test_setitem_dtype'TestDataFrameSetItem.test_setitem_dtype9   sZ    
 ii##A&//2s;7GHXXc7!'',,555r*   c                     [         R                  R                  S5      R                  [	        U5      S45      nX!SS/'   [
        R                  " USS/   R                  U5        g )Nr1   AB)rH   rI   rJ   standard_normalrL   r6   assert_almost_equalvalues)r8   rO   r9   s      r+   test_setitem_list_not_dataframe4TestDataFrameSetItem.test_setitem_list_not_dataframeC   sV    yy$$Q'77[9I18MN"&S#J
{C:6==tDr*   c                    [        / SQ/ SQS.[        / SQSS9S9n[        / SQ[        / S	QSS9S
S9nSn[        R                  " [
        US9   X!S'   S S S 5        [        [        R                  R                  S5      R                  SSS5      / SQS9nSn[        R                  " [
        US9   UR                  SS/5      R                  5       US'   S S S 5        Sn[        R                  " [
        US9   [        5       US'   S S S 5        g ! , (       d  f       N= f! , (       d  f       NQ= f! , (       d  f       g = f)Nr.   r1   r3   )def)barbazr-   r2   r4   foorN   r/   )ghij)r-   r2   r4   r-   fizr0   rN   z/cannot reindex on an axis with duplicate labelsmatchnewcolr1   r   )   rn   r-   r2   r4   r]   columnszDCannot set a DataFrame with multiple columns to the single column grr2   r4   grz7Cannot set a DataFrame without columns to the column gr)r   r   r   pytestraises
ValueErrorrH   rI   rJ   rK   groupbycount)r8   r:   sermsgs       r+   test_setitem_error_msmgs-TestDataFrameSetItem.test_setitem_error_msmgsH   s   o6e4
  ,59

 @]]:S1xL 2 II!!!$--aF;(

 U]]:S1zz3*-335BtH 2 H]]:S1 {BtH 21 21 21
 21s$   D0%D 8D1
D 
D.1
D?c                 P   SnSn[        [        U5      S9n[        R                  R	                  S5      R                  U5      n[        U5       H  nXCU'   M	     [        [        R                  " XB5      R                  X5      [        U5      S9n[        R                  " X65        g )NrF      r/   r1   )
r   rangerH   rI   rJ   rV   repeatreshaper6   assert_frame_equal)r8   NKr:   new_colrg   r;   s          r+   test_setitem_benchmark+TestDataFrameSetItem.test_setitem_benchmarkf   s    U1X&))''*::1=qAqE RYYw2::1@aQ
b+r*   c                    [        [        R                  R                  S5      R	                  S5      [        R
                  " S5      / SQS9nUR                  SSUS   5        UR                  SS	US
   5        US   R                  S5      US'   UR                  n[        [        R                  " S5      /S-  [        R                  " S5      /-   / SQS9n[        R                  " X#5        US   R                  S5      US'   UR                  n[        [        R                  " S5      /S-  [        R                  " S5      /S-  -   / SQS9n[        R                  " X#5        US   R                  S5      US'   UR                  n[        [        R                  " S5      /S-  [        R                  " S5      /S-  -   [        R                  " S5      /-   / SQS9n[        R                  " X#5        g )Nr1   r}   r3   r}   )r4   r2   r-   r0   rq   r   rc   r-   r`   r4   rC   xrD   )rc   r4   r`   r2   r-   r   r/   rn   r?   y)rc   r4   r`   r2   r-   r   r   )r   rH   rI   rJ   rV   arangeinsertastypedtypesr   r>   r6   assert_series_equalr8   r:   resultr;   s       r+   test_setitem_different_dtype1TestDataFrameSetItem.test_setitem_different_dtypeq   s   II!!!$44V<))A,#

 			!UBsG$
		!UBsG$
 S'..+3XXi !A%))<(==4
 	v0 S'..+3XXi !A%))<(=(AA4
 	v0S'..)3XXi !A%))<(=(AARXXgEVDWW9
 	v0r*   c                     [        / SQS9nUR                  US'   / SQUS'   [        S/ SQ0/ SQS/S9n[        R                  " X5        g )NrT   rU   Cr/   Xr   r   z)r9   r0   rq   )r   r0   r6   r   r8   r:   exps      r+   test_setitem_overwrite_index1TestDataFrameSetItem.test_setitem_overwrite_index   sL     _-((3!3'
 	b&r*   c                     [        5       n/ SQUS'   [        S/ SQ05      n[        R                  " X5        [        [        / 5      S9n/ SQUS'   [        S/ SQ05      n[        R                  " X5        g )Nr\   rc   rp   )r   r6   r   r   r8   r:   r;   s      r+   test_setitem_empty_columns/TestDataFrameSetItem.test_setitem_empty_columns   se    
 [5	eY/0
b+uRy)5	eY/0
b+r*   c                     [        SSSS9n[        [        R                  " [	        U5      5      S9nXS'   US   R
                  [        R
                  " S5      :X  d   eg )Nz1/1/2000 00:00:00z1/1/2000 1:59:5010s)freqr/   rT   M8[ns])r   r   rH   r   rL   r>   )r8   rngr:   s      r+   %test_setitem_dt64_index_empty_columns:TestDataFrameSetItem.test_setitem_dt64_index_empty_columns   sO    ,.@uMRYYs3x013#w}} 2222r*   c                     [        [        S5      S9n[        SSS9R                  S5      US'   [        [        SSS9//S-  [        S5      S/S9n[        R
                  " X5        g )	Nr3   r/   20130101UTCtznsnowr   )r   r~   r   as_unitr6   r   r   s      r+   $test_setitem_timestamp_empty_columns9TestDataFrameSetItem.test_setitem_timestamp_empty_columns   sd    U1X&jU3;;DA5	
u-./!358eW
 	b+r*   c                    [         R                  " / SQ/ SQ5      n[        [        S5      S/S9nS[	        U5       S[	        U5       S3n[
        R                  " [        US	9   XS
'   S S S 5        g ! , (       d  f       g = f)N)r   r.   r.   r   r.   r1   rb   rF   r`   rp   zLength of values \(z$\) does not match length of index \(z\)rk   rc   )r   
from_codesr   r~   rL   rs   rt   ru   )r8   catr:   ry   s       r+   2test_setitem_wrong_length_categorical_dtype_raisesGTestDataFrameSetItem.test_setitem_wrong_length_categorical_dtype_raises   sq    $$%7IuRy5'2 #3s8* -114R	= 	 ]]:S1uI 211s   $A22
B c                     [        / SQ/ SQS.5      n[        / SQ5      nX!S'   [        USS9n[        R                  " US   U5        g )Nrb         ?       @      @c_1n_1r   r   r.   
new_columnrd   )r   r   r   r6   r   )r8   r:   sp_arrayr;   s       r+   test_setitem_with_sparse_value3TestDataFrameSetItem.test_setitem_with_sparse_value   sD    GHy)#<(6
r,/:r*   c                     [        / SQ/ SQS.5      n[        [        / SQ5      / SQS9nX!S'   [        [        / SQ5      SS	9n[        R                  " US   U5        g )
Nrb   r   r   r   )r1   r.   r   r/   r   )r.   r   r   rd   )r   r   r   r6   r   )r8   r:   	sp_seriesr;   s       r+   (test_setitem_with_unaligned_sparse_value=TestDataFrameSetItem.test_setitem_with_unaligned_sparse_value   sP    GH;y1C	$<+i0|D
r,/:r*   c                     [        SS5      /n[        / 5      nXS'   [        SU0S/S9n[        R                  " X#5        g )Nz2003-12Dr-   rp   )r   r   r6   r   )r8   r9   r   r;   s       r+   #test_setitem_period_preserves_dtype8TestDataFrameSetItem.test_setitem_period_preserves_dtype   sA    y#&'2sc4[3%8
f/r*   c           
         [        [        / SQSS9[        / SQ[        S9[        / SQ[        S9[        / SQSS9S.5      n[        [        / SS9[        / [        S9[        / [        S9[        / SS9S.5      n[        / SQ5       HU  u  p4[	        U5      [        U5      [        U5      [
        R                  " U5      S.UR                  UR                  S   '   MW     [        R                  " X!5        g )N)r   r.   r1   r@   rG   r\   rA   ro   r   )r   r   float	enumerateintrH   rA   locshaper6   r   )r8   r;   r:   idxr2   s        r+   "test_setitem_dict_preserves_dtypes7TestDataFrameSetItem.test_setitem_dict_preserves_dtypes   s    IW5IU3IU3IX6	
 Bg.Be,Be,Bh/	
  	*FCX1X1XYYq\	#BFF288A; + 	b+r*   z	obj,dtypez2020-01Mr   r}   )leftrightr@   r   z
2011-01-01z
US/Easternr   s)unitr   c                     [        / SQ[        U/S-  US9S.5      n[        S/ SQ05      nXS'   [        R                  " XC5        g )Nr\   r3   rG   )r   objr   r   r   r   r6   r   )r8   r   r>   r;   r:   s        r+   test_setitem_extension_types1TestDataFrameSetItem.test_setitem_extension_types  sD     Yvseaiu7UVWy)*5	
b+r*   ea_namezdatetime64[ns, UTC]	period[D]c                 t    [        S/5      nS/X!'   [        SS/US/05      n[        R                  " X#5        g )Nr   r.   r   r6   r   )r8   r   r   r;   s       r+   test_setitem_with_ea_name.TestDataFrameSetItem.test_setitem_with_ea_name  s=     A3#a!gs34
f/r*   c                 z   [         R                  " SS/SS9n[        U5      R                  5       nXS'   [	        SS /SS /S.SS9n[
        R                  " X#5        [         R                  " SS/SS9nXBS'   [
        R                  " US   US   5        [
        R                  " US   R                  5       U5        g )	Nr.   natdatetime64[ns]rG   new)r   r   datetime64[s]r   )
rH   rM   r   to_framer   r6   r   r   assert_numpy_array_equalto_numpy)r8   data_nsr   r;   data_ss        r+   6test_setitem_dt64_ndarray_with_NaT_and_diff_time_unitsKTestDataFrameSetItem.test_setitem_dt64_ndarray_with_NaT_and_diff_time_units(  s    ((Au:-=>))+u!TAt9=EUV
f/ 1e*O<u
vay(1+6
##F5M$:$:$<fEr*   r   )rf   mr   msr   r   Yc                    Sn[         R                  " SU S35      n[         R                  " U[         R                  S9R	                  U5      nUS;   a  UnOUR                  S5      n[        S[         R                  " U5      0[         R                  " U5      S9nXFU'   Xa   R                  UR                  :X  d   eXa   R                  U:H  R                  5       (       d   eg )	Nd   M8[]rG   )r   r   r   intsr/   	rH   r>   r   r@   viewr   r   rX   allr8   r   nr>   valsex_valsr:   s          r+   -test_frame_setitem_datetime64_col_other_unitsBTestDataFrameSetItem.test_frame_setitem_datetime64_col_other_units6  s     3tfA'yy"((+007;G kk/2G		!-RYYq\B4x~~...7*//1111r*   c                    Sn[         R                  " SU S35      n[         R                  " U[         R                  S9R	                  U5      nUR                  S5      n[        S[         R                  " U5      0[         R                  " U5      S9n[         R                  " U[         R                  S9R	                  S5      US	'   XFS	'   US	   R                  U:H  R                  5       (       d   eg )
Nr   r   r   rG   r   r   r/   r   datesr   r   s          r+   6test_frame_setitem_existing_datetime64_col_other_unitsKTestDataFrameSetItem.test_frame_setitem_existing_datetime64_col_other_unitsK  s     3tfA'yy"((+007++./		!-RYYq\Bii277A7 77""g-224444r*   c                 ^   UnUS   R                  S5      nXCS'   [        R                  " US   [        USS95        SUS'   XCS'   [        R                  " US   [        USS95        US	 UR                  R
                  S   nUR                  R
                  S   n[        R                  " XV5        UR                  R                  nUR                  R                  nU(       d  Ub  [        U5      [        U5      :w  d   eO[        U5      [        U5      :X  d   eUR                  5       n	[        U	R                  S'   [        U	R                  S	'   U	S   n
[        R                  " [        U
5      [        / S
QSS95        [        R                  " U	R                  UR                  5        g )NrU   rc   r   rd   r   r.   r1   )r.   r.   r.   r1   )TFT)renamer6   r   r   _mgrarraysassert_extension_array_equal_ndarraybaseidcopyr   ilocr   r   )r8   timezone_frameusing_copy_on_writer:   r   v1v2v1basev2basedf2r   s              r+   test_setitem_dt64tz(TestDataFrameSetItem.test_setitem_dt64tz\  sY   gnnU# 3
r#ws(=>33
r#ws(=>sG
 WW^^AWW^^A
''/!!!!">bjBvJ&>??f:F+++ ggiS
uV}f5Hs.ST
szz2995r*   c                    [        SSSS9n[        [        R                  R	                  S5      R                  S5      US9nXS'   [        US   5      n[        R                  " X1S	S
9  UR                  S:X  d   eUR                  S:X  d   eUR                  5       R                  S5      n[        UR                  [        5      (       d   e[        R                  " UR                  U5        g )Nz1/1/2000r}   r0   )periodsrN   r1   r   r/   r   Fcheck_names)r   r   rH   rI   rJ   rV   r   r6   assert_index_equalrN   reset_index	set_index
isinstancer0   r   )r8   r   r:   rss       r+   test_setitem_periodindex-TestDataFrameSetItem.test_setitem_periodindex~  s    :qw?ryy,,Q/??GsS72g;
b59ww'!!!xx7"""^^''0"((K0000
bhh,r*   c                    [        / SQ/ SQS.5      n[        R                  " SS/SS/SS//5      nX!SS/'   [        / SQ/ SQ/ S	Q/ S
QS.5      nUS   R                  UR                  5      US'   US   R                  UR                  5      US'   US   R                  UR                  :X  d   eUS   R                  UR                  :X  d   e[
        R                  " X5        g )N)onetwothreer\   r-   r2   r.   r3   r}   r4   r]   r.   r3   r}   r.   r.   r.   ro   )r   rH   rM   r   r>   r6   r   r8   r:   rP   r;   s       r+   'test_setitem_complete_column_with_array<TestDataFrameSetItem.test_setitem_complete_column_with_array  s    49EFhhAAA/0C:,	
 !,,SYY7 ,,SYY7}""cii///}""cii///
b+r*   c                     [        SSSSS9n[        U5      n[        S/ SQ0SS9nUR                  UR                  S S & [        R
                  " X#5        g )	Nz
2016-01-01	   r   rT   )r  r   rN   )	r   r   r   r   r   r   r   r   r   r   rG   )r   r   	_na_valuer  r6   r   )r8   r   r   r;   s       r+   test_setitem_period_d_dtype0TestDataFrameSetItem.test_setitem_period_d_dtype  sR    <3G3QR
 A
f/r*   )f8i8u8c                 $   [        / SQUS9n[        [        R                  R	                  S5      R                  S5      US9n/ SQUS'   [        / SQ[        S9nUS	:X  a  [        / S
Q[        S9n[        R                  " UR                  U5        g )Nr\   rG   r1   )r3   r3   rp   rb   F)r.   r1   r3   Fr6  )r   r   r   F)
r   r   rH   rI   rJ   rV   objectr6   r   rq   )r8   r>   colsr:   expected_colss        r+   $test_setitem_bool_with_numeric_index9TestDataFrameSetItem.test_setitem_bool_with_numeric_index  su     Ye,ryy,,Q/??GQUV#5	.f=D=!"8GM
bjj-8r*   indexerrU   c                     [        SS/S9n[        SSS/05      nX2U'   [        [        R                  /S-  SS/S.5      nUS   R                  S5      US'   [        R
                  " X$5        g )NrT   rU   rp   r.   r1   rT   rU   r:  )r   rH   nanr   r6   r   )r8   r?  r:   otherr;   s        r+   #test_setitem_frame_length_0_str_key8TestDataFrameSetItem.test_setitem_frame_length_0_str_key  sn     Sz*3A-(7BFF8a<q!f=> ,,X6
b+r*   c           
         / SQS-  n[        [        S5      US9nSUR                  S'   SUR                  S S 2S4'   S	US
'   [        / SQ[        R                  SS[        R                  SS/[        R                  SS[        R                  SS//SS9nUS   R                  [        R                  5      US'   US   R                  [        R                  5      US'   Xl        [        R                  " X#5        g )Nr   r1   r3   r   )r   r3   )r   rT   )r.   rn   rU   r1   r}   r   )r   r.   r1   r3   rn   r}   r.   rn   r}   r:  rG   )
r   r~   r   rH   rB  r   r@   rq   r6   r   )r8   r;  r:   r;   s       r+   $test_setitem_frame_duplicate_columns9TestDataFrameSetItem.test_setitem_frame_duplicate_columns  s    "U1Xt4vq#v3"Arvvq!,Arvvq!,
 
 qk((2qk((2
b+r*   c                 F   / SQS-  n[        [        S5      US9n[        R                  " [        SS9   SUS/'   S S S 5        UR
                  S S 2S S24   n[        R                  " [        SS9   SUS/'   S S S 5        g ! , (       d  f       NL= f! , (       d  f       g = f)	Nr   r1   r3   r   "Columns must be same length as keyrk   )r   r3   r}   rT   )r   r~   rs   rt   ru   r  )r8   r;  r:   r  s       r+   2test_setitem_frame_duplicate_columns_size_mismatchGTestDataFrameSetItem.test_setitem_frame_duplicate_columns_size_mismatch  s    "U1Xt4]]:-QR!BuI S gga!en]]:-QR"CJ SR	 SR SRs   B1B
B
B r;  rb   )r-   r-   r-   c                     [        / SQ/US9n[        SS//SS/S9nSn[        R                  " [        US9   X2S	'   S S S 5        g ! , (       d  f       g = f)
Nr\   rp   rF      r]   r^   rK  rk   r-   r   rs   rt   ru   )r8   r;  r:   rhsry   s        r+   #test_setitem_df_wrong_column_number8TestDataFrameSetItem.test_setitem_df_wrong_column_number  sN     	{D1"b
S#J72]]:S1sG 211s   A
Ac                     [        / SQ// SQS9n[        / SQ// SQS9nX!SS/'   [        / SQ// SQS9n[        R                  " X5        X!SS/'   [        / SQ// S	QS9n[        R                  " X5        g )
Nr\   r-   r2   r2   rp   rF   rO     r-   r2   r4   )rF   rO  rW  rF   )r-   r2   r2   r4   r   r8   r:   rQ  r;   s       r+   /test_setitem_listlike_indexer_duplicate_columnsDTestDataFrameSetItem.test_setitem_listlike_indexer_duplicate_columns  so    	{O<@C:l^_E
b+C:./9MN
b+r*   c                     [        / SQ// SQS9n[        SS//SS/S9nSn[        R                  " [        US	9   X!SS/'   S S S 5        g ! , (       d  f       g = f)
Nr\   rU  rp   rF   rO  r-   r2   rK  rk   rP  )r8   r:   rQ  ry   s       r+   @test_setitem_listlike_indexer_duplicate_columns_not_equal_lengthUTestDataFrameSetItem.test_setitem_listlike_indexer_duplicate_columns_not_equal_length  sP    	{O<"b
S#J72]]:S1 SzN 211s   A


Ac                 8   [        S[        S5      05      n[        US   S5      n[        UR                  R
                  [        5      (       d   eX!S'   [        R                  " U5      US'   UR                  US'   [        R                  " UR                  5      US'   UR                  [        5      US'   [        US   R                  [        5      (       d   e[        US   R                  R
                  R                  [        5      (       d   e[        US   R                  [        5      (       d   e[        US   R                  R
                  R                  [        5      (       d   e[        US   R                  [        5      (       d   e[        US   R                  [        5      (       d   e[        US   5      (       d   eS	 n[         R"                  " U" UR$                  5      U" UR$                  5      5        [         R"                  " U" UR$                  5      U" UR&                  5      S
S9  [         R"                  " U" UR$                  5      U" UR(                  5      S
S9  [         R"                  " U" UR&                  5      U" UR(                  5      S
S9  [         R*                  " US   US   5        [         R*                  " US   US   S
S9  [         R*                  " US   US   5        [         R*                  " US   US   S
S9  g )NrT   rF   r}   rU   r   r   EFc                 @    [        [        R                  " U 5      5      $ N)r   rH   rM   r   s    r+   <lambda>=TestDataFrameSetItem.test_setitem_intervals.<locals>.<lambda>  s    eBHHQK(r*   Fr  )r   r~   r   r#  r   
categoriesr   rH   rM   rX   r   r:  r>   r   r	   r   r6   r   rU   r   r   r   )r8   r:   rx   r4   s       r+   test_setitem_intervals+TestDataFrameSetItem.test_setitem_intervals  sZ   U2Y'("S'1o#'',,m<<<<
 3((3-3**3((3::&3**V$3"S'--)9::::"S'++0066FFFF"S'--)9::::"S'++0066FFFF "S'--7777"S'--7777 r#w'''' )
agqw/
agqwEB
agqwEB
agqwEB 	r#w30
r#w3UC 	r#w30
r#w3UCr*   c                 6   [        S[        [        S5      5      R                  S5      05      nUR                  R
                  R                  SS/5      Ul        [        S[        SS/5      R                  SS/5      05      n[        R                  " X5        g )Nrf   mncategoryr   r   )
r   r   listr   rf   r   reorder_categoriesr   r6   r   r   s      r+   test_setitem_categorical-TestDataFrameSetItem.test_setitem_categorical-  s}    VDJ/66zBCDttxx**C:6+sCj)<<c3ZHI
 	b+r*   c                     [        / SS9n[        S/US9n/ US'   [        S/US9n[        R                  " UR                  UR                  5        g )Nr   rd   rT   rq   r0   )r   r   r6   r   r0   )r8   r0   r   r;   s       r+    test_setitem_with_empty_listlike5TestDataFrameSetItem.test_setitem_with_empty_listlike6  sK    bu%C56scU%8
fllHNN;r*   zcols, values, expected)r   r   r   r-   r.   r1   r3   rn   rn   )r   r   r   r-   )r   rU   rU   r-   )r   rU   r-   r\   r3   )rU   r   r-   )r3   r1   r.   r.   )r   r-   rU   r1   c                 \    [        U/US9nUS   US'   US   R                  S   nXS:X  d   eg )Nrp   r-   r   )r   rX   )r8   r;  rX   r;   r:   r   s         r+   test_setitem_same_column-TestDataFrameSetItem.test_setitem_same_column>  s=     x.S'3C"!!!r*   c                    / SQSS// SQ4n[         R                  " U5      n[        SSS9n[        R                  R                  S5      R                  S	S
[        U5      [        U5      45      n[        XBUS9nUR                  R                  R                  5       US   S S  pv[        R                  R                  S5      R                  U5        US   R                  US S S24   US'   [        R                  " US   US   5        [        R                  R                  S5      R                  U5        US   R                  Xg4   US'   [        R                  " US   US   5        [        R                  R                  S5      R                  U5        US   R                  Xg4   US'   [        R                  " US   US   5        g )N)jimjoejoliefirstlast)r   centerr   20141006   )r  r1   r.   i  rq  r{  ry  )r{  r}  )rz  r|  )r{  r|  )rz  r}  )r   from_productr   rH   rI   rJ   rK   rL   r   r0   rX   r  shuffler   r6   r   )r8   itr;  r0   r   r:   rg   rh   s           r+   test_setitem_multi_index-TestDataFrameSetItem.test_setitem_multi_indexP  s    %w&79TT&&r*:r2yy$$Q'00D3u:s4y:QRt7xx##%r"vay1
		a ((+wKOOAttG,5	
biG5
		a ((+!"3488>
b!12B7H4IJ
		a ((+ !3488>?
b126H3IJr*   zcolumns,box,expectedrT   rU   r   r      )r  r  r  r  rp   r   r      )r.   r1   r  r  )r3   rn   r  r  r}      r  r  r   )r  r  r2  rG   rU   r   r   rV  )         )r.   r  r  r2  )r3   rF   rO  rW  )r}   r  r  r  )r   rT   r   )r  r1   r  r2  )rO  rn   rF   rW  )r  r  r  r  rT   r2  rF   rO  rW  )r  r1   r  )r2  rn   rF   )rO  r  rW  c                 b    [        SS/SS/SS//SS/S	9nX$U'   [        R                  " XC5        g )
Nr.   r1   r3   rn   r}   r  rT   rU   rp   r   )r8   rq   boxr;   r:   s        r+   !test_setitem_list_missing_columns6TestDataFrameSetItem.test_setitem_list_missing_columnsh  s=    f AAA/#sD7
b+r*   c                     [        [        US   US   5      5      nX!S'   US   n[        X!R                  SS9n[        R
                  " X45        g )NrT   rU   tuplesrj   )rl  zipr   r0   r6   r   )r8   rO   r  r   r;   s        r+   test_setitem_list_of_tuples0TestDataFrameSetItem.test_setitem_list_of_tuples  sO    c+c*K,<=> &HX&&(9(9I
v0r*   c                     [        / SQ/ SQS.5      nS S 5       nSUR                  U'   [        / SQ/ SQS.5      n[        R                  " X5        g )	Nr\   rn   r}   r  r+  c              3   $   #    U  H  ov   M     g 7frb  r$   .0r   s     r+   	<genexpr>CTestDataFrameSetItem.test_setitem_iloc_generator.<locals>.<genexpr>       %f1f   r	  r.   r-  rn   r.   r.   r   r  r6   r   r8   r:   r?  r;   s       r+   test_setitem_iloc_generator0TestDataFrameSetItem.test_setitem_iloc_generator  sF    YY78%f%99=>
b+r*   c                     [        / SQ/ SQS.5      nS S 5       nSUR                  US4'   [        / SQ/ SQS.5      n[        R                  " X5        g )Nr\   r  r+  c              3   $   #    U  H  ov   M     g 7frb  r$   r  s     r+   r  STestDataFrameSetItem.test_setitem_iloc_two_dimensional_generator.<locals>.<genexpr>  r  r  r	  r.   r  r  r  s       r+   +test_setitem_iloc_two_dimensional_generator@TestDataFrameSetItem.test_setitem_iloc_two_dimensional_generator  sJ    YY78%f%
99=>
b+r*   c                    [        SSS9n[        U[        / SS9S9n[        SU[        R                  S9US'   [        S	US
S9US	'   [        SUS
S9US'   [        SU[        R
                  S9US'   UR                  n[        [        R                  [        [        [        R
                  /[        S5      S9n[        R                  " X45        g )Nr  S24)rN   r>   r5   rG   r   r-   )rN   r0   r>   r2   S64r4   r]   abcdr/   )r   r   r   rH   rA   uint8r   r:  rl  r6   r   )r8   r0   r:   r   r;   s        r+   (test_setitem_dtypes_bytes_type_to_object=TestDataFrameSetItem.test_setitem_dtypes_bytes_type_to_object  s    D.UE"E,BCcbii@3ce<3ce<3cbhh?3299ffbhh?tF|T
v0r*   c                 8   [        SS/SS/S.5      R                  SSS.5      n[        SUR                  S	9nUS
   UR                  US
4'   US   UR                  US4'   [        SS/SS/S.5      R                  SSS.5      n[
        R                  " X5        g )Nr3   rn   r}   r  r+  r@   Int64Fr/   r-   r2   )r   r   r   r0   r   r6   r   )r8   r   maskr;   s       r+    test_boolean_mask_nullable_int645TestDataFrameSetItem.test_boolean_mask_nullable_int64  s    !Qq!f56==(
 e6<<0 &s

49 &s

49Aq6A78??(
 	f/r*   c                     [        SSS/05      n[        SS/SS9US'   [        SSS/0SS9n[        R                  " X5        g )Nr-   r.   r1   r  rG   r   r   s      r+    test_setitem_ea_dtype_rhs_series5TestDataFrameSetItem.test_setitem_ea_dtype_rhs_series  sJ    aV}%!Qw/3cAq6]':
b+r*   c                    [        [        R                  " S5      [        R                  " S5      S.[        R                  " S5      S9n[        R                  " S5      n[        [        R                  " S5      [	        / SS9S9nX#S'   [
        R                  " [        5         [        R                  " U5      US	'   S S S 5        [
        R                  " X15        g ! , (       d  f       N%= f)
NrF   )np-array	np-matrixr/   )rF   r.   r5   rG   r   r  r  )
r   rH   onesr   r   r6   assert_produces_warningPendingDeprecationWarningmatrixr   )r8   r;   r-   r:   s       r+   test_setitem_npmatrix_2d-TestDataFrameSetItem.test_setitem_npmatrix_2d  s     2772;?ryyQS}
 GGGRYYr]E"E4JK: ''(AB iilB{O C 	b+ CBs   $C
C+r   r]   r-   c                 0   [        SS/SS/S.UE5      nSSS.UR                  S S 2S	4'   S
SS.UR                  S S 2S4'   SS
0UR                  S S 2S4'   [        SS/SS/S.UES
S/[        R                  S
/S.E5      n[        R
                  " X#5        g )Nr.   r1   r3   rn   r+  r      )r.   r   r-   r}   r  r   r.   r4   r^   )r4   r^   )r   r   rH   rB  r6   r   )r8   r   r:   r;   s       r+   %test_setitem_aligning_dict_with_index:TestDataFrameSetItem.test_setitem_aligning_dict_with_index  s     aV1a&9D9: S)q#v1q#vQq#v*Aq6QTQAbffa[Q
 	b+r*   c                 8   [        SSS/05      n[        SSS/0SS/S9US'   [        S[        R                  S/05      n[        R                  " X5        [        SSS/05      nUR                  S[        SSS/0SS/S95        [        R                  " X5        g )Nr-   r.   r1   rF   rO  r/   r   )r   rH   rB  r6   r   isetitemr   s      r+   test_setitem_rhs_dataframe/TestDataFrameSetItem.test_setitem_rhs_dataframe  s    aV}%S2r(OAq6:3cBFFB<01
b+aV}%
Ay#BxA?@
b+r*   c                     [        SS/SS/SS//S9n[        SSS	/0US
9US'   [        [        SS	/US
9SS/S.5      n[        R                  " X#5        g )Nr-   r2   r.   r1   r3   rn   rq   r9   rF   rO  rG   r+  r   r8   any_numeric_ea_dtyper:   r;   s       r+   *test_setitem_frame_overwrite_with_ea_dtype?TestDataFrameSetItem.test_setitem_frame_overwrite_with_ea_dtype   sm    Sz!Q!Q0@AS2r(O3GH3RH,@AV
 	b+r*   c                 >   [         R                  " S5        [        SSS/05      n[        R                  " SS5         [        SS/[        S9US'   S S S 5        [        SS/[        SS/[        S9S	.5      n[        R                  " X5        g ! , (       d  f       NC= f)
Npyarrowr-   r.   r1   zfuture.infer_stringTr2   rG   r+  )
rs   importorskipr   pdoption_contextr   r:  r   r6   r   r   s      r+   'test_setitem_string_option_object_index<TestDataFrameSetItem.test_setitem_string_option_object_index  s    I&aV}%4d;S#Jf5BsG <Aq6Sz0PQR
b+ <;s   B
Bc                 ~    [        SS/05      nUR                  5       nSnX/   X'   [        R                  " X5        g )Nr+  rF   r   r  r6   r   )r8   r:   r;   col_names       r+   test_setitem_frame_midx_columns4TestDataFrameSetItem.test_setitem_frame_midx_columns  s<    
RD)*779*~
b+r*   c                    [        S[        R                  " S/SS905      n[        S/SS9UR                  S S 2S4'   [        S[        R                  " S/SS905      n[
        R                  " X5        [        S[        R                  " S/SS905      n[        S/SS9UR                  S S 2S4'   [
        R                  " X5        g )Nr-   rF   r7  rG   rO  r  r   )r   rH   rM   r   r   r6   r   r  r   s      r+   test_loc_setitem_ea_dtype.TestDataFrameSetItem.test_loc_setitem_ea_dtype  s    RXXrd$789G4q#vc288RD#=>?
b+RXXrd$789t731
b+r*   c           	         [        [        S5      /[        S9n[        SS/05      n[        R
                  " [        SS9   XR                  S S 2S4'   S S S 5        [        R
                  " [        SS9   XS'   S S S 5        [        S/[        [        S5      /S	S9[        [        S5      /S	S9S
.5      n[        R                  " X#5        g ! , (       d  f       N= f! , (       d  f       Nj= f)Nz
2019-12-31rG   r-   r.   inferrk   r2   r4   r   rb   )
r   r   r:  r   r6   r  FutureWarningr   r   r   )r8   r   r:   r;   s       r+   test_setitem_object_inferring2TestDataFrameSetItem.test_setitem_object_inferring(  s    Y|,-V<aSz"''WE FF1c6N F''WEsG F SY|45=MNY|45=MN
 	b+ FEEEs    C4C
C
C+r$   N)Lr%   r&   r'   r(   r<   rs   markparametrizerQ   rY   rz   r   r   r   r   r   r   r   r   r   r   r   r   r
   r   r	   r   r   r   ea_registryr   r#  rN   propertyr   r   r  r  r  r%  r/  r4  r=  rD  rH  rL  rR  rY  r\  rg  rn  rr  rv  r  r   rH   rM   r@   r  r  r  r  r  r  r  td&skip_array_manager_not_yet_implementedr  r  r  r  r  r  r  r  r)   )r  r>   r#  r  s   0000r+   r   r   +   s   & [[M66E
#<	,#1J	',3,
;;0,6 [[IC 011A&gw(GH,<8S\:	

,
, [[ %++	
+ejj(3 EJJ+	
 !+
.	/	0	0F [[V%IJ2 K2( [[V%IJ5 K5  6D-,&	0 [[W&899 :9 [[Yse5, 6,,.	# [[Vo%GH I
,!*DX,< [[ !<3!<3!<3i+i+i+	

"
"K0 [[ %!<>0 c
A!<>0  "((39i;_U  L,7!?OD0  )\<@Q!?OD0 c
Aq6Ar7RH5SzJ
K8/M-	
0b,c0b,1,,
10, .., /," [[Vb3*%56	, 7	,	,
,,,	,,_	
s   	#N$0N$r   c                   n    \ rS rSr\R
                  S 5       r\R
                  S 5       rS rS r	S r
Srg)	TestSetitemTZAwareValuesi;  c                 @    [        SS/SS9nUR                  S5      nU$ )Nz2013-1-1 13:00z2013-1-2 14:00rU   rd   z
US/Pacific)r   tz_localize)r8   naiver   s      r+   r   TestSetitemTZAwareValues.idx<  s*    /1ABM-
r*   c                     [        [        R                  " UR                  5       SS9SS9nUR                  UR                  :X  d   eU$ )Nr:  rG   rU   rd   )r   rH   rM   tolistr>   )r8   r   r;   s      r+   r;   !TestSetitemTZAwareValues.expectedB  s:    "((3::<x@sK~~***r*   c                 Z   [        [        R                  R                  S5      R	                  S5      S/S9nXS'   UR                  SS/S9R                  R                  S 5      US'   US   n[        UR                  S	5      R                  S 5      SS
9n[        R                  " XE5        g )Nr1   r1   r.   rT   rp   rU   r   r.   r/   r   rd   )r   rH   rI   rJ   rV   	to_seriesdt
tz_convertr   r  r6   r   )r8   r   r;   r:   r   comps         r+   test_setitem_dt64series0TestSetitemTZAwareValues.test_setitem_dt64seriesH  s    ryy,,Q/??GRUQVW3--q!f--00;;DA3CcnnU+77=CH
v,r*   c                     [        [        R                  R                  S5      R	                  S5      S/S9nXS'   US   n[
        R                  " XB5        g Nr1   r  rT   rp   rU   )r   rH   rI   rJ   rV   r6   r   r8   r   r;   r:   r   s        r+   test_setitem_datetimeindex3TestSetitemTZAwareValues.test_setitem_datetimeindexR  sL    ryy,,Q/??GRUQVW 3C
v0r*   c                     [        [        R                  R                  S5      R	                  S5      S/S9nUR                  5       US'   US   n[        R                  " XB5        g r  )r   rH   rI   rJ   rV   to_pydatetimer6   r   r   s        r+   .test_setitem_object_array_of_tzaware_datetimesGTestSetitemTZAwareValues.test_setitem_object_array_of_tzaware_datetimes[  sW    ryy,,Q/??GRUQVW ##%3C
v0r*   r$   N)r%   r&   r'   r(   rs   fixturer   r;   r  r  r  r)   r$   r*   r+   r  r  ;  s?    ^^ 
 ^^ 
-11r*   r  c                   P    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rSrg)!TestDataFrameSetItemWithExpansionie  c                 d   [        / SQ/ SQS.5      nUS   n[        R                  " SS/SS/SS	//5      US
S/'   [        R                  " U5         SUR
                  S'   S S S 5        U(       a  [        / SQSS9nO[        / SQSS9n[        R                  " XE5        g ! , (       d  f       NE= f)Nr\   )rn   rn   r  r+  r-   g?g?g333333?g?      ?r4   r]   r   )r   r   rd   )r   r1   r3   )r   rH   rM   r6   assert_cow_warningr  r   r   )r8   r  warn_copy_on_writer:   rx   r;   s         r+   test_setitem_listlike_views=TestDataFrameSetItemWithExpansion.test_setitem_listlike_viewsf  s    YY78 g C:SzC:"FGC: ""#56BGGDM 7 ic2Hk4H
s- 76s   B!!
B/c                     [        SS/SS//5      nSS/US'   [        / SQ/ S	Q// S
QS9n[        R                  " X5        g )Nr.   r1   r3   rn   r}   r  0 - Name)r.   r1   r}   )r3   rn   r  )r   r.   r  rp   r   r   s      r+   .test_setitem_string_column_numpy_dtype_raisingPTestDataFrameSetItemWithExpansion.test_setitem_string_column_numpy_dtype_raisingz  sF    AA'(Q:i3=OP
b+r*   c                 *   [        / SQSS9n[        [        S5      5      UR                  S S 2S4'   [        S[        R
                  [        R
                  /S[        R
                  [        R
                  /// SQS9n[        R                  " X#5        g )	NrU  rD   rq   r>   r1   r-   r   r.   rp   )r   rl  r~   r   rH   rB  r6   r   )r8   r  r:   r;   s       r+   'test_setitem_empty_df_duplicate_columnsITestDataFrameSetItemWithExpansion.test_setitem_empty_df_duplicate_columns  si    i@eAhq#v 1bffbff"56
 	b+r*   c           
         [        S[        R                  " [        R                  R	                  S5      R                  SSS5      SS905      n[        [        SSS5       Vs/ s H  o" S	US
-    3PM     sn5      nUR                  S/SS9n[        UR                  [        SSS5      SUS9nUR                  nXQS'   UR                  n[        [        R                  " S5      [        USS9/SS/S9n[         R"                  " Xg5        XAS'   UR                  n[        [        R                  " S5      [        USS9[        USS9// SQS9n[         R"                  " Xg5        US   nUS   n	[         R$                  " UR&                  R                  U5        SUl        [         R"                  " U	R+                  5       UR+                  5       5        g s  snf )Nvaluer1   r   i'  r   r?   rG   i  z - i  T)by	ascendingi)  F)r   labelsr   )rf  orderedr/   r_  )r  r   r_  )r   rH   rM   rI   rJ   rK   r   r~   sort_valuesr   r  rX   r   r   r>   r   r6   r   assert_categorical_equalr  rN   
sort_index)
r8   r:   rg   r  rx   r   r   r;   result1result2s
             r+   -test_setitem_with_expansion_categorical_dtypeOTestDataFrameSetItemWithExpansion.test_setitem_with_expansion_categorical_dtype  s   II))!,55aDG
 %5#:NO:NQ3q3wi0:NOP^^yD^9"((E!UC0fMjj 3XXg 0FE RSC.
 	v0 3! FEB FEB
 &
 	v0S'S'
##GLL$6$6< 
w113S^^5EFE Ps   #Gc                     [        5       nSUS'   [        S/S9R                  [        R                  5      n[        R
                  " X5        g )Nr.   rc   rp   )r   r   rH   r@   r6   r   r   s      r+   test_setitem_scalars_no_index?TestDataFrameSetItemWithExpansion.test_setitem_scalars_no_index  s;    [5	eW-44RXX>
b+r*   c                     SUR                   ;  d   eUS   US'   SUR                   ;   d   eUS   nUS   n[        R                  " X#SS9  g )NrA  rT   Fr  )rq   r6   r   )r8   rO   r   r;   s       r+   test_setitem_newcol_tuple_key?TestDataFrameSetItemWithExpansion.test_setitem_newcol_tuple_key  sj    
 $$% 	% % !,C 0H[00000X&s#
vUCr*   c                     [        SS[        5       S9n[        U[        S5      S9n[	        SSS5      n[        U5      n[        R                  X$'   [        R                  " X$   5      R                  5       (       d   eg )	Nz1/1/2012z2/1/2012)startendr   rF   rq  i  rO  r.   )
r   r   r   r~   r   r   rH   rB  isnanr   )r8   rq   r9   ttss        r+   #test_frame_setitem_newcol_timestampETestDataFrameSetItemWithExpansion.test_frame_setitem_newcol_timestamp  sd    ::DFKb	:T2q!q\66xx!%%''''r*   c                     [        SSS/05      nUR                  US'   SUR                  SS/S4'   UR                  S/S S 24   n[        S/S/S.S/S9n[        R                  " X#5        g )	Nr-   r2   r   FTr.   r+  r/   )r   r0   r   r6   r   r   s       r+   *test_frame_setitem_rangeindex_into_new_colLTestDataFrameSetItemWithExpansion.test_frame_setitem_rangeindex_into_new_col  sq    c3Z()((3%(t}c!"QC5u5aSA
f/r*   c           	          [        SS/SS/SS//S9n[        SSS	/0US
9US'   [        SS/SS/[        SS	/US
9S.5      n[        R                  " X#5        g )Nr-   r2   r.   r1   r3   rn   r  rF   rO  rG   r4   rb   r   r  s       r+    test_setitem_frame_keep_ea_dtypeBTestDataFrameSetItemWithExpansion.test_setitem_frame_keep_ea_dtype  st    Sz!Q!Q0@AS2r(O3GH3VVRH,@A
 	b+r*   c                 L   [        [        S5      S9n[        R                  " SSS9[        R                  " SSS9SS.UR                  S	'   [        [        R
                  " S
5      [        R
                  " S5      S//[        S	/5      / SQS9n[        R                  " X5        g )Nabcrp   r}   r   )r   H   23rb   r   z0 days 00:00:05z0 days 00:01:12r   )	r   rl  r  to_timedeltar   	Timedeltar   r6   r   )r8   r   r;   s      r+   &test_loc_expansion_with_timedelta_typeHTestDataFrameSetItemWithExpansion.test_loc_expansion_with_timedelta_type  s    4;/-#.


1
 ll,-r||<M/NPTUV*$

 	f/r*   r$   N)r%   r&   r'   r(   r  r  r  r#  r&  r)  r1  r4  r7  r?  r)   r$   r*   r+   r	  r	  e  s7    .(,,+GZ,
D(0,0r*   r	  c                      \ rS rSrS r\R                  R                  S\R                  \R                  /5      \R                  R                  S\\R                  \\R                  /5      \R                  R                  S/ SQ5      S 5       5       5       r\R                  R                  S\\R                  \\R                  /5      \R                  R                  S/ SQ5      S 5       5       r\R                  R                  S\R                  \R                  /5      \R                  R                  S\\R                  \\R                  /5      \R                  R                  S/ SQ5      S	 5       5       5       rS
rg)TestDataFrameSetItemSlicingi  c                     [        [        R                  " S5      5      nSUSS & [        R                  " S5      nSUSS & [        U5      n[        R                  " X5        g )N)r   r.   r.   )r   rH   zerosr6   r   r.  s       r+   test_setitem_slice_position7TestDataFrameSetItemSlicing.test_setitem_slice_position  sP    rxx)*23hhx BCS>
b+r*   r?  r  r   r\   c                     [        / SQ// SQ/U-  -   / SQS9nU" / SQ5      U" U5      SS & [        / SQ// SQ/U-  -   / SQS9n[        R                  " XE5        g Nr,  r1   rn   r  rb   rp   rV  r.   r   r8   r   r  r?  r:   r;   s         r+   +test_setitem_slice_indexer_broadcasting_rhsGTestDataFrameSetItemSlicing.test_setitem_slice_indexer_broadcasting_rhs  sY    
 	{i[1_4oNl+ABi[L>A+==W
b+r*   c           	          [        / SQ// SQ/U-  -   / SQS9nU" / SQ5      UR                  [        [        SUS-   5      5      '   [        / SQ// SQ/U-  -   / SQS9n[        R
                  " X45        g rI  )r   r  rl  r~   r6   r   )r8   r   r  r:   r;   s        r+   *test_setitem_list_indexer_broadcasting_rhsFTestDataFrameSetItemSlicing.test_setitem_list_indexer_broadcasting_rhs  sg     	{i[1_4oN),\):U1a!e_%&i[L>A+==W
b+r*   c                     [        / SQ/ SQ// SQ/U-  -   / SQS9nU" / SQ5      U" U5      SS & [        / SQ// SQ/US-   -  -   / SQSS	9n[        R                  " XE5        g )
Nr,  r   rJ  rb   rp   rV  r.   r:  r  r   rK  s         r+   0test_setitem_slice_broadcasting_rhs_mixed_dtypesLTestDataFrameSetItemSlicing.test_setitem_slice_broadcasting_rhs_mixed_dtypes  sn    
 (I;?:O
 l+ABK<.AE22#

 	b+r*   r$   N)r%   r&   r'   r(   rF  rs   r  r  r6   setitemr  r   rH   rM   rl  r  rL  rO  rR  r)   r$   r*   r+   rB  rB    sC   , [[YRWW(=>[[UVRXXtRXX$FG[[S),, - H ?, [[UVRXXtRXX$FG[[S),, - H, [[YRWW(=>[[UVRXXtRXX$FG[[S),, - H ?,r*   rB  c                        \ rS rSrS rS rSrg)TestDataFrameSetItemCallablei&  c                     [        / SQ/ SQS.5      n/ SQUS '   [        / SQ/ SQS.5      n[        R                  " X5        g )Nrt  r  rA  )rO  rW  r  r  c                     g)NrT   r$   rc  s    r+   rd  DTestDataFrameSetItemCallable.test_setitem_callable.<locals>.<lambda>*  s    Sr*   r   r   s      r+   test_setitem_callable2TestDataFrameSetItemCallable.test_setitem_callable'  s9    \=>,=.\BC
b&r*   c                     S n[        SS/SS//[        S9nXUS:  '   [        SU/US//5      n[        R                  " X#5        g )Nc                     U S-   $ )Nr.   r$   rc  s    r+   incETestDataFrameSetItemCallable.test_setitem_other_callable.<locals>.inc1  s    q5Lr*   r  r.   rG   r   )r   r:  r6   r   )r8   r^  r:   r;   s       r+   test_setitem_other_callable8TestDataFrameSetItemCallable.test_setitem_other_callable/  sR    	 Q!R)826
r3i#r34
b+r*   r$   N)r%   r&   r'   r(   rZ  r`  r)   r$   r*   r+   rV  rV  &  s    '
,r*   rV  c                      \ rS rSr\R
                  \R                  R                  SS S /SS/S9S 5       5       r	\R                  R                  S	S
9\R                  R                  S\\R                  \/5      S 5       5       r\R                  R                  S\\R                  \/5      S 5       r\R                  R                  S\R$                  \R&                  /5      S 5       rS r\R                  R                  SSS/5      \R                  R                  S0 SS/0SS/0/5      S 5       5       rS rS rS rSrg)TestDataFrameSetItemBooleanMaski<  	mask_typec                 :    U [         R                  " U 5      S-  :  $ Nr1   )rH   absr:   s    r+   rd  (TestDataFrameSetItemBooleanMask.<lambda>@  s    Ba'r*   c                 N    U [         R                  " U 5      S-  :  R                  $ rf  )rH   rg  rX   rh  s    r+   rd  ri  @  s    R"&&*q.5H4P4Pr*   	dataframerM   )idsc                 b   UR                  5       nU" U5      nUR                  5       n[        R                  XT'   UR                  R                  5       n[        R                  U[        R                  " U5      '   [        XcR                  UR                  S9n[        R                  " XV5        g )Nr   )
r  rH   rB  rX   rM   r   r0   rq   r6   r   )r8   rd  rO   r:   r  r   r;   s          r+   test_setitem_boolean_mask9TestDataFrameSetItemBooleanMask.test_setitem_boolean_mask=  s{     } vv99>>##%66$ XXXrzzJ
f/r*   z1Currently empty indexers are treated as all False)reasonr  c                     [        S/S/S/S.5      nU[        :X  a  U" / SS9nOU" / 5      nSn[        R                  " [        US9   S/UR
                  US/4'   S S S 5        g ! , (       d  f       g = f)	Nr-   r.   rb   r:  rG   z@Must have equal len keys and value when setting with an iterablerk   r2   )r   r   rs   rt   ru   r   )r8   r  r:   r?  ry   s        r+   :test_setitem_loc_empty_indexer_raises_with_non_empty_valueZTestDataFrameSetItemBooleanMask.test_setitem_loc_empty_indexer_raises_with_non_empty_valueQ  sl     cU!A378&="H-G"gGP]]:S1&'SBFF7SE>" 211s   A%%
A3c                 
   [        S/S/S/S.5      nU" S/5      nSUS   -
  UR                  US/4'   [        S/S/S/S.5      n[        R                  " X$5        SUR                  US/4'   [        R                  " X$5        g )	Nr-   r.   rb   FrF   r4   r2   r2  )r   r   r6   r   )r8   r  r:   r?  r;   s        r+   1test_setitem_loc_only_false_indexer_dtype_changedQTestDataFrameSetItemBooleanMask.test_setitem_loc_only_false_indexer_dtype_changed^  s    
 cU!A378ug,!#bgw~C5s!=>
b+!"w~
b+r*   r?  c                     [        / SQ/ SQS.5      nUR                  5       nUS   S:  nU" U5      U   R                  S5      U" U5      U'   [        R                  " X#5        g )N)r.   rn   r1   r3   r  r+  r-   r3   )r   r  r  r6   r   )r8   r?  r:   r;   r  s        r+   "test_setitem_boolean_mask_aligningBTestDataFrameSetItemBooleanMask.test_setitem_boolean_mask_aligningl  s[     \=>779#w!|#BK-99#>D
b+r*   c                 ^   [        / SQSS/S9n[        / SQ5      n/ SQn[        XS.US9n[        / S	Q/ S
QS9n[        / SQ5      n/ SQn[        XWS.US9nUR                  5       n	U	S   R                  R                  / S
Q5      U	S'   US   S:H  n
SS/X'   [        R                  " X5        g )N)r-   r-   r2   r2   r-   r-   r-   r-   r2   )rf  )rf   rg   rh   klr   r   )r.   r.   r1   r1   r.   r.   r.   )catsrX   r/   )r-   r-   r4   r4   r-   r-   r-   rb   )r.   r.   r3   r3   r.   r.   r.   r}  r4   r1   )r   r   r   r  r   set_categoriesr6   r   )r8   cats2idx2values2exp_multi_rowcatsfidxfvaluesfr:   	exp_fancyr  s              r+   test_setitem_mask_categorical=TestDataFrameSetItemBooleanMask.test_setitem_mask_categoricalu  s     ?SRUJW89'!5"DDQ/O
 89'9F!&&(	%f-11@@Q	&&zS 8
b,r*   r>   r   r@   kwargsr0   r.   rq   rT   c                 |    XS'   [        S0 UD6nUR                  5       nSX3U:  '   [        R                  " X45        g )Nr>   /   r$   r  )r8   r>   r  r:   r  s        r+   %test_setitem_empty_frame_with_booleanETestDataFrameSetItemBooleanMask.test_setitem_empty_frame_with_boolean  s<      w  ggi8
b&r*   c           
         [        [        S5      5      n/ SQn[        UU[        R                  " / SQ/ SQ/ SQ/[
        S9S9n[        X[        R                  " [        U5      [        U5      45      S9n[        UU[        R                  " / SQ/ SQ/ S	Q/[
        S9S9nS
X3SU-  :  '   [        R                  " X55        [        R                  " [        SS9   S
X3R                  S S
 S:  '   S S S 5        g ! , (       d  f       g = f)Nr3   r   )        r  r   )      ?r         @)r         @      @rG   )r0   rq   r9   )r  r   r  )r  r  r  r  r   zItem wrong lengthrk   r1   )rl  r~   r   rH   rM   r   r  rL   r6   r   rs   rt   ru   r0   )r8   r   r;  df1r  r;   s         r+   test_setitem_boolean_indexing=TestDataFrameSetItemBooleanMask.test_setitem_boolean_indexing  s    58n /?C5
 cbggs3xT>S6TU?NLIQVW
  "#)O
c,]]:-@A&(C		#2"# BAAs   C88
Dc                     [        SS/SS/SS.5      nUR                  5       n[        SS/SS	9n[        S
SS/0SS/S9UR                  US
/4'   [        R
                  " X5        g )Nr.   r1   r3   rn   r-   rb   Fr4   rd   r2   r}   r  r   r/   )r   r  r   r   r6   r   )r8   r:   r;   r?  s       r+   -test_loc_setitem_all_false_boolean_two_blocksMTestDataFrameSetItemBooleanMask.test_loc_setitem_all_false_boolean_two_blocks  sk    aV1a&s;<779%c2!*C!Q=A!Gw~
b+r*   c                     [        SS/SS//5      n[        SS/SS//5      n[        [        SS/SS	9[        [        R                  S/SS	9S
.5      nSX'   [        R
                  " X5        g )Nr  r1   r3   rD  r   TFbooleanrG   r  )r   r   r  NAr6   r   )r8   r:   r;   boolean_indexers       r+   test_setitem_ea_boolean_mask<TestDataFrameSetItemBooleanMask.test_setitem_ea_boolean_mask  sw    Q!R)*q!fq!f-.#4-y9255$-y9
  
b+r*   r$   N)r%   r&   r'   r(   r  skip_array_manager_invalid_testrs   r  r  rn  xfailrl  rH   rM   r   rr  ru  r6   rT  r   rx  r  r  r  r  r  r)   r$   r*   r+   rc  rc  <  sd   ''[[	')PQ'"  
0 (0 [[QR[[UT288V$<=	) > S	) [[UT288V$<=, >, [[YRVV(<=, >,-. [[Ww&89[[XWqcNY<N'OP' Q :').,,r*   rc  c                      \ rS rSrS r\R                  R                  SSS/5      S 5       rS r	\R                  R                  SS	\
R                  " S	/S	//S
S9S	/S	///5      S 5       r\R                  R                  SS\
R                  " S/S//5      S/S///5      S 5       r\R                  R                  SSS/\R                  " SS/\R                  R                  SSS9S9/5      \R                  R                  SSS\" S5      \" S5      4S/5      S 5       5       r\R&                  S 5       rS r\R                  R                  SS
S/5      S 5       rS  rS! rS" r\R                  R                  S#S$S%/\" S&5      4/ S'Q/ S'Q/4\" S&5      \" S&5      4S%4S$S	S(/4S%S%/4S$/S	4S%/4S$/\
R6                  " S	5      4S%/4\" S&5      \
R6                  " S	5      4/ S)Q4\" S&S%5      \
R6                  " S	5      4S%S%/4\
R                  " / S*Q5      \
R                  " / S+Q5      4S%S%/4/5      S, 5       rS-rg&).%TestDataFrameSetitemCopyViewSemanticsi  c                    SUR                   ;  d   eUS   R                  5       nX!S'   [        R                  UR                  SS2UR                   R                  S5      4'   [        USS 5      R                  5       (       d   eg )Nr_  rT   r}   rF   )rq   r  rH   rB  r  get_locr   r   )r8   rO   r   s      r+   test_setitem_always_copy>TestDataFrameSetitemCopyViewSemantics.test_setitem_always_copy  s~    +-----!!#CCE662{22::3??@QqW~!!####r*   consolidateTFc                    [        / SQ/ SQS./ SQS9nUR                  SS[        R                  5        U(       db  U(       a6  UR	                  5         [        UR                  R                  5      S:X  d   eO%[        UR                  R                  5      S:X  d   eUS   R                  nS	UR                  SS 2S4'   [        [        R                  [        R                  S	S	/UR                  SS
9n[        R                  " US   U5        U(       dK  [        R                  " XVR                  5        [        R                   " XTS   R                  5      (       d   eg g )N)g?g @g@gffffff@)gffffff@gffffff@gffffff@g333333 @)r   r   )r   r.   r1   r3   r/   r1   r   r.   *   rj   )r   r   rH   rB  _consolidate_inplacerL   r  blocks_valuesr   r   r0   r6   r   r   rX   shares_memory)r8   r  using_array_managerr  r:   zvalsr;   s          r+   #test_setitem_partial_column_inplaceITestDataFrameSetitemCopyViewSemantics.test_setitem_partial_column_inplace  s	    &-AB,
 			!S"&&!"'')277>>*a///277>>*a///3qr3w2662662r2"((M
r#w1 #''?##Ec7??;;;; #r*   c                     SS/S-  n[        SS/US9nUR                  5       nUS S  nSUS'   [        / SQ/US	9n[        R                  " XC5        [        R                  " X%5        g )
NrT   rU   r1   r  r   r   rG  )r  r1   r  r}   rp   r  )r8   r;  r:   df_copydf_viewr;   s         r+   *test_setitem_duplicate_columns_not_inplacePTestDataFrameSetitemCopyViewSemantics.test_setitem_duplicate_columns_not_inplace  sh    SzA~s1#t4'')Q%3./>
g/
b+r*   r  r.   r@   rG   c                     SS/n[        SSS/US9nUR                  5       nUS S  nXS/'   [        SS/SS//US9n[        R                  " XG5        [        R                  " Xe5        g )NrT   rU   r   r.   r   rp   r  )r8   r  r  r;  r:   r  r  r;   s           r+   #test_setitem_same_dtype_not_inplaceITestDataFrameSetitemCopyViewSemantics.test_setitem_same_dtype_not_inplace  sq    
 SzqA5'')Q%C5	q!fq!f-t<
b+
g/r*   r   c                     SS/n[        SSS/US9nUR                  5       nUS S  nXS/'   [        SS/SS//US9n[        R                  " XT5        [        R                  " X65        g )NrT   rU   r   r.   r   r   rp   r  )r8   r  r;  r:   r  r  r;   s          r+   2test_setitem_listlike_key_scalar_value_not_inplaceXTestDataFrameSetitemCopyViewSemantics.test_setitem_listlike_key_scalar_value_not_inplace  sq     SzqA5'')Q%C5	q#hC14@
g/
b+r*   r?  r-   z+Boolean indexer incorrectly setting inplace)rp  strict)markszvalue, set_value)r.   r}   )r   g      @z
2020-12-31z
2021-12-31r+  c                 ~    [        SU0SS/S9nUR                  5       nUS S  nX$U'   [        R                  " Xe5        g )Nr-   r   r.   r/   r  )r8   r  	set_valuer?  r:   r;   r   s          r+   "test_setitem_not_operating_inplaceHTestDataFrameSetitemCopyViewSemantics.test_setitem_not_operating_inplace  sA    2 U|Aq62779!u7
d-r*   c                    [        S5       Vs/ s H  nSU 3PM
     nn[        U Vs0 s H"  oU[        R                  " [	        U5      5      _M$     snUS9nUR
                  R                  S   R                  n[        R                  " 5          UR                   H
  nSXh   U'   M     S S S 5        U(       dN  [        R                  " U[        R                  " S5      [        R                  " S5      4   S:H  5      (       d   eg [        R                  " U[        R                  " S5      [        R                  " S5      4   S:H  5      (       d   eg s  snf s  snf ! , (       d  f       N= f)NrF   r4   r/   r   r.   )r~   r   rH   rE  rL   r  r  rX   r6   raises_chained_assignment_errorrq   r   r   )	r8   r  r  rg   r  colr:   rX   labels	            r+   "test_setitem_column_update_inplaceHTestDataFrameSetitemCopyViewSemantics.test_setitem_column_update_inplace4  s    $)9-9aAaS'9-fEfsRXXc&k22fEVT"))//1#$	%  $ 2 #66&2		"!=>!CDDDD 66&2		"!=>!CDDDD .E 21s   E)EE
E-c                     [        / SQ5      n[        / SQSS9US'   [        / SQSS9US'   [        / SQ/ SQ[        S9n[        R                  " UR
                  U5        g )	Nr\   rk  rG   col1col2)r@   rk  rk  )r   r  r  )r0   r>   )r   r   r:  r6   r   r   )r8   r:   expected_typess      r+   %test_setitem_column_frame_as_categoryKTestDataFrameSetitemCopyViewSemantics.test_setitem_column_frame_as_categoryH  sU    y!y
;6
IZ86
-5HPV
 	ryy.9r*   r>   r  c                 .   [        S[        R                  " S5      0US9n[        R                  " S//5      UR                  [        R                  " S/5      [        R                  " S/5      4'   [        S/ SQ0US9n[
        R                  " X#5        g )Nr-   r3   rG   r1   r   )r1   r.   r.   )r   rH   r  rM   r  r6   r   )r8   r>   r:   r;   s       r+   "test_setitem_iloc_with_numpy_arrayHTestDataFrameSetitemCopyViewSemantics.test_setitem_iloc_with_numpy_arrayS  so     RWWQZ(6021#!rxx},-c9-U;
b+r*   c                 D   [        / SQ/ SQ// SQS9n[        SS/SS//S	S	/S9nX!S	'   [        / S
Q/ SQ// SQS9n[        R                  " X5        [        / SQ/ SQ// SQS9n[        SS/SS//S	S	/S9nX!S	'   [        / SQ/ SQ// SQS9n[        R                  " X5        g )Nrt  )rn   r}   r  r  )r-   r2   r-   r4   rp   r   r  r1   r  r-   )r   r1   r  rn   )r1   r}   r  r  r\   r  )r-   r-   r2   )r   r  r3   )r1   r  r  r   rX  s       r+   !test_setitem_frame_dup_cols_dtypeGTestDataFrameSetitemCopyViewSemantics.test_setitem_frame_dup_cols_dtype\  s    l3=QR!SAs8,sCjA3^,6J
 	b+	9-G!SAs8,sCjA3k;7Q
b+r*   c                     [        S/SSS9n[        SU05      R                  S5      nUSS R                  5       nS US'   S US'   [        / SS/US S S9n[        R
                  " X#5        g )	Nz
2000-01-01r   date)r>   rN   r   30102010rq  )r   r   r"  r  r6   r   )r8   dtir:   r;   s       r+   "test_frame_setitem_empty_dataframeHTestDataFrameSetitemCopyViewSemantics.test_frame_setitem_empty_dataframel  s|    \N(H}%//7!W\\^6
6
V$bq'

 	b+r*   c                 z   [        / SQ/ SQ/ SQ/ SQS.5      nUR                  5       nUSS/   nU(       a2  SS/SS//UR                  S	S
/S S 24'   [        R                  " X45        OU(       a  SS/SS//UR                  S	S
/S S 24'   O^[
        R                  " SS5         [        R                  " [        5         SS/SS//UR                  S	S
/S S 24'   S S S 5        S S S 5        [        / SQ/ SQS.UR                  S9n[        R                  " XV5        U/ SQ   nU(       d  U(       a3  SS/SS//UR                  S	S
/SS
S24'   [        R                  " X45        O_[
        R                  " SS5         [        R                  " [        5         SS/SS//UR                  S	S
/SS
S24'   S S S 5        S S S 5        [        / SQ/ SQ/ SQS.UR                  S9n[        R                  " XV5        g ! , (       d  f       GN$= f! , (       d  f       GN.= f! , (       d  f       No= f! , (       d  f       Nx= f)N)r.   rn   r.   r}   )r1   r}   r1   r  )r3   r  r.   r  )r  r2  rF   rO  r  rU   r   r1   r.   r3   chained_assignmentwarnr1   r1   r1   r1   )r3   r1   r.   r1   )rU   r   r/   r  r   )r  r1   rF   r1   )
r   r  r  r6   r   r  r  r  r   r0   )r8   r  r  	df_parentdf_origr:   r;   s          r+   test_iloc_setitem_view_2dblockDTestDataFrameSetitemCopyViewSemantics.test_iloc_setitem_view_2dblock|  s   !!!#	
	 .."Sz" #$a&1a&!1BGGQFAI !!)5 $%a&1a&!1BGGQFAI""#7@//0FG+,a&1a&)9BGGQFAI& H A
 <lC288T
b+ '"4'(!fq!f%5BGGQFAaEM"!!)5""#7@//0FG/0!fq!f-=BGGQFAaEM* H A \Fbhh
 	b+) HG A@ HG A@sH   #H	>G7H	:H,H2H,7
H	H		
H
H)	%H,,
H:zindexer, valuer   r1   Nr  r3   )r1   r1   r1   )FTF)FTFTc                    [         R                  " S5      R                  SS5      n[        UR	                  5       [        S5      S9nUR                  R                  (       d   eUR	                  5       nUS S  n[        R                  " U5         X(R                  U'   S S S 5        U(       a  [        R                  " Xg5        X%U'   [        U[        S5      S9n	[        R                  " X5        g ! , (       d  f       NY= f)NrW  r3   rn   ABCDrp   )rH   r   r   r   r  rl  r  is_single_blockr6   r  r  r   )
r8   r?  r  r  r  rP   r  r  r:   r;   s
             r+   test_setitem_2dblock_with_refCTestDataFrameSetitemCopyViewSemantics.test_setitem_2dblock_with_ref  s    ( iim##Aq)chhj$v,?	 ~~----.."q\""#56$GGG 7 !!)5 GS$v,7
b+ 76s   C22
D r$   )r%   r&   r'   r(   r  rs   r  r  r  r  rH   rM   r  r  paramr  r   r  r  r  r  r  r  r  r  r  slicer@   r  r)   r$   r*   r+   r  r    s   $ [[]T5M:< ;<>
, [[!RXXsQCj8A3*E
0
0 [[WsBHHsecU^,Dusen&UV
, W
, [[ELLukk''H  ( 
	
 [[|$i&=>		
... ''E (E&	: [[Ww&89, :,, , -,^ [[!feDk"\<$@ADk5;'+!Q[1a&!c1XsOc288A;!%Dk288A;'3D!nbhhqk*QF3./:T1UVA	
 ,! ,r*   r  c                     [        SSS/05      n [        R                  " [        SS9   SU R                  S S 2S4'   S S S 5        [        SSS/05      n[        R
                  " X5        [        SSS/05      n [        R                  " [        SS9   SSS	.U R                  S S 2S4'   S S S 5        [        SSS/05      n[        R
                  " X5        [        SSS/05      n S
SS	.U R                  S S 2S4'   [        SS
S/05      n[        R
                  " X5        g ! , (       d  f       N= f! , (       d  f       N= f)Nr-   r.   r1   zincompatible dtyperk   Tr  g      @r  r3   rn   )r   r6   r  r  r   r   r:   r;   s     r+   'test_full_setter_loc_incompatible_dtyper    s   	C!Q=	!B		#	#M9M	Nq#v 
O#d|,-H"'	C!Q=	!B		#	#M9M	N S)q#v 
O#Sz*+H"'	C!Q=	!Bq\BFF1c6N#1v'H"' 
O	N 
O	Ns   D!D2!
D/2
E c            
          [        / SQ/ SQS.5      n SU R                  U R                  S:*  SS/4'   [        / SQ/ SQSS[        S	5      /S
S
[        S	5      /S.5      n[        R
                  " X5        g )Nr\   )r  r}   r  rA  )r.   r:  r.   r`  Gr   rB  r:  )rT   rU   r`  r  )r   r   r0   r   r6   r   r  s     r+   )test_setitem_partial_row_multiple_columnsr    sq    	5	6B(2BFF288q=3*$%q%,'e-		
H "'r*   )6r   numpyrH   rs   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorsr  pandas.core.dtypes.baser   r  pandas.core.dtypes.commonr   pandas.core.dtypes.dtypesr   r   r	   r
   pandasr  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr6   pandas.core.arraysr   pandas.tseries.offsetsr   r   r  r	  rB  rV  rc  r  r  r  r$   r*   r+   <module>r     s       0 ) ) < 5      $  * 'M, M,`'1 '1TP0 P0f+, +,\, ,,E, E,PN, N,b(((r*   