U
    sVcs                     @   s  d dl mZ d dlmZmZ d dlZd dlZd dlZd dlm	Z	 d dl
mZmZ d dlm  mZ d dl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 d dlm Z! dZ"G d	d
 d
Z#G dd dZ$dd Z%dZ&dZ'G dd dZ(G dd dZ)dS )    )
namedtuple)datetime	timedeltaN)iNaT)InvalidIndexErrorSettingWithCopyError)
is_integer)
Categorical	DataFrameDatetimeIndexIndex
MultiIndexSeries	Timestamp
date_rangeisnanotnazBslice indices must be integers or None or have an __index__ methodc                   @   sN  e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Ze	j
ddddgdddgdddgg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d*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Zejd4d5 Z d6d7 Z!d8d9 Z"d:d; Z#ejd<d= Z$d>d? Z%ejd@dA Z&dBdC Z'dDdE Z(dFdG Z)dHdI Z*dJdK Z+dLdM Z,dNdO Z-dPdQ Z.dRdS Z/dTdU Z0dVdW Z1dXdY Z2dZd[ Z3d\d] Z4d^d_ Z5e	j
d`ddgdadb Z6dcdd Z7dedf Z8dgdh Z9didj Z:dkdl Z;dmdn Z<dodp Z=dqdr Z>dsdt Z?dudv Z@dwdx ZAdydz ZBd{d| ZCd}d~ ZDe	j
deEjFeEjFGdeEjFGdgdd ZHdd ZIdd ZJe	j
dddge	j
dddggdd ZKejdd ZLdd ZMe	j
dddgeEjNeEjNggdd ZOe	j
ddeEjNgdd ZPe	j
deQeReSjTgdd ZUdd ZVe	j
di ddigdd ZWdd ZXdS )TestDataFrameIndexingc              	   C   s   |d d }t |jdkst| D ].\}}t |jdks@tt|j|js&tq&|j D ]\}}|| d k	s`tq`d|ksttjt	dd |d  W 5 Q R X d S )N   randommatch)
lenindexAssertionErroritemstmZequalContentsZ_seriespytestraisesKeyError)selffloat_framesl_serieskey r&   M/tmp/pip-unpacked-wheel-xj8nt62q/pandas/tests/frame/indexing/test_indexing.pytest_getitem(   s    z"TestDataFrameIndexing.test_getitemc              	   C   sx   |  }tjt||d< tjt|}||d< tjtt	dd |
d W 5 Q R X |d }t||j d S )Nz$10z@awesome_domainz'df["$10"]'r   z	df["$10"])copynpr   randnr   r   r   r   reescape__getitem__r   Zassert_numpy_array_equalvalues)r    r!   dfadresr&   r&   r'   test_getitem29   s    z#TestDataFrameIndexing.test_getitem2c              	   C   s   d|d< |ddg }||ddg< t j|d |d dd t j|d |d dd d}tjt|d |ddg |dg< W 5 Q R X tt|jd	 }d
t| dt| d}tjt|d ||d< W 5 Q R X d S )NfooEABFZcheck_namesz"Columns must be same length as keyr      zLength of values \(z$\) does not match length of index \(z\))r   assert_series_equalr   r   
ValueErrorranger   r   )r    r!   datamsgZnewcolumndatar&   r&   r'   test_setitem_listG   s    z'TestDataFrameIndexing.test_setitem_listc                 C   s   t dtdddgtjd}ddg|jdddgf< |j|jd ddgf }tddg|jtjdd}t	|| d	 |d< |d< d
dg|j|jd ddgf< |j|jd ddgf }td
dg|jdd}t	|| d S )Nr      Ztt1Ztt2)r   columnsdtyper9      )rB   name012rD   )
r
   r<   r*   int_locr   r   rA   r   r:   r    r0   resultexpectedr&   r&   r'   test_setitem_list2[   s    z(TestDataFrameIndexing.test_setitem_list2c              	      s  |j d }|j |k}|t}|j | }|| }t||j  tjtdd ||d d   W 5 Q R X || }	t|	| tjtdd ||  W 5 Q R X t	||j }|| }	t|	| t
t0 ||j d d d }|| }	t|	| W 5 Q R X |||fD ]}
|
  |
|
dk }t fdd jD  j  jd	}|
jD ]}||krH|
| ||< qH|j|
jd
}tj||dd |
jD ]6}|| j|| jkr|| j|
| jkstqqd S )N
   zItem wrong lengthr   zBoolean array expectedr   c                    s*   i | ]"}|t  | d k | t jqS )r   )r*   wherenan).0cr=   r&   r'   
<dictcomp>   s      z>TestDataFrameIndexing.test_getitem_boolean.<locals>.<dictcomp>r   rA   rA   F)Zcheck_dtype)r   astypeobjectr   Zassert_index_equalr   r   r;   assert_frame_equalr   assert_produces_warningUserWarningreindexZ_get_numeric_datar
   rA   rB   r   )r    Zmixed_float_frameZmixed_int_framedatetime_framedindexerZindexer_objZsubindexZsubframeZsubframe_objr0   ZbifZbifwrT   r&   rU   r'   test_getitem_booleanj   sL    






z*TestDataFrameIndexing.test_getitem_booleanc              
   C   sX  |  }d|d< |d d|d< |d   |d< d|d< |d d|d< |d   |d< ||dk }|j}ttd	gd
 tdgd  tdgd  ddddddddgd}t|| d|j|j	dd ddgf< ||dk }|j}ttd	gd
 tdg td	g tdg td	g ddddddddgd}t|| d S )Nr9   r5   Zint32ZE1Fint64ZF1r   float64   rC   r6   r7   CDr   r@   )
r)   rY   dtypesr   r*   rB   r   r:   rJ   r   )r    r_   r0   ZcastedrL   rM   r&   r&   r'   test_getitem_boolean_casting   sD    



z2TestDataFrameIndexing.test_getitem_boolean_castinglstTFc                 C   s>   t tddd}|| }|j|j|  }t|| d S )N   r@   rf   )r
   r*   arangeZreshaperJ   r   r   r[   )r    rl   r0   rL   rM   r&   r&   r'   test_getitem_boolean_list   s    z/TestDataFrameIndexing.test_getitem_boolean_listc                 C   sb   t jdd}t| dddddgd}||dk   d	7  < ||dk   d	7  < t|j| d S )
N   r6   r7   rg   rh   r5   rX   r   r9   )r*   r   r+   r
   r)   r   assert_almost_equalr/   )r    arrr0   r&   r&   r'   test_getitem_boolean_iadd   s
    z/TestDataFrameIndexing.test_getitem_boolean_iaddc                 C   s>   t tddgdgtg d}tg t}||  d||< d S )Nr   r9   r6   rA   r   )r
   r*   emptyr   arraybool)r    Zblahkr&   r&   r'   test_boolean_index_empty_corner   s    z5TestDataFrameIndexing.test_boolean_index_empty_cornerc                 C   s   t tjddddddgdddgd}|jd d	 }|j|jd d	  }t|| |jddg }|jt	ddg }t|| d S )
Nrf   r@   r9   rO   rg   r5   rC   rW   rP   )
r
   r*   r   r+   ilocrJ   r   r   r[   r   rK   r&   r&   r'   test_getitem_ix_mixed_integer   s     
 z3TestDataFrameIndexing.test_getitem_ix_mixed_integerc                 C   s   t dddddgdddd	gd
dddgdddd
dgd}|dg }|jd d dgf }t|| |dg }|jd d dgf }t|| d S )N)      ?g@g	@      @      $   (   rO      +   "   r   r      )rnar     r   r   r   rX   r@   r9   r
   rz   r   r[   rK   r&   r&   r'   test_getitem_ix_mixed_integer2   s    



	

z4TestDataFrameIndexing.test_getitem_ix_mixed_integer2c              	   C   s:   t |j|d  d}tjt|d |j W 5 Q R X d S )Nr6   z6'DataFrame' object has no attribute 'NONEXISTENT_NAME'r   )r   r:   r6   r   r   AttributeErrorZNONEXISTENT_NAME)r    r!   r>   r&   r&   r'   test_getattr  s    z"TestDataFrameIndexing.test_getattrc                 C   s0   t dditdd}d|_|jdk s,td S )Nfoobarr9   rO   ri   rp   )r
   r<   r   allr   r    r0   r&   r&   r'   test_setattr_column  s    z)TestDataFrameIndexing.test_setattr_columnc              	   C   s  |d d d d }||d< d|ks&t t|dks6t t|dksFt tt|jtjgd f}t||jdd}t	
|d | |d }||d< t	j
||d dd	 tjt|}||d
< |d
 |k st d|d< |d dk st d|d< |d dk st d|d< |d dk s,t |d d }d}|rPddg|d< n&tjt|d ddg|d< W 5 Q R X |d jtjkst |d ddgk st d S )Nr6   rC   Zcol5   r   r   rD   Zcol6Fr8   Zcol9rp   Zcol7gQ	@Zcol0r4   Zcol8C\nA value is trying to be set on a copy of a slice from a DataFramerF   rG   Zcol10r   )r   r   r*   ZravelZcolumn_stackr/   rR   r   r   r   r:   r   r+   r   r   r   r   rB   object_)r    r!   using_copy_on_writer$   exprr   Zsmallerr>   r&   r&   r'   test_setitem  s8    z"TestDataFrameIndexing.test_setitemc                 C   sb   t ddgg}tj|jd< t tjtjgg}t|| t ddgg}tj|jd< t|| d S )Nr   )r
   r*   rR   rz   r   r[   rJ   r    r0   rM   r&   r&   r'   test_setitem2?  s    z#TestDataFrameIndexing.test_setitem2c              	   C   s  |  }|j}d||d dk< d||d d df dk< t|j| |d dk}||jd d d }d||< d||d d df dk< t|j| d||dk< d||dk< t|j| d||dk< d||dk< t|j| d||d d dk < t|d d |d d dk d t|j| d||d d d dk< d||dk< t|j| d	}tj	t
|d
 d||d < W 5 Q R X |t|k}|  }tj||t|k< tj|j|j< t|| |  }|d ||t|k< t|j|j|jd  t|| d S )Nrf   r6   r   rP   r9   rp   rC   r@   z;Must pass DataFrame or 2-d ndarray with boolean values onlyr   )r)   r/   r   rq   r^   r   r*   Zputmaskr   r   	TypeErrorabsrR   r[   )r    r!   r0   r/   r$   r>   maskrM   r&   r&   r'   test_setitem_booleanJ  sD    "z*TestDataFrameIndexing.test_setitem_booleanc                 C   s  |d  d|d< |d jtjks&td|d< |d jtjksBttt||d< t|d jjtj	sltd|d< d|d< |d jtjkstd|d< d|d< |d jtj
kstd|d< |d jtjkstd	|d< |d jtjkstd|d< |d jtj
ks
td S )
Nrh   i8r   r7   barr4         @Z	somethingrC   )rY   rB   r*   rd   r   rn   r   
issubclasstypeintegerre   r    r!   r&   r&   r'   test_setitem_cast|  s$    z'TestDataFrameIndexing.test_setitem_castc                 C   s  t dddgdddgdtdd	}|d
= dddg|d
< d
|ksDtt|jdksVtd|d< d|d< d|d< d|t < d|t < t |jd	}d|d< d|d
< t|jdkst|j	j
tjkstd|d< |d j
tjkstd|d< |d j
tjkstd|d< d|d d kstt tdd	}d|d< d|d< |d= d|d< |d j
tjks`tdddg|d< |d j
tjkstd S )N      ?       @      @abrT   )r7   rg   r@   ri   r7   rC   Z	beginningr6   r4   r5   r   rh   date      @r9   rg   r   rF   rG   3Z	coercible)r
   r*   rn   r   r   rA   r   nowr   r/   rB   r   rd   re   )r    r!   r0   dmr&   r&   r'   test_setitem_corner  s:    $z)TestDataFrameIndexing.test_setitem_cornerc                 C   s   dddgdgd  t jdd}t|}||d dk j}d|j|dgf< d|j|dgf< |jd	 dksnt|jd
 dkstd S )Nr   r      r   )titlecruftr   r   r   )r9   r   )r9   r   )r*   r   r
   r   rJ   r   )r    r=   r0   ixr&   r&   r'   test_setitem_corner2  s    
