
    h                     n   S SK J r   S SKrS SK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      r. " S S5      r/ " S S5      r0 " S S5      r1S r2S r3g)    )datetimeN)	_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                   V   \ 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#       `/var/www/html/shao/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+   datar/   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 )Nr0   r-   
   r=   )nprandomdefault_rngintegerslenarrayr=   name)r7   r=   float_framearrs       r*   test_setitem_dtype'TestDataFrameSetItem.test_setitem_dtype8   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 )Nr0   AB)rG   rH   rI   standard_normalrK   r5   assert_almost_equalvalues)r7   rN   r8   s      r*   test_setitem_list_not_dataframe4TestDataFrameSetItem.test_setitem_list_not_dataframeB   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-   r0   r2   )def)barbazr,   r1   r3   foorM   r.   )ghij)r,   r1   r3   r,   fizr/   rM   z/cannot reindex on an axis with duplicate labelsmatchnewcolr0   r   )   rm   r,   r1   r3   r\   columnszDCannot set a DataFrame with multiple columns to the single column grr1   r3   grz7Cannot set a DataFrame without columns to the column gr)r   r   r   pytestraises
ValueErrorrG   rH   rI   rJ   groupbycount)r7   r9   sermsgs       r*   test_setitem_error_msmgs-TestDataFrameSetItem.test_setitem_error_msmgsG   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 )NrE      r.   r0   )
r   rangerG   rH   rI   rU   repeatreshaper5   assert_frame_equal)r7   NKr9   new_colrf   r:   s          r*   test_setitem_benchmark+TestDataFrameSetItem.test_setitem_benchmarke   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 )Nr0   r|   r2   r|   )r3   r1   r,   r/   rp   r   rb   r,   r_   r3   rB   xrC   )rb   r3   r_   r1   r,   r   r.   rm   r>   y)rb   r3   r_   r1   r,   r   r   )r   rG   rH   rI   rU   arangeinsertastypedtypesr   r=   r5   assert_series_equalr7   r9   resultr:   s       r*   test_setitem_different_dtype1TestDataFrameSetItem.test_setitem_different_dtypep   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rS   rT   Cr.   Xr   r   z)r8   r/   rp   )r   r/   r5   r   r7   r9   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[   rb   ro   )r   r5   r   r   r7   r9   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.   rS   M8[ns])r   r   rG   r   rK   r=   )r7   rngr9   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 )	Nr2   r.   20130101UTCtznsnowr   )r   r}   r   as_unitr5   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-   r0   ra   rE   r_   ro   zLength of values \(z$\) does not match length of index \(z\)rj   rb   )r
   
