o
    _~#g                     @   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/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/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
   tmassert_equal)selfr!   datar%   dfexpectedr   r   r    test_setitem_str_subclass+   s   "z.TestDataFrameSetItem.test_setitem_str_subclassdtype)int32int64uint32uint64float32float64c                 C   sD   t jdddt|}t j||d||< || jj|ks J d S )Nr&   r#   
   r2   )nprandomdefault_rngintegerslenarrayr2   name)r-   r2   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)r;   r<   r=   standard_normalr?   r+   assert_almost_equalvalues)r-   rB   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)barbazr"   r'   r)   foorA   r$   )ghij)r"   r'   r)   r"   fizr%   rA   z/cannot reindex on an axis with duplicate labelsmatchnewcolr&   r   )   r]   r"   r'   r)   rL   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
ValueErrorr;   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 )Nr9      r$   r&   )
r
   ranger;   r<   r=   rG   repeatreshaper+   assert_frame_equal)r-   NKr/   new_colrV   r0   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&   rj   r(   rj   )r)   r'   r"   r%   r`   r   rR   r"   rO   r)   r7   xr8   )rR   r)   rO   r'   r"   ru   r$   r]   r3   y)rR   r)   rO   r'   r"   ru   rv   )r
   r;   r<   r=   rG   arangeinsertastypedtypesr   r2   r+   assert_series_equalr-   r/   resultr0   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rE   rF   Cr$   Xru   rv   z)r.   r%   )r
   r%   r+   rn   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:5010s)freqr$   rE   M8[ns])r   r
   r;   rw   r?   r2   )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$   20130101UTCtznsnowr   r#   r&   rt   )r
   rk   r   as_unitr+   rn   r-   r/   r0   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&   rQ   r9   rO   r_   zLength of values \(z$\) does not match length of index \(z\)rZ   rR   )r	   
from_codesr
   rk   r?   rb   rc   rd   )r-   catr/   rh   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 )NrQ         ?       @      @c_1n_1r   r   r#   
new_columnrS   )r
   r   r   r+   r{   )r-   r/   sp_arrayr0   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 )
NrQ   r   r   r   )r&   r#   r   r$   r   )r#   r   r   rS   )r
   r   r   r+   r{   )r-   r/   	sp_seriesr0   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+   rn   )r-   r.   r}   r0   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   r4   r:   rK   r5   r^   r   )r
   r   float	enumerateintr;   r5   locshaper+   rn   )r-   r0   r/   idxr'   r   r   r    "test_setitem_dict_preserves_dtypes   s*   



z7TestDataFrameSetItem.test_setitem_dict_preserves_dtypesz	obj,dtypez2020-01Mr   rj   )leftrightr4   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 )NrK   r(   r:   )r   objr   r   r
   r   r+   rn   )r-   r   r2   r0   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   )
isinstancerA   property).0r2   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+   rn   )r-   r   r}   r0   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#   natdatetime64[ns]r:   new)r   r   datetime64[s]r   )
r;   r@   r   to_framer
   r+   rn   r{   assert_numpy_array_equalto_numpy)r-   data_nsr}   r0   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   )rU   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[]r:   )r   r   r   intsr$   	r;   r2   rw   r4   viewry   r
   rI   allr-   r   nr2   vals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   r:   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 )NrF   rR   r   rS   r   r#   r&   )r#   r#   r#   r&   )TFT)renamer+   r{   r   _mgrarraysassert_extension_array_equal_ndarraybaseidcopyr   ilocr   rz   )r-   timezone_frameusing_copy_on_writer/   r   v1v2v1basev2basedf2r}   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/2000rj   r%   )periodsrA   r&   rs   r$   r   Fcheck_names)r   r
   r;   r<   r=   rG   r   r+   assert_index_equalrA   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threerK   r"   r'   r#   r(   rj   r)   rL   r#   r(   rj   r#   r#   r#   r^   )r
   r;   r@   ry   r2   r+   rn   r-   r/   rC   r0   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   rE   )r   r   rA   )	r   r   r   r   r   r   r   r   r   r   r:   )r   r
   	_na_valuer   r+   rn   )r-   r   r}   r0   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 )NrK   r:   r&   )r(   r(   r_   rQ   F)r#   r&   r(   Fr   )r   r   r   F)
r   r
   r;   r<   r=   rG   objectr+   r   r`   )r-   r2   colsr/   expected_colsr   r   r    $test_setitem_bool_with_numeric_index  s   z9TestDataFrameSetItem.test_setitem_bool_with_numeric_indexindexerrF   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 )NrE   rF   r_   r#   r&   rE   rF   r  )r
   r;   nanry   r+   rn   )r-   r  r/   otherr0   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 )Nr   r&   r(   rt   )r   r(   )r   rE   )r#   r]   rF   r&   rj   r   )r   r#   r&   r(   r]   rj   r#   r]   rj   r  r:   )
r
   rk   r   r;   r  ry   r4   r`   r+   rn   )r-   r  r/   r0   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 )	Nr   r&   r(   rt   "Columns must be same length as keyrZ   )r   r(   rj   rE   )r
   rk   rb   rc   rd   r   )r-   r  r/   r   r   r   r    2test_setitem_frame_duplicate_columns_size_mismatch  s   "zGTestDataFrameSetItem.test_setitem_frame_duplicate_columns_size_mismatchr  rQ   )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 )
