
    d                        d Z ddlZddlZddlZddlmZmZmZm	Z	m
Z
mZ ddlmZ  G d d          Zd Zd Zd Zej                            d	
          d             Zd Zej                            d
          d             Zd ZdS )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                   Z    e Zd Zej                            dddg          d             ZdS )TestDataFrameSetitemCoercionconsolidateTFc                     t          t          j        dt          j                            }t	          j        ||gdddg          }|r|                                }t          j        dt          j                  |j        dddt          dd          ff<   |j
        t          j        k                                    sJ t          j        dt          j                  |j        d	d
dt          dd          ff<   |j
        t          j        k                                    sJ t          j        dt          j                  |j        d d dt          dd          ff<   |j
        t          j        k                                    sJ d S )N)      dtype      )axiskeys)r   r      )r   r   r   r   )r   npzerosfloat32pdconcat_consolidateoneslocslicedtypesall)selfr   As      e/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/frame/indexing/test_coercion.py#test_loc_setitem_multiindex_columnsz@TestDataFrameSetitemCoercion.test_loc_setitem_multiindex_columns   sY    bhvRZ88899Iq!f1Aq6222 	!  A')wvRZ'H'H'HacAuQ{{##$BJ&++-----')wvRZ'H'H'HacAuQ{{##$BJ&++-----%'WV2:%F%F%Faaa!U1a[[!!"BJ&++-------    N)__name__
__module____qualname__pytestmarkparametrizer$    r%   r#   r
   r
      sD        []T5M::. . ;:. . .r%   r
   c                     t          g dg dd          } t          g dg dd          }|                                 }d|j        d<   t          j        ||           |                                 }d|j        d<   t          j        ||           |                                 }d|j        d<   t          j        ||           |                                 }d|j        d<   t          j        ||           d S )N)r   r   r   )r      r   )r"   B)r   333333?r   r0   )r   r/   )r   r   )r   copyattmassert_frame_equalr   iatiloc)origexpecteddfs      r#   
test_37477r:   0   s    9999995566Dyyy{{{;;<<H	BBE&M"h'''	BBF6N"h'''	BBF4L"h'''	BBGDM"h'''''r%   c                 8   t          d          }t          d          }t          d          }t          |d          }t          |ddg          }|                                }| | |          |df<   d	|d<   ||j        |df<   |j        d
         |k    sJ d S )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   r1   r2   r6   )
indexer_alstartt1t2dtir7   r9   s          r#   	test_6942rG   F   s    l##E	/	0	0B	/	0	0B
UA
&
&
&C3F(;<<<D	B')JJrNN5)#$BvJ BE%
74=Br%   c                    t          g d          }d|d<   d | |          d<   t          dg dig dt          j                  }t          j        ||           d	 | |          d<   t          dg d
ig dt          j                  }t          j        ||           d | |          d<   t          dg dig dt                    }t          j        ||           d S )N)r"   r/   Cr@   r   Dr   )rI   rK   )r   r   r   )r@   r        @F@)r   r   rL   hello)r   r   rM   )r   r   int64r3   r4   float64object)rB   r9   r8   s      r#   
test_26395rQ   X   s    		)	)	)BBsG JJrNN8#yyy)QQQH"h'''#JJrNN8#|||,OOO2:VVVH"h'''&JJrNN8#/fUUUH"h'''''r%   zunwanted upcast)reasonc                     t          ddgddggddg          } t          dd	d
          | j        d<   | j        t          j        k                                    sJ t          ddi          | j        d<   t          t          j        t          j        gt          ddg          }t          j
        | j        |           d S )Nr   r   r   r.   ab)rA   r   r   )rT   rU      )r   r@   )r   r   r   r   r   rN   r    rO   rP   r3   assert_series_equal)r9   
exp_dtypess     r#   
test_15231rY   j   s    	QFQF#c3Z	8	8	8BQQ''((BF1II!&&(((((Qx  BF1I 2:.fS#JOOOJ29j11111r%   c                  d   t          t          j        ddgt          j                  t          j        ddgt          j                  ddgd          } |                                 }| d	         j                            dd          }|| j        d d d	df<   t          j	        | |           d S )
Nr   r   r   r   r.   rT   rU   )r   r   r   r   )
r   r   arrayr   r1   valuesreshaper6   r3   r4   )r9   r7   r\   s      r#   .test_iloc_setitem_unnecesssary_float_upcastingr^   w   s    	xAbj111xAbj111Sz	
 	

 
B 7799DU\!!!Q''FBGAAAqsFO"d#####r%   zunwanted casting to dt64c                     t          dd          } d| dg}t          |          }|                                }t          j        t
          g|j        d<   t          dt          j        gt          | t
          gd          d          }t          j	        ||           d| dg}|                                }t          j        t
          g|j        dd d f<   t          j	        ||           d S )	Nz2016-03-01 03:13:22.98986UTC)tzr   )onetwor   zdatetime64[ns, UTC]r   )
r   r   r1   r   nanr   r   r   r3   r4   )tsdatar7   r9   r8   s        r#   
test_12499rg      s     
.5	9	9	9Bb!!"DT??D	BBF1IBFFB9<Q$R$R$RSS H "h'''b!!"D	BFC=BF1aaa4L"h'''''r%   c            	      >   t          j        ddgg dg          } t          dt          d          |           }t          g dgdz  t          d          g d          }||d<   t          g dg d	g d
g dg dg dd          }| |_        t          t          j        t          j                  gdz  t          j        t          j	                  gz   t          j        t          j                  gdz  z   |           }t          j        |j        |           d S )Nr"   r/   )rT   rU   cr   r?   )r   r         @)r   r   r   )r   r   r   )rk   rk   rk   )rj   rj   rj   )r   r   r   r   r.   r   r   rJ   )r   from_productr   rangerA   r   r   r   rN   rO   r3   rW   r   )mir9   fillerr8   rX   s        r#   
test_20476rp      s1   		 3*ooo!>	?	?B	2U1XXr	2	2	2B}q(a///RRRFBsGyyyy||||||	
 	
	 	H H	"(		q BHRZ$8$8#99RXbh=O=O<PST<TT  J 29j11111r%   )__doc__numpyr   r)   pandasr   r   r   r   r   r   r   pandas._testing_testingr3   r
   r:   rG   rQ   r*   xfailrY   r^   rg   rp   r,   r%   r#   <module>rw      ss                                 . . . . . . . .4( ( (,  $( ( ($ +,,	2 	2 -,	2$ $ $" 455( ( 65(.2 2 2 2 2r%   