from_codesr   r}   rK   rr   rs   rt   )r7   catr9   rx   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 )Nra         ?       @      @c_1n_1r   r   r-   
new_columnrc   )r   r   r   r5   r   )r7   r9   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 )
Nra   r   r   r   )r0   r-   r   r.   r   )r-   r   r   rc   )r   r   r   r5   r   )r7   r9   	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,   ro   )r   r   r5   r   )r7   r8   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-   r0   r?   rF   r[   r@   rn   r   )r   r   float	enumerateintrG   r@   locshaper5   r   )r7   r:   r9   idxr1   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[   r2   rF   )r   objr   r   r   r   r5   r   )r7   r   r=   r:   r9   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   r5   r   )r7   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]rF   new)r   r   datetime64[s]r   )
rG   rL   r   to_framer   r5   r   r   assert_numpy_array_equalto_numpy)r7   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   )re   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[]rF   )r   r   r   intsr.   	rG   r=   r   r?   viewr   r   rW   allr7   r   nr=   valsex_valsr9   s          r*   -test_frame_setitem_datetime64_col_other_unitsBTestDataFrameSetItem.test_frame_setitem_datetime64_col_other_units5  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   rF   r   r   r.   r   datesr   r   s          r*   6test_frame_setitem_existing_datetime64_col_other_unitsKTestDataFrameSetItem.test_frame_setitem_existing_datetime64_col_other_unitsJ  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 )NrT   rb   r   rc   r   r-   r0   )r-   r-   r-   r0   )TFT)renamer5   r   r   _mgrarraysassert_extension_array_equal_ndarraybaseidcopyr   ilocr   r   )r7   timezone_frameusing_copy_on_writer9   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|   r/   )periodsrM   r0   r   r.   r   Fcheck_names)r   r   rG   rH   rI   rU   r   r5   assert_index_equalrM   reset_index	set_index
isinstancer/   r   )r7   r   r9   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,   r1   r-   r2   r|   r3   r\   r-   r2   r|   r-   r-   r-   rn   )r   rG   rL   r   r=   r5   r   r7   r9   rO   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   rS   )r  r   rM   )	r   r   r   r   r   r   r   r   r   r   rF   )r   r   	_na_valuer  r5   r   )r7   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[   rF   r0   )r2   r2   ro   ra   F)r-   r0   r2   Fr5  )r   r   r   F)
r   r   rG   rH   rI   rU   objectr5   r  rp   )r7   r=   colsr9   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)   indexerrT   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 )NrS   rT   ro   r-   r0   rS   rT   r9  )r   rG   nanr   r5   r   )r7   r>  r9   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   r0   r2   r   )r   r2   )r   rS   )r-   rm   rT   r0   r|   r   )r   r-   r0   r2   rm   r|   r-   rm   r|   r9  rF   )
r   r}   r   rG   rA  r   r?   rp   r5   r   )r7   r:  r9   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   r0   r2   r   "Columns must be same length as keyrj   )r   r2   r|   rS   )r   r}   rr   rs   rt   r  )r7   r:  r9   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:  ra   )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[   ro   rE      r\   r]   rJ  rj   r,   r   rr   rs   rt   )r7   r:  r9   rhsrx   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,   r1   r1   ro   rE   rN     r,   r1   r3   )rE   rN  rV  rE   )r,   r1   r1   r3   r   r7   r9   rP  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[   rT  ro   rE   rN  r,   r1   rJ  rj   rO  )r7   r9   rP  rx   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 )NrS   rE   r|   rT   r   r   EFc                 @    [        [        R                  " U 5      5      $ N)r   rG   rL   r   s    r*   <lambda>=TestDataFrameSetItem.test_setitem_intervals.<locals>.<lambda>  s    eBHHQK(r)   Fr  )r   r}   r   r"  r   
categoriesr   rG   rL   rW   r   r9  r=   r   r   r   r5   r  rT   r   r   r   )r7   r9   rw   r3   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 )Nre   mncategoryr   r   )
r   r   listr   re   r   reorder_categoriesr
   r5   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   rc   rS   rp   r/   )r   r   r5   r  r/   )r7   r/   r   r:   s       r*    test_setitem_with_empty_listlike5TestDataFrameSetItem.test_setitem_with_empty_listlike5  sK    bu%C56scU%8
