o
    թZh                     @   sH  d dl m Z  d dlZd dlZd dlm  mZ d dlm	Z
 d dlmZ d dlmZmZmZmZ d dlZd dlmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z# d dl$m%Z& d dl'm(Z( d dl)m*Z* G d	d
 d
Z+G dd dZ,G dd dZ-G dd dZ.G dd dZ/G dd dZ0G dd dZ1dd Z2dd Z3dS )    )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                   @   sp  e Zd Zdd Zejdg ddd Zdd Zd	d
 Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zejded ed!fed"d#d$ed%d&fed'd(d)ed*d(d+fgd,d- Zejd.d/d0 ejD d1d2g d3d4 Zd5d6 Zejd7g d8d9d: Zejd7g d8d;d< Z d=d> Z!d?d@ Z"dAdB Z#dCdD Z$ejdg dEdFdG Z%ejdHdIdIggdJdK Z&dLdM Z'dNdO Z(ejdPg dQg dRgdSdT Z)dUdV Z*dWdX Z+dYdZ Z,d[d\ Z-d]d^ Z.ejd_g d`g dadbfg dcg dadbfg ddg dadbfg deg dfdgfg dhg didjfg dkg didlfgdmdn Z/dodp Z0ejdqg drdse1g dtg dtg dtgg drdufdvdwgdsdxge1g dyg dzg d{gg drdufg d|e2j3g d}e2j4d~e1g d}g d}g d}gg d|dufg dg d}g dg dge1g dg dg dgg drdufg de2j3g d}g dg dge2j4d~e1g dg dg dgg drdufddvge1dsdxgddgddggddvgdue1g dg dg dgg d|dufgdd Z5dd Z6dd Z7dd Z8dd Z9dd Z:dd Z;e<j=dd Z>ejdi ddigdd Z?dd Z@dd ZAdd ZBdd ZCdd ZDdd ZEdS )TestDataFrameSetItemc                 C   sv   G dd dt }dg}t|}tddgi|d}d|d< d	||d
< tddgddg|d
d	gi|d}t|| d S )Nc                   @   s   e Zd ZdS )z@TestDataFrameSetItem.test_setitem_str_subclass.<locals>.mystringN)__name__
__module____qualname__ r   r   _/var/www/html/lang_env/lib/python3.10/site-packages/pandas/tests/frame/indexing/test_setitem.pymystring-   s    r!   z2020-10-22 01:21:00+00:00a   index   b   c)strr   r
   tmZassert_equal)selfr!   datar%   dfexpectedr   r   r    test_setitem_str_subclass+   s   "z.TestDataFrameSetItem.test_setitem_str_subclassdtype)int32int64uint32Zuint64float32float64c                 C   sD   t jdddt|}t j||d||< || jj|ks J d S )Nr&   r#   
   r1   )nprandomdefault_rngintegerslenarrayr1   name)r,   r1   float_framearrr   r   r    test_setitem_dtype8   s   z'TestDataFrameSetItem.test_setitem_dtypec                 C   s@   t jdt|df}||ddg< t|ddg j| d S )Nr&   AB)r9   r:   r;   standard_normalr=   r+   Zassert_almost_equalvalues)r,   r@   r-   r   r   r    test_setitem_list_not_dataframeB   s   z4TestDataFrameSetItem.test_setitem_list_not_dataframec                 C   s*  t g dg ddtg dddd}tg dtg d	ddd
d}d}tjt|d ||d< W d    n1 s:w   Y  t tjd	dddg dd}d}tjt|d |
ddg |d< W d    n1 sow   Y  d}tjt|d t  |d< W d    d S 1 sw   Y  d S )Nr#   r&   r(   )def)barZbazr"   r'   r)   foor?   r$   )ghij)r"   r'   r)   r"   Zfizr%   r?   z/cannot reindex on an axis with duplicate labelsmatchZnewcolr&   r   )   rW   r"   r'   r)   rI   columnszDCannot set a DataFrame with multiple columns to the single column grr'   r)   grz7Cannot set a DataFrame without columns to the column gr)r
   r   r   pytestraises
ValueErrorr9   r:   r;   r<   groupbycount)r,   r.   sermsgr   r   r    test_setitem_error_msmgsG   s2   
"z-TestDataFrameSetItem.test_setitem_error_msmgsc                 C   sn   d}d}t t|d}tjd|}t|D ]}|||< qt t||||t|d}t	|| d S )Nr7      r$   r&   )
r
   ranger9   r:   r;   rE   repeatZreshaper+   assert_frame_equal)r,   NKr.   Znew_colrR   r/   r   r   r    test_setitem_benchmarke   s   
 z+TestDataFrameSetItem.test_setitem_benchmarkc                 C   sF  t tjddtdg dd}|dd|d  |dd	|d
  |d d|d< |j}t	t
dgd t
dg g dd}t|| |d d|d< |j}t	t
dgd t
dgd  g dd}t|| |d d|d< |j}t	t
dgd t
dgd  t
dg g dd}t|| d S )Nr&   rd   r(   rd   )r)   r'   r"   r%   rZ   r   rN   r"   rL   r)   r5   xr6   )rN   r)   rL   r'   r"   rm   r$   rW   r2   y)rN   r)   rL   r'   r"   rm   rn   )r
   r9   r:   r;   rE   arangeinsertastypedtypesr   r1   r+   assert_series_equalr,   r.   resultr/   r   r   r    test_setitem_different_dtypep   s8   *z1TestDataFrameSetItem.test_setitem_different_dtypec                 C   sL   t g dd}|j|d< g d|d< t dg dig dd}t|| d S )NrC   rD   Cr$   Xrm   rn   z)r-   r%   )r
   r%   r+   rg   r,   r.   expr   r   r    test_setitem_empty_columns   s
   
z/TestDataFrameSetItem.test_setitem_empty_columnsc                 C   sF   t dddd}ttt|d}||d< |d jtdks!J d S )Nz1/1/2000 00:00:00z1/1/2000 1:59:50Z10s)freqr$   rC   M8[ns])r   r
   r9   ro   r=   r1   )r,   rngr.   r   r   r    %test_setitem_dt64_index_empty_columns   s   z:TestDataFrameSetItem.test_setitem_dt64_index_empty_columnsc                 C   sX   t tdd}tdddd|d< t tdddggd g ddgd	}t|| d S )