z*TestDataFrameIndexing.test_setitem_corner2c                    s   ddl m  ttdtdd}t fddtdD tdd}tdd	d
gtdd}td|d< t|jdksxt	||d< t|jdkst	||d< t|jdkst	|d j
tjkst	d S )Nr   Decimalr@   rW   c                    s   g | ]} d qS )r9   r&   )rS   r#   r   r&   r'   
<listcomp>  s     z<TestDataFrameIndexing.test_setitem_ambig.<locals>.<listcomp>ri   r4   bzrbazr9   rC   )decimalr   r
   r<   r   r*   onesr   rA   r   rB   r   )r    r   Zcoercable_seriesZuncoercable_seriesr&   r   r'   test_setitem_ambig  s    "z(TestDataFrameIndexing.test_setitem_ambigc                 C   st   |d |d < t j|jd d df |d dd t j|jd d d f |d dd t j|d  |d dd t| d S )Nr6   rP   Fr8   )r   r:   rz   rJ   reprr   r&   r&   r'   test_setitem_None  s        z'TestDataFrameIndexing.test_setitem_Nonec                 C   sP   t dddgdddgddd	gd
}| }|j|j|j df< t|| d S )NrF   rG   r   Z11Z22Z33Z111Z222Z333)r   r   rT   r   )r
   r)   r   rJ   r   r   r   r[   r    r0   rL   r&   r&   r'   &test_loc_setitem_boolean_mask_allfalse  s    z<TestDataFrameIndexing.test_loc_setitem_boolean_mask_allfalsec                 C   sV   t tjdd}|jd dd }tj|jd dd< t|jd dd j sRt	d S )NrO   rp      rC   )
r
   r*   r   r+   rz   rR   r   r/   r   r   r   r&   r&   r'   &test_getitem_fancy_slice_integers_step  s    z<TestDataFrameIndexing.test_getitem_fancy_slice_integers_stepc              	   C   sF  t tjddtdddd}| }d|jdd< |jdd dkj sPt	| }d|jdd	< |jdd	 dkj st	|jdd
 }|j