fllHNN;r)   zcols, values, expected)r   r   r   r,   r-   r0   r2   rm   rm   )r   r   r   r,   )r   rT   rT   r,   )r   rT   r,   r[   r2   )rT   r   r,   )r2   r0   r-   r-   )r   r,   rT   r0   c                 \    [        U/US9nUS   US'   US   R                  S   nXS:X  d   eg )Nro   r,   r   )r   rW   )r7   r:  rW   r:   r9   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  r0   r-   i  rp  rz  rx  )rz  r|  )ry  r{  )rz  r{  )ry  r|  )r   from_productr   rG   rH   rI   rJ   rK   r   r/   rW   r  shuffler   r5   r   )r7   itr:  r/   r   r9   rf   rg   s           r*   test_setitem_multi_index-TestDataFrameSetItem.test_setitem_multi_indexO  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)rS   rT   r   r      )r  r  r  r  ro   r   r      )r-   r0   r  r  )r2   rm   r  r  r|      r  r  r   )r  r  r1  rF   )rT   r   r   rU  )         )r-   r  r  r1  )r2   rE   rN  rV  )r|   r  r  r  )r   rS   r   )r  r0   r  r1  )rN  rm   rE   rV  )r  r  r  r  rS   r1  rE   rN  rV  )r  r0   r  )r1  rm   rE   )rN  r  rV  c                 b    [        SS/SS/SS//SS/S	9nX$U'   [        R                  " XC5        g )
Nr-   r0   r2   rm   r|   r  rS   rT   ro   r   )r7   rp   boxr:   r9   s        r*   !test_setitem_list_missing_columns6TestDataFrameSetItem.test_setitem_list_missing_columnsg  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 )NrS   rT   tuplesri   )rk  zipr   r/   r5   r   )r7   rN   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[   rm   r|   r  r*  c              3   "   #    U H  ov   M     g 7fra  r#   .0r   s     r*   	<genexpr>CTestDataFrameSetItem.test_setitem_iloc_generator.<locals>.<genexpr>       %f1f   r  r-   r,  rm   r-   r-   r   r  r5   r   r7   r9   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ra  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)rM   r=   r4   rF   r   r,   )rM   r/   r=   r1   S64r3   r\   abcdr.   )r   r   r   rG   r@   uint8r   r9  rk  r5   r   )r7   r/   r9   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 )Nr2   rm   r|   r  r*  r?   Int64Fr.   r,   r1   )r   r   r   r/   r   r5   r   )r7   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-   r0   r  rF   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)
NrE   )np-array	np-matrixr.   )rE   r-   r4   rF   r   r  r  )
r   rG   onesr   r   r5   assert_produces_warningPendingDeprecationWarningmatrixr   )r7   r:   r,   r9   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-   r0   r2   rm   r*  r      )r-   r   r,   r|   r  r   r-   r3   r]   )r3   r]   )r   r   rG   rA  r5   r   )r7   r   r9   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-   r0   rE   rN  r.   r   )r   rG   rA  r5   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,   r1   r-   r0   r2   rm   rp   r8   rE   rN  rF   r*  r   r7   any_numeric_ea_dtyper9   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-   r0   zfuture.infer_stringTr1   rF   r*  )
rr   importorskipr   pdoption_contextr   r9  r   r5   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*  rE   r   r  r5   r   )r7   r9   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,   rE   r6  rF   rN  r  r   )r   rG   rL   r   r   r5   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-31rF   r,   r-   inferrj   r1   r3   r   ra   )
r   r   r9  r   r5   r  FutureWarningr   r   r   )r7   r   r9   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;   rr   markparametrizerP   rX   ry   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   ea_registryr   r"  rM   propertyr   r   r  r  r  r$  r.  r3  r<  rC  rG  rK  rQ  rX  r[  rf  rm  rq  ru  r  r   rG   rL   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#/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:00rT   rc   z
US/Pacific)r   tz_localize)r7   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$ )Nr9  rF   rT   rc   )r   rG   rL   tolistr=   )r7   r   r:   s      r*   r:   !TestSetitemTZAwareValues.expectedA  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 )Nr0   r0   r-   rS   ro   rT   r   r-   r.   r   rc   )r   rG   rH   rI   rU   	to_seriesdt
tz_convertr   r  r5   r   )r7   r   r:   r9   r   comps         r*   test_setitem_dt64series0TestSetitemTZAwareValues.test_setitem_dt64seriesG  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 Nr0   r  rS   ro   rT   )r   rG   rH   rI   rU   r5   r   r7   r   r:   r9   r   s        r*   test_setitem_datetimeindex3TestSetitemTZAwareValues.test_setitem_datetimeindexQ  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   rG   rH   rI   rU   to_pydatetimer5   r   r  s        r*   .test_setitem_object_array_of_tzaware_datetimesGTestSetitemTZAwareValues.test_setitem_object_array_of_tzaware_datetimesZ  sW    ryy,,Q/??GRUQVW ##%3C
v0r)   r#   N)r$   r%   r&   r'   rr   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)!TestDataFrameSetItemWithExpansionid  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[   )rm   rm   r  r*  r,   g?g?g333333?g?      ?r3   r\   r   )r   r   rc   )r   r0   r2   )r   rG   rL   r5   assert_cow_warningr  r   r   )r7   r  warn_copy_on_writer9   rw   r:   s         r*   test_setitem_listlike_views=TestDataFrameSetItemWithExpansion.test_setitem_listlike_viewse  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-   r0   r2   rm   r|   r  0 - Name)r-   r0   r|   )r2   rm   r  )r   r-   r  ro   r   r   s      r*   .test_setitem_string_column_numpy_dtype_raisingPTestDataFrameSetItemWithExpansion.test_setitem_string_column_numpy_dtype_raisingy  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 )	NrT  rC   rp   r=   r0   r,   r   r-   ro   )r   rk  r}   r   rG   rA  r5   r   )r7   r  r9   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valuer0   r   i'  r   r>   rF   i  z - i  T)by	ascendingi)  F)r   labelsr   )re  orderedr.   r^  )r  r   r^  )r   rG   rL   rH   rI   rJ   r
   r}   sort_valuesr   r  rW   r   r   r=   r   r5   r   assert_categorical_equalr
  rM   