Nr(   r$   Z20130101UTCtznsnowr   r#   r&   rl   )r
   re   r   Zas_unitr+   rg   r,   r.   r/   r   r   r    $test_setitem_timestamp_empty_columns   s   z9TestDataFrameSetItem.test_setitem_timestamp_empty_columnsc                 C   s|   t g dg d}ttddgd}dt| dt| d}tjt|d	 ||d
< W d    d S 1 s7w   Y  d S )N)r   r#   r#   r   r#   r&   rM   r7   rL   rY   zLength of values \(z$\) does not match length of index \(z\)rU   rN   )r	   Z
from_codesr
   re   r=   r\   r]   r^   )r,   catr.   rb   r   r   r    2test_setitem_wrong_length_categorical_dtype_raises   s   
"zGTestDataFrameSetItem.test_setitem_wrong_length_categorical_dtype_raisesc                 C   sJ   t g dg dd}tg d}||d< t|dd}t|d | d S )NrM         ?       @      @Zc_1Zn_1r   r   r#   
new_columnrO   )r
   r   r   r+   rs   )r,   r.   Zsp_arrayr/   r   r   r    test_setitem_with_sparse_value   s
   z3TestDataFrameSetItem.test_setitem_with_sparse_valuec                 C   s^   t g dg dd}ttg dg dd}||d< ttg ddd	}t|d | d S )
NrM   r   r   r   )r&   r#   r   r$   r   )r#   r   r   rO   )r
   r   r   r+   rs   )r,   r.   Z	sp_seriesr/   r   r   r    (test_setitem_with_unaligned_sparse_value   s
   z=TestDataFrameSetItem.test_setitem_with_unaligned_sparse_valuec                 C   s8   t ddg}tg }||d< td|i}t|| d S )Nz2003-12Dr"   )r   r
   r+   rg   )r,   r-   ru   r/   r   r   r    #test_setitem_period_preserves_dtype   s
   z8TestDataFrameSetItem.test_setitem_period_preserves_dtypec                 C   s   t tg dddtg dtdtg dtdtg dddd}t tg ddtg tdtg tdtg ddd}tg dD ]\}}t|t|t|t|d|j|jd < q@t	
|| d S )Nr   r3   r8   rH   r4   rX   r   )r
   r   float	enumerateintr9   r4   locshaper+   rg   )r,   r/   r.   idxr'   r   r   r    "test_setitem_dict_preserves_dtypes   s*   



z7TestDataFrameSetItem.test_setitem_dict_preserves_dtypesz	obj,dtypez2020-01Mr   rd   )leftrightr3   r   z
2011-01-01z
US/Easternr   s)unitr   c                 C   sH   t g dt|gd |dd}t dg di}||d< t|| d S )NrH   r(   r8   )r   objr   r   r
   r   r+   rg   )r,   r   r1   r/   r.   r   r   r    test_setitem_extension_types   s    z1TestDataFrameSetItem.test_setitem_extension_typesea_namec                 C   s   g | ]}t |jts|jqS r   )
isinstancer?   property).0r1   r   r   r    
<listcomp>  s    
zTestDataFrameSetItem.<listcomp>zdatetime64[ns, UTC]	period[D]c                 C   s8   t dg}dg||< t ddg|dgi}t|| d S )Nr   r#   r
   r+   rg   )r,   r   ru   r/   r   r   r    test_setitem_with_ea_name  s   

z.TestDataFrameSetItem.test_setitem_with_ea_namec                 C   s   t jddgdd}t| }||d< tdd gdd gddd}t|| t jddgdd}||d< t|d |d  t|d 	 | d S )	Nr#   Znatdatetime64[ns]r8   new)r   r   datetime64[s]r   )
r9   r>   r   Zto_framer
   r+   rg   rs   assert_numpy_array_equalZto_numpy)r,   Zdata_nsru   r/   Zdata_sr   r   r    6test_setitem_dt64_ndarray_with_NaT_and_diff_time_units  s   zKTestDataFrameSetItem.test_setitem_dt64_ndarray_with_NaT_and_diff_time_unitsr   )rQ   mr   msr   r   Yc                 C   s   d}t d| d}t j|t jd|}|dv r|}n|d}tdt |it |d}|||< || j|jks>J || j|k sIJ d S )	Nd   M8[]r8   )r   r   r   intsr$   	r9   r1   ro   r3   viewrq   r
   rF   allr,   r   nr1   valsZex_valsr.   r   r   r    -test_frame_setitem_datetime64_col_other_units#  s   
zBTestDataFrameSetItem.test_frame_setitem_datetime64_col_other_unitsc                 C   s   d}t d| d}t j|t jd|}|d}tdt |it |d}t j|t jdd|d	< ||d	< |d	 j|k sEJ d S )
Nr   r   r   r8   r   r   r$   r   datesr   r   r   r   r    6test_frame_setitem_existing_datetime64_col_other_units8  s   
zKTestDataFrameSetItem.test_frame_setitem_existing_datetime64_col_other_unitsc                 C   s  |}|d  d}||d< t|d t|dd d|d< ||d< t|d t|dd |d= |jjd }|jjd }t|| |jj}|jj}|s[|d u sZt	|t	|ksZJ n
t	|t	|kseJ |
 }	t|	jd< t|	jd	< |	d }
tt|
tg d
dd t|	j|j d S )NrD   rN   rx   rO   r   r#   r&   )r#   r#   r#   r&   )TFT)renamer+   rs   r   _mgrZarraysZassert_extension_array_equalZ_ndarraybaseidcopyr   ilocr   rr   )r,   Ztimezone_frameusing_copy_on_writer.   r   v1v2Zv1baseZv2basedf2ru   r   r   r    test_setitem_dt64tzI  s.   

z(TestDataFrameSetItem.test_setitem_dt64tzc                 C   s   t dddd}ttjdd|d}||d< t|d }tj||d	d
 |j	dks-J |j	dks4J |
 d}t|jtsCJ t|j| d S )Nz1/1/2000rd   r%   )periodsr?   r&   rk   r$   r   FZcheck_names)r   r
   r9   r:   r;   rE   r   r+   assert_index_equalr?   Zreset_index	set_indexr   r%   r   )r,   r   r.   rsr   r   r    test_setitem_periodindexk  s   z-TestDataFrameSetItem.test_setitem_periodindexc                 C   s   t g dg dd}tddgddgddgg}||ddg< t g dg dg d	g d