dd	 }|dd
ddg}t|| t|| |jttdttddd d d   }tjtdd |j
dd	  W 5 Q R X tjtdd d|j
dd	< W 5 Q R X d S )NrO   rp   r   r   rC   ri   rf   r@   r~      r   rP   z^3$r   )r
   r*   r   r+   r<   r)   rz   r/   r   r   rJ   r^   r   r[   listr   r   r   )r    r0   cprL   result2rM   df2r&   r&   r'   ,test_getitem_setitem_integer_slice_keyerrors  s"    *zBTestDataFrameIndexing.test_getitem_setitem_integer_slice_keyerrorsc              	   C   s   |j d d dd f }|d jtjks*t| }|j d d dd f }t|d j|d jsdtd}|stj	t
|d d|jd d df< W 5 Q R X |d dk stnd|jd d df< t|| d S )Nrh   rg   r   r         @rf   )rz   rB   r*   re   r   r)   shares_memory_valuesr   r   r   rJ   r   r   r[   )r    r!   float_string_framer   Zslicedoriginalr>   r&   r&   r'   test_fancy_getitem_slice_mixed  s    z4TestDataFrameIndexing.test_fancy_getitem_slice_mixedc                 C   s   t  }|jddg \}}|j|| }||| }|dd }t || t || | }d|j||< | }d|||< | }d|dd< t || t || d S )Nrp   rO   r~   r   )r   ZmakeTimeDataFramer   rJ   r[   r)   )r    r0   startendrL   r   rM   r&   r&   r'   "test_getitem_setitem_non_ix_labels8  s    z8TestDataFrameIndexing.test_getitem_setitem_non_ix_labelsc                 C   s   t tjdd}|j|jdkd d f }|dg}t|| t tjdd}|j|jdk|j	dkf }|jdgdgd}t|| d S )Nr@   rC   r   r9   rW   )
r
   r*   r   r+   rJ   r   r^   r   r[   rA   )r    r0   rsZxpr&   r&   r'   test_ix_multi_takeL  s    z(TestDataFrameIndexing.test_ix_multi_takec                 C   sP   |}|j }|jD ]:}|| }|jd d d D ]}|||f || ks,tq,qd S Nrp   )rJ   rA   r   r   )r    r!   fr   coltsidxr&   r&   r'   test_getitem_fancy_scalarX  s    
z/TestDataFrameIndexing.test_getitem_fancy_scalarc                 C   s   |}|  }|j}t|jD ]b\}}|| }|jd d d D ]@}|j|}	tj }
|
|j	|	|f< |
|||f< t
|| q<qd S r   )r)   rJ   	enumeraterA   r   Zget_locr*   r   r+   r/   r   r[   )r    r!   r   rM   r   jr   r   r   ivalr&   r&   r'   test_setitem_fancy_scalarb  s    
z/TestDataFrameIndexing.test_setitem_fancy_scalarc                 C   s  |}|j }|jddgd}|d d ddddgf }t|| |j|jdd ddgd}||jdd ddddgf }t|| |j|jd	 k}|j|j| d
}|| }t|| ||d d f }t|| |||jdd  f }|j|j| ddgd}t|| d S )Nr7   rh   rX   FTrp   rO   rW      ri   rC   rg   )rJ   r^   r   r[   r   rA   )r    r!   r   r   rM   rL   Zboolvecr&   r&   r'   test_getitem_fancy_booleans  s"    z0TestDataFrameIndexing.test_getitem_fancy_booleanc                 C   s   |  }|  }|d dk}d|j|< d|j|j< t|| |  }|  }d|j|ddgf< d|j|jd df< t|| d S )Nr6   r           r7   rC   )r)   rJ   r/   r   r[   )r    r!   framerM   r   r&   r&   r'   test_setitem_fancy_boolean  s    
z0TestDataFrameIndexing.test_setitem_fancy_booleanc                 C   sx   |j dddg }|j|jdddg  }t|| |j d d dddgf }|jd d |jdddg f }t|| d S )Nr9   rf   r   rC   r   )rz   rJ   r   r   r[   rA   )r    r!   rL   rM   r&   r&   r'   test_getitem_fancy_ints  s    z-TestDataFrameIndexing.test_getitem_fancy_intsc                 C   st   |d d d d dk}|j | }|j |d d d  }t|| | }| }d|j |< d|j |< t|| d S )Nr6   rP   r9   r   )rJ   r   r[   r)   )r    r!   r   rL   rM   r   r&   r&   r'   'test_getitem_setitem_boolean_misaligned  s    