NrK   r_   r9      rL   rM   r  rZ   r"   r
   rb   rc   rd   )r-   r  r/   rhsrh   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 )
NrK   r"   r'   r'   r_   r9   r     r"   r'   r)   )r9   r  r  r9   )r"   r'   r'   r)   r   r-   r/   r  r0   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 )
NrK   r  r_   r9   r  r"   r'   r  rZ   r  )r-   r/   r  rh   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 )NrE   r9   rj   rF   r   r   EFc                 S   s   t t| S N)r   r;   r@   ru   r   r   r    <lambda>  s    z=TestDataFrameSetItem.test_setitem_intervals.<locals>.<lambda>Fr   )r
   rk   r   r   r   
categoriesr   r;   r@   rI   ry   r  r2   r   r   r   r+   r   rF   r   r   r{   )r-   r/   rg   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 )NrU   mncategoryr   r   )
r
   r   listry   rU   r   reorder_categoriesr	   r+   rn   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   rS   rE   r`   r%   )r   r
   r+   r   r%   )r-   r%   r}   r0   r   r   r     test_setitem_with_empty_listlike#  s
   z5TestDataFrameSetItem.test_setitem_with_empty_listlikezcols, values, expected)r   r   r   r"   r#   r&   r(   r]   r]   )r   r   r   r"   )r   rF   rF   r"   )r   rF   r"   rK   r(   )rF   r   r"   )r(   r&   r#   r#   )r   r"   rF   r&   c                 C   s8   t |g|d}|d |d< |d jd }||ksJ d S )Nr_   r"   r   )r
   rI   )r-   r  rI   r0   r/   r}   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   20141006   )r   r&   r#   i  r%  r+  r)  )r+  r-  )r*  r,  )r+  r,  )r*  r-  )r   from_productr   r;   r<   r=   r>   r?   r
   r%   rI   r   shuffler   r+   rn   )r-   itr  r%   r   r/   rV   rW   r   r   r    test_setitem_multi_index=  s   
"z-TestDataFrameSetItem.test_setitem_multi_indexzcolumns,box,expected)rE   rF   r   r      )r6  r6  r6  r6  r_   r   r      )r#   r&   r6  r7  )r(   r]   r6  r7  rj      r6  r7  r   )r6  r7  r   r:   )rF   r   r   r  )         )r#   r6  r7  r   )r(   r9   r  r  )rj   r:  r;  r<  )r   rE   r   )r7  r&   r6  r   )r  r]   r9   r  )r;  r9  r:  r<  rE   r   r9   r  r  )r6  r&   r7  )r   r]   r9   )r  r9  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(   r]   rj   r9  rE   rF   r_   r   )r-   r`   boxr0   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 )NrE   rF   tuplesrY   )r"  zipr   r%   r+   r{   )r-   rB   r?  r}   r0   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 )
NrK   r]   rj   r9  r   c                 s       | ]}|V  qd S r  r   r   ru   r   r   r    	<genexpr>      zCTestDataFrameSetItem.test_setitem_iloc_generator.<locals>.<genexpr>r   r#   r   r]   r#   r#   r
   r   r+   rn   r-   r/   r  r0   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 )	NrK   rB  r   c                 s   rC  r  r   rD  r   r   r    rE    rF  zSTestDataFrameSetItem.test_setitem_iloc_two_dimensional_generator.<locals>.<genexpr>r   r#   rG  rH  rI  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   S24)rA   r2   r$   r"   )rA   r%   r2   r'   S64r)   rL   abcd)