d}|d |j|d< |d |j|d< |d j|jksNJ |d j|jksXJ t|| d S )N)onetwothreerH   r"   r'   r#   r(   rd   r)   rI   r#   r(   rd   r#   r#   r#   rX   )r
   r9   r>   rq   r1   r+   rg   r,   r.   rA   r/   r   r   r    'test_setitem_complete_column_with_arrayy  s   z<TestDataFrameSetItem.test_setitem_complete_column_with_arrayc                 C   sL   t ddddd}t|}tdg didd}|j|jd d < t|| d S )	Nz
2016-01-01	   r   rC   )r   r   r?   )	r   r   r   r   r   r   r   r   r   r   r8   )r   r
   Z	_na_valuer   r+   rg   )r,   r   ru   r/   r   r   r    test_setitem_period_d_dtype  s   
z0TestDataFrameSetItem.test_setitem_period_d_dtype)f8i8u8c                 C   sp   t g d|d}ttjdd|d}g d|d< t g dtd}|d	kr/t g d
td}t|j	| d S )NrH   r8   r&   )r(   r(   rY   rM   F)r#   r&   r(   Fr   )r   r   r   F)
r   r
   r9   r:   r;   rE   objectr+   r   rZ   )r,   r1   colsr.   Zexpected_colsr   r   r    $test_setitem_bool_with_numeric_index  s   z9TestDataFrameSetItem.test_setitem_bool_with_numeric_indexindexerrD   c                 C   sb   t ddgd}t dddgi}|||< t tjgd ddgd}|d d|d< t|| d S )NrC   rD   rY   r#   r&   rC   rD   r   )r
   r9   nanrq   r+   rg   )r,   r   r.   otherr/   r   r   r    #test_setitem_frame_length_0_str_key  s   z8TestDataFrameSetItem.test_setitem_frame_length_0_str_keyc              	   C   s   g dd }t td|d}d|jd< d|jd d df< d	|d
< t g dtjddtjddgtjddtjddggdd}|d tj|d< |d tj|d< ||_t	|| d S )Nrw   r&   r(   rl   )r   r(   )r   rC   )r#   rW   rD   r&   rd   rx   )r   r#   r&   r(   rW   rd   r#   rW   rd   r   r8   )
r
   re   r   r9   r   rq   r3   rZ   r+   rg   )r,   r   r.   r/   r   r   r    $test_setitem_frame_duplicate_columns  s    

z9TestDataFrameSetItem.test_setitem_frame_duplicate_columnsc                 C   s   g dd }t td|d}tjtdd d|dg< W d    n1 s%w   Y  |jd d d df }tjtdd d|dg< W d    d S 1 sMw   Y  d S )	Nrw   r&   r(   rl   "Columns must be same length as keyrU   )r   r(   rd   rC   )r
   re   r\   r]   r^   r   )r,   r   r.   r   r   r   r    2test_setitem_frame_duplicate_columns_size_mismatch  s   "zGTestDataFrameSetItem.test_setitem_frame_duplicate_columns_size_mismatchr   rM   )r"   r"   r"   c                 C   sh   t g dg|d}t ddggddgd}d}tjt|d ||d	< W d    d S 1 s-w   Y  d S )
NrH   rY   r7      rI   rJ   r   rU   r"   r
   r\   r]   r^   )r,   r   r.   rhsrb   r   r   r    #test_setitem_df_wrong_column_number  s   
"z8TestDataFrameSetItem.test_setitem_df_wrong_column_numberc                 C   s   t g dgg dd}t g dgg dd}||ddg< t g dgg dd}t|| ||ddg< t g dgg d	d}t|| d S )
NrH   r"   r'   r'   rY   r7   r      r"   r'   r)   )r7   r   r   r7   )r"   r'   r'   r)   r   r,   r.   r   r/   r   r   r    /test_setitem_listlike_indexer_duplicate_columns  s   zDTestDataFrameSetItem.test_setitem_listlike_indexer_duplicate_columnsc                 C   sp   t g dgg dd}t ddggddgd}d}tjt|d	 ||ddg< W d    d S 1 s1w   Y  d S )
NrH   r   rY   r7   r   r"   r'   r   rU   r   )r,   r.   r   rb   r   r   r    @test_setitem_listlike_indexer_duplicate_columns_not_equal_length  s   "zUTestDataFrameSetItem.test_setitem_listlike_indexer_duplicate_columns_not_equal_lengthc                 C   s  t dtdi}t|d d}t|jjtsJ ||d< t||d< |j	|d< t|j	|d< |
t|d< t|d jtsAJ t|d jjjtsMJ t|d jtsWJ t|d jjjtscJ t|d jtsmJ t|d jtswJ t|d sJ d	d
 }t||j||j tj||j||jdd tj||j||jdd tj||j||jdd t|d |d  tj|d |d dd t|d |d  tj|d |d dd d S )NrC   r7   rd   rD   rx   r   EFc                 S   s   t t| S N)r   r9   r>   rm   r   r   r    <lambda>  s    z=TestDataFrameSetItem.test_setitem_intervals.<locals>.<lambda>Fr   )r
   re   r   r   r   
categoriesr   r9   r>   rF   rq   r   r1   r   r   r   r+   r   rD   rx   r   rs   )r,   r.   ra   r)   r   r   r    test_setitem_intervals  s0   
z+TestDataFrameSetItem.test_setitem_intervalsc                 C   s\   t dttddi}|jjddg|_t dtddgddgi}t	|| d S )NrQ   Zmncategoryr   r   )
r
   r   listrq   rQ   r   Zreorder_categoriesr	   r+   rg   r   r   r   r    test_setitem_categorical  s   z-TestDataFrameSetItem.test_setitem_categoricalc                 C   sD   t g dd}tdg|d}g |d< tdg|d}t|j|j d S )Nr   rO   rC   rZ   r%   )r   r
   r+   r   r%   )r,   r%   ru   r/   r   r   r     test_setitem_with_empty_listlike#  s
   z5TestDataFrameSetItem.test_setitem_with_empty_listlikezcols, values, expected)rx   r   r   r"   r#   r&   r(   rW   rW   )r   rx   r   r"   )rx   rD   rD   r"   )rx   rD   r"   rH   r(   )rD   rx   r"   )r(   r&   r#   r#   )rx   r"   rD   r&   c                 C   s8   t |g|d}|d |d< |d jd }||ksJ d S )NrY   r"   r   )r
   rF   )r,   r   rF   r/   r.   ru   r   r   r    test_setitem_same_column+  s   z-TestDataFrameSetItem.test_setitem_same_columnc                 C   s8  g dddgg df}t |}tddd}tjdd	d