z=TestDataFrameIndexing.test_getitem_setitem_boolean_misalignedc                 C   s   t tjdd}tdddg}tddg}|j||f }|jddgdgf }t|| | }d|jtdddgtddgf< d|jddgdgf< t|| d S )Nr@   rC   TFr   r9   rp   )	r
   r*   r   r+   rv   rJ   r   r[   r)   )r    r0   Zk1Zk2rL   rM   r&   r&   r'   "test_getitem_setitem_boolean_multi  s    $z8TestDataFrameIndexing.test_getitem_setitem_boolean_multic           	   	   C   s  t dddddg}ttjdd|d}|jdd }|ddddg}t|| t	|dksdt
|jdd }|ddg}tj||dd t	|dkst
|jdd }|d	d
g}t|| t	|dkst
|jdd }|jdd }t|| d|jdd< |dd }|dk  s0t
t ddddd
g}ttjdd|d}d}tjt|d |jdd  W 5 Q R X |jdd }|d
g}t|| t	|dkst
| }tjttd d|jdd< W 5 Q R X tjt|d |jdd dk}W 5 Q R X |j s(t
|jdd |jdd kj sPt
| }d|jdd< |jdd dkj st
|jdd |jdd kj st
|jdd }|}t|| t	|dkst
|jdd }|dddd
g}t|| t	|dkst
|jdd }|d
g}t|| t	|dksRt
|jdd
 }|ddddd
g}t|| t	|dkst
| }|rtnd }d}tj||d d|jdd
< W 5 Q R X |jdd
 }|dkj st
d S )Nr|   rC   r@   rf   rp   ri   F)Zcheck_index_typer   r   r9   r   r   r   g      @r}   zWcannot do positional indexing on Float64Index with these indexers \[1.0\] of type floatr   g?g
ףp=
@z&will attempt to set the values inplace)r   r
   r*   r   r+   rJ   r^   r   r[   r   r   rz   r   r   r   r   r)   
_slice_msgr/   DeprecationWarningr\   )	r    using_array_managerr   r0   rL   rM   r>   r   warnr&   r&   r'   !test_getitem_setitem_float_labels  s    ((z7TestDataFrameIndexing.test_getitem_setitem_float_labelsc                 C   s
  t tjdddddddgdd	d