sort_index)
r7   r9   rf   r  rw   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-   rb   ro   )r   r   rG   r?   r5   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 )Nr@  rS   Fr  )rp   r5   r   )r7   rN   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   rE   rp  i  rN  r-   )
r   r   r   r}   r   r   rG   rA  isnanr   )r7   rp   r8   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,   r1   r   FTr-   r*  r.   )r   r/   r   r5   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,   r1   r-   r0   r2   rm   r  rE   rN  rF   r3   ra   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abcro   r|   r   )r   H   23ra   r   z0 days 00:00:05z0 days 00:01:12r   )	r   rk  r  to_timedeltar   	Timedeltar   r5   r   )r7   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&  r.  r1  r4  r<  r(   r#   r)   r*   r  r  d  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   rG   zerosr5   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+  r0   rm   r  ra   ro   rU  r-   r   r7   r   r  r>  r9   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 rF  )r   r  rk  r}   r5   r   )r7   r   r  r9   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   rG  ra   ro   rU  r-   r9  r  r   rH  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'   rC  rr   r  r  r5   setitemr  r   rG   rL   rk  r  rI  rL  rO  r(   r#   r)   r*   r?  r?    sC   , [[YRWW(=>[[UVRXXtRXX$FG[[S),, - H ?, [[UVRXXtRXX$FG[[S),, - H, [[YRWW(=>[[UVRXXtRXX$FG[[S),, - H ?,r)   r?  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 )Nrs  r  r@  )rN  rV  r  r  c                     g)NrS   r#   rb  s    r*   rc  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#   rb  s    r*   incETestDataFrameSetItemCallable.test_setitem_other_callable.<locals>.inc0  s    q5Lr)   r  r-   rF   r   )r   r9  r5   r   )r7   r[  r9   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'   rW  r]  r(   r#   r)   r*   rS  rS  %  s    '
,r)   rS  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-  :  $ Nr0   )rG   absr9   s    r*   rc  (TestDataFrameSetItemBooleanMask.<lambda>?  s    Ba'r)   c                 N    U [         R                  " U 5      S-  :  R                  $ rc  )rG   rd  rW   re  s    r*   rc  rf  ?  s    R"&&*q.5H4P4Pr)   	dataframerL   )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  rG   rA  rW   rL   r   r/   rp   r5   r   )r7   ra  rN   r9   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-   ra   r9  rF   z@Must have equal len keys and value when setting with an iterablerj   r1   )r   r   rr   rs   rt   r   )r7   r  r9   r>  rx   s        r*   :test_setitem_loc_empty_indexer_raises_with_non_empty_valueZTestDataFrameSetItemBooleanMask.test_setitem_loc_empty_indexer_raises_with_non_empty_valueP  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-   ra   FrE   r3   r1   r1  )r   r   r5   r   )r7   r  r9   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-   rm   r0   r2   r  r*  r,   r2   )r   r  r  r5   r   )r7   r>  r9   r:   r  s        r*   "test_setitem_boolean_mask_aligningBTestDataFrameSetItemBooleanMask.test_setitem_boolean_mask_aligningk  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,   r1   r1   r,   r,   r,   r,   r1   )re  )re   rf   rg   klr   r   )r-   r-   r0   r0   r-   r-   r-   )catsrW   r.   )r,   r,   r3   r3   r,   r,   r,   ra   )r-   r-   r2   r2   r-   r-   r-   rz  r3   r0   )r
   r   r   r  r   set_categoriesr5   r   )r7   cats2idx2values2exp_multi_rowcatsfidxfvaluesfr9   	exp_fancyr  s              r*   test_setitem_mask_categorical=TestDataFrameSetItemBooleanMask.test_setitem_mask_categoricalt  s     ?SRUJW89'!5"DDQ/O
 89'9F!&&(	%f-11@@Q	&&zS 8