t|t|f}t|||d}|j	j
 |d d d  }}tjd| |d j|d d df |d< t|d |d  tjd| |d j||f |d< t|d |d  tjd| |d j||f |d< t|d |d  d S )N)jimjoejoliefirstlast)r   centerr   Z20141006   )r   r&   r#   i  r  r	  r  )r	  r  )r  r
  )r	  r
  )r  r  )r   Zfrom_productr   r9   r:   r;   r<   r=   r
   r%   rF   r   shuffler   r+   rg   )r,   itr   r%   r   r.   rR   rS   r   r   r    test_setitem_multi_index=  s   
"z-TestDataFrameSetItem.test_setitem_multi_indexzcolumns,box,expected)rC   rD   rx   r      )r  r  r  r  rY   rx   r      )r#   r&   r  r  )r(   rW   r  r  rd      r  r  rw   )r  r  r   r8   )rD   rx   r   r   )         )r#   r  r  r   )r(   r7   r   r   )rd   r  r  r  )rx   rC   r   )r  r&   r  r   )r   rW   r7   r   )r  r  r  r  rC   r   r7   r   r   )r  r&   r  )r   rW   r7   )r   r  r   c                 C   s:   t ddgddgddggddgd	}|||< t|| d S )
Nr#   r&   r(   rW   rd   r  rC   rD   rY   r   )r,   rZ   boxr/   r.   r   r   r    !test_setitem_list_missing_columnsU  s   "3z6TestDataFrameSetItem.test_setitem_list_missing_columnsc                 C   sF   t t|d |d }||d< |d }t||jdd}t|| d S )NrC   rD   tuplesrT   )r  zipr   r%   r+   rs   )r,   r@   r  ru   r/   r   r   r    test_setitem_list_of_tuples  s
   z0TestDataFrameSetItem.test_setitem_list_of_tuplesc                 C   sT   t g dg dd}dd dD }d|j|< t g dg d	d}t|| d S )
NrH   rW   rd   r  r   c                 s       | ]}|V  qd S r   r   r   rm   r   r   r    	<genexpr>      zCTestDataFrameSetItem.test_setitem_iloc_generator.<locals>.<genexpr>r   r#   r   rW   r#   r#   r
   r   r+   rg   r,   r.   r   r/   r   r   r    test_setitem_iloc_generator  s
   
z0TestDataFrameSetItem.test_setitem_iloc_generatorc                 C   sX   t g dg dd}dd dD }d|j|df< t g dg dd}t|| d S )	NrH   r  r   c                 s   r  r   r   r   r   r   r    r!    r"  zSTestDataFrameSetItem.test_setitem_iloc_two_dimensional_generator.<locals>.<genexpr>r   r#   r#  r$  r%  r   r   r    +test_setitem_iloc_two_dimensional_generator  s
   z@TestDataFrameSetItem.test_setitem_iloc_two_dimensional_generatorc                 C   s   t ddd}t|d}t d|tjd|d< t d|dd|d< t d	|dd|d	< t d
|tjd|d
< |j}t tjtttjgtdd}t	|| d S )Nr   ZS24)r?   r1   r$   r"   )r?   r%   r1   r'   ZS64r)   rI   abcd)
r   r
   r9   r4   Zuint8rr   r   r  r+   rs   )r,   r%   r.   ru   r/   r   r   r    (test_setitem_dtypes_bytes_type_to_object  s   
z=TestDataFrameSetItem.test_setitem_dtypes_bytes_type_to_objectc                 C   s   t ddgddgdddd}td|jd	}|d
 |j|d
f< |d |j|df< t ddgddgdddd}t|| d S )Nr(   rW   rd   r  r   r3   Int64Fr$   r"   r'   )r
   rq   r   r%   r   r+   rg   )r,   ru   maskr/   r   r   r     test_boolean_mask_nullable_int64  s   z5TestDataFrameSetItem.test_boolean_mask_nullable_int64c                 C   sH   t dddgi}tddgdd|d< t dddgidd}t|| d S )Nr"   r#   r&   r*  r8   r   r   r   r   r     test_setitem_ea_dtype_rhs_series  s   z5TestDataFrameSetItem.test_setitem_ea_dtype_rhs_seriesc                 C   s   t tdtddtdd}td}t tdd}||d< tt t||d< W d    n1 s:w   Y  t|| d S )Nr7   )np-array	np-matrixr$   )r7   r#   r.  r/  )	r
   r9   onesro   r+   assert_produces_warningPendingDeprecationWarningmatrixrg   )r,   r/   r"   r.   r   r   r    test_setitem_npmatrix_2d  s   
z-TestDataFrameSetItem.test_setitem_npmatrix_2dr   rI   r"   c                 C   s   t ddgddgd|}ddd|jd d d	f< d
dd|jd d df< dd
i|jd d df< t ddgddgd|d
dgtjd
gd}t|| d S )Nr#   r&   r(   rW   r   r      )r#   r   r"   rd   r  r   r#   r)   rJ   )r)   rJ   )r
   r   r9   r   r+   rg   )r,   r   r.   r/   r   r   r    %test_setitem_aligning_dict_with_index  s   (z:TestDataFrameSetItem.test_setitem_aligning_dict_with_indexc                 C   s   t dddgi}t dddgiddgd|d< t dtjdgi}t|| t dddgi}|dt dddgiddgd t|| d S )Nr"   r#   r&   r7   r   r$   r   )r
   r9   r   r+   rg   Zisetitemr   r   r   r    test_setitem_rhs_dataframe  s    z/TestDataFrameSetItem.test_setitem_rhs_dataframec                 C   sb   t ddgddgddggd}t ddd	gi|d
|d< t tdd	g|d
ddgd}t|| d S )Nr"   r'   r#   r&   r(   rW   rZ   r-   r7   r   r8   r   r   r,   Zany_numeric_ea_dtyper.   r/   r   r   r    *test_setitem_frame_overwrite_with_ea_dtype  s   z?TestDataFrameSetItem.test_setitem_frame_overwrite_with_ea_dtypec                 C   s   t d tdddgi}tdd tddgtd|d< W d    n1 s(w   Y  tddgtddgtdd	}t	|| d S )
NZpyarrowr"   r#   r&   zfuture.infer_stringTr'   r8   r   )
r\   Zimportorskipr
   pdZoption_contextr   r   r   r+   rg   r   r   r   r    'test_setitem_string_option_object_index  s   