gd}td|d< |j}ttdgd tdg dd	d
dgd}t	|| t
|jd< t|jd rt|d jtjkst|jd t
ksttj|jd< t|jd sttj|jdd d f< t|jdd d f  rtd S )Nrp   r@   r   r   rT   r`   er4   r   r   rW   Z20010102	timestampre   datetime64[ns]ri   )r   r   )rT   r   )r
   r*   r   r+   r   rj   r   rB   r   r:   r   rJ   r   r   r   rR   r   rK   r&   r&   r'   )test_setitem_single_column_mixed_datetime  s(    

z?TestDataFrameIndexing.test_setitem_single_column_mixed_datetimec                 C   s   t ddddddgtddddddtdddtd	ddgd
}t dtdtdd}tj|d< tddd|jd< d|jd< d|jddgdf< tdt	dgdt	dgg}||jddgddgf< t
|| d S )Nr         i  r9   xyi  i  r   r   abr   rt   r   r   r   )r9   r   r   r   rC   r@   z2013-01-01T00:00:00z2014-01-01T00:00:00rf   rp   r   )r
   r   r   r<   pdNaTrJ   r*   rv   
datetime64r   r[   )r    rM   r0   r6   r&   r&   r'   test_setitem_mixed_datetime:  s.    




z1TestDataFrameIndexing.test_setitem_mixed_datetimec                 C   sn   |j |jd d ddgf }|j|j |jd d ddgf< |j |jdd  ddgf j}|j}t|| d S NrC   r6   r7   )rJ   r   r/   r   rq   r    r!   piecerL   rM   r&   r&   r'   test_setitem_frame_floatW  s
    z.TestDataFrameIndexing.test_setitem_frame_floatc                 C   s~   |  }tddgddgg|jdd ddgd	}|jtd d ddgf}||j|< t|j|jdd ddgf j|j d S )
Nr   r   r   r   r   rC   r6   r7   rW   )r)   r
   r   slicerJ   r   rq   r/   r    r   r   r  r%   r&   r&   r'   test_setitem_frame_mixed^  s      
z.TestDataFrameIndexing.test_setitem_frame_mixedc                 C   s   |  }tddgddgddgddggt|jd	d
 ddg ddgd}|jtd d
 ddgf}||j|< t|j|jd	d
 ddgf j|jd	d
  d S )Nr   r   r   r   r   g      @g      @g       @r   rC   r4   r   r6   r7   rW   )	r)   r
   r   r   r  rJ   r   rq   r/   r  r&   r&   r'   'test_setitem_frame_mixed_rows_unalignedj  s    
 z=TestDataFrameIndexing.test_setitem_frame_mixed_rows_unalignedc                 C   s   |  }|j|jd d dgf }|jdd  |_|jtdd  ddgf}||j|< tj|d< t|j|jdd  ddgf j|j d S )NrC   r6   r   r7   )	r)   rJ   r   r  r*   rR   r   rq   r/   r  r&   r&   r'   &test_setitem_frame_mixed_key_unalignedx  s    

z<TestDataFrameIndexing.test_setitem_frame_mixed_key_unalignedc                 C   st   |  }|j|jd d ddgf }|jtdd  ddgf}|j|j|< t|j|jdd  ddgf j|j d S r   )r)   rJ   r   r  r/   r   rq   r  r&   r&   r'    test_setitem_frame_mixed_ndarray  s
    z6TestDataFrameIndexing.test_setitem_frame_mixed_ndarrayc                 C   s   t dddgdddggddd	gd
}| }|jd d ddgf d |jd d ddgf< |jddgd
}|d7 }|d	 |d	< t|| d S )Nr9   rC   r4   r@   rf   r   r6   r7   rg   rX         ?)r
   r)   rJ   r^   r   r[   )r    r0   r   rM   r&   r&   r'   test_setitem_frame_upcast  s    ",z/TestDataFrameIndexing.test_setitem_frame_upcastc                 C   s   |j |jd d ddgf }|jdd  |_ddg|_||j |jdd  ddgf< |j |jdd  ddgf j}|j}t|| d S r   )rJ   r   rA   r/   r   rq   r   r&   r&   r'   test_setitem_frame_align  s    
z.TestDataFrameIndexing.test_setitem_frame_alignc                 C   s   t tjdddddddgd}|jd }|d d }t|| |jd }|jddg }t|| |jd }|jd }t|| d S )	Nrp   r@   r4   r   r   ri   rC   rf   )	r
   r*   r   r+   rJ   r   r[   rz   r:   rK   r&   r&   r'   "test_getitem_setitem_ix_duplicates  s     



z8TestDataFrameIndexing.test_getitem_setitem_ix_duplicatesc                 C   s   t tjdddddddgd}|jdg }|jddg }t|| |j|d	 d
k }||d	 d
k }t|| |j|d
 d
k }||d
 d
k }t|| d S )Nrp   r@   r4   r   r   ri   rC   rf   r9   r   )r
   r*   r   r+   rJ   rz   r   r[   )r    r0   rL   r   r&   r&   r'   +test_getitem_ix_boolean_duplicates_multiple  s     zATestDataFrameIndexing.test_getitem_ix_boolean_duplicates_multiple
bool_valuec              	   C   sl   t ddddgi}| d}tjt|d |j|  W 5 Q R X d}tjt|d d|j|< W 5 Q R X d S )	Nr   r9   rC   r@   z7: boolean label can not be used without a boolean indexr   z.cannot use a single bool to index into setitemr   )r
   r   r   r   rJ   )r    r  r0   messager>   r&   r&   r'   %test_getitem_setitem_ix_bool_keyerror  s    
z;TestDataFrameIndexing.test_getitem_setitem_ix_bool_keyerrorc                 C   s   d|d< t |d jjttjfs$t|j|jd df }t	|sDtt
ddgi}d|d< |jd }t	|spttdgd	gdd
}|jd	gdf }t|| d S )Nr9   r5   rp   r   gGz?i  r   r   r   rH   )r   rB   r   intr*   r   r   rJ   r   r   r
   r   r   r:   )r    r!   rL   r0   rM   r&   r&   r'   "test_single_element_ix_dont_upcast  s    
z8TestDataFrameIndexing.test_single_element_ix_dont_upcastc                 C   s   t tjddtdddd}|jd }|jd }t|| |jd }|jd }t|| |jt	dd }|jdd	 }t
|| |jdddd
g }||jdddd
g }t
|| d S )NrO   rf   r   r   rC   ri   r9   r   r   r   )r
   r*   r   r+   r<   rz   rJ   r   r:   r  r[   r^   r   r    r0   rL   r   rM   r&   r&   r'   test_iloc_row  s    



z#TestDataFrameIndexing.test_iloc_rowc              	   C   s   t tjddtdddd}| }|jtdd }t|d |d sNt	|d  }d}|rvd	|j
d d df< n>tjt|d
 d	|j
d d df< W 5 Q R X |sd	|jdd< t|d | d S )NrO   rf   r   r   rC   ri   r   r   r   r   )r
   r*   r   r+   r<   r)   rz   r  r   r   rJ   r   r   r   r   r   r:   )r    r   r   r0   r   subsetZexp_colr>   r&   r&   r'   test_iloc_row_slice_view  s    z.TestDataFrameIndexing.test_iloc_row_slice_viewc                 C   s   t tjddtdddd}|jd d df }|jd d df }t|| |jd d df }|jd d df }t|| |jd d t	ddf }|jd d dd	f }t
|| |jd d dddd
gf }|j|jdddd
g d}t
|| d S )Nrf   rO   r   r   rC   rX   r9   r   r   r   )r
   r*   r   r+   r<   rz   rJ   r   r:   r  r[   r^   rA   r  r&   r&   r'   test_iloc_col  s    z#TestDataFrameIndexing.test_iloc_colc              	   C   s   t tjddtdddd}| }|jd d tddf }|s|st|d j	|d j	sbt
d}tjt|d	 d
|jd d df< W 5 Q R X |d dk st
nH|rt|d j	|d j	st
d
|d< |d dk st
t|| d S )Nrf   rO   r   r   rC   rX   r   r   r   r   )r
   r*   r   r+   r<   r)   rz   r  r   r   r   r   r   r   rJ   r   r   r[   )r    r   r   r0   r   r  r>   r&   r&   r'   test_iloc_col_slice_view  s    z.TestDataFrameIndexing.test_iloc_col_slice_viewc                 C   s   t tddddtddddd}|jdtddddd}td|dd	gd
}tddddddg}d|j|| df< tddddddgddddddgd|d}t|| td|dd	gd
}|j|| df  d7  < t|| d S )Ni  r9   )yearmonthdayrp   )r   r   )rJ   itemr   r6   r7   rW   FTr   )r6   r7   ri   )	r   r   insertr
   r*   rv   rJ   r   r[   )r    Ztranger0   Zbool_idxrM   r&   r&   r'   test_loc_duplicates7  s       z)TestDataFrameIndexing.test_loc_duplicatesc                 C   s   t tdddddd}td|i}|ddd	g |d< t|d | td|i}|ddd	g |jddd	gdf< t|d | d S )
Nz
2015-01-01r@   utc)periodstzdatesrH   r9   r   rC   )r   r   r
   r   r:   rJ   )r    columnr0   r&   r&   r'   4test_setitem_with_unaligned_tz_aware_datetime_columnR  s    zJTestDataFrameIndexing.test_setitem_with_unaligned_tz_aware_datetime_columnc                 C   s  t dd}ttdddd}tjd| gd dd|d	< tjd
| gd dd|jd d df< tjd| gd dd|j|jd d df< tjd| gd dd|jd d df< tjd| gd dd|j|jd d df< td|d< tjd| gd dd|j|jd d df< tddd|j|jd d df< td|d< |j	}t
tdgd tdgd
  tdd}t|| d S )Nr9   )hoursZ20130101rf   r   ri   m8[ns]rB   r6   rC   r7   r@   rg   rh   rp   r5   r   rc   r   rP   r   GHztimedelta64[ns]r   ZABCDEFGH)r   r
   r   r*   rv   rJ   r   Ztimedelta64r   rj   r   rB   r   r   r:   )r    Zone_hourr0   rL   rM   r&   r&   r'   ,test_loc_setitem_datetimelike_with_inference_  s"    
&,&,, zBTestDataFrameIndexing.test_loc_setitem_datetimelike_with_inferencec                 C   s  t tjtjtjtjtjdtjdtjdddtjtjdtjtjdtjtjtjtjtjddtjtjtjtjdddddddd}| }d||d	k< | }d|jd
< d|jd< d|jd< d|jd< t|| d|d< d}tjt	|d d||d	k< W 5 Q R X d S )N)#   r   r   1   2   gjBz?g% t?gk?g?r   r9   )r   r9   rC   r@   rf   r   g333333?)r   r9   )r-  r9   )r.  r9   )r,  rf   testr4   z1not supported between instances|unorderable typesr   )
r
   r*   rR   r)   rJ   r   r[   r   r   r   )r    r0   r   rM   r>   r&   r&   r'   #test_getitem_boolean_indexing_mixedu  sH    



z9TestDataFrameIndexing.test_getitem_boolean_indexing_mixedc              	   C   s.  t jddgddggd dgd}tddddgddd	d	gg|tddgd
dd}tjtdd |d d df  W 5 Q R X ttdd
d}t ddgddggddgddggd dgd}tddgdd	gg||d}|jd d t	d dff }t
|| d}ttdd
d}tddg||d}|d }t
|| d S )Nr   r   r   r9   rT   namesrC   r@   rf   r   rH   rt   r  r   )levelscodesr2  )r   r   r   )r   from_productr
   r   r   r   r   r<   rJ   r  r   r[   r   r:   )r    miZdgr   rA   rM   rL   rD   r&   r&   r'   test_type_error_multiindex  s,        z0TestDataFrameIndexing.test_type_error_multiindexc                 C   sh   t tdtjtdd}|jd d df }|d }t	|| |j
d d df }t	|| d S )Nr@   rf   rp   rX   r   r	  )r
   r*   r   r   ZIntervalIndexZfrom_breaksrn   rz   r   r:   rJ   )r    r0   rM   r2   r&   r&   r'   ,test_getitem_interval_index_partial_indexing  s     zBTestDataFrameIndexing.test_getitem_interval_index_partial_indexingc                 C   sZ   t ddgtd}tdtdd|jd< t tdgtdgd}t|| d S )Nr   r   )rA   rB   )rC   )rC   rC   r   r   )r
   rZ   r*   zerosrJ   r   r[   r   r&   r&   r'    test_setitem_array_as_cell_value  s    z6TestDataFrameIndexing.test_setitem_array_as_cell_valuec                 C   s   t ddddgidd}| }|jd d d d df |jd d < t|| tjj	|jd d d d df |jd d < t|| |j
d d d d f |j
d d < t|| d S )Nr6   r9   rC   r@   Int64r(  rP   )r
   r)   r/   rJ   r   r[   r   coreZarraysZPandasArrayrz   )r    r0   origr&   r&   r'   $test_iloc_setitem_nullable_2d_values  s    ", z:TestDataFrameIndexing.test_iloc_setitem_nullable_2d_valuesc                 C   s2   t tjdtd}t|d |d< |dg  d S )Nr9   r9   r(  r   )r
   r*   ru   rZ   Z
empty_liker   r&   r&   r'   ,test_getitem_segfault_with_empty_like_object  s    zBTestDataFrameIndexing.test_getitem_segfault_with_empty_like_objectnullM8[ns]r'  c              	   C   s  t ddddgi|d}|d }|j}dddd	d
g}tjt|d ||d< W 5 Q R X tjt|d ||g|d d< W 5 Q R X tjt|d ||d< W 5 Q R X tjt|d ||g|d d< W 5 Q R X tjt|d ||jd< W 5 Q R X tjt|d ||g|jd d< W 5 Q R X tjt|d ||jd< W 5 Q R X tjt|d ||g|jd ddf< W 5 Q R X | }| |d< tjt|d ||jd< W 5 Q R X tjt|d ||g|jd ddf< W 5 Q R X d S )Nr6   r9   rC   r@   r(  |z@timedelta64\[ns\] cannot be converted to (Floating|Integer)Dtypez?datetime64\[ns\] cannot be converted to (Floating|Integer)Dtypez 'values' contains non-numeric NAz1Invalid value '.*' for dtype (U?Int|Float)\d{1,2}r   r   r   r   r7   )r
   r   joinr   r   r   rz   r)   )r    rB  Zany_numeric_ea_dtyper0   serrr   r>   r   r&   r&   r'   .test_setting_mismatched_na_into_nullable_fails  s@     zDTestDataFrameIndexing.test_setting_mismatched_na_into_nullable_failsc                 C   sL   t dgtg ddd}d|jd< t ddgitdgddd}t|| d S )Nr   r   rH   rt   r9   r   ri   )r
   r   rJ   r   r[   r   r&   r&   r'   +test_loc_expand_empty_frame_keep_index_name  s    
zATestDataFrameIndexing.test_loc_expand_empty_frame_keep_index_namec                 C   s\   t dgtjg dddgdd}d|jd< t ddgitjdgdddgdd	}t|| d S )
Nr`   r   r   rT   r1  rt   r4   )r9   rC   r@   ri   r
   r   from_tuplesrJ   r   r[   r   r&   r&   r'   +test_loc_expand_empty_frame_keep_midx_names   s     
zATestDataFrameIndexing.test_loc_expand_empty_frame_keep_midx_namesr   r   r9   idxrr   c              	   C   sn   t dddgi}td , t d|dgiddgd|jd d |f< W 5 Q R X t dtj|gi}t|| d S )Nr   r9   rC   r~   ri   )r
   r   r\   rJ   r*   rR   r[   )r    rM  r   r0   rM   r&   r&   r'   test_loc_setitem_rhs_frame,  s
    0z0TestDataFrameIndexing.test_loc_setitem_rhs_framec              	   C   sj   t ddgd}| }|d d  }td ( tjddgtjd|jd d df< W 5 Q R X t|| d S )Nr   r   rX   r9   rC   r(  r   )	r
   r)   r   r\   r*   rv   re   rz   r[   )r    r0   rM   viewr&   r&   r'   $test_iloc_setitem_enlarge_no_warning6  s    ,z:TestDataFrameIndexing.test_iloc_setitem_enlarge_no_warningc                 C   s   t ddddtjddgddggddgdd	}d
