
    Mhg                         S r SSKrSSKrSSKrSSKJrJrJrJ	r	J
r
Jr  SSKJr   " S S5      rS rS rS r\R&                  R)                  S	S
9S 5       rS r\R&                  R)                  SS
9S 5       rS rg)z
Tests for values coercion in setitem-like operations on DataFrame.

For the most part, these should be multi-column DataFrames, otherwise
we would share the tests with Series.
    N)	DataFrame
MultiIndexNaTSeries	Timestamp
date_rangec                   \    \ rS rSr\R
                  R                  SSS/5      S 5       rSrg)TestDataFrameSetitemCoercion   consolidateTFc                 h   [        [        R                  " S[        R                  S95      n[        R
                  " X"/SSS/S9nU(       a  UR                  5       n[        R                  " S[        R                  S9UR                  SS2S[        SS5      44'   UR                  [        R                  :H  R                  5       (       d   e[        R                  " S[        R                  S9UR                  S	S
2S[        SS5      44'   UR                  [        R                  :H  R                  5       (       d   e[        R                  " S[        R                  S9UR                  S S 2S[        SS5      44'   UR                  [        R                  :H  R                  5       (       d   eg )N)      dtype      )axiskeys)r   r      )r   r   r   r   )r   npzerosfloat32pdconcat_consolidateoneslocslicedtypesall)selfr   As      [/var/www/html/env/lib/python3.13/site-packages/pandas/tests/frame/indexing/test_coercion.py#test_loc_setitem_multiindex_columns@TestDataFrameSetitemCoercion.test_loc_setitem_multiindex_columns   s9    bhhvRZZ89IIqf1Aq62 A')wwvRZZ'HacAuQ{##$BJJ&++----')wwvRZZ'HacAuQ{##$BJJ&++----%'WWV2::%Fa!U1a[!!"BJJ&++----     N)	__name__
__module____qualname____firstlineno__pytestmarkparametrizer%   __static_attributes__r(   r'   r$   r
   r
      s)    [[]T5M:. ;.r'   r
   c                     [        / SQ/ SQS.5      n [        / SQ/ SQS.5      nU R                  5       n[        R                  " [        SS9   SUR
                  S'   S S S 5        [        R                  " X!5        U R                  5       n[        R                  " [        SS9   SUR                  S'   S S S 5        [        R                  " X!5        U R                  5       n[        R                  " [        SS9   SUR                  S	'   S S S 5        [        R                  " X!5        U R                  5       n[        R                  " [        SS9   SUR                  S	'   S S S 5        [        R                  " X!5        g ! , (       d  f       GN+= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       NY= f)
N)r   r   r   )r      r   )r#   B)r   333333?r   %Setting an item of incompatible dtypematchr4   )r   r3   )r   r   )
r   copytmassert_produces_warningFutureWarningatassert_frame_equalr   iatiloc)origexpecteddfs      r$   
test_37477rC   0   sX   9956Dy{;<H	B		#	#D
 f
 "'	B		#	#D
 v
 "'	B		#	#D
 t
 "'	B		#	#D
 
 "'3
 

 

 

 
s0   F%F<F%F6
F
F"%
F36
Gc                     [        S5      n[        S5      n[        S5      n[        USS9n[        USS/S9nUR                  5       nX " U5      US4'   S	US'   X6R                  US4'   UR
                  S
   U:X  d   eg )Nz
2014-04-01z2014-04-23 12:42:38.883082z2014-04-24 01:33:30.040039r   )periodstimenowLiveindexcolumnsT)r   r   )r   r   r   r8   r<   r?   )
indexer_alstartt1t2dtir@   rB   s          r$   	test_6942rP   R   s    l#E	/	0B	/	0B
UA
&C3F(;<D	B')JrN5)#$BvJ EE%
774=Br'   c                 \   [        / SQS9nSUS'   SU " U5      S'   [        S/ SQ0/ SQ[        R                  S9n[        R                  " X5        [        R
                  " [        S	S
9   SU " U5      S'   S S S 5        [        S/ SQ0/ SQ[        R                  S9n[        R                  " X5        [        R
                  " [        S	S
9   SU " U5      S'   S S S 5        [        S/ SQ0/ SQ[        S9n[        R                  " X5        g ! , (       d  f       N= f! , (       d  f       NK= f)N)r#   r3   CrI   r   Dr   )rR   rT   )r   r   r   )rI   r   r5   r6        @F@)r   r   rU   hello)r   r   rV   )	r   r   int64r9   r=   r:   r;   float64object)rK   rB   rA   s      r$   
test_26395rZ   d   s    		)BBsG JrN8#y)QH"'		#	#D
 $(
2x 
 #|,O2::VH"'		#	#D
 $+
2x 
 #/fUH"'
 

 
s   *DD
D
D+zunwanted upcast)reasonc                     [        SS/SS//SS/S9n [        SS	S
.5      U R                  S'   U R                  [        R
                  :H  R                  5       (       d   e[        SS05      U R                  S'   [        [        R
                  [        R                  /[        SS/S9n[        R                  " U R                  U5        g )Nr   r   r   r2   ab)rJ   r   r   )r]   r^      )r   rI   )r   r   r   r    r   rW   r!   rX   rY   r9   assert_series_equal)rB   
exp_dtypess     r$   
test_15231rb   |   s    	QFQF#c3Z	8BQQ'(BFF1III!&&((((Qx BFF1I 2::.fS#JOJ299j1r'   c                  d   [        [        R                  " SS/[        R                  S9[        R                  " SS/[        R                  S9SS/S.5      n U R	                  5       nU S	   R
                  R                  SS5      nX R                  S S 2S	S24'   [        R                  " X5        g )
Nr   r   r   r   r2   r]   r^   )r   r   r   r   )
r   r   arrayr   r8   valuesreshaper?   r9   r=   )rB   r@   re   s      r$   .test_iloc_setitem_unnecesssary_float_upcastingrg      s    	xxAbjj1xxAbjj1Sz	

B 779DU\\!!!Q'FGGAqsFO"#r'   zunwanted casting to dt64c                     [        SSS9n SU S./n[        U5      nUR                  5       n[        R                  [
        /UR                  S'   [        S[        R                  /[        U [
        /SS9S.5      n[        R                  " X45        SU S./nUR                  5       n[        R                  [
        /UR                  SS S 24'   [        R                  " X45        g )	Nz2016-03-01 03:13:22.98986UTC)tzr   )onetwor   zdatetime64[ns, UTC]r   )
r   r   r8   r   nanr   r   r   r9   r=   )tsdatar@   rB   rA   s        r$   
test_12499rp      s     
.5	9Bb!"DT?D	BBFF1IBFFFB9<Q$RSH "'b!"D	BFFC=BFF1a4L"'r'   c            	      ,   [         R                  " SS// SQ/5      n [        S[        S5      U S9n[        / SQ/S-  [        S5      / SQS9nX!S'   [        / SQ/ S	Q/ S
Q/ SQ/ SQ/ SQS.5      nXl        [        [        R                  " [        R                  5      /S-  [        R                  " [        R                  5      /-   [        R                  " [        R                  5      /S-  -   U S9n[        R                  " UR                  U5        g )Nr#   r3   )r]   r^   cr   rH   )r   r         @)r   r   r   )r   r   r   )rt   rt   rt   )rs   rs   rs   )r   r   r   r   r2   r   r   rS   )r   from_productr   rangerJ   r   r   r   rW   rX   r9   r`   r    )mirB   fillerrA   ra   s        r$   
test_20476ry      s    		 	 3*o!>	?B	2U1Xr	2B}q(a/RFsG	
	H 	"((	q BHHRZZ$8#99RXXbhh=O<PST<TTJ 299j1r'   )__doc__numpyr   r-   pandasr   r   r   r   r   r   r   pandas._testing_testingr9   r
   rC   rP   rZ   r.   xfailrb   rg   rp   ry   r(   r'   r$   <module>r      s        . .4(D$(0 +,	2 -	2$" 45( 6(.2r'   