z<TestDataFrameSetItem.test_setitem_string_option_object_indexc                 C   s8   t ddgi}| }d}||g ||< t|| d S )Nr   r7   r
   r   r+   rg   )r,   r.   r/   Zcol_namer   r   r    test_setitem_frame_midx_columns  s
   z4TestDataFrameSetItem.test_setitem_frame_midx_columnsc                 C   s   t dtjdgddi}tdgdd|jd d df< t dtjdgddi}t|| t dtjdgddi}tdgdd|jd d df< t|| d S )Nr"   r7   r   r8   r   r*  r   )r
   r9   r>   r   r   r+   rg   r   r   r   r   r    test_loc_setitem_ea_dtype
  s   z.TestDataFrameSetItem.test_loc_setitem_ea_dtypec                 C   s   t tdgtd}tddgi}tjtdd ||jd d df< W d    n1 s+w   Y  tjtdd ||d< W d    n1 sFw   Y  tdgttdgd	dttdgd	dd
}t	|| d S )Nz
2019-12-31r8   r"   r#   ZinferrU   r'   r)   r   rM   )
r   r   r   r
   r+   r1  FutureWarningr   r   rg   )r,   r   r.   r/   r   r   r    test_setitem_object_inferring  s   
z2TestDataFrameSetItem.test_setitem_object_inferringN)Fr   r   r   r0   r\   markparametrizerB   rG   rc   rj   rv   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ea_registryrr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r
   r9   r>   r3   r  r  r&  r'  r)  r,  r-  tdZ&skip_array_manager_not_yet_implementedr4  r7  r8  r;  r=  r?  r@  rB  r   r   r   r    r   *   s   
%
	



	



"

	
,	
		 	 	 
1

	r   c                   @   s@   e Zd Zejdd Zejdd Zdd Zdd Zd	d
 Z	dS )TestSetitemTZAwareValuesc                 C   s   t ddgdd}|d}|S )Nz2013-1-1 13:00z2013-1-2 14:00rD   rO   z
US/Pacific)r   tz_localize)r,   Znaiver   r   r   r    r   )  s   
zTestSetitemTZAwareValues.idxc                 C   s.   t tj| dddd}|j|jksJ |S )Nr   r8   rD   rO   )r   r9   r>   tolistr1   )r,   r   r/   r   r   r    r/   /  s   z!TestSetitemTZAwareValues.expectedc                 C   sp   t tjdddgd}||d< |jddgdjd |d< |d }t|d		d dd
}t
|| d S )Nr&   r&   r#   rC   rY   rD   r   r#   r$   r   rO   )r
   r9   r:   r;   rE   Z	to_seriesdtZ
tz_convertr   rH  r+   rs   )r,   r   r/   r.   ru   compr   r   r    test_setitem_dt64series5  s   z0TestSetitemTZAwareValues.test_setitem_dt64seriesc                 C   s<   t tjdddgd}||d< |d }t|| d S Nr&   rJ  rC   rY   rD   )r
   r9   r:   r;   rE   r+   rs   r,   r   r/   r.   ru   r   r   r    test_setitem_datetimeindex?  s   z3TestSetitemTZAwareValues.test_setitem_datetimeindexc                 C   s@   t tjdddgd}| |d< |d }t|| d S rN  )r
   r9   r:   r;   rE   Zto_pydatetimer+   rs   rO  r   r   r    .test_setitem_object_array_of_tzaware_datetimesH  s   zGTestSetitemTZAwareValues.test_setitem_object_array_of_tzaware_datetimesN)
r   r   r   r\   Zfixturer   r/   rM  rP  rQ  r   r   r   r    rG  (  s    


	rG  c                   @   s\   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd ZdS )!TestDataFrameSetItemWithExpansionc                 C   s   t g dg dd}|d }tddgddgdd	gg|d
dg< t| d|jd< W d    n1 s6w   Y  |rFtg ddd}ntg ddd}t|| d S )NrH   )rW   rW   r  r   r"   g?g?g333333?g?      ?r)   rI   r   )r   r   rO   )r   r&   r(   )r
   r9   r>   r+   Zassert_cow_warningr   r   rs   )r,   r   warn_copy_on_writer.   ra   r/   r   r   r    test_setitem_listlike_viewsS  s   $z=TestDataFrameSetItemWithExpansion.test_setitem_listlike_viewsc                 C   sL   t ddgddgg}ddg|d< t g dg d	gg d
d}t|| d S )Nr#   r&   r(   rW   rd   r  0 - Name)r#   r&   rd   )r(   rW   r  )r   r#   rV  rY   r   r   r   r   r    .test_setitem_string_column_numpy_dtype_raisingg  s   zPTestDataFrameSetItemWithExpansion.test_setitem_string_column_numpy_dtype_raisingc                 C   sb   t g ddd}ttd|jd d df< t dtjtjgdtjtjggg dd}t|| d S )	Nr   r6   rZ   r1   r&   r"   r   r#   rY   )r
   r  re   r   r9   r   r+   rg   )r,   r   r.   r/   r   r   r    'test_setitem_empty_df_duplicate_columnsn  s    zITestDataFrameSetItemWithExpansion.test_setitem_empty_df_duplicate_columnsc           	      C   s2  t dtjtjddddddi}tdd	 tddd
D }|jdgdd}t	|j
tddd
d|d}|j}||d< |j}ttdt|ddgddgd}t|| ||d< |j}ttdt|ddt|ddgg dd}t|| |d }|d }t|jj| d|_t| |  d S )Nvaluer&   r   i'  r   r2   r8   c                 S   s   g | ]}| d |d  qS )z - i  r   r   rR   r   r   r    r     s    zcTestDataFrameSetItemWithExpansion.test_setitem_with_expansion_categorical_dtype.<locals>.<listcomp>i  T)ZbyZ	ascendingi)  F)r   labelsr   )r   Zorderedr$   r   )rZ  r   r   )r
   r9   r>   r:   r;   r<   r	   re   sort_valuesr   rZ  rF   rr   r   r1   r   r+   rs   Zassert_categorical_equalr   r?   Z
sort_index)	r,   r.   r\  ra   r   ru   r/   Zresult1Zresult2r   r   r    -test_setitem_with_expansion_categorical_dtypew  s@   