g}d|d< d|j|df< |j|df  |j|ddgf  d|j|df< |j|df }tdtjdgdggddgddd }}t|| d S )NTr9   r   )Zbool_colr   r   rC   idx1idx2r1  ri   r@  r@   rT   r   r   r   r   r   )r
   r   Zfrom_arraysrJ   r   r   r:   )r    r0   r   rL   rM   r&   r&   r'   (test_loc_internals_not_updated_correctly@  s"    

z>TestDataFrameIndexing.test_loc_internals_not_updated_correctlyNc                 C   sR   t ddddgidd}||jdgd d f< t dtjddgidd}t|| d S Nr   r   rT   stringr(  r   r
   rz   r   NAr   r[   r    r   r0   rM   r&   r&   r'    test_iloc_setitem_string_list_naW  s    z6TestDataFrameIndexing.test_iloc_setitem_string_list_nac                 C   sP   t ddddgidd}||jdd d f< t dtjddgidd}t|| d S rT  rV  rX  r&   r&   r'   test_iloc_setitem_string_na_  s    z1TestDataFrameIndexing.test_iloc_setitem_string_nafuncc                 C   sT   t ddddgidd}d|jd d |dgf< t ddddgidd}t|| d S )	Nr   r9   rC   r@   r<  r(  rp   r   r   )r    r[  r0   rM   r&   r&   r'   /test_iloc_setitem_ea_null_slice_length_one_listg  s    zETestDataFrameIndexing.test_iloc_setitem_ea_null_slice_length_one_listc                 C   s   t tjddgdddggddgdd	}td
|jj}|dddgd}|j|d d f }t tjddgddgdd	}t	|| d S )Nr6   r7   r   r   rT   firstsecondr1  ri   ZIndexer)r]  r^  )r6   r   )r6   r   )
r
   r   r5  r   r   r2  rJ   rK  r   r[   )r    r0   Zindexer_tuplerM  rL   rM   r&   r&   r'   test_loc_named_tuple_for_midxo  s       z3TestDataFrameIndexing.test_loc_named_tuple_for_midxr   rD   c                 C   sV   d}t |t|t|d}| }|ddg |j|dg ddgf< t|| d S )Nr   r   r   r   T)r
   r<   r)   rJ   r   r[   )r    r   nr0   rM   r&   r&   r'   1test_loc_setitem_reordering_with_all_true_indexer  s
     zGTestDataFrameIndexing.test_loc_setitem_reordering_with_all_true_indexerc              	   C   sZ   t ddgd}| }t dgd}td  ||jd d df< W 5 Q R X t|| d S )Nr   r   rX   )r
   r)   r   r\   rJ   r[   )r    r0   rM   rhsr&   r&   r'   test_loc_rhs_empty_warning  s    z0TestDataFrameIndexing.test_loc_rhs_empty_warning)Y__name__