r   r
   r;   r5   uint8rz   r  r"  r+   r{   )r-   r%   r/   r}   r0   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(   r]   rj   r9  r   r4   Int64Fr$   r"   r'   )r
   ry   r   r%   r   r+   rn   )r-   r}   maskr0   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&   rQ  r:   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 )Nr9   )np-array	np-matrixr$   )r9   r#   rU  rV  )	r
   r;   onesrw   r+   assert_produces_warningPendingDeprecationWarningmatrixrn   )r-   r0   r"   r/   r   r   r    test_setitem_npmatrix_2d  s   
z-TestDataFrameSetItem.test_setitem_npmatrix_2dr   rL   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(   r]   r   r      )r#   r   r"   rj   r9  r   r#   r)   rM   )r)   rM   )r
   r   r;   r  r+   rn   )r-   r   r/   r0   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&   r9   r  r$   r   )r
   r;   r  r+   rn   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(   r]   r`   r.   r9   r  r:   r   r   r-   any_numeric_ea_dtyper/   r0   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 )
Npyarrowr"   r#   r&   zfuture.infer_stringTr'   r:   r   )
rb   importorskipr
   pdoption_contextr   r  r   r+   rn   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   r9   r
   r   r+   rn   )r-   r/   r0   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"   r9   r   r:   r  rQ  r   )r
   r;   r@   r   r   r+   rn   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-31r:   r"   r#   inferrZ   r'   r)   r   rQ   )
r   r   r  r
   r+   rX  FutureWarningr   r   rn   )r-   r   r/   r0   r   r   r    test_setitem_object_inferring  s   
z2TestDataFrameSetItem.test_setitem_object_inferringN)Fr   r   r   r1   rb   markparametrizerD   rJ   ri   rr   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ea_registryrz   r   r   r   r   r   r   r   r   r  r
  r  r  r  r  r  r  r$  r&  r(  r5  r
   r;   r@   r4   r>  rA  rJ  rK  rP  rS  rT  td&skip_array_manager_not_yet_implementedr[  r^  r`  rd  ri  rl  rm  rp  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:00rF   rS   z
US/Pacific)r   tz_localize)r-   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  r:   rF   rS   )r   r;   r@   tolistr2   )r-   r   r0   r   r   r    r0   /  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#   rE   r_   rF   r   r#   r$   r   rS   )r
   r;   r<   r=   rG   	to_seriesdt
tz_convertr   rw  r+   r{   )r-   r   r0   r/   r}   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&   rz  rE   r_   rF   )r
   r;   r<   r=   rG   r+   r{   r-   r   r0   r/   r}   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 r  )r
   r;   r<   r=   rG   to_pydatetimer+   r{   r  r   r   r    .test_setitem_object_array_of_tzaware_datetimesH  s   zGTestSetitemTZAwareValues.test_setitem_object_array_of_tzaware_datetimesN)