zOTestDataFrameSetItemWithExpansion.test_setitem_with_expansion_categorical_dtypec                 C   s2   t  }d|d< t dgdtj}t|| d S )Nr#   rN   rY   )r
   rq   r9   r3   r+   rg   r   r   r   r    test_setitem_scalars_no_index  s   z?TestDataFrameSetItemWithExpansion.test_setitem_scalars_no_indexc                 C   sL   d|j vsJ |d |d< d|j v sJ |d }|d }tj||dd d S )Nr   rC   Fr   )rZ   r+   rs   )r,   r@   ru   r/   r   r   r    test_setitem_newcol_tuple_key  s   z?TestDataFrameSetItemWithExpansion.test_setitem_newcol_tuple_keyc                 C   sX   t ddt d}t|tdd}tddd}t|}tj||< t|| 	 s*J d S )	Nz1/1/2012z2/1/2012)startendr   r7   r  i  r   r#   )
r   r   r
   re   r   r   r9   r   isnanr   )r,   rZ   r-   ttsr   r   r    #test_frame_setitem_newcol_timestamp  s   
zETestDataFrameSetItemWithExpansion.test_frame_setitem_newcol_timestampc                 C   sh   t dddgi}|j|d< d|jddgdf< |jdgd d f }t dgdgddgd}t|| d S )	Nr"   r'   r   FTr#   r   r$   )r
   r%   r   r+   rg   rt   r   r   r    *test_frame_setitem_rangeindex_into_new_col  s   