__module____qualname__r(   r3   r?   rN   rb   rk   r   markparametrizero   rs   ry   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   tdZskip_array_manager_invalid_testr   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r
  r  r  r  r  r  r  r  r  r  r  r$  r+  r0  r7  r9  r;  r?  rA  r   r   Zto_numpyrH  rI  rL  rN  rP  rS  rW  rY  rZ  r   r   r*   rv   r\  r_  ra  rc  r&   r&   r&   r'   r   '   s   <# 


.2*




	Z

	
. 
1
	



r   c                   @   s   e Zd Zdd ZdS )TestDataFrameIndexingUInt64c              	   C   s   |}|d  d}d|jks t||d< t|d t|dd d|jksNtd|d< ||d< t|d t|dd |d= | }tj|j	d< tj|j	d< |d }tt
|td	d
d	gdd t|jttdtdtdgdddgd d S )Nr6   r4   rg   rH   rh   r@  r9   rC   r7   TFZuint64Ori   )renamerA   r   r   r:   r   r)   r   r   rz   r   rj   r*   rB   )r    Zuint64_framer0   r   r   rL   r&   r&   r'   r     s,    z(TestDataFrameIndexingUInt64.test_setitemN)rd  re  rf  r   r&   r&   r&   r'   rj    s   rj  c                 C   s  t ddgtdddtjdddd}|jd }t|jd tsDtt|jd tj	sZt|j
d }t|jd tsxtt|jd tj	st|jddd}t|jd tstt|jd tj	st| rd S |j}|  |dj}t|d tstt|d tj	st|j|jd  }|jd	ks0t|d
}t|tsJt|j|jd  }|jdksjt|d
}t|tj	std S )Nr9   rC   2000r&  z1 Day)r6   r7   rg   r   )ZaxisrC  rE  r'  )r
   r   r   Ztimedelta_rangerJ   
isinstancer/   r   r   Z	Timedeltarz   xsZ_mgrZ_rebuild_blknos_and_blklocsZfast_xsrv   blocksZblknosrB   iget)r   r0   rG  Zmgrrr   Zblkr   r&   r&   r'   /test_object_casting_indexing_wraps_datetimelike  s<    




rs  zFCannot setitem on a Categorical with a new category( \(.*\))?, set thezCCannot set a Categorical with another, without identical categoriesc                   @   s8  e Zd Zejdd Zejdd Zejdd Zejdd Zejd	d
 Z	ej
dejejgdd Zej
dejejejejgdd Zej
dejejgdd Zej
dejejgdd Zej
dejejgdd Zej
dejejgdd Zej
dejejejgdd Zdd ZdS )TestLocILocDataFrameCategoricalc                 C   s\   t dddddddgddgd}tdddddd	d
g}dddddddg}t||d|d}|S Nr   r   
categorieshr   r   rx   lmr`  r9   catsr/   ri   r	   r   r
   )r    r|  r   r/   r>  r&   r&   r'   r>    s
    z$TestLocILocDataFrameCategorical.origc                 C   s\   t dddddddgddgd}tdddddd	d
g}dddddddg}t||d|d}|S Nr   r   rv  rx  r   r   rx   ry  rz  r`  r9   rC   r{  ri   r}  )r    Zcats1rQ  Zvalues1exp_single_rowr&   r&   r'   r    s
    z.TestLocILocDataFrameCategorical.exp_single_rowc                 C   s\   t dddddddgddgd}tdddddd	d
g}dddddddg}t||d|d}|S r~  r}  )r    Zcats2rR  Zvalues2exp_multi_rowr&   r&   r'   r    s
    z-TestLocILocDataFrameCategorical.exp_multi_rowc                 C   s\   t dddddddgddgd}tdddddd	d
g}dddddddg}t||d|d}|S ru  r}  )r    Zcats3Zidx3Zvalues3exp_parts_cats_colr&   r&   r'   r    s
    z2TestLocILocDataFrameCategorical.exp_parts_cats_colc                 C   s\   t dddddddgddgd}tdddddd	d