r   r   r   rb   fixturer   r0   r  r  r  r   r   r   r    rv  (  s    


	rv  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 )NrK   )r]   r]   r9  r   r"   g?g?g333333?g?      ?r)   rL   r   )r   r   rS   )r   r&   r(   )r
   r;   r@   r+   assert_cow_warningr   r   r{   )r-   r   warn_copy_on_writer/   rg   r0   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(   r]   rj   r9  0 - Name)r#   r&   rj   )r(   r]   r9  )r   r#   r  r_   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  r8   r`   r2   r&   r"   r   r#   r_   )r
   r"  rk   r   r;   r  r+   rn   )r-   r   r/   r0   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   r3   r:   c                 S   s   g | ]}| d |d  qS )z - i  r   r   rV   r   r   r    r     s    zcTestDataFrameSetItemWithExpansion.test_setitem_with_expansion_categorical_dtype.<locals>.<listcomp>i  T)by	ascendingi)  F)r   labelsr   )r  orderedr$   r  )r  r   r  )r
   r;   r@   r<   r=   r>   r	   rk   sort_valuesr   r  rI   rz   r   r2   r   r+   r{   assert_categorical_equalr   rA   
sort_index)	r-   r/   r  rg   r   r}   r0   result1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#   rR   r_   )r
   ry   r;   r4   r+   rn   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  rE   Fr   )r`   r+   r{   )r-   rB   r}   r0   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   r9   r%  i  r  r#   )
r   r   r
   rk   r   r   r;   r  isnanr   )r-   r`   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+   rn   r|   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(   r]   ra  r9   r  r:   r)   rQ   r   rb  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abcr_   rj   r   )r   H   23rQ   r   z0 days 00:00:05z0 days 00:01:12rt   )	r
   r"  rg  to_timedeltar   	Timedeltar   r+   rn   )r-   r}   r0   r   r   r    &test_loc_expansion_with_timedelta_type  s   zHTestDataFrameSetItemWithExpansion.test_loc_expansion_with_timedelta_typeN)r   r   r   r  r  r  r  r  r  r  r  r  r  r   r   r   r    r  R  s    	-		r  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
   r;   zerosr+   rn   r   r   r   r    test_setitem_slice_position  s   
z7TestDataFrameSetItemSlicing.test_setitem_slice_positionr  r=  r   rK   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&   r]   r9  rQ   r_   r  r#   r   r-   r   r=  r  r/   r0   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 r  )r
   r   r"  rk   r+   rn   )r-   r   r=  r/   r0   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   r   r  rQ   r_   r  r#   r  r  r   r  r   r   r    0test_setitem_slice_broadcasting_rhs_mixed_dtypes  s   "zLTestDataFrameSetItemSlicing.test_setitem_slice_broadcasting_rhs_mixed_dtypesN)r   r   r   r  rb   rq  rr  r+   setitemr   r   r;   r@   r"  rg  r  r  r  r   r   r   r    r    s    	r  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'  r8  r  )r  r  r:  r;  c                 S   s   dS )NrE   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>.incr1  r#   r:   r   )r
   r  r+   rn   )r-   r  r/   r0   r   r   r    test_setitem_other_callable  s
   z8TestDataFrameSetItemCallable.test_setitem_other_callableN)r   r   r   r  r  r   r   r   r    r    s    r  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&   )r;   absr/   r   r   r    r  -  s    z(TestDataFrameSetItemBooleanMask.<lambda>c                 C   s   | t | d kjS r  )r;   r  rI   r  r   r   r    r  -  s    	dataframer@   )idsc                 C   s^   |  }||}|  }tj||< |j  }tj|t|< t||j|jd}t	|| d S )Nrt   )
r   r;   r  rI   r@   r
   r%   r`   r+   rn   )r-   r  rB   r/   rR  r}   r0   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#   rQ   r  r:   z@Must have equal len keys and value when setting with an iterablerZ   r'   )r
   r   rb   rc   rd   r   )r-   r=  r/   r  rh   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#   rQ   Fr9   r)   r'   r   )r
   r   r+   rn   )r-   r=  r/   r  r0   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#   r]   r&   r(   r8  r   r"   r(   )r
   r   r  r+   rn   )r-   r  r/   r0   rR  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  )rU   rV   rW   klr   r   )r#   r#   r&   r&   r#   r#   r#   )catsrI   r$   )r"   r"   r)   r)   r"   r"   r"   rQ   )r#   r#   r(   r(   r#   r#   r#   r  r)   r&   )r	   r   r
   r   r   set_categoriesr+   rn   )r-   cats2idx2values2exp_multi_rowcatsfidxfvaluesfr/   	exp_fancyrR  r   r   r    test_setitem_mask_categoricalb  s   z=TestDataFrameSetItemBooleanMask.test_setitem_mask_categoricalr2   r   r4   kwargsr%   r#   r`   rE   c                 C   s:   ||d< t di |}| }d|||k< t|| d S )Nr2   /   r   rj  )r-   r2   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(   r   )        r  r   )      ?r         @)r         @      @r:   )r%   r`   r.   )r  r   r1  )r1  r1  r1  r1  r   zItem wrong lengthrZ   r&   )r"  rk   r
   r;   r@   r   rW  r?   r+   rn   rb   rc   rd   r%   )r-   r   r  df1r   r0   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(   r]   r"   rQ   Fr)   rS   r'   rj   r9  r   r$   )r
   r   r   r   r+   rn   )r-   r/   r0   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 )Nr1  r&   r(   r  r   TFbooleanr:   r]  )r
   r   rg  NAr+   rn   )r-   r/   r0   boolean_indexerr   r   r    test_setitem_ea_boolean_mask  s   z<TestDataFrameSetItemBooleanMask.test_setitem_ea_boolean_maskN)r   r   r   rt  skip_array_manager_invalid_testrb   rq  rr  r  xfailr"  r;   r@   r   r  r  r+   r  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  rE   rj   r9   )r`   r   r;   r  r   get_locr   r   )r-   rB   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 @)ru   rv   )r   r#   r&   r(   r$   r&   r   r#   *   rY   )r
   rx   r;   r  _consolidate_inplacer?   r   blocks_valuesr   r   r%   r+   r{   r   rI   shares_memory)r-   r  using_array_managerr   r/   zvalsr0   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 )