zLTestDataFrameSetItemWithExpansion.test_frame_setitem_rangeindex_into_new_colc                 C   sh   t ddgddgddggd}t ddd	gi|d
|d< t ddgddgtdd	g|d
d}t|| d S )Nr"   r'   r#   r&   r(   rW   r9  r7   r   r8   r)   rM   r   r:  r   r   r     test_setitem_frame_keep_ea_dtype  s   zBTestDataFrameSetItemWithExpansion.test_setitem_frame_keep_ea_dtypec                 C   sp   t tdd}tjdddtjddddd|jd	< t td
tddggtd	gg dd}t|| d S )NabcrY   rd   r   )r   H   Z23rM   r   z0 days 00:00:05z0 days 00:01:12rl   )	r
   r  r<  Zto_timedeltar   Z	Timedeltar   r+   rg   )r,   ru   r/   r   r   r    &test_loc_expansion_with_timedelta_type  s   zHTestDataFrameSetItemWithExpansion.test_loc_expansion_with_timedelta_typeN)r   r   r   rU  rW  rY  r^  r_  r`  rf  rg  rh  rk  r   r   r   r    rR  R  s    	-		rR  c                   @   s   e Zd Zdd Zejdejej	gejde
ejeejgejdg ddd Zejde
ejeejgejdg dd	d
 Zejdejej	gejde
ejeejgejdg ddd ZdS )TestDataFrameSetItemSlicingc                 C   sH   t td}d|dd < td}d|dd < t |}t|| d S )N)r   r#   r#   )r
   r9   zerosr+   rg   r   r   r   r    test_setitem_slice_position  s   
z7TestDataFrameSetItemSlicing.test_setitem_slice_positionr   r  r   rH   c                 C   sp   t g dgg dg|  g dd}|g d||dd < t g dgg dg|  g dd}t|| d S Nr   r&   rW   r  rM   rY   r   r#   r   r,   r   r  r   r.   r/   r   r   r    +test_setitem_slice_indexer_broadcasting_rhs  s   $$zGTestDataFrameSetItemSlicing.test_setitem_slice_indexer_broadcasting_rhsc                 C   sx   t g dgg dg|  g dd}|g d|jttd|d < t g dgg dg|  g dd}t|| d S rp  )r
   r   r  re   r+   rg   )r,   r   r  r.   r/   r   r   r    *test_setitem_list_indexer_broadcasting_rhs  s   $ $zFTestDataFrameSetItemSlicing.test_setitem_list_indexer_broadcasting_rhsc                 C   s|   t g dg dgg dg|  g dd}|g d||dd < t g dgg dg|d   g ddd	}t|| d S )
Nr   rz   rq  rM   rY   r   r#   r   rX  r   rr  r   r   r    0test_setitem_slice_broadcasting_rhs_mixed_dtypes  s   "zLTestDataFrameSetItemSlicing.test_setitem_slice_broadcasting_rhs_mixed_dtypesN)r   r   r   ro  r\   rC  rD  r+   setitemr   r   r9   r>   r  r<  rs  rt  ru  r   r   r   r    rl    s    	rl  c                   @   s   e Zd Zdd Zdd ZdS )TestDataFrameSetItemCallablec                 C   sL   t g dg dd}g d|dd < t g dg dd}t|| d S )Nr  r  r   )r   r   r  r  c                 S   s   dS )NrC   r   r   r   r   r    r     s    zDTestDataFrameSetItemCallable.test_setitem_callable.<locals>.<lambda>r   r|   r   r   r    test_setitem_callable  s   z2TestDataFrameSetItemCallable.test_setitem_callablec                 C   sP   dd }t ddgddggtd}|||dk< t d|g|dgg}t|| d S )Nc                 S   s   | d S )Nr#   r   r   r   r   r    inc  s   zETestDataFrameSetItemCallable.test_setitem_other_callable.<locals>.incr  r#   r8   r   )r
   r   r+   rg   )r,   ry  r.   r/   r   r   r    test_setitem_other_callable  s
   z8TestDataFrameSetItemCallable.test_setitem_other_callableN)r   r   r   rx  rz  r   r   r   r    rw    s    rw  c                   @   s   e Zd Zejejjddd dd gddgddd	 Zejj	d
dejde
ejegdd Zejde
ejegdd Zejdejejgdd Zdd Zejdddgejdi ddgiddgigdd Zd d! Zd"d# Zd$d% Zd&S )'TestDataFrameSetItemBooleanMask	mask_typec                 C   s   | t | d kS Nr&   )r9   absr.   r   r   r    r   -  s    z(TestDataFrameSetItemBooleanMask.<lambda>c                 C   s   | t | d kjS r}  )r9   r~  rF   r  r   r   r    r   -  s    Z	dataframer>   )Zidsc                 C   s^   |  }||}|  }tj||< |j  }tj|t|< t||j|jd}t	|| d S )Nrl   )
r   r9   r   rF   r>   r
   r%   rZ   r+   rg   )r,   r|  r@   r.   r+  ru   r/   r   r   r    test_setitem_boolean_mask*  s   

z9TestDataFrameSetItemBooleanMask.test_setitem_boolean_maskz1Currently empty indexers are treated as all False)reasonr  c                 C   s~   t dgdgdgd}|tkr|g dd}n|g }d}tjt|d dg|j|dgf< W d    d S 1 s8w   Y  d S )	Nr"   r#   rM   r   r8   z@Must have equal len keys and value when setting with an iterablerU   r'   )r
   r   r\   r]   r^   r   )r,   r  r.   r   rb   r   r   r    :test_setitem_loc_empty_indexer_raises_with_non_empty_value>  s   "zZTestDataFrameSetItemBooleanMask.test_setitem_loc_empty_indexer_raises_with_non_empty_valuec                 C   sz   t dgdgdgd}|dg}d|d  |j|dgf< t dgdgdgd}t|| d|j|dgf< t|| d S )	Nr"   r#   rM   Fr7   r)   r'   r   )r
   r   r+   rg   )r,   r  r.   r   r/   r   r   r    1test_setitem_loc_only_false_indexer_dtype_changedK  s   
zQTestDataFrameSetItemBooleanMask.test_setitem_loc_only_false_indexer_dtype_changedr   c                 C   sT   t g dg dd}| }|d dk}||| d|||< t|| d S )N)r#   rW   r&   r(   r  r   r"   r(   )r
   r   r]  r+   rg   )r,   r   r.   r/   r+  r   r   r    "test_setitem_boolean_mask_aligningY  s
   zBTestDataFrameSetItemBooleanMask.test_setitem_boolean_mask_aligningc                 C   s   t g dddgd}tg d}g d}t||d|d}t g d	g d
d}tg d}g d}t||d|d}| }	|	d jg d
|	d< |d dk}
ddg||
< t||	 d S )N)r"   r"   r'   r'   r"   r"   r"   r"   r'   )r   )rQ   rR   rS   klr   r   )r#   r#   r&   r&   r#   r#   r#   )catsrF   r$   )r"   r"   r)   r)   r"   r"   r"   rM   )r#   r#   r(   r(   r#   r#   r#   r  r)   r&   )r	   r   r
   r   r   Zset_categoriesr+   rg   )r,   Zcats2Zidx2Zvalues2Zexp_multi_rowZcatsfZidxfZvaluesfr.   Z	exp_fancyr+  r   r   r    test_setitem_mask_categoricalb  s   z=TestDataFrameSetItemBooleanMask.test_setitem_mask_categoricalr1   r   r3   kwargsr%   r#   rZ   rC   c                 C   s:   ||d< t di |}| }d|||k< t|| d S )Nr1   /   r   r>  )r,   r1   r  r.   r   r   r   r    %test_setitem_empty_frame_with_booleany  s
   zETestDataFrameSetItemBooleanMask.test_setitem_empty_frame_with_booleanc                 C   s   t td}g d}t||tjg dg dg dgtdd}t||tt|t|fd}t||tjg dg dg d	gtdd}d
||d| k< t	|| t
jtdd d
||jd d
 dk< W d    d S 1 spw   Y  d S )Nr(   rw   )        rS  r   )      ?r         @)r         @      @r8   )r%   rZ   r-   )r  r   r  )r  r  r  r  r   zItem wrong lengthrU   r&   )r  re   r
   r9   r>   r   r0  r=   r+   rg   r\   r]   r^   r%   )r,   r   r   Zdf1r   r/   r   r   r    test_setitem_boolean_indexing  s(    "z=TestDataFrameSetItemBooleanMask.test_setitem_boolean_indexingc                 C   sd   t ddgddgdd}| }tddgdd	}t d
ddgiddgd|j|d
gf< t|| d S )Nr#   r&   r(   rW   r"   rM   Fr)   rO   r'   rd   r  r   r$   )r
   r   r   r   r+   rg   )r,   r.   r/   r   r   r   r    -test_loc_setitem_all_false_boolean_two_blocks  s
   $zMTestDataFrameSetItemBooleanMask.test_loc_setitem_all_false_boolean_two_blocksc                 C   sh   t ddgddgg}t ddgddgg}t tddgdd	ttjdgdd	d
}d||< t|| d S )Nr  r&   r(   rm  r   TFbooleanr8   r6  )r
   r   r<  ZNAr+   rg   )r,   r.   r/   Zboolean_indexerr   r   r    test_setitem_ea_boolean_mask  s   z<TestDataFrameSetItemBooleanMask.test_setitem_ea_boolean_maskN)r   r   r   rF  skip_array_manager_invalid_testr\   rC  rD  r  xfailr  r9   r>   r   r  r  r+   rv  r   r  r  r  r  r  r  r   r   r   r    r{  )  s,    

	r{  c                   @   s8  e Zd Zdd Zejdddgdd Zdd	 Zejd
de	j
dgdggdddgdgggdd Zejd
de	
dgdggdgdgggdd Zejdddgejddgejjddddgejdddededfdgdd Zejd d! Zd"d# Zejd$dd%gd&d' Zd(d) Zd*d+ Zd,S )-%TestDataFrameSetitemCopyViewSemanticsc                 C   sZ   d|j vsJ |d  }||d< tj|jdd|j df< t|dd  s+J d S )Nr   rC   rd   r7   )rZ   r   r9   r   r   Zget_locr   r   )r,   r@   r   r   r   r    test_setitem_always_copy  s
   z>TestDataFrameSetitemCopyViewSemantics.test_setitem_always_copyconsolidateTFc                 C   s   t g dg ddg dd}|ddtj |s4|r*|  t|jjdks)J n
t|jjdks4J |d j}d	|j	dd df< t
tjtjd	d	g|jdd
}t|d | |slt||j t||d jsnJ d S d S )N)g?g @g@gffffff@)gffffff@gffffff@gffffff@g333333 @)rm   rn   )r   r#   r&   r(   r$   r&   r{   r#   *   rT   )r
   rp   r9   r   Z_consolidate_inplacer=   r   blocksZ_valuesr   r   r%   r+   rs   r   rF   Zshares_memory)r,   r  using_array_managerr   r.   Zzvalsr/   r   r   r    #test_setitem_partial_column_inplace  s$   	
zITestDataFrameSetitemCopyViewSemantics.test_setitem_partial_column_inplacec                 C   sf   ddgd }t ddg|d}| }|d d  }d|d< t g dg|d	}t|| t|| d S )
NrC   rD   r&   r  r   rl   r   )r  r&   r  rd   rY   r>  )r,   r   r.   df_copydf_viewr/   r   r   r    *test_setitem_duplicate_columns_not_inplace  s   zPTestDataFrameSetitemCopyViewSemantics.test_setitem_duplicate_columns_not_inplacerZ  r#   r3   r8   c                 C   sl   ddg}t dddg|d}| }|d d  }||dg< t ddgddgg|d}t|| t|| d S )NrC   rD   r   r#   rl   rY   r>  )r,   rZ  r  r   r.   r  r  r/   r   r   r    #test_setitem_same_dtype_not_inplace  s   
zITestDataFrameSetitemCopyViewSemantics.test_setitem_same_dtype_not_inplacer   c                 C   sl   ddg}t dddg|d}| }|d d  }||dg< t ddgddgg|d}t|| t|| d S )NrC   rD   r   r#   rl   r   rY   r>  )r,   rZ  r   r.   r  r  r/   r   r   r    2test_setitem_listlike_key_scalar_value_not_inplace  s   
zXTestDataFrameSetitemCopyViewSemantics.test_setitem_listlike_key_scalar_value_not_inplacer   r"   z+Boolean indexer incorrectly setting inplace)r  strict)Zmarkszvalue, set_value)r#   rd   )r   g      @z
2020-12-31z
2021-12-31r   c                 C   s@   t d|iddgd}| }|d d  }|||< t|| d S )Nr"   r   r#   r$   r>  )r,   rZ  	set_valuer   r.   r/   r   r   r   r    "test_setitem_not_operating_inplace  s
   zHTestDataFrameSetitemCopyViewSemantics.test_setitem_not_operating_inplacec                    s   dd t dD  t fdd D  d}|jjd j}t  |jD ]}d|| |< q%W d    n1 s8w   Y  |sTt	|t
dt
df dksRJ d S t	|t
dt
df dksgJ d S )	Nc                 S   s   g | ]}d | qS )r)   r   r[  r   r   r    r   '  s    z\TestDataFrameSetitemCopyViewSemantics.test_setitem_column_update_inplace.<locals>.<listcomp>r7   c                    s   i | ]
}|t t qS r   )r9   rn  r=   )r   colr\  r   r    
<dictcomp>(  s    z\TestDataFrameSetitemCopyViewSemantics.test_setitem_column_update_inplace.<locals>.<dictcomp>r$   r   r#   )re   r
   r   r  rF   r+   Zraises_chained_assignment_errorrZ   r9   r   ro   )r,   r   rT  r.   rF   labelr   r  r    "test_setitem_column_update_inplace!  s   

**zHTestDataFrameSetitemCopyViewSemantics.test_setitem_column_update_inplacec                 C   s\   t g d}t g ddd|d< tg ddd|d< tg dg dtd}t|j| d S )	NrH   r   r8   col1col2)r3   r   r   )r   r  r  )r%   r1   )r
   r   r   r+   rs   rr   )r,   r.   Zexpected_typesr   r   r    %test_setitem_column_frame_as_category5  s   zKTestDataFrameSetitemCopyViewSemantics.test_setitem_column_frame_as_categoryr1   r*  c                 C   sb   t dtdi|d}tdgg|jtdgtdgf< t dg di|d}t|| d S )Nr"   r(   r8   r&   r   )r&   r#   r#   )r
   r9   r0  r>   r   r+   rg   )r,   r1   r.   r/   r   r   r    "test_setitem_iloc_with_numpy_array@  s   (zHTestDataFrameSetitemCopyViewSemantics.test_setitem_iloc_with_numpy_arrayc                 C   s   t g dg dgg dd}t ddgddggd	d	gd}||d	< t g d
g dgg dd}t|| t g dg dgg dd}t ddgddggd	d	gd}||d	< t g dg dgg dd}t|| d S )Nr  )rW   rd   r  r  )r"   r'   r"   r)   rY   r   r  r&   r  r"   )r   r&   r  rW   )r&   rd   r  r  rH   r  )r"   r"   r'   )r   r  r(   )r&   r  r  r   r   r   r   r    !test_setitem_frame_dup_cols_dtypeI  s   zGTestDataFrameSetitemCopyViewSemantics.test_setitem_frame_dup_cols_dtypec                 C   sl   t dgddd}td|id}|dd  }d |d< d |d< tg ddg|d d d}t|| d S )	Nz
2000-01-01r   date)r1   r?   r   Z3010Z2010r  )r   r
   r   r   r+   rg   )r,   Zdtir.   r/   r   r   r    "test_frame_setitem_empty_dataframeY  s   
zHTestDataFrameSetitemCopyViewSemantics.test_frame_setitem_empty_dataframeN)r   r   r   r  r\   rC  rD  r  r  r9   r>   r  r  paramr  r   r  rF  r  r  r  r  r  r  r   r   r   r    r    sP    
$
(
	

r  c                  C   s&  t dddgi} tjtdd d| jd d df< W d    n1 s#w   Y  t dddgi}t| | t dddgi} tjtdd ddd	| jd d df< W d    n1 s\w   Y  t dddgi}t| | t dddgi} d
dd	| jd d df< t dd
dgi}t| | d S )Nr"   r#   r&   zincompatible dtyperU   Tr  g      @r6  r(   rW   )r
   r+   r1  rA  r   rg   r.   r/   r   r   r    'test_full_setter_loc_incompatible_dtypej  s    r  c                  C   sl   t g dg dd} d| j| jdkddgf< t g dg dddtd	gd
d
td	gd}t| | d S )NrH   )r  rd   r  r   )r#   ri  r#   r   Gr   r   ri  )rC   rD   r   r  )r
   r   r%   r   r+   rg   r  r   r   r    )test_setitem_partial_row_multiple_columns~  s   r  )4r   numpyr9   r\   Zpandas.util._test_decoratorsutilZ_test_decoratorsrF  Zpandas.core.dtypes.baser   rE  Zpandas.core.dtypes.commonr   Zpandas.core.dtypes.dtypesr   r   r   r   Zpandasr<  r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Zpandas._testingZ_testingr+   Zpandas.core.arraysr   Zpandas.tseries.offsetsr   r   rG  rR  rl  rw  r{  r  r  r  r   r   r   r    <module>   s<    H      * . 	 :