g}dddddddg}t||d|d}|S ru  r}  )r    Zcats4Zidx4Zvalues4exp_single_cats_valuer&   r&   r'   r    s     z5TestLocILocDataFrameCategorical.exp_single_cats_valuera   c              	   C   s   |  }tdd}|tjkr&tdd}ddgddgg|||d d f< t|| |  }tjttd& ddgddgg|||d d f< W 5 Q R X d S )NrC   rf   r   rx   r   r   rT   )	r)   r  r   rJ   r[   r   r   r   msg1)r    r>  r  ra   r0   r%   r&   r&   r'   #test_loc_iloc_setitem_list_of_lists  s    


 zCTestLocILocDataFrameCategorical.test_loc_iloc_setitem_list_of_listsc              	   C   sr   |  }d}|tjtjfkr0|jd |jd f}d|||< t|| tjt	t
d d|||< W 5 Q R X d S )N)rC   r   rC   r   r   r   rT   )r)   r   rJ   atr   rA   r[   r   r   r   r  )r    r>  r  ra   r0   r%   r&   r&   r'   7test_loc_iloc_at_iat_setitem_single_value_in_categories#  s    zWTestLocILocDataFrameCategorical.test_loc_iloc_at_iat_setitem_single_value_in_categoriesc                 C   sJ   |  }|jdk}d}|tjkr*|j| }d||||f< t|| d S )Nr   r   r   )r)   r   r   rJ   rA   r[   )r    r>  r  ra   r0   r   r%   r&   r&   r'   5test_loc_iloc_setitem_mask_single_value_in_categories6  s    


zUTestLocILocDataFrameCategorical.test_loc_iloc_setitem_mask_single_value_in_categoriesc              	   C   sz   |  }d}|tjkr |jd }ddg|||d d f< t|| tjttd ddg|||d d f< W 5 Q R X d S )NrC   r   r   rT   )	r)   r   rJ   r   r[   r   r   r   r  )r    r>  r  ra   r0   r%   r&   r&   r'   2test_loc_iloc_setitem_full_row_non_categorical_rhsE  s    

zRTestLocILocDataFrameCategorical.test_loc_iloc_setitem_full_row_non_categorical_rhsc           	   	   C   s   |  }tdddf}|tjkr4tdd|jd f}tddgddgd}||||< t|| ttd	td
d}tj	t
td ||||< W 5 Q R X ttdtd
d}tj	t
td ||||< W 5 Q R X d S )NrC   rf   r   r   rx   r   r   rv  Zbbabcr   cc)r)   r  r   rJ   rA   r	   r[   r   r   r   r   msg2)	r    r>  r  ra   r0   r%   compatZsemi_compatZincompatr&   r&   r'   1test_loc_iloc_setitem_partial_col_categorical_rhsX  s    
zQTestLocILocDataFrameCategorical.test_loc_iloc_setitem_partial_col_categorical_rhsc              	   C   s~   |  }tdddf}|tjkr4tdd|jd f}ddg|||< t|| tjtt	d ddg|||< W 5 Q R X d S )	NrC   rf   r   r   rx   r   r   rT   )
r)   r  r   rJ   rA   r[   r   r   r   r  )r    r>  r  ra   r0   r%   r&   r&   r'   )test_loc_iloc_setitem_non_categorical_rhsv  s    
zITestLocILocDataFrameCategorical.test_loc_iloc_setitem_non_categorical_rhsc                 C   sx   t dddt}tddddgi|d}|jjtks8t|tjkrP||d }n||d d df }|jjtksttd S )NZ2012r@   r&  r   r9   rC   ri   )	r   rY   rZ   r
   r   rB   r   r   getitem)r    ra   r   r0   rG  r&   r&   r'   -test_getitem_preserve_object_index_with_dates  s    
zMTestLocILocDataFrameCategorical.test_getitem_preserve_object_index_with_datesc                 C   s\   t dgdggtjddgdgdd}t dggtjdgdgdd}|jd }t|| d S )	Nr   r9   )r   )r   r]  r1  )r=   r   r   rJ  )r    r0   rM   rL   r&   r&   r'    test_loc_on_multiindex_one_level  s    
 
z@TestLocILocDataFrameCategorical.test_loc_on_multiindex_one_levelN)rd  re  rf  r   Zfixturer>  r  r  r  r  rg  rh  r   rJ   rz   r  r  Ziatr  r  r  r  r  r  r  r  r&   r&   r&   r'   rt    s2   


	









rt  c                   @   s,  e Zd Zejddhddidhdfddidfddhfdddifgdd Zejddhddidhdfdfddidfdfddhfdddifgdd	 Zejddhddidhdfddidfddhfdddifgd
d Zejddhddidhdfdfddidfdfddhfdddifgdd Z	dS )TestDepreactedIndexersr%   r9   r   c              	   C   s@   t ddgddggddgd}tt |j|  W 5 Q R X d S Nr9   rC   r@   rf   r   r   rX   r
   r   r\   FutureWarningrJ   r    r%   r0   r&   r&   r'   $test_getitem_dict_and_set_deprecated  s    z;TestDepreactedIndexers.test_getitem_dict_and_set_deprecatedrC   rk  c              	   C   sL   t ddgddggddgtddgd	}tt |j|  W 5 Q R X d S 
Nr9   rC   r@   rf   r   r   rk  r8  rt   r
   r   rK  r   r\   r  rJ   r  r&   r&   r'   /test_getitem_dict_and_set_deprecated_multiindex  s    zFTestDepreactedIndexers.test_getitem_dict_and_set_deprecated_multiindexc              	   C   s@   t ddgddggddgd}tt d|j|< W 5 Q R X d S r  r  r  r&   r&   r'   $test_setitem_dict_and_set_deprecated  s    z;TestDepreactedIndexers.test_setitem_dict_and_set_deprecatedc              	   C   sL   t ddgddggddgtddgd	}tt d|j|< W 5 Q R X d S r  r  r  r&   r&   r'   /test_setitem_dict_and_set_deprecated_multiindex  s    zFTestDepreactedIndexers.test_setitem_dict_and_set_deprecated_multiindexN)
rd  re  rf  r   rg  rh  r  r  r  r  r&   r&   r&   r'   r    s@    0



 0

r  )*collectionsr   r   r   r,   Znumpyr*   r   Zpandas._libsr   Zpandas.errorsr   r   Zpandas.util._test_decoratorsutilZ_test_decoratorsri  Zpandas.core.dtypes.commonr   Zpandasr   r	   r
   r   r   r   r   r   r   r   r   Zpandas._testingZ_testingr   r   r   rj  rs  r  r  rt  r  r&   r&   r&   r'   <module>   s<   0          v!+ C