NrE   rF   r&   r  r   rt   r  )r  r&   r  rj   r_   rj  )r-   r  r/   df_copydf_viewr0   r   r   r    *test_setitem_duplicate_columns_not_inplace  s   zPTestDataFrameSetitemCopyViewSemantics.test_setitem_duplicate_columns_not_inplacer  r#   r4   r:   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 )NrE   rF   r   r#   rt   r_   rj  )r-   r  r  r  r/   r  r  r0   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 )NrE   rF   r   r#   rt   r   r_   rj  )r-   r  r  r/   r  r  r0   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)markszvalue, set_value)r#   rj   )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$   rj  )r-   r  	set_valuer  r/   r0   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>r9   c                    s   i | ]
}|t t qS r   )r;   r  r?   )r   colr  r   r    
<dictcomp>(  s    z\TestDataFrameSetitemCopyViewSemantics.test_setitem_column_update_inplace.<locals>.<dictcomp>r$   r   r#   )rk   r
   r   r  rI   r+   raises_chained_assignment_errorr`   r;   r   rw   )r-   r   r  r/   rI   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 )	NrK   r!  r:   col1col2)r4   r!  r!  )r   r  r   )r%   r2   )r
   r   r  r+   r{   rz   )r-   r/   expected_typesr   r   r    %test_setitem_column_frame_as_category5  s   zKTestDataFrameSetitemCopyViewSemantics.test_setitem_column_frame_as_categoryr2   rQ  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(   r:   r&   r   )r&   r#   r#   )r
   r;   rW  r@   r   r+   rn   )r-   r2   r/   r0   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'  )r]   rj   r9  r6  )r"   r'   r"   r)   r_   r   r  r&   r  r"   )r   r&   r  r]   )r&   rj   r  r6  rK   rB  )r"   r"   r'   )r   r  r(   )r&   r  r9  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)r2   rA   r   30102010r%  )r   r
   r   r   r+   rn   )r-   dtir/   r0   r   r   r    "test_frame_setitem_empty_dataframeY  s   
zHTestDataFrameSetitemCopyViewSemantics.test_frame_setitem_empty_dataframeN)r   r   r   r  rb   rq  rr  r  r  r;   r@   r  r  paramr  r   r  rt  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 dtyperZ   Tr  g      @r]  r(   r]   )r
   r+   rX  ro  r   rn   r/   r0   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 )NrK   )r  rj   r9  r  )r#   r  r#   r  Gr   r  r  )rE   rF   r  r  )r
   r   r%   r   r+   rn   r  r   r   r    )test_setitem_partial_row_multiple_columns~  s   r  )4r   numpyr;   rb   pandas.util._test_decoratorsutil_test_decoratorsrt  pandas.core.dtypes.baser   rs  pandas.core.dtypes.commonr   pandas.core.dtypes.dtypesr   r   r   r   pandasrg  r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr+   pandas.core.arraysr   pandas.tseries.offsetsr   r   rv  r  r  r  r  r  r  r  r   r   r   r    <module>   s<    H      * . 	 :