b,r)   r=   r   r?   kwargsr/   r-   rp   rS   c                 |    XS'   [        S0 UD6nUR                  5       nSX3U:  '   [        R                  " X45        g )Nr=   /   r#   r  )r7   r=   r  r9   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)Nr2   r   )        r  r   )      ?r         @)r         @      @rF   )r/   rp   r8   )r  r   r  )r  r  r  r  r   zItem wrong lengthrj   r0   )rk  r}   r   rG   rL   r   r  rK   r5   r   rr   rs   rt   r/   )r7   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-   r0   r2   rm   r,   ra   Fr3   rc   r1   r|   r  r   r.   )r   r  r   r   r5   r   )r7   r9   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  r0   r2   rA  r   TFbooleanrF   r  )r   r   r  NAr5   r   )r7   r9   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_testrr   r  r  rk  xfailrk  rG   rL   r   ro  rr  r5   rQ  r   ru  r  r  r  r  r  r(   r#   r)   r*   r`  r`  ;  sd   ''[[	')PQ'"  
0 (0 [[QR[[UT288V$<=	) > S	) [[UT288V$<=, >, [[YRVV(<=, >,-. [[Ww&89[[XWqcNY<N'OP' Q :').,,r)   r`  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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^  rS   r|   rE   )rp   r  rG   rA  r  get_locr   r   )r7   rN   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-   r0   r2   r.   r0   r   r-   r   ri   )r   r   rG   rA  _consolidate_inplacerK   r
  blocks_valuesr   r   r/   r5   r   r   rW   shares_memory)r7   r  using_array_managerr  r9   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 )
NrS   rT   r0   r  r   r   rF  )r  r0   r  r|   ro   r  )r7   r:  r9   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?   rF   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 )NrS   rT   r   r-   r   ro   r  )r7   r  r  r:  r9   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 )NrS   rT   r   r-   r   r   ro   r  )r7   r  r:  r9   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)rm  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  )r7   r  	set_valuer>  r9   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)NrE   r3   r.   r   r-   )r}   r   rG   rB  rK   r
  r  rW   r5   raises_chained_assignment_errorrp   r   r   )	r7   r  r
  rf   r  colr9   rW   labels	            r*   "test_setitem_column_update_inplaceHTestDataFrameSetitemCopyViewSemantics.test_setitem_column_update_inplace3  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[   rj  rF   col1col2)r?   rj  rj  )r   r  r  )r/   r=   )r   r   r9  r5   r   r   )r7   r9   expected_typess      r*   %test_setitem_column_frame_as_categoryKTestDataFrameSetitemCopyViewSemantics.test_setitem_column_frame_as_categoryG  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,   r2   rF   r0   r   )r0   r-   r-   )r   rG   r  rL   r  r5   r   )r7   r=   r9   r:   s       r*   "test_setitem_iloc_with_numpy_arrayHTestDataFrameSetitemCopyViewSemantics.test_setitem_iloc_with_numpy_arrayR  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 )Nrs  )rm   r|   r  r  )r,   r1   r,   r3   ro   r   r  r0   r  r,   )r   r0   r  rm   )r0   r|   r  r  r[   r  )r,   r,   r1   )r   r  r2   )r0   r  r  r   rW  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=   rM   r   30102010rp  )r   r   r!  r  r5   r   )r7   dtir9   r:   s       r*   "test_frame_setitem_empty_dataframeHTestDataFrameSetitemCopyViewSemantics.test_frame_setitem_empty_dataframek  s|    \N(H}%//7!W\\^6
6
V$bq'

 	b+r)   r#   N)r$   r%   r&   r'   r  rr   r  r  r  r  rG   rL   r  r  paramr  r   r  r  r  r  r  r  r  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, :,, ,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-   r0   zincompatible dtyperj   Tr  g      @r  r2   rm   )r   r5   r  r  r   r   r9   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  r@  )r-   r7  r-   r_  Gr   rA  r7  )rS   rT   r_  r  )r   r   r/   r   r5   r   r  s     r*   )test_setitem_partial_row_multiple_columnsr    sq    	5	6B(2BFF288q=3*$%q%,'e-		
H "'r)   )4r   numpyrG   rr   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_testingr5   pandas.core.arraysr   pandas.tseries.offsetsr   r   r  r  r?  rS  r`  r  r  r  r#   r)   r*   <module>r     s       ) ) < 5      $  * 'M, M,`'1 '1TP0 P0f+, +,\, ,,E, E,Pv, v,r(((r)   