
    M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                   R   \ 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\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>                  [@        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                  S/S0S0//5      S1 5       r*S2 r+S3 r,\R                  R                  S4/ S5Q/ S6Q/5      S7 5       r-S8 r.S9 r/S: r0S; r1S< r2\R                  R                  S=/ S>Q/ S?QS@4/ SAQ/ S?QS@4/ SBQ/ S?QS@4/ SCQ/ SDQSE4/ SFQ/ SGQSH4/ SIQ/ SGQSJ4/5      SK 5       r3SL r4\R                  R                  SM/ SNQSO\5" / SPQ/ SPQ/ SPQ// SNQSQ94SRSS/SOST/\5" / SUQ/ SVQ/ SWQ// SNQSQ94/ SXQ\6Rn                  " / SYQ\6Rp                  SZ9\5" / SYQ/ SYQ/ SYQ// SXQSQ94/ S[Q/ SYQ/ S\Q/ S]Q/\5" / S^Q/ S_Q/ S`Q// SNQSQ94/ SaQ\6Rn                  " / SYQ/ S\Q/ S]Q/\6Rp                  SZ9\5" / SbQ/ ScQ/ SdQ// SNQSQ94SeSR/\5" SOST/SfSg/ShSi//SeSR/SQ9\5" / SjQ/ SkQ/ SlQ// SXQSQ94/5      Sm 5       r9Sn r:So r;Sp r<Sq r=Sr r>Ss r?\@R                  St 5       rB\R                  R                  Su0 SvSw0/5      Sx 5       rCSy rDSz rES{ rFS| rGS} rHS~ rISrJgs  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#       Z/var/www/html/env/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9n[        R                  " X5        g )NrS   rT   Cr.   Xr   r   z)r8   r/   )r   r/   r5   r   r7   r9   exps      r*   test_setitem_empty_columns/TestDataFrameSetItem.test_setitem_empty_columns   sA    _-((3!3c?3?K
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QS/S	9n[        R
                  " X5        g )
Nr2   r.   20130101UTCtznsnowr   r-   r0   r   )r   r}   r   as_unitr5   r   r7   r9   r:   s      r*   $test_setitem_timestamp_empty_columns9TestDataFrameSetItem.test_setitem_timestamp_empty_columns   s`    U1X&jU3;;DA5	
u-./!39ug
 	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5      n[        R                  " X#5        g )Nz2003-12Dr,   )r   r   r5   r   )r7   r8   r   r:   s       r*   #test_setitem_period_preserves_dtype8TestDataFrameSetItem.test_setitem_period_preserves_dtype   s=    y#&'2sc4[)
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 )Nr   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_units#  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_units8  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_dt64tzI  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_periodindexk  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_arrayy  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   Fr3  )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   r7  )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|   r7  rF   )
r   r}   r   rG   r?  r   r?   rp   r5   r   )r7   r8  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   r8  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 r8  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]   rH  rj   r,   r   rr   rs   rt   )r7   r8  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   rL     r,   r1   r3   )rE   rL  rT  rE   )r,   r1   r1   r3   r   r7   r9   rN  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[   rR  ro   rE   rL  r,   r1   rH  rj   rM  )r7   r9   rN  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   r7  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_listlike#  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   r8  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  rn  rx  rv  )rx  rz  )rw  ry  )rx  ry  )rw  rz  )r   from_productr   rG   rH   rI   rJ   rK   r   r/   rW   r  shuffler   r5   r   )r7   itr8  r/   r   r9   rf   rg   s           r*   test_setitem_multi_index-TestDataFrameSetItem.test_setitem_multi_index=  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  r/  rF   )rT   r   r   rS  )         )r-   r  r  r/  )r2   rE   rL  rT  )r|   r  r  r  )r   rS   r   )r  r0   r  r/  )rL  rm   rE   rT  )r  r  r  r  rS   r/  rE   rL  rT  )r  r0   r  )r/  rm   rE   )rL  r  rT  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_columnsU  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   )ri  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r_  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r_  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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=   r.   r,   )rM   r/   r=   r1   S64r3   r\   abcd)
r   r   rG   r@   uint8r   r7  ri  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.U#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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-   r  r  )	r   rG   onesr   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]+: ''(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   r?  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   rL  r.   r   )r   rG   r?  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   rL  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   r7  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   r4  rF   rL  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   r7  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)Kr$   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   ea_registryr   r   rM   propertyr   r   r   r  r  r"  r,  r1  r:  rA  rE  rI  rO  rV  rY  rd  rk  ro  rs  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$ )Nr7  rF   rT   rc   )r   rG   rL   tolistr=   )r7   r   r:   s      r*   r:   !TestSetitemTZAwareValues.expected/  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_dt64series5  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_datetimeindex?  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_datetimesH  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)!TestDataFrameSetItemWithExpansioniR  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_viewsS  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_raisingg  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 )	NrR  rC   rp   r=   r0   r,   r   r-   ro   )r   ri  r}   r   rG   r?  r5   r   )r7   r  r9   r:   s       r*   'test_setitem_empty_df_duplicate_columnsITestDataFrameSetItemWithExpansion.test_setitem_empty_df_duplicate_columnsn  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   )rc  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_dtypew  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   rn  i  rL  r-   )
r   r   r   r}   r   r   rG   r?  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   rL  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   ri  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,  r/  r2  r:  r(   r#   r)   r*   r  r  R  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   rS  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 rD  )r   r  ri  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   rE  ra   ro   rS  r-   r7  r  r   rF  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'   rA  rr   r  r  r5   setitemr  r   rG   rL   ri  r  rG  rJ  rM  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 )Nrq  r  r>  )rL  rT  r  r  c                     g)NrS   r#   r`  s    r*   ra  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#   r`  s    r*   incETestDataFrameSetItemCallable.test_setitem_other_callable.<locals>.inc  s    q5Lr)   r~  r-   rF   r   )r   r7  r5   r   )r7   rY  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'   rU  r[  r(   r#   r)   r*   rQ  rQ    s    '
,r)   rQ  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*   ra  (TestDataFrameSetItemBooleanMask.<lambda>-  s    Ba'r)   c                 N    U [         R                  " U 5      S-  :  R                  $ ra  )rG   rb  rW   rc  s    r*   ra  rd  -  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   r?  rW   rL   r   r/   rp   r5   r   )r7   r_  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   r7  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_value>  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   r/  )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_changedK  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_aligningY  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   )rc  )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-   rx  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_categoricalb  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_booleany  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   )ri  r}   r   rG   rL   r   r  rK   r5   r   rr   rs   rt   r/   )r7   r   r8  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   r?  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  ri  xfailri  rG   rL   r   rm  rp  r5   rO  r   rs  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   r?  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   r?  _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   rD  )r  r0   r  r|   ro   r  )r7   r8  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  r8  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  r8  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)rk  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   r@  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_inplace!  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[   rh  rF   col1col2)r?   rh  rh  )r   r  r  )r/   r=   )r   r   r7  r5   r   r   )r7   r9   expected_typess      r*   %test_setitem_column_frame_as_categoryKTestDataFrameSetitemCopyViewSemantics.test_setitem_column_frame_as_category5  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_array@  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 )Nrq  )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   rU  s       r*   !test_setitem_frame_dup_cols_dtypeGTestDataFrameSetitemCopyViewSemantics.test_setitem_frame_dup_cols_dtypeI  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2010rn  )r   r   r  r  r5   r   )r7   dtir9   r:   s       r*   "test_frame_setitem_empty_dataframeHTestDataFrameSetitemCopyViewSemantics.test_frame_setitem_empty_dataframeY  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  j  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-   r5  r-   r]  Gr   r?  r5  )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=  rQ  r^  r  r  r  r#   r)   r*   <module>r     s       ) ) < 5      $  * '{, {,|'1 '1TP0 P0f+, +,\, ,,E, E,Pv, v,r(((r)   