
    A>i                         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      h/var/www/html/land-tabula/venv/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                  X   [        / SQ/ SQS.5      n U R                  5       n[        R                  " [        SS9   SUR
                  S'   S S S 5        [        R                  " [        SS9   SUR                  S'   S S S 5        [        R                  " [        SS9   SUR                  S'   S S S 5        [        R                  " [        SS9   SUR                  S'   S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nb= f! , (       d  f       g = f)	N)r   r   r   )r      r   )r#   BInvalid valuematchg333333?)r   r3   )r   r   )	r   copyr-   raises	TypeErroratr   iatiloc)origdfs     r$   
test_37477r?   1   s    9956D	B	y	8f 
9 
y	8v 
9 
y	8t 
9 
y	8 
9	8 
9	8 
9	8 
9	8 
9	8s/   C(-C9D
D(
C69
D

D
D)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   r7   r:   r<   )
indexer_alstartt1t2dtir=   r>   s          r$   	test_6942rL   C   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        [
        R                  " [        S	S
9   SU " U5      S'   S S S 5        g ! , (       d  f       N<= f! , (       d  f       g = f)N)r#   r3   CrE   r   Dr   )rN   rP   )r   r   r   )rE   r   r4   r5   g     @F@hello)r   r   int64tmassert_frame_equalr-   r8   r9   )rG   r>   expecteds      r$   
test_26395rV   U   s    		)BBsG JrN8#y)QH"'	y	8#'
2x  
9 
y	8#*
2x  
9	8 
9	8 
9	8s   *B,B=,
B:=
C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)rF   r   r   )rY   rZ      )r   rE   )r   r   r   r    r   rR   r!   float64objectrS   assert_series_equal)r>   
exp_dtypess     r$   
test_15231r`   e   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   rY   rZ   )r   r   r   r   )
r   r   arrayr   r7   valuesreshaper<   rS   rT   )r>   r=   rc   s      r$   .test_iloc_setitem_unnecesssary_float_upcastingre   r   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   r7   r   nanr   r   r   rS   rT   )tsdatar=   r>   rU   s        r$   
test_12499rn      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   )rY   rZ   cr   rD   )r   r         @)r   r   r   )r   r   r   )rr   rr   rr   )rq   rq   rq   )r   r   r   r   r2   r   r   rO   )r   from_productr   rangerF   r   r   r   rR   r\   rS   r^   r    )mir>   fillerrU   r_   s        r$   
test_20476rw      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_testingrS   r
   r?   rL   rV   r.   xfailr`   re   rn   rw   r(   r'   r$   <module>r~      s        . .4$$+  +,	2 -	2$" 45( 6(.2r'   