a
    oÝEb)• ã                	   @   s@  d 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	 ddl
ZddlZddlm  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) dd	l*m+Z+m,Z, dd
l-m.Z. G dd„ de.ƒZ/G dd„ dƒZ0G dd„ dƒZ1G dd„ dƒZ2G dd„ dƒZ3G dd„ dƒZ4G dd„ dƒZ5G dd„ dƒZ6G dd„ de.ƒZ7G dd„ dƒZ8G dd „ d ƒZ9ej: ;d!g d"¢d#d$gdd%gfg d&¢d#d$gdd%gfg d&¢d#d'gdd(gfg¡d)d*„ ƒZ<d+d,„ Z=d-d.„ Z>d/d0„ Z?d1d2„ Z@d3d4„ ZAd5d6„ ZBd7d8„ ZCd9d:„ ZDd;d<„ ZEd=d>„ ZFG d?d@„ d@ƒZGdS )Az$ test label based indexing with loc é    )Ú
namedtuple)ÚdateÚdatetimeÚtimeÚ	timedeltaN)Úgettz)ÚCategoricalÚCategoricalIndexÚ	DataFrameÚDatetimeIndexÚIndexÚ
IndexSliceÚ
MultiIndexÚPeriodÚSeriesÚSparseDtypeÚ	TimedeltaÚ	TimestampÚ
date_rangeÚtimedelta_rangeÚto_datetimeÚto_timedelta)Ú	is_scalar)ÚFloat64Index)ÚIndexingErrorÚ_one_ellipsis_message)ÚBasec                   @   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d„ Zej dedggedgƒd�edd…df edgdd�fedgedgƒd�ddgfedggedgƒd�dedgdd�fg¡dd„ ƒZdS ) ÚTestLocc                 C   s   | j dddgtd� d S )NÚlocé   Úlabels©ÚtypsÚfails©Úcheck_resultÚKeyError©Úself© r)   ú^/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/pandas/tests/indexing/test_loc.pyÚtest_loc_getitem_int/   s    zTestLoc.test_loc_getitem_intc                 C   s   | j dddgtd� d S )Nr   ÚcÚemptyr!   r$   r'   r)   r)   r*   Útest_loc_getitem_label4   s    zTestLoc.test_loc_getitem_labelc                 C   s˜   | j ddg d¢td� | j dddgtd� | j dddgtd� | j ddg d¢td� | j dddgtd� | j ddd	gd
td� | j dddgd
td� d S )Nr   Úf)ÚintsÚuintsr    ÚmixedÚtsr!   Úfloatsé   )r0   r1   r2   r    r3   r   ©r"   Zaxesr#   r$   r'   r)   r)   r*   Ú#test_loc_getitem_label_out_of_range9   s    ÿz+TestLoc.test_loc_getitem_label_out_of_rangec                 C   s8   | j dg d¢g d¢td� | j dg d¢g d¢td� d S )Nr   ©r   é   r   ©r0   r1   r4   r!   )r9   ç      @ÚAr$   r'   r)   r)   r*   Útest_loc_getitem_label_listF   s    ÿÿz#TestLoc.test_loc_getitem_label_listc                 C   sn   | j dg d¢dgtd� | j dg d¢g d¢dtd� | j dg d	¢g d¢d
td� | j dg d¢dgdtd� d S )Nr   r8   r-   r!   )r   r   é
   r:   r   r6   )é   é   é   r9   ))r9   r?   )r9   é   )r   é   Zmultir$   r'   r)   r)   r*   Ú(test_loc_getitem_label_list_with_missingO   s    ÿÿÿz0TestLoc.test_loc_getitem_label_list_with_missingc                 C   s    | j dg d¢ddgdtd� d S )Nr   )r5   é   é(   r0   r1   r9   r6   r$   r'   r)   r)   r*   Ú!test_loc_getitem_label_list_fails^   s    ÿz)TestLoc.test_loc_getitem_label_list_failsc                 C   s   d S ©Nr)   r'   r)   r)   r*   Ú!test_loc_getitem_label_array_liked   s    z)TestLoc.test_loc_getitem_label_array_likec                 C   s    g d¢}| j d|dgtd� d S )N©TFTFr   r-   r!   )r%   Ú
IndexError)r(   Úbr)   r)   r*   Útest_loc_getitem_booli   s    zTestLoc.test_loc_getitem_boolc                 C   s’   | j dtddƒg d¢td� | j dtddƒdgdtd	� | j dtd
dƒdgdtd	� | j dtd
dƒdgdtd	� | j dtd
dd
ƒdgdtd	� d S )Nr   r9   r?   )r    r2   r-   r3   r4   r!   Z20130102Z20130104r3   r6   r   é   r2   r   rB   )r%   ÚsliceÚ	TypeErrorr&   r'   r)   r)   r*   Útest_loc_getitem_label_sliceo   s    üÿÿz$TestLoc.test_loc_getitem_label_slicec                 C   sp   t ddgddgddggddgg d¢d�}t d¡|jd	< t ddgd
dgddggddgg d¢d�}t ||¡ d S )Nr5   ÚaéÈ   Úcol1Úcol2)r>   r9   r9   ©ÚcolumnsÚindexr   )r9   rT   r   r9   )r
   ÚnpÚaranger   ÚtmÚassert_frame_equal©r(   ÚdfÚexpectedr)   r)   r*   Ú test_setitem_from_duplicate_axis‰   s    ý ÿz(TestLoc.test_setitem_from_duplicate_axisc                 C   sž   t g d¢dtjdgtdƒtjtdƒgdœd�}t dgtdƒgd	œd�}|j|j|d
  ¡ d
dgf< t g d¢g d¢tdƒtdƒtdƒgdœd�}t	 
||¡ d S )N©r9   r   r?   úString 1úString 2z2019-06-11 11:00:00z2019-06-11 12:00:00)Zchannelr<   ÚB)ÚdataúString 3©r<   rd   r<   rd   )rb   rf   rc   )r
   rY   ÚNaNr   ÚpdÚNaTÚvaluesr   Zisnar[   r\   )r(   r^   Údf2r_   r)   r)   r*   Útest_column_types_consistent–   s.    
ýýÿÿýýÿz$TestLoc.test_column_types_consistentzobj, key, expr9   F©rW   N©Úname©rX   c                 C   s6   |j | }t|ttfƒr&t ||¡ n||ks2J ‚d S rH   )r   Ú
isinstancer
   r   r[   Úassert_equal)r(   ÚobjÚkeyÚexpÚresr)   r)   r*   Ú#test_loc_getitem_single_boolean_argµ   s    
z+TestLoc.test_loc_getitem_single_boolean_arg)Ú__name__Ú
__module__Ú__qualname__r+   r.   r7   r=   rD   rG   rI   rM   rQ   r`   rm   ÚpytestÚmarkÚparametrizer
   r   r   r   rx   r)   r)   r)   r*   r   .   s,   	ý$ùþr   c                   @   sŒ  e Zd Zej ddedƒddffdedƒddffdedƒdd	ffd
edƒedƒdffdedƒddffdedƒdedƒffdedƒd	dff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ej d"d#d$gg d%¢g¡d&d'„ ƒZd(d)„ Zd*d+„ Zd,d-„ Zd.d/„ Zd0d1„ Zd2d3„ Zd4d5„ Zejd6d7„ ƒZej d8d9ejd9ejd:�ejg d;¢ejd:�g¡d<d=„ ƒZd>d?„ Zd@dA„ ZdBdC„ ZdDdE„ Z dFdG„ Z!ej dHg dI¢¡dJdK„ ƒZ"dLdM„ Z#dNdO„ Z$dPdQ„ Z%dRdS„ Z&e'j(dTdU„ ƒZ)dVdW„ Z*dXdY„ Z+dZd[„ Z,d\d]„ Z-ej d^d_ge.d`d_d`ƒe d_g¡g¡ej dadbge dbg¡g¡dcdd„ ƒƒZ/ej ded9dfgg dg¢fdhe0g di¢djdkej1ej1gg di¢gg dg¢dl�fdmdndogfdhdpge0dmdfej1ej1gg dq¢drdsej1ej1ggg dg¢dl�fdmg dt¢fejg du¢ejd:�e0dmdfej1gg du¢drdsej1ggg dt¢dl�fe.dmdjd`ƒg dv¢fg du¢g dw¢ge0dmdfej1ej1gg dx¢g dy¢gg dg¢dl�fe.dmdjd`ƒg dz¢fejg du¢g dw¢gejd:�e0dmdfej1ej1gg d{¢g d|¢gg dg¢dl�fe.d`d`d`ƒd_dngfe0dhdpgd}d~gdd€ggd_dngdl�e0g d�¢g d‚¢g dƒ¢gg dt¢dl�fg¡d„d…„ ƒZ2d†d‡„ Z3dˆd‰„ Z4dŠd‹„ Z5dŒd�„ Z6dŽd�„ Z7ejj8d�d‘„ ƒZ9d’d“„ Z:d”d•„ Z;d–d—„ Z<ejj=d˜d™�dšd›„ ƒZ>dœd�„ Z?dždŸ„ Z@d d¡„ ZAd¢d£„ ZBd¤d¥„ ZCd¦d§„ ZDd¨d©„ ZEdªd«„ ZFd¬d­„ ZGd®d¯„ ZHd°d±„ ZIej d²g d³¢¡ej d´ejejJeKg¡e'jLdµd¶„ ƒƒƒZMd·d¸„ ZNe'jLd¹dº„ ƒZOd»d¼„ ZPej d½eQejeReSg¡d¾d¿„ ƒZTdÀdÁ„ ZUej dÂdÃeRdmgƒfdÄeRdfgƒfg¡dÅdÆ„ ƒZVdÇdÈ„ ZWej dÉd9g dÊ¢fe.dkdpƒg dË¢fdjdrgg dÌ¢fg¡dÍdÎ„ ƒZXdÏdÐ„ ZYdÑdÒ„ ZZdÓdÔ„ Z[ej dÕdÖdÖgg¡d×dØ„ ƒZ\dÙdÚ„ Z]ej dÛd_d_gd_e.d`ƒfg¡dÜdÝ„ ƒZ^dÞdß„ Z_dàdá„ Z`dâdã„ Zadädå„ Zbdædç„ Zcej dèdédêg¡dëdì„ ƒZddídî„ Zedïdð„ Zfdñdò„ Zgdódô„ Zhd`S )õÚTestLocBaseIndependentzmsg, keyz'Period\('2019', 'A-DEC'\), 'foo', 'bar'éã  ÚfooÚbarz&Period\('2019', 'A-DEC'\), 'y1', 'bar'Úy1z&Period\('2019', 'A-DEC'\), 'foo', 'z1'Úz1z;Period\('2018', 'A-DEC'\), Period\('2016', 'A-DEC'\), 'bar'éâ  éà  z&Period\('2018', 'A-DEC'\), 'foo', 'y1'z;Period\('2017', 'A-DEC'\), 'foo', Period\('2015', 'A-DEC'\)éá  éß  z&Period\('2017', 'A-DEC'\), 'z1', 'bar'c                 C   sˆ   t tdƒddgtdƒtdƒdgtdƒdtd	ƒgg d
¢g d¢dœƒ g d¢¡}tjt|d�� |j|  W d  ƒ n1 sz0    Y  dS )a  
        parse_time_string return parameter if type not matched.
        PeriodIndex.get_loc takes returned value from parse_time_string as a tuple.
        If first argument is Period and a tuple has 3 items,
        process go on not raise exception
        r€   Úx1Zx2r…   r†   rƒ   r‡   r„   rˆ   ra   )r>   r5   rE   )r<   rd   ÚCZV1ZV2©r<   rd   rŠ   ©ÚmatchN)r
   r   Ú	set_indexr|   Úraisesr&   r   )r(   Úmsgru   r^   r)   r)   r*   Ú;test_contains_raise_error_if_period_index_is_in_multi_indexÌ   s    ûÿø	zRTestLocBaseIndependent.test_contains_raise_error_if_period_index_is_in_multi_indexc                 C   sR   t ddgiƒ}tjtdd��" |jd d …df  W d   ƒ n1 sD0    Y  d S )NrR   r9   u   ×�rŒ   ©r
   r|   r�   r&   r   ©r(   r^   r)   r)   r*   Ú$test_loc_getitem_missing_unicode_keyò   s    z;TestLocBaseIndependent.test_loc_getitem_missing_unicode_keyc                 C   sT   t tj d¡dd„ tdƒD ƒd�}|jd }|jd d …df jd }t ||¡ d S )	N)r5   rC   c                 S   s   g | ]}d |d  ‘qS )ZABCDErC   r)   ©Ú.0Úxr)   r)   r*   Ú
<listcomp>û   ó    z@TestLocBaseIndependent.test_loc_getitem_dups.<locals>.<listcomp>r5   rq   )r<   r   r   r<   )r
   rY   ÚrandomZrandom_sampleÚranger   r[   Úassert_series_equal©r(   r^   r_   Úresultr)   r)   r*   Útest_loc_getitem_dups÷   s    ÿ
z,TestLocBaseIndependent.test_loc_getitem_dupsc                 C   st   t ddddtdƒggg d¢dgd�}tddddtdƒgg d¢dd�}|jd	 }t ||¡ |jd }t ||¡ d S )
Nr9   r   r�   r‚   Ú20130101)rR   rR   rR   rR   rR   rV   ©rX   rp   r   )r
   r   r   Úilocr[   rœ   r   r�   r)   r)   r*   Útest_loc_getitem_dups2  s    ýý

z-TestLocBaseIndependent.test_loc_getitem_dups2c                 C   s  t tdƒtdƒtjddd�d d tjddd�d d d	œƒ d
¡}dddgf}| ¡ }|j|  d9  < t |j| d|j|  ¡ d}| ¡ }|j|  d9  < |j| d|j|  ksÀJ ‚dddgf}| ¡ }|j|  d9  < t 	|j| d|j|  ¡ d S )NZrtttiZaaaderC   Úfloat64©Údtypegq=
×£põ?r   gÃõ(\�ÂÕ¿)Úmer�   r‚   Úbar2r§   Úrr‚   r¨   ç       @)r©   r‚   Út)
r
   ÚlistrY   rZ   rŽ   Úcopyr   r[   rœ   r\   )r(   Zdf_origÚindexerr^   r)   r)   r*   Útest_loc_setitem_dups  s2    üÿù
þþz,TestLocBaseIndependent.test_loc_setitem_dupsc                 C   sà   t g d¢tg d¢dd�dœƒ}|d dk}|j|df d }||j|df< t g d¢tg d	¢dd�dœƒ}t ||¡ t g d¢g d¢dœd
d�}|d dk}|j|df }||j|df< t g d¢g d¢dœd
d�}t ||¡ d S )N)r   r9   r9   )éd   rS   i,  Zuint32r¥   ©rR   rL   rR   r9   rL   )r°   éÉ   i-  Úuint64)r
   r   r   r[   r\   )r(   Zdf1ÚixZnewb1r_   rl   Znewb2r)   r)   r*   Útest_loc_setitem_slice:  s    ÿz-TestLocBaseIndependent.test_loc_setitem_slicec                 C   s�   t dgdgdgdgdœƒ}g d¢}|jd d …|f  d¡|jd d …|f< t dgtjdgdd�tjdgdd�tjdgdd�dœƒ}t ||¡ d S )	Nr<   ç333333ó?ç        g      À)ÚidrR   rL   r,   ©rR   rL   r,   Zfloat32r¥   )r
   r   ÚastyperY   Úarrayr[   r\   )r(   r^   Úcolsr_   r)   r)   r*   Útest_loc_setitem_dtypeO  s    &üÿ	z-TestLocBaseIndependent.test_loc_setitem_dtypec                 C   s˜   t tdƒg d¢d�}tjtdd�� |ddg  W d   ƒ n1 sD0    Y  t tdƒƒ}tjtdd�� |ddg  W d   ƒ n1 sŠ0    Y  d S )	Nr?   r¹   rq   únot in indexrŒ   rR   Údr   )r   r›   r|   r�   r&   ©r(   Úsr)   r)   r*   Ú$test_getitem_label_list_with_missing`  s    *z;TestLocBaseIndependent.test_getitem_label_list_with_missingrX   TFrJ   c                 C   s`   t g d¢ƒ}dt|ƒ› dt|ƒ› �}tjt|d�� |j|  W d   ƒ n1 sR0    Y  d S )Nra   z Boolean index has wrong length: z instead of rŒ   )r   Úlenr|   r�   rK   r   )r(   rX   rÁ   r�   r)   r)   r*   Útest_loc_getitem_bool_diff_lenk  s    z5TestLocBaseIndependent.test_loc_getitem_bool_diff_lenc                 C   s   d S rH   r)   r'   r)   r)   r*   Útest_loc_getitem_int_slices  s    z1TestLocBaseIndependent.test_loc_getitem_int_slicec                 C   sj   t tj d¡g d¢g d¢d�}d}tjt|d��& |jddgddgf  W d   ƒ n1 s\0    Y  d S )	N)r?   r?   r¹   )Úer/   Úg©rX   rW   zJ\"None of \[Int64Index\(\[1, 2\], dtype='int64'\)\] are in the \[index\]\"rŒ   r9   r   )r
   rY   rš   r|   r�   r&   r   ©r(   r^   r�   r)   r)   r*   Útest_loc_to_failw  s    ÿÿz'TestLocBaseIndependent.test_loc_to_failc                 C   sª  t td�}d|jd< d|jd< tjtdd�� |jd  W d   ƒ n1 sL0    Y  d}tjt|d�� |jdd	g  W d   ƒ n1 sŒ0    Y  d
}tjt|d�� |jdg  W d   ƒ n1 sÊ0    Y  d|jd< tjtdd�� |jdd	g  W d   ƒ n1 �s0    Y  d|d< d}tjt|d�� |jd	g  W d   ƒ n1 �sZ0    Y  |d= tjt|d�� d|jd	g< W d   ƒ n1 �sœ0    Y  d S )Nr¥   r9   r   rR   z^-1$rŒ   éÿÿÿÿzL\"None of \[Int64Index\(\[-1, -2\], dtype='int64'\)\] are in the \[index\]\"éþÿÿÿzE\"None of \[Index\(\['4'\], dtype='object'\)\] are in the \[index\]\"Ú4r?   r¾   zH\"None of \[Int64Index\(\[-2\], dtype='int64'\)\] are in the \[index\]\"r   )r   Úobjectr   r|   r�   r&   )r(   rÁ   r�   r)   r)   r*   Útest_loc_to_fail2†  s.    


(ÿ,*
.ÿ,z(TestLocBaseIndependent.test_loc_to_fail2c                 C   s    t dgdggddgdgd�}d}tjt|d��$ |jd	gd d …f  W d   ƒ n1 sX0    Y  tjt|d�� |jd	g  W d   ƒ n1 s’0    Y  d S )
NrR   rL   r9   r   ÚvaluerÈ   zG\"None of \[Int64Index\(\[3\], dtype='int64'\)\] are in the \[index\]\"rŒ   r?   r’   rÉ   r)   r)   r*   Útest_loc_to_fail3­  s    ÿ2z(TestLocBaseIndependent.test_loc_to_fail3c                 C   s˜   t g d¢ƒ}|jdg  tjtt d¡d�� |jdg  W d   ƒ n1 sN0    Y  tjtdd�� |jddg  W d   ƒ n1 sŠ0    Y  d S )Nra   r   z="None of [Int64Index([3], dtype='int64')] are in the [index]"rŒ   r?   r¾   )r   r   r|   r�   r&   ÚreÚescaperÀ   r)   r)   r*   Útest_loc_getitem_list_with_fail¼  s    ÿþ*z6TestLocBaseIndependent.test_loc_getitem_list_with_failc                 C   sŒ   t tjjdd�g d¢d�}|j dd„ ¡}|jt |¡ }|j| }t ||¡ |j|j	 }t ||¡ |jt
j|dd� }t ||¡ d S )	N)rC   r>   ©Úsize)Zalpha_0Zalpha_1Zalpha_2Zbeta_0Zbeta_1rq   c                 S   s   d| v S )NÚalphar)   ©r—   r)   r)   r*   Ú<lambda>Ù  r™   z7TestLocBaseIndependent.test_loc_index.<locals>.<lambda>Úbooleanr¥   )r
   rY   rš   rX   Úmapr   r»   r[   r\   rk   ri   )r(   r^   Úmaskr_   rž   r)   r)   r*   Útest_loc_indexÐ  s    þ
z%TestLocBaseIndependent.test_loc_indexc                 C   sÈ   t tj dd¡g d¢g d¢d�}|jd d …dd…f jdd…d d …f }|jddgk ¡ s^J ‚|jddgk ¡ stJ ‚t t	dƒgd	gd
œƒjd }t
t	dƒd	gddgdd�}t ||¡ |jtksÄJ ‚d S )NrB   ©r<   rd   rŠ   ÚDrV   r<   rd   r   r   r    r9   r±   rR   rL   r¡   )r
   rY   rš   Úrandr   r¢   rW   ÚallrX   r   r   r[   rœ   r¦   rÎ   ©r(   r^   rž   r_   r)   r)   r*   Útest_loc_generalå  s    ý(z'TestLocBaseIndependent.test_loc_generalc                 C   s"   t tddƒttdƒtjd�dœƒS )Nú
2000-01-01ú	2000-01-5rC   r¥   ©r   Úval)r
   r   r   r›   rY   Úint64r'   r)   r)   r*   Úframe_for_consistencyø  s
    þÿz,TestLocBaseIndependent.frame_for_consistencyrç   r   r¥   )r   r   r   r   r   c                 C   sV   t tdtdƒtjd�ttdƒtjd�dœƒ}| ¡ }||jd d …df< t ||¡ d S )Nr   rC   ©rX   r¦   r¥   ræ   r   ©	r
   r   r›   rY   rè   r­   r   r[   r\   )r(   ré   rç   r_   r^   r)   r)   r*   Útest_loc_setitem_consistency  s    þÿz3TestLocBaseIndependent.test_loc_setitem_consistencyc                 C   sR   t tdtdƒd�ttdƒtjd�dœƒ}| ¡ }d|jd d …df< t ||¡ d S )Nr�   rC   rq   r¥   ræ   r   rë   ©r(   ré   r_   r^   r)   r)   r*   Ú(test_loc_setitem_consistency_dt64_to_str  s    þÿz?TestLocBaseIndependent.test_loc_setitem_consistency_dt64_to_strc                 C   sR   t tdtdƒd�ttdƒtjd�dœƒ}| ¡ }d|jd d …df< t ||¡ d S )Nç      ð?rC   rq   r¥   ræ   r   rë   rí   r)   r)   r*   Ú*test_loc_setitem_consistency_dt64_to_float   s    þÿzATestLocBaseIndependent.test_loc_setitem_consistency_dt64_to_floatc                 C   sJ   t dttdƒgƒiƒ}d|jd d …df< t dtdgƒiƒ}t ||¡ d S )Nr   Z20180101Ústring)r
   r   r   r   r[   r\   r]   r)   r)   r*   Ú'test_loc_setitem_consistency_single_row-  s    z>TestLocBaseIndependent.test_loc_setitem_consistency_single_rowc                 C   st   t ddgd�}|d  tj¡|d< t ddgd�}d|jd d …df< t ||¡ t ddgd�}d|d< t ||¡ d S )Nr—   Úyrn   r9   )r
   rº   rY   rè   r   r[   r\   ©r(   r_   r^   r)   r)   r*   Ú"test_loc_setitem_consistency_empty5  s    z9TestLocBaseIndependent.test_loc_setitem_consistency_emptyc                 C   sN  dgd g d¢g d¢g}t j|g d¢d�}g d¢g d¢g}t j|d	d
gd�}ddddtjgg d¢ddddtjgg d¢g}t|||d�}t|jd d …df ƒ|jd d …df< t|jd d …df ƒ|jd d …df< |jd d …df |jd d …df  |jd d …df< |jd d …df  d¡|jd d …df< tg d¢|j	dd�}t
 |d |¡ d S )NZRegion_1rB   )ÚSite_1rö   ÚSite_2r÷   )l   ðBP[ l   _ˆZ l   q=.Z l   Ñ<.Z )ÚRegionZSiteZRespondentID©Únames)Ú
Respondentrû   rû   ÚOtherCatrü   )Z	SomethingÚ	StartDateÚEndDatezYes/NoZSomethingElseZLevel_0ZLevel_1r<   z5/25/2015 10:59z5/25/2015 11:22ÚYes)r<   z5/21/2015 9:40z5/21/2015 9:52rÿ   rÿ   z5/20/2015 8:27z5/20/2015 8:41)r<   z5/20/2015 8:33z5/20/2015 9:09rÿ   ZNorÈ   )rû   rý   )rû   rþ   )rû   ZDurationztimedelta64[s])id  iÐ  iH  g     à @r¡   )r   Úfrom_arraysrY   Únanr
   r   r   rº   r   rX   r[   rœ   )r(   ÚlevelsÚmiZclevelsr¼   rk   r^   r_   r)   r)   r*   Ú-test_loc_setitem_consistency_slice_column_lenA  sD    ýþüÿÿÿÿ
ÿþÿzDTestLocBaseIndependent.test_loc_setitem_consistency_slice_column_lenÚunit)ÚYÚMrß   ÚhÚmrÁ   ÚmsÚusc                 C   sª   t dt d¡t d¡giƒ}|jd d …df j d|› d�¡|jd d …|f< |jd d …df j d|› d�¡|d< t|jd d …df |d�}t |jd d …|f |¡ d S )NÚ	timestampz2017-02-11 12:41:29z1991-11-07 04:22:37zdatetime64[ú]r_   ro   )	r
   rY   Ú
datetime64r   rk   rº   r   r[   rœ   )r(   r  r^   r_   r)   r)   r*   Útest_loc_assign_non_ns_datetimel  s    þÿÿ	0&z6TestLocBaseIndependent.test_loc_assign_non_ns_datetimec                 C   sº   t  dg d¢i¡}t|d ddd�|d< |jd d …df |jd d …df< |jdd	gdf |jdd	gdf< t g d
¢g d¢g d¢g d¢gg d¢d�}ddg}||  t¡||< t ||¡ d S )Nr   )ì   çCO!gì   ös~!gì    4	8šì   A{ï?šr
  T)r  ÚcacheÚdate_dtÚ
date_dt_cpr   r?   )r  ú2017-01-24 13:26:12.711r  )r  ú2017-01-24 13:52:05.110r  )r  ú2018-10-22 13:44:05.888r  )r  ú2018-10-23 08:08:41.025r  )r   r  r  rn   )r
   Ú	from_dictr   r   Úapplyr[   r\   )r(   r^   r_   rW   r)   r)   r*   Útest_loc_modify_datetime~  s"    
ÿ  üù
z/TestLocBaseIndependent.test_loc_modify_datetimec                 C   s€   t g d¢dgtd�}tjg d¢dd�|jg d¢df< tg d¢g d¢td	�}|rdtg d¢g d¢dd	�}t d|iƒ}t ||¡ d S )
N©r?   rC   rB   r<   ©rX   rW   r¦   ra   rè   r¥   ©rB   r?   rC   ©r   r?   r9   rê   ©r
   ÚfloatrY   r»   r   r   r[   r\   )r(   Úusing_array_managerr^   Úserr_   r)   r)   r*   Ú#test_loc_setitem_frame_with_reindex˜  s     z:TestLocBaseIndependent.test_loc_setitem_frame_with_reindexc                 C   sx   t g d¢ddgtd�}d|d< tjg d¢dd�|jg d	¢df< tg d
¢g d¢dd�}t d|iƒ}d|d< t ||¡ d S )Nr  r<   rd   r  rñ   ra   rè   r¥   r   r!  rê   r"  )r(   r^   r%  r_   r)   r)   r*   Ú)test_loc_setitem_frame_with_reindex_mixed§  s     z@TestLocBaseIndependent.test_loc_setitem_frame_with_reindex_mixedc                 C   sl   t g d¢ddgtd�}d|d< tjg d¢dd�|jtdd	d
ƒdf< t g d¢ddœg d¢d�}t ||¡ d S )Nra   r<   rd   r  rñ   rè   r¥   r?   r   rË   )r?   r   r9   rg   rq   )r
   r#  rY   r»   r   rO   r[   r\   r]   r)   r)   r*   Ú*test_loc_setitem_frame_with_inverted_slice±  s
    $zATestLocBaseIndependent.test_loc_setitem_frame_with_inverted_slicec           
      C   sÎ   dd„ t dƒD ƒ}tjddd�}dd„ t dƒD ƒ}tjddd�}tt|ƒ |¡ƒ}t|d�}tj|d	< ||j|d	f< tj|d
< ||j|d
f< t	||tj
d�}t	||d�}t||dœƒj|d�}	t ||	¡ d S )Nc                 S   s   g | ]}d t |ƒ ‘qS ©ú@©Ústr©r–   Úir)   r)   r*   r˜   ¾  r™   zGTestLocBaseIndependent.test_loc_setitem_empty_frame.<locals>.<listcomp>rC   rè   r¥   c                 S   s   g | ]}d t |ƒ ‘qS r)  r+  r-  r)   r)   r*   r˜   Á  r™   rB   rq   r<   rd   rê   rg   )r›   rY   rZ   r¬   ÚsetÚunionr
   r  r   r   r¤   Úreindexr[   r\   )
r(   Zkeys1Zval1Úkeys2Zval2rX   r^   ZseraZserbr_   r)   r)   r*   Útest_loc_setitem_empty_frame»  s    


z3TestLocBaseIndependent.test_loc_setitem_empty_framec                 C   s²   t tj dd¡tdƒtdƒd�}|jd }d|jd< |jd }|dksJJ ‚|jd }|dks`J ‚d|jd d …d	d
…f< |jd d …d	d
…f }|jd d …dd …f }t ||¡ d S )NrB   ÚabcdÚABCDrÈ   ©r   r   r9   )rR   r<   r   rd   rß   )	r
   rY   rš   Úrandnr¬   r¢   r   r[   r\   râ   r)   r)   r*   Útest_loc_setitem_frameÓ  s     



z-TestLocBaseIndependent.test_loc_setitem_framec                 C   sP   t g d¢tjdœƒ}|j|j|j|jkdf< t g d¢tjdœƒ}t ||¡ d S )Nra   rg   rd   )r
   rY   r  r<   r   rd   r[   r\   r]   r)   r)   r*   Ú/test_loc_setitem_frame_nan_int_coercion_invalidä  s    zFTestLocBaseIndependent.test_loc_setitem_frame_nan_int_coercion_invalidc                 C   sœ   t ddgddgddgdœƒ}|jdddgf }tddgtddgtd	�tdd
�}t ||¡ t ddgddgddgdœƒ}ddg|jdddgf< t ||¡ d S )Nr9   r   r?   rB   rR   rL   )r9   r   rR   r   r¥   ©rX   r¦   rp   rC   r@   )r
   r   r   r   rÎ   r[   rœ   r\   râ   r)   r)   r*   Ú#test_loc_setitem_frame_mixed_labelsì  s    ÿz:TestLocBaseIndependent.test_loc_setitem_frame_mixed_labelsc                 C   s  t g d¢ttdƒtjd�dœƒ}|jdd… }|jdd… |_||jdd…< t g d¢tg d	¢tjd�dœƒ}t ||¡ t t	d
dƒttdƒtjd�dœƒ}t t
dƒt
dƒt
dƒt
dƒt
dƒgtg d¢tjd�dœƒ}|jdd… }|jdd… |_||jdd…< t ||¡ d S )N©r�   r‚   Úbazr?   r¥   rg   r9   r   r   )r‚   r=  r=  )r9   r   r   rä   rå   rC   ræ   Z20000101Z20000102Z20000103)r   r9   r   r9   r   rB   )r
   r   r›   rY   rè   r   rX   r[   r\   r   r   )r(   r^   Úrhsr_   r)   r)   r*   Ú test_loc_setitem_frame_multiplesû  s:    ÿÿþÿûøÿz7TestLocBaseIndependent.test_loc_setitem_frame_multiplesr®   r<   NrÐ   ÚZc                 C   sL   t ddgddggddgd�}||jd|f< |jd	 }t|ƒrD|d
ksHJ ‚d S )Nr9   r   r?   rB   r<   rd   rn   r   )r   r<   r@  )r
   r   r   )r(   r®   rÐ   r^   rž   r)   r)   r*   Ú"test_loc_setitem_with_scalar_index   s    	
z9TestLocBaseIndependent.test_loc_setitem_with_scalar_indexzindex,box,expectedr   rÞ   rA   )rA   rA   rA   rA   r?   rB   rn   r9   rŠ   rß   rN   )r?   rB   rA   rN   rC   r@   r‹   ©rA   rN   é	   )rd   rŠ   rß   )r>   é   é   )r?   rA   rN   rC  )rC   r>   rD  rE  )rŠ   r<   rß   )rN   rB   rA   rC  )rD  r@   r>   rE  rC  r>   rD  rE  )rA   r   rN   )rC  rB   r>   )rD  r@   rE  c                 C   s<   t ddgddgddggddgd	�}||j|< t ||¡ d S )
Nr9   r   r?   rB   rC   r@   r<   rd   rn   ©r
   r   r[   r\   )r(   rX   Úboxr_   r^   r)   r)   r*   Ú test_loc_setitem_missing_columns/  s    5"
z7TestLocBaseIndependent.test_loc_setitem_missing_columnsc                 C   sZ   t dtdƒ d¡tjgiƒ}|j}|jdg }t |j|¡ |jdg }t |j|¡ d S )Nr   r    ÚUTCr   r9   )	r
   r   Útz_localizeri   rj   Údtypesr¢   r[   rœ   r�   r)   r)   r*   Útest_loc_coercionh  s    z(TestLocBaseIndependent.test_loc_coercionc                 C   sj   dd l }td|  ddd¡|  ddd¡giƒ}|j}|jdg }t |j|¡ |jdg }t |j|¡ d S )Nr   r   éÜ  r9   iô  r   )r   r
   rK  r¢   r[   rœ   )r(   r   r^   r_   rž   r)   r)   r*   Útest_loc_coercion2t  s    ÿz)TestLocBaseIndependent.test_loc_coercion2c                 C   sZ   t ddgd gd  iƒ}|j}|jdd… }t |j|¡ |jdd … }t |j|¡ d S )NÚtextz
some wordsrC  r   r   r?   )r
   rK  r¢   r[   rœ   r�   r)   r)   r*   Útest_loc_coercion3ƒ  s    z)TestLocBaseIndependent.test_loc_coercion3c                 C   sf   t dƒ d¡t dƒ d¡g}t|ddgd�}ttd�}|d ||ƒd< |d	 ||ƒd< t ||¡ d S )
Né*   rI  iš  r�   r‚   rq   r¥   r   r9   )r   rJ  r   rÎ   r[   rœ   )r(   Z
indexer_slÚvalsr_   r%  r)   r)   r*   Útest_setitem_new_key_tzŽ  s    þ
z.TestLocBaseIndependent.test_setitem_new_key_tzc                 C   s’  t g d¢g d¢dœg d¢d�}d}tjt|d�� |jdd …  W d   ƒ n1 sT0    Y  d	}tjt|d�� |jd
d …  W d   ƒ n1 s”0    Y  d}tjt|d�� |jdd…  W d   ƒ n1 sÔ0    Y  t g d¢g d¢dœg d¢d�jd
d�}|jdd … }t g d¢g d¢dœg d¢d�}t ||¡ |jd
d … }t ||¡ |jdd… }t g d¢g d¢dœg d¢d�}t ||¡ d S )N©r9   r   r?   rB   rC   r@   )r?   rB   rC   r@   rA   rN   rg   )r   r9   r   r9   r   r?   rq   z5'Cannot get left slice bound for non-unique label: 1'rŒ   r9   z5'Cannot get left slice bound for non-unique label: 0'r   r   ©Úaxis)r   rB   rC   r@   )rB   r@   rA   rN   )r9   r9   r   r?   )r   rB   rC   )rB   r@   rA   )r9   r9   r   )r
   r|   r�   r&   r   Ú
sort_indexr[   r\   )r(   r^   r�   rž   r_   r)   r)   r*   Útest_loc_non_uniqueœ  s2    ÿ,,,ÿþz*TestLocBaseIndependent.test_loc_non_uniquec                    s¬   t dƒ‰ ‡ fdd„}‡ fdd„}|ddƒ}|jjdu s:J ‚t d¡}|j| }|||ƒ}t ||¡ |d	d
ƒ}|jjdu s~J ‚t d
¡}|j| }|||ƒ}t ||¡ d S )NZABCDEFGc              	      sJ   t  ttj | tˆ ƒ¡t | ¡ˆ d�tt |tˆ ƒf¡dg| ˆ d�g¡S )NrÈ   r   )	ri   Úconcatr
   rY   rš   r7  rÃ   rZ   Úones)ÚlengthÚl2rn   r)   r*   Úgen_testÆ  s    ýÿúÿzITestLocBaseIndependent.test_loc_non_unique_memory_error.<locals>.gen_testc              	      sL   t |ƒ}t |  dg¡tt |t ˆ ƒf¡dg| ˆ d�|  |dd … ¡g¡S )Nr   rÈ   r9   )rÃ   ri   rY  Útaker
   rY   rZ  )r^   rÜ   Zlen_maskrn   r)   r*   Úgen_expectedÔ  s    
ýùÿzMTestLocBaseIndependent.test_loc_non_unique_memory_error.<locals>.gen_expectedé„  r°   Fi » é † )r¬   rX   Z	is_uniquerY   rZ   r   r[   r\   )r(   r]  r_  r^   rÜ   rž   r_   r)   rn   r*   Ú test_loc_non_unique_memory_error¾  s    







z7TestLocBaseIndependent.test_loc_non_unique_memory_errorc                 C   s\   t ddgddggƒ}d|j_|jddg jj}|dks:J ‚|jddg jj}|dksXJ ‚d S )Nr9   Z
index_namer   )r
   rX   rp   r¢   r   ©r(   r^   rž   r)   r)   r*   Útest_loc_nameò  s    z$TestLocBaseIndependent.test_loc_namec                 C   sž   t  dd¡}t j|jd d …g f |jd d …d d…f ddd� t j|jg d d …f |jd d…d d …f ddd� t j|jg  |jd d…d d …f ddd� d S )NrC   r   r   T)Úcheck_index_typeÚcheck_column_type)r[   ZmakeCustomDataframer\   r   r¢   r“   r)   r)   r*   Ú!test_loc_empty_list_indexer_is_okü  s    (ÿ(ÿ ÿz8TestLocBaseIndependent.test_loc_empty_list_indexer_is_okc           	      C   s`  |rt jjdd�}|j |¡ tdg d¢iƒ}|jd d … }||usHJ ‚|d d … |us\J ‚t |d j	|d j	¡sxJ ‚g d¢|jd d …df< |d dk 
¡ s¢J ‚||jd d …d d …f u sÀJ ‚ttj dd¡ƒ}|d |jd d …df u sðJ ‚tg d	¢ƒ}|jd d … }||u�sJ ‚|d d … |u�s.J ‚g d
¢|d d…< t
|d d… g d
¢kƒ�s\J ‚d S )Nz0setting with .loc[:, 'a'] does not alter inplace©ÚreasonrR   ra   )rB   rB   rB   rB   r>   r   rT  rB  r?   )r|   r}   ÚxfailÚnodeZ
add_markerr
   r   rY   Zshares_memoryÚ_valuesrá   rš   r7  r   )	r(   r$  Úrequestr}   Zoriginal_dfZ	sliced_dfr^   Zoriginal_seriesZsliced_seriesr)   r)   r*   Ú&test_identity_slice_returns_new_object  s*    ÿz=TestLocBaseIndependent.test_identity_slice_returns_new_objectz!accidental fix reverted - GH37497rh  c                 C   s|   t ttdƒtdƒƒddgd�}| ¡ }|jd d …df }|d7 }t ||¡ | ¡ }|j|jdf }|d7 }t ||¡ d S )Nr?   rR   rL   rn   r   )r
   Úzipr›   r­   r   r[   r\   rX   )r(   r—   ró   ÚqÚzr)   r)   r*   Útest_loc_copy_vs_view.  s    z,TestLocBaseIndependent.test_loc_copy_vs_viewc                 C   s’   t  d¡j}tddg|d |gd�}|j|d  }|jd }||ksHJ ‚|j|d g }|jdg }t ||¡ |j|d |g }t ||¡ d S )Nr³   r9   r   rq   r   )rY   ÚiinfoÚmaxr   r   r¢   r[   rœ   )r(   Úumaxr%  rž   r_   r)   r)   r*   Útest_loc_uint64?  s    
z&TestLocBaseIndependent.test_loc_uint64c                 C   sš   t  d¡j}tddg|d |gd�}tjtdd�� |jd  W d   ƒ n1 sR0    Y  tjtdd�� |jdg  W d   ƒ n1 sŒ0    Y  d S )Nr³   r9   r   rq   z-1rŒ   rË   )rY   rs  rt  r   r|   r�   r&   r   )r(   ru  r%  r)   r)   r*   Ú!test_loc_uint64_disallow_negativeP  s    (z8TestLocBaseIndependent.test_loc_uint64_disallow_negativec                 C   sP   g d¢}t |d gt|ƒ dœƒ}t ddgd�}||jd d …df< t ||¡ d S ©Nra   ©r—   ró   r—   ró   rn   )r
   rÃ   r   r[   r\   ©r(   re   r_   r^   r)   r)   r*   Ú*test_loc_setitem_empty_append_expands_rows]  s
    zATestLocBaseIndependent.test_loc_setitem_empty_append_expands_rowsc                 C   sd   g d¢}t |d gt|ƒ dœƒ}t ddgd�}|d  tj¡|d< ||jd d …df< t ||¡ d S rx  )r
   rÃ   rº   rY   rè   r   r[   r\   rz  r)   r)   r*   Ú6test_loc_setitem_empty_append_expands_rows_mixed_dtypeh  s    zMTestLocBaseIndependent.test_loc_setitem_empty_append_expands_rows_mixed_dtypec                 C   sD   t dgtjgdœƒ}t ddgtd�}|jd |jd< t ||¡ d S )Nrï   ry  r—   ró   ©rW   r¦   )r   r—   )r
   rY   r  r#  r   r[   r\   rô   r)   r)   r*   Ú*test_loc_setitem_empty_append_single_values  s    zATestLocBaseIndependent.test_loc_setitem_empty_append_single_valuec                 C   s¼   ddg}t ddgd�}|j tj¡|_d}tjt|d��" ||jddgdf< W d   ƒ n1 s`0    Y  d	 	g d
¢¡}tjt
|d��" ||jdd…df< W d   ƒ n1 s®0    Y  d S )Nr9   r   r—   ró   rn   zFNone of \[Int64Index\(\[0, 1\], dtype='int64'\)\] are in the \[index\]rŒ   r   ú|)z?cannot copy sequence with size 2 to array axis with dimension 0zCcould not broadcast input array from shape \(2,\) into shape \(0,\)z@Must have equal len keys and value when setting with an iterable)r
   rX   rº   rY   rè   r|   r�   r&   r   ÚjoinÚ
ValueError)r(   re   r^   r�   r)   r)   r*   Ú$test_loc_setitem_empty_append_raisesz  s    ÿ0ÿz;TestLocBaseIndependent.test_loc_setitem_empty_append_raisesc                 C   sD   t ddgddggƒ}|jt d¡ }tddgdd�}t ||¡ d S )Nr9   r   r?   rB   r   ro   )r
   r   rY   r»   r   r[   rœ   )r(   r^   rž   rÁ   r)   r)   r*   Útest_indexing_zerodim_np_array‘  s    z5TestLocBaseIndependent.test_indexing_zerodim_np_arrayc                 C   s,   t ddgƒ}|jt d¡ }|dks(J ‚d S )Nr9   r   r   )r   r   rY   r»   )r(   rÁ   rž   r)   r)   r*   Ú%test_series_indexing_zerodim_np_array˜  s    z<TestLocBaseIndependent.test_series_indexing_zerodim_np_arrayc                 C   s\   g d¢d gd  }t |tddƒd�}t tddƒtjd�}g d¢|jddd	…< t ||¡ d S )
NrT  rB   iÚ  iä  rq   rê   )r@   rC   rB   r?   r   r9   rˆ   rË   )r   r›   rY   r¤   r   r[   rœ   )r(   re   r_   rž   r)   r)   r*   Útest_loc_reverse_assignmentž  s
    z2TestLocBaseIndependent.test_loc_reverse_assignmentc                 C   s¶   t j d¡ dd„ tdƒD ƒ}t|dgd�}t|dgtd�}t ||¡ dd„ |D ƒ|j|j	df< t|dgt
d� t¡}t ||¡ d	d„ |D ƒ|d< t|dgt
d�}t ||¡ d S )
Né   c                 S   s   g | ]}t tj ¡ d  ƒ‘qS )gê-�™—q=)r,  rY   rš   )r–   Ú_r)   r)   r*   r˜   «  r™   z^TestLocBaseIndependent.test_loc_setitem_str_to_small_float_conversion_type.<locals>.<listcomp>rC   r<   rn   r}  c                 S   s   g | ]}t |ƒ‘qS r)   ©r#  r•   r)   r)   r*   r˜   ²  r™   c                 S   s   g | ]}t |ƒ‘qS r)   rˆ  r•   r)   r)   r*   r˜   ¸  r™   )rY   rš   Úseedr›   r
   rÎ   r[   r\   r   rX   r#  rº   )r(   Zcol_datarž   r_   r)   r)   r*   Ú3test_loc_setitem_str_to_small_float_conversion_type¨  s    zJTestLocBaseIndependent.test_loc_setitem_str_to_small_float_conversion_typec           	      C   sÄ   t dddd�}|jdk|jdk@ }ttj t|ƒd¡|d�}t 	||¡}|j
tddƒ }|j
| }t ||¡ |j
d	d … }|j
tddƒ }|d
d … }|j d ¡|_|j d ¡|_t ||¡ d S )Nú1/1/2000z1/5/2000Z5min©ÚfreqrC  rE   r?   rq   z1/4/2000rË   )r   ÚhourÚminuter
   rY   rš   r7  rÃ   r[   Úget_objr   r   rs   rX   Ú
_with_freq)	r(   Úframe_or_seriesÚrngrÜ   rt   rž   rv   Úchunkr_   r)   r)   r*   Útest_loc_getitem_time_object¼  s    
z3TestLocBaseIndependent.test_loc_getitem_time_objectÚ
spmatrix_t)Z
coo_matrixZ
csc_matrixZ
csr_matrixr¦   c                 C   s    dd l }t|j|ƒ}d\}}|tj|||d�|d�}tj |¡}td|ƒ}|j| j	}	| 
¡ | }
t |	|
¡ |j| jj	}	t |t|dd�¡}
t |	|
¡ d S )Nr   )rC   rA   r¥   r   )Z
fill_value)Úscipy.sparseÚgetattrÚsparserY   Úeyer
   Úfrom_spmatrixr›   r   rk   Ztoarrayr[   Zassert_numpy_array_equalrK  Úfullr   )r(   r–  r¦   ZscipyÚrowsr¼   Zspmatrixr^   Zitr_idxrž   r_   r)   r)   r*   Ú$test_loc_getitem_range_from_spmatrixÐ  s    
z;TestLocBaseIndependent.test_loc_getitem_range_from_spmatrixc                 C   s<   t dtjddgtdƒd�iƒ}|jddg }t ||¡ d S )Nr<   r   rè   r¥   r9   )r
   ri   r»   r   r   r[   r\   rc  r)   r)   r*   Ú,test_loc_getitem_listlike_all_retains_sparseê  s    zCTestLocBaseIndependent.test_loc_getitem_listlike_all_retains_sparsec                 C   s”   ddl m} tj |dƒ¡}|jtdƒ }tg d¢g d¢gtddƒd	�}t 	||¡ |jtdƒ jtd
ƒ }tg d¢gtddƒd	�}t 	||¡ d S )Nr   )rš  rC   r   ©rï   r·   r·   r·   r·   )r·   rï   r·   r·   r·   r¤   r·   r¥   r9   )
r—  rš  r
   r™  r›  r   r›   r   r[   r\   )r(   rš  r^   rž   r_   r)   r)   r*   Útest_loc_getitem_sparse_frameï  s    þÿz4TestLocBaseIndependent.test_loc_getitem_sparse_framec                 C   s„   t g d¢tddƒd�}|jtdƒ }t ddgtddƒd�}t ||¡ |jtdƒ jtdƒ }t ddgtddƒd�}t ||¡ d S )Nr   r¤   r·   r¥   r   rï   r?   )r   r   r   r›   r[   rœ   )r(   rÁ   rž   r_   r)   r)   r*   Útest_loc_getitem_sparse_series  s    z5TestLocBaseIndependent.test_loc_getitem_sparse_seriesÚkey_typec                 C   sD   |g d¢ƒ}|j d d …|f }|j d d …g d¢f }t ||¡ d S )Nr‹   )r   r[   r\   )r(   Úfloat_framer£  Úidxrž   r_   r)   r)   r*   Útest_loc_getitem_iterable  s    z0TestLocBaseIndependent.test_loc_getitem_iterablec                 C   sb   t tjjdd�ƒ}tdddd�|_|jtdƒd …d d …f }|jdd …d d …f }t 	||¡ d S )N©r>   rB   rÕ   Z0sr>   rÁ   ©ÚstartÚperiodsr�  )
r
   rY   rš   Únormalr   rX   r   r   r[   r\   r�   r)   r)   r*   Ú#test_loc_getitem_timedelta_0seconds  s
    z:TestLocBaseIndependent.test_loc_getitem_timedelta_0secondsúval,expectedì   ÿÿÿÿ ì            c                 C   s4   t ddgddgd�}|j| }||_t ||¡ d S )Nr9   r   r®  r¯  rq   )r
   r   rp   r[   rœ   )r(   rç   r_   r^   rž   r)   r)   r*   Útest_loc_getitem_uint64_scalar  s    
z5TestLocBaseIndependent.test_loc_getitem_uint64_scalarc                 C   s@   t g d¢g d¢d�}| ¡ }d|jd< d|jd< t ||¡ d S )Nr¹   )r   ç      à?r9   rq   Zzoor9   r   )r   r­   r   r¢   r[   rœ   ©r(   r%  r_   r)   r)   r*   Ú,test_loc_setitem_int_label_with_float64index(  s
    

zCTestLocBaseIndependent.test_loc_setitem_int_label_with_float64indexzindexer, expected)
r5   r9   r   r?   rB   rC   r@   rA   rN   rC  )
r   r9   r   r?   r5   r5   r5   r5   rN   rC  )
r   r9   r   r5   rB   r5   r@   rA   rN   rC  c                 C   s\   t tdƒdd�}tdtdƒid|d�}d|j|j| df< t||dgdd�}t ||¡ d S )	Nr>   rÁ   ©r  r—   rè   ©r¦   rX   r5   r  )r   r›   r
   r   rX   r[   r\   )r(   r®   r_   Útdir^   r)   r)   r*   Ú/test_loc_setitem_listlike_with_timedelta64index2  s    üzFTestLocBaseIndependent.test_loc_setitem_listlike_with_timedelta64indexc                 C   s€   t g d¢tdƒdœƒ}t g d¢tdƒdœƒ}tddgddgd�|jd	d
…df< tddgddgd�|jd
d…df< t ||¡ d S )N)r9   r9   r9   r9   r9   Zaaaaar±   )r9   rL   rL   r9   r9   ZaabbarL   rR   ©Ú
categoriesr9   r   r?   )r
   r¬   r   r   r[   r\   )r(   r^   rv   r)   r)   r*   Ú8test_loc_setitem_categorical_values_partial_column_sliceL  s
    ""zOTestLocBaseIndependent.test_loc_setitem_categorical_values_partial_column_slicec                 C   s`   t dgdgdœƒ}t|d g d¢d�}||jd d …df< |d }t||jdd�}t ||¡ d S )NrR   r   )ÚAlphaZNumericr»  r¹   r¸  r¡   )r
   r   r   r   rX   r[   rœ   )r(   r^   r¹  rž   r_   r)   r)   r*   Ú'test_loc_setitem_single_row_categoricalU  s    z>TestLocBaseIndependent.test_loc_setitem_single_row_categoricalc                 C   sÊ   t dtdƒgd iƒ}t d¡|jdd…df< tdƒ|jd ksDJ ‚tdƒ|jd ksZJ ‚td	d
d
ƒ|jd< t t¡�& tdƒ|jd ksŽJ ‚W d   ƒ n1 s¢0    Y  tdƒ ¡ |jd ksÆJ ‚d S )Nr,   z
2010-10-01r?   z
2008-08-08r   r9   )r   r,   )r9   r,   iÕ  rC   )r   r,   z
2005-05-05)	r
   r   rY   r  r   r   r[   Úassert_produces_warningÚFutureWarningr“   r)   r)   r*   Ú"test_loc_setitem_datetime_coercion_  s    4z9TestLocBaseIndependent.test_loc_setitem_datetime_coercionÚidxerÚvarc                 C   sX   |}t ddd|d�}td|dgd�}t|dgtjd�}||jd d …|f< t ||¡ d S )	Nz
2015-07-12r?   ÚH)r©  rª  r�  Útzr¶   rÁ  rÈ   r  )r   r
   rY   r¤   r   r[   r\   )r(   rÀ  Ztz_naive_fixturerÃ  r¥  r_   rž   r)   r)   r*   Ú!test_loc_setitem_datetimeindex_tzk  s    z8TestLocBaseIndependent.test_loc_setitem_datetimeindex_tzc           
      C   sd  t dddd�}ttj t|ƒd¡|d�}tdddƒ}ttd	ddƒtd
ddƒƒ}g d¢}g d¢}| ¡ }d|j	|< |j	| }|j	|  ¡ }	d|	j	d d …< |r¤|	 
t¡}	t ||	¡ | ¡ }d|j	|< |j| |j	|< t ||¡ | ¡ }d|j	|< |j	| }|j	|  ¡ }	d|	j	d d …< |�r&|	 
t¡}	t ||	¡ | ¡ }d|j	|< |j| |j	|< t ||¡ d S )Nz
2012-01-01z
2012-01-05Z30minrŒ  rC   rq   rE  r   r†  é   )é   éH   éx   é¨   )é   é   é   éJ   éK   éL   éz   é{   é|   éª   é«   é¬   )r   r
   rY   rš   r7  rÃ   r   rO   r­   r   rº   r#  r[   r\   r¢   )
r(   r$  rX   r^   ZakeyZbkeyZaindsZbindsrž   r_   r)   r)   r*   Útest_loc_setitem_time_keyw  s<    







z0TestLocBaseIndependent.test_loc_setitem_time_keyru   c                 C   s²   t  g d¢¡}tg d¢g d¢g|d�}| ¡ }tjdtd�|jd d …|f< tg d¢g d¢g|d�}t 	||¡ |j
d	d
�}tjdtd�|jd d …|f< |j
d	d
�}t 	||¡ d S )N))r<   rB   )rd   Ú3)r<   Ú2ra   ©rB   rC   r@   rn   )r   r   r¥   )r   r   r   )r   rC   r   r9   rU  )r   Úfrom_tuplesr
   r­   rY   ZzerosÚintr   r[   r\   rW  )r(   ru   r  r^   rt   r_   r)   r)   r*   Ú,test_loc_setitem_unsorted_multiindex_columns�  s    zCTestLocBaseIndependent.test_loc_setitem_unsorted_multiindex_columnsc                 C   s:   t g d¢|d�}d|jd< t g d¢|d�}t ||¡ d S )Nra   r¥   rB   r   )rB   r   r?   )r   r   r[   rœ   )r(   Zany_int_numpy_dtypeÚseriesr_   r)   r)   r*   Útest_loc_setitem_uint_drop¬  s    
z1TestLocBaseIndependent.test_loc_setitem_uint_dropc                 C   sl   t dt dd¡g ƒ}t dd¡|jg d¢< t dt dd¡g ƒ}tt dd¡ƒ|jg d¢< t ||¡ d S )Nr>   r	  r5   ra   )r   rY   Útimedelta64r   r   r[   rœ   r²  r)   r)   r*   Útest_loc_setitem_td64_non_nano´  s
    z5TestLocBaseIndependent.test_loc_setitem_td64_non_nanoc                 C   s¨   t j dd¡}ttdƒƒ}d ddg¡}tjt|d�� ||j	tdƒ< W d   ƒ n1 sZ0    Y  d}tjt|d�� ||j	d d …< W d   ƒ n1 sš0    Y  d S )Nr   r  z,shape mismatch: value array of shape \(2,2\)z0cannot reshape array of size 4 into shape \(2,\)rŒ   zEcould not broadcast input array from shape \(2,2\) into shape \(2,?\))
rY   rš   r7  r   r›   r€  r|   r�   r�  r   )r(   re   r%  r�   r)   r)   r*   Ú test_loc_setitem_2d_to_1d_raises¼  s    þÿ,z7TestLocBaseIndependent.test_loc_setitem_2d_to_1d_raisesc                 C   sP   t jddd�}tg d¢g d¢g d¢g|g d¢d�}d	}|jd
 }t ||¡ d S )Nr   r?   )r©  rª  ra   rÙ  rB  r‹   rÈ   r9   )r±  r<   )ri   Úinterval_ranger
   r   r[   Úassert_almost_equal)r(   rX   r^   r_   rž   r)   r)   r*   Útest_loc_getitem_interval_indexÍ  s    ÿ
z6TestLocBaseIndependent.test_loc_getitem_interval_indexc                 C   sr   t jdddd�}tg d¢g d¢g d¢g|g d¢d	�}t jdd
ddd�}tddg|dd�}|jd }t ||¡ d S )Nr   r?   Zboth)r©  rª  Úclosedra   rÙ  rB  r‹   rÈ   r   r9   )r©  rª  r�  rå  rB   r<   r¡   ©r9   r<   )ri   râ  r
   r   r   r[   rœ   )r(   rX   r^   Z	index_expr_   rž   r)   r)   r*   Ú test_loc_getitem_interval_index2Ø  s    ÿ
z7TestLocBaseIndependent.test_loc_getitem_interval_index2Útpl©r9   ©r9   r   c                 C   sR   t ddgddd�}t|d�}|j|g }t |gddd�}t|d�}t ||¡ d S )Nré  rê  r<   F©rp   Ztupleize_colsrq   )r   r
   r   r[   r\   )r(   rè  r¥  r^   rž   r_   r)   r)   r*   Ú+test_loc_getitem_index_single_double_tuplesä  s    ý

zBTestLocBaseIndependent.test_loc_getitem_index_single_double_tuplesc                 C   sn   t dddgƒ}|ddƒ}|ddƒ}t||gdd	d
�}tddg|ddgd�}|j|ddƒ d }|dksjJ ‚d S )NÚ	IndexTyperR   rL   r�   r‚   r=  ZbofZcomposite_indexFrë  rê  )r?   rB   r<   rd   rÈ   r9   )r   r   r
   r   )r(   rí  Zidx1Zidx2rX   r^   rž   r)   r)   r*   Ú!test_loc_getitem_index_namedtupleó  s    

z8TestLocBaseIndependent.test_loc_getitem_index_namedtuplec                 C   sx   t tj dd¡g d¢g d¢d�}d|d< tj|j|jd d d… df< tjtjdtjdtjgtd	�}t	 
|d j|¡ d S )
NrC   r?   )rR   rL   r,   r¿   rÆ   r<  rÈ   Úquxr,  r   r¥   )r
   rY   rš   r7  r  r   rX   r»   rÎ   r[   rã  rk   r]   r)   r)   r*   Ú$test_loc_setitem_single_column_mixedý  s    ýz;TestLocBaseIndependent.test_loc_setitem_single_column_mixedc                 C   sl   t tj dd¡tdƒd�}tj|d< d|jd< |j}tt 	d¡gd t 	d	¡g g d
¢d�}t
 ||¡ d S )NrE   r?   ÚABCrn   Úeventr�   )r>   rò  r¤   rÎ   )r<   rd   rŠ   rò  rq   )r
   rY   rš   rà   Útupler  r   rK  r   r¦   r[   rœ   râ   r)   r)   r*   Útest_loc_setitem_cast2  s    

þz-TestLocBaseIndependent.test_loc_setitem_cast2c                 C   sb   t dtjdtjd�iƒ}d|jd< |jjt tj¡ks:J ‚t d¡|_|jjt tj¡ks^J ‚d S )NÚoner@   r¥   )r9   rõ  rA   )r
   rY   rZ   Zint8r   rK  rõ  r¦   r“   r)   r)   r*   Útest_loc_setitem_cast3  s
    
z-TestLocBaseIndependent.test_loc_setitem_cast3)iry   rz   r{   r|   r}   r~   r   r‘   r”   rŸ   r£   r¯   rµ   r½   rÂ   rÄ   rÅ   rÊ   rÏ   rÑ   rÔ   rÝ   rã   Úfixtureré   rY   r»   rè   rì   rî   rð   rò   rõ   r  r  r  r&  r'  r(  ÚtdZ&skip_array_manager_not_yet_implementedr3  r8  r9  r;  r?  rO   rA  r
   r  rH  rL  rN  rP  rS  rX  Zarm_slowrb  rd  rg  rn  rj  rr  rv  rw  r{  r|  r~  r‚  rƒ  r„  r…  rŠ  r•  r¤   ÚcomplexZskip_if_no_scipyrž  rŸ  r¡  r¢  Úiterr   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   Ê   sX  þþóþ

$
'
$þ
+



%ÿþý	
$þý	
"ÿýþý	þý	 ÿýØþ3
"
3
"



ÿ


ûþ

	

&


r   c                   @   sN   e Zd Zejejejgd�dd„ ƒZejdd„ ƒZ	dd„ Z
dd	„ Zd
d„ ZdS )ÚTestLocWithEllipsis)Úparamsc                 C   s   |j S rH   )Úparam)r(   rm  r)   r)   r*   r®     s    zTestLocWithEllipsis.indexerc                 C   s   |}|t ur| ¡ }|S rH   )r   Úto_frame)r(   Úseries_with_simple_indexr’  rt   r)   r)   r*   rt   $  s    zTestLocWithEllipsis.objc                 C   s   ||ƒd }t  ||¡ d S )N.)r[   rs   )r(   rt   r®   rž   r)   r)   r*   Útest_loc_iloc_getitem_ellipsis+  s    z2TestLocWithEllipsis.test_loc_iloc_getitem_ellipsisc           
      C   s(  |}|t ju st|ƒdkrdn|jd }|t ju r@|j ¡ r@d S |t ju rœt|jtƒrœd}tj	t
|d��" ||ƒd|gf }W d   ƒ qÔ1 s�0    Y  n8t|ƒdkrÔ||ƒd|gf }||ƒ|g }t  ||¡ |t ju râdn|j}| ¡ }	||	ƒd|gf }||	ƒd d …|gf }t  ||¡ d S )Nr   z2MultiIndex does not support indexing with EllipsisrŒ   .)r[   r¢   rÃ   rX   r   Z
is_booleanrr   r   r|   r�   ÚNotImplementedErrorrœ   rp   rþ  r\   )
r(   rÿ  r®   rt   ru   r�   rž   r_   Úkey2r^   r)   r)   r*   Ú&test_loc_iloc_getitem_leading_ellipses/  s"    $2z:TestLocWithEllipsis.test_loc_iloc_getitem_leading_ellipsesc                 C   s&  |t ju st|ƒdkrdn|jd }tjttd�� ||ƒd  W d   ƒ n1 sT0    Y  tjttd��$ ||ƒd|gdf  W d   ƒ n1 s–0    Y  tjttd��" ||ƒdd|f  W d   ƒ n1 sÖ0    Y  tjtdd��" ||ƒ|ddf  W d   ƒ n1 �s0    Y  d S )Nr   rŒ   )...zToo many indexers)r[   r¢   rÃ   rX   r|   r�   r   r   )r(   rt   r®   ru   r)   r)   r*   Ú0test_loc_iloc_getitem_ellipses_only_one_ellipsisG  s    $*20zDTestLocWithEllipsis.test_loc_iloc_getitem_ellipses_only_one_ellipsisN)ry   rz   r{   r|   r÷  r[   r   r¢   r®   rt   r   r  r  r)   r)   r)   r*   rû    s   

rû  c                   @   s`  e Zd Zej dddgg d¢g d¢gfddgg d¢g d¢gfddgddgfg d¢g d¢gfddgddgfg d¢g d	¢gfddgddgfg d¢g d	¢gfddgddgfg d¢g d¢gfd
dgddgfg d¢g d¢gfg¡ej ddd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ej d"d#d$g¡d%d&„ ƒZd'd(„ Zd)d*„ Zd+S ),ÚTestLocWithMultiIndexzkeys, expectedrL   rR   )rL   rL   rR   rR   )r9   r   r9   r   )rR   rR   rL   rL   r9   r   )r   r9   r   r9   r,   )r,   rR   rR   )r9   r   r9   ÚdimrX   rW   c                 C   s’   |g d¢g d¢gi}t t d¡ dd¡fi |¤Ž}t |¡}|dkrf|j|d d …f }t |j	|¡ n(|dkrŽ|jd d …|f }t |j
|¡ d S )N)r,   rR   rR   rL   rL   )r9   r9   r   r9   r   é   rC   rX   rW   )r
   rY   rZ   Úreshaper   r   r   r[   Úassert_index_equalrX   rW   )r(   r  Úkeysr_   Úkwargsr^   Ú	exp_indexrw   r)   r)   r*   Ú'test_loc_getitem_multilevel_index_order[  s    
z=TestLocWithMultiIndex.test_loc_getitem_multilevel_index_orderc                 C   s    |}|j d }|d j d }|jj|jjdd … ks8J ‚|jj|jjdd … ksTJ ‚|j d }|d j d }|jj|jjd ks„J ‚|jj|jjd ksœJ ‚d S )NéÐ  r<   r9   )r  r   r   )r   rX   rú   rp   )r(   Z/multiindex_year_month_day_dataframe_random_dataZymdrž   Úresult2r)   r)   r*   Útest_loc_preserve_namesu  s    

z-TestLocWithMultiIndex.test_loc_preserve_namesc                 C   sf   t  dgddgg¡}td|d�}|jg  }|d d… }t ||¡ |j|jdd…  }t ||¡ d S )Nr   r9   rq   )r   Úfrom_productr   r   r[   rœ   r¢   )r(   r  r%  rw   r_   Zres2r)   r)   r*   Ú.test_loc_getitem_multiindex_nonunique_len_zero‚  s    
zDTestLocWithMultiIndex.test_loc_getitem_multiindex_nonunique_len_zeroc                 C   s¤   t d gt dgdgg¡ƒ}|jd }|d u s0J ‚t dgddgg¡}t d gt|ƒ t|d�}|jd }|d u srJ ‚t dgt|ƒ t|d�}|jd }|dks J ‚d S )	NÚLevel1ÚLevel2)r  r  ÚLevel2_aZLevel2_brµ  )r  r  r9   )r   r   r   r   r  rÃ   rÎ   )r(   r%  rž   Zmidxr)   r)   r*   Ú0test_loc_getitem_access_none_value_in_multiindex�  s    


zFTestLocWithMultiIndex.test_loc_getitem_access_none_value_in_multiindexc                 C   s^   t jtg d¢g d¢ƒddgd�}tg d¢|d�}d|jd	d
…< tg d¢|d�}t ||¡ d S )N)r‚   r‚   r=  r=  r�   r�   rï  rï  )rõ  Útworõ  r  rõ  r  rõ  r  ÚfirstÚsecondrù   )r9   r9   r9   r9   r9   r9   r9   r9   rq   r°   )r=  rõ  )r�   r  )r9   r9   r°   r°   r°   r°   r9   r9   )r   rÚ  ro  r   r   r[   rœ   )r(   rX   rž   r_   r)   r)   r*   Ú!test_loc_setitem_multiindex_slice   s    þûz7TestLocWithMultiIndex.test_loc_setitem_multiindex_slicec                 C   sJ   t dddd�}ttdƒ|ƒ}|jtdddƒtdddƒ… }t ||¡ d S )Nrä   Z10minra  ©r�  rª  il  r9   i4  )r   r   r›   r   r   r[   rœ   )r(   Útimesr%  rž   r)   r)   r*   Ú7test_loc_getitem_slice_datetime_objs_with_datetimeindex²  s    zMTestLocWithMultiIndex.test_loc_getitem_slice_datetime_objs_with_datetimeindexc                 C   sh   t tdƒtdƒdœtddƒd�}|jddgddgf }t d	d
gd	d
gdœtddgƒd�}t ||¡ d S )Nr>   r±   z
2010-01-01z
2010-01-10rq   z
2010-01-05rR   rL   r   rB   )r
   r›   r   r   r   r[   r\   râ   r)   r)   r*   Ú3test_loc_getitem_datetime_string_with_datetimeindex¸  s    þ
þzITestLocWithMultiIndex.test_loc_getitem_datetime_string_with_datetimeindexc                 C   s    t jg d¢ddgd�}tddgddgd	d
gddgddgddgg|ddgd�}|jdd�}tddgddgddggddg| g d¢¡d�}|jd }t ||¡ d S )N)©r�   r‚   r  ©ZbahZbamr   r  r   r<   rd   rù   rï   r9   rª   r   r;   r?   ç      @rB   ç      @rC   ç      @r@   rŠ   rß   rÈ   r   )Úlevel)r   r9   rB   rV   r  )r   rÚ  r
   rW  r^  r   r[   r\   )r(   r  r^   r_   rž   r)   r)   r*   Ú3test_loc_getitem_sorted_index_level_with_duplicatesÅ  s*    ÷úö&ÿ
zITestLocWithMultiIndex.test_loc_getitem_sorted_index_level_with_duplicatesc                 C   s¢   t t ddd¡ttddgƒtdƒgdgd dgd  tdƒgd	d
gd�d�}tddgddgdd	dd�}|jjd }t 	||¡ |j
dg jjd }t 	||¡ d S )Nr   é   rR   rL   r>   r   rC   r9   ZIndex1ZIndex2)r  Úcodesrú   )re   rX   FÚcategory)r¹  Úorderedrp   r¦   )r
   rY   rZ   r   r	   r›   rX   r  r[   r	  r   r�   r)   r)   r*   Ú5test_loc_getitem_preserves_index_level_category_dtypeç  s&    ýþ	ûzKTestLocWithMultiIndex.test_loc_getitem_preserves_index_level_category_dtypeÚlt_valuerE   r>   c                 C   s|   t dg d¢itdƒg d¢gd�}tjtdd��: |j|d |k d d …f jdgd d …f  W d   ƒ n1 sn0    Y  d S )	NrR   )rE  é   é"   é-   Úaabb©r   r9   r   r?   rq   z\['b'\] not in indexrŒ   rL   )r
   r¬   r|   r�   r&   r   )r(   r+  r^   r)   r)   r*   Ú>test_loc_multiindex_levels_contain_values_not_in_index_anymore   s     zTTestLocWithMultiIndex.test_loc_multiindex_levels_contain_values_not_in_index_anymorec                 C   sl   t  t jt jg¡}ddg}t ||g¡}tddg|d�}|jd d …df }tdgt jgd�}t ||¡ d S )Nr‚   r=  r   r9   rq   )	rY   r»   r  r   r   r   r   r[   rœ   )r(   Úlev1Úlev2r  r%  rž   r_   r)   r)   r*   Ú'test_loc_multiindex_null_slice_na_level  s    z=TestLocWithMultiIndex.test_loc_multiindex_null_slice_na_levelc                 C   sr   t jtdƒtdƒddggg d¢d�}ttdƒ|d�}|jd	d d …d d …f }|j d
¡d d… }t 	|j|¡ d S )NÚabÚxyr9   r   )r5  r6  Únumrù   rN   rq   rR   r   rB   )
r   r  r¬   r   r›   r   rX   Z	droplevelr[   r	  )r(   r  r%  Z
loc_resultr_   r)   r)   r*   Útest_loc_drops_level  s    ÿz*TestLocWithMultiIndex.test_loc_drops_levelN)ry   rz   r{   r|   r}   r~   r  r  r  r  r  r  r  r%  r*  r1  r4  r8  r)   r)   r)   r*   r  Z  s2   ùþ"
r  c                   @   s‚   e Zd Zejj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¡dd„ ƒZej dg d¢¡dd„ ƒZdS )ÚTestLocSetitemWithExpansionc                 C   sN   t dtdƒidd�}t|ƒd |jt|ƒ< t dtdƒidd�}t ||¡ d S )Nr—   i@B rè   r¥   r9   iAB )r
   r›   rÃ   r   r[   r\   ©r(   rž   r_   r)   r)   r*   Ú/test_loc_setitem_with_expansion_large_dataframe!  s    zKTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_large_dataframec                 C   s   t td�}d|jd< t |t dgdgd�¡ d|jd< t |t ddgddgd�¡ t td�}d|jd< t |t dgdgd�¡ d|jd< t |t ddgddgd�¡ t td�}d|jd< t |t dgdgd�¡ d|jd< t |t ddgddgd�¡ d	|jd< t |t g d
¢g d¢d�¡ d S )Nr¥   r9   rq   r?   rï   r;   r�   r‚   rB   )r9   r?   rB   )r�   r‚   r?   )r   rÎ   r   r[   rœ   ©r(   r%  r)   r)   r*   Útest_loc_setitem_empty_series)  s"    









z9TestLocSetitemWithExpansion.test_loc_setitem_empty_seriesc                    sn   t dddtdƒd�‰ ‡ fdd„tdƒD ƒ}td	g|d	 gd
�}|D ]}d|j|< qBtd|d
�}t ||¡ d S )Nrˆ   rD  r9   ú
US/Pacific)Útzinfoc                    s   g | ]}ˆ t |d  d� ‘qS )r`  )Úseconds)r   r-  ©Úbaser)   r*   r˜   D  r™   zUTestLocSetitemWithExpansion.test_loc_setitem_incremental_with_dst.<locals>.<listcomp>é   r   rq   )r   r   r›   r   r   r[   rœ   )r(   Zidxsrž   r3   r_   r)   rA  r*   Ú%test_loc_setitem_incremental_with_dstA  s    zATestLocSetitemWithExpansion.test_loc_setitem_incremental_with_dstc                 C   s„   t dƒ}t dƒ}dd„ dd„ dd„ dd„ fD ]R}tƒ }d|j||ƒd	f< d
|j||ƒd	f< td	ddgi||gd�}t ||¡ q,d S )Nz20130101 09:00:00z20130101 10:00:00c                 S   s   | S rH   r)   rØ   r)   r)   r*   rÙ   Q  r™   zQTestLocSetitemWithExpansion.test_loc_setitem_datetime_keys_cast.<locals>.<lambda>c                 S   s   |   ¡ S rH   )Zto_datetime64rØ   r)   r)   r*   rÙ   R  r™   c                 S   s   |   ¡ S rH   )Zto_pydatetimerØ   r)   r)   r*   rÙ   S  r™   c                 S   s
   t  | ¡S rH   )rY   r  rØ   r)   r)   r*   rÙ   T  r™   r°   rõ  rS   g      Y@g      i@rq   )r   r
   r   r[   r\   )r(   Zdt1Zdt2Úconvr^   r_   r)   r)   r*   Ú#test_loc_setitem_datetime_keys_castK  s    üz?TestLocSetitemWithExpansion.test_loc_setitem_datetime_keys_castc                 C   sT   t ddgiƒ}tdg|d�|jd d …df< t dgtdg|d�dœƒ}t ||¡ d S )Nr<   r9   rL   )r)  rd   rg   )r
   r   r   r[   r\   )r(   r)  rž   r_   r)   r)   r*   Ú1test_loc_setitem_categorical_column_retains_dtype^  s    zMTestLocSetitemWithExpansion.test_loc_setitem_categorical_column_retains_dtypec                 C   sœ   t ddd�}t ddd�}t ddd�}t||ddd�}||vs@J ‚t|d	gd
�}d|j|d	f< ttjgt|ƒ dg | t|gƒ¡d	gt	d�}t
 ||¡ d S )Nz2017-10-29 00:00:00+0200zEurope/Madrid©rÃ  z2017-10-29 03:00:00+0100z2016-10-10 03:00:00ÚleftrÂ  )Z	inclusiver�  rÐ   rÈ   rE  r  )r   r   r
   r   rY   r  rÃ   Úappendr   rÎ   r[   r\   )r(   r©  Úendr3   r¥  rž   r_   r)   r)   r*   Ú0test_loc_setitem_with_expansion_and_existing_dste  s    üzLTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_and_existing_dstc                 C   s  t tddgƒdgd�}ddg|d< | d¡j d¡|_||jdk  d¡j d	¡}| ¡ }t	j
td
d��$ ||j|jdkdf< W d   ƒ n1 s’0    Y  t|d |jd gdd�}t	 |j|¡ |j|jdkdf tdƒ }||j|jdkdf< t	 |j|jdkdf |¡ d S )Nz2015-03-30 20:12:32z2015-03-12 00:11:11r   )re   rW   ÚnewÚoldÚnew_colrI  r>  zmismatched timezonerŒ   r   )r9   r   ro   Z1s)r
   r   rŽ   rX   rJ  r   rO  Z
tz_convertr­   r[   r½  r¾  r   r   rœ   r   )r(   r^   Úvrl   r_   r)   r)   r*   Útest_setitem_with_expansionw  s    
þ2z7TestLocSetitemWithExpansion.test_setitem_with_expansionc                 C   sP   t ƒ }d|jd< d|jd< d|jdtjf< |j}tddtjgƒ}t ||¡ d S )Nr9   r6  r   )r9   r9   r?   r   )r
   r   rY   ÚinfrW   r   r[   r	  râ   r)   r)   r*   Ú0test_loc_setitem_with_expansion_inf_upcast_emptyŽ  s    

zLTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_inf_upcast_emptyz"ignore:indexing past lexsort depthc                 C   s`  t |ƒsd S | d¡}t |ƒ}t |¡ tj¡}t||dgd�}d}||vsPJ ‚| t |ƒ|¡}t|t	ƒr€|d d |ks�J ‚n|d |ks�J ‚t |d ¡ tj
¡}t||dgd�}	| ¡ }
||
j|df< t |
|	¡ | ¡ d }||j|< |	d  tj¡}	t ||	¡ | ¡ }
||
j|df< tt|ƒtjg tjg| t|ƒg dœ|d�}	t |
|	¡ d S )	Nr   r   rÈ   ZkapowrË   r9   ©r   r9   rq   )rÃ   ÚrepeatrY   rZ   rº   rè   r
   Úinsertrr   r   r¤   r­   r   r[   r\   rœ   r¬   r  r#  )r(   rX   rm  ÚNÚarrÚorigru   r  Zexp_datar_   r^   r%  r)   r)   r*   Ú/test_loc_setitem_with_expansion_nonunique_index™  s8    


&þzKTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_nonunique_indexr¦   )ZInt32ÚInt64ZUInt32ZUInt64ZFloat32ZFloat64c                 C   sr   t g d¢|d�}td|iƒ}t|jd�}||j|jdf< t ||¡ t|jd�}|j|j|jdf< t ||¡ d S )Nr0  r¥   re   rq   )r   r
   rX   r   r[   r\   rl  )r(   r¦   r%  r^   rž   r)   r)   r*   Ú6test_loc_setitem_with_expansion_preserves_nullable_intÇ  s    zRTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_preserves_nullable_intN)ry   rz   r{   r|   r}   Zslowr;  r=  rD  rF  rG  rL  rQ  rS  ÚfilterwarningsrZ  r~   r\  r)   r)   r)   r*   r9     s   



-ÿr9  c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚTestLocCallablec                 C   sz  t g d¢tdƒg d¢dœƒ}|jdd„  }t ||j|jdk ¡ |jdd„ d d …f }t ||j|jdkd d …f ¡ |jd	d„ d
d„ f }t ||j|jdkg d¢f ¡ |jdd„ dd„ f }t ||j|jdkdf ¡ |jdd„ dd„ f }t ||j|jdkddgf ¡ |jdd„ dd„ f }t ||j|jdkddgf ¡ |jdd„ dd„ f }||jd k�svJ ‚d S )N©r9   r   r?   rB   r/  r‹   c                 S   s
   | j dkS ©Nr   ©r<   rØ   r)   r)   r*   rÙ   à  r™   zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>r   c                 S   s
   | j dkS )NrL   )rd   rØ   r)   r)   r*   rÙ   ã  r™   rL   c                 S   s
   | j dkS r`  ra  rØ   r)   r)   r*   rÙ   æ  r™   c                 S   s
   | j dkS ©Nrd   rn   rØ   r)   r)   r*   rÙ   æ  r™   )FTFc                 S   s
   | j dkS r`  ra  rØ   r)   r)   r*   rÙ   é  r™   c                 S   s   dS rb  r)   rØ   r)   r)   r*   rÙ   é  r™   rd   c                 S   s
   | j dkS r`  ra  rØ   r)   r)   r*   rÙ   ì  r™   c                 S   s   ddgS ©Nr<   rd   r)   rØ   r)   r)   r*   rÙ   ì  r™   r<   c                 S   s
   | j dkS r`  ra  rØ   r)   r)   r*   rÙ   ï  r™   c                 S   s   ddgS rc  r)   rØ   r)   r)   r*   rÙ   ï  r™   c                 S   s   dS )Nr9   r)   rØ   r)   r)   r*   rÙ   ó  r™   c                 S   s   dS )Nr<   r)   rØ   r)   r)   r*   rÙ   ó  r™   ræ  )r
   r¬   r   r[   r\   r<   rd   rœ   ©r(   r^   rw   r)   r)   r*   Útest_frame_loc_getitem_callableÚ  s        z/TestLocCallable.test_frame_loc_getitem_callablec                 C   s¶   t g d¢tdƒg d¢dœƒ}|jdd„ ddgf }t ||j|jdkddgf ¡ |jdd	gd
d„ f }t ||jdd	gddgf ¡ |jd	dd„ f }t ||jd	ddgf ¡ d S )Nr_  r/  r‹   c                 S   s
   | j dkS r`  ra  rØ   r)   r)   r*   rÙ   ú  r™   zITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>r<   rd   r   r?   c                 S   s   ddgS rc  r)   rØ   r)   r)   r*   rÙ   ý  r™   c                 S   s   ddgS rc  r)   rØ   r)   r)   r*   rÙ      r™   )r
   r¬   r   r[   r\   r<   rœ   rd  r)   r)   r*   Ú'test_frame_loc_getitem_callable_mixtureö  s     z7TestLocCallable.test_frame_loc_getitem_callable_mixturec                 C   sš  t g d¢tdƒdœtdƒd�}|jdd„  }t ||jdd	g ¡ |jd
d„ d d …f }t ||jdd	gd d …f ¡ |jdd„ dd„ f }t ||jdd	gdf ¡ |jdd„ dd„ f }t ||jdd	gdgf ¡ |jdd	gdd„ f }t ||jdd	gdf ¡ |jdd	gdd„ f }t ||jdd	gdgf ¡ |jdd„ df }t ||jdd	gdf ¡ |jdd„ dgf }t ||jdd	gdgf ¡ d S )Nr_  r/  ©ÚXr  r5  rq   c                 S   s   ddgS ©Nr<   rŠ   r)   rØ   r)   r)   r*   rÙ     r™   zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>r<   rŠ   c                 S   s   ddgS ri  r)   rØ   r)   r)   r*   rÙ     r™   c                 S   s   ddgS ri  r)   rØ   r)   r)   r*   rÙ     r™   c                 S   s   dS ©Nrh  r)   rØ   r)   r)   r*   rÙ     r™   rh  c                 S   s   ddgS ri  r)   rØ   r)   r)   r*   rÙ     r™   c                 S   s   dgS rj  r)   rØ   r)   r)   r*   rÙ     r™   c                 S   s   dS rj  r)   rØ   r)   r)   r*   rÙ     r™   c                 S   s   dgS rj  r)   rØ   r)   r)   r*   rÙ     r™   c                 S   s   ddgS ri  r)   rØ   r)   r)   r*   rÙ     r™   c                 S   s   ddgS ri  r)   rØ   r)   r)   r*   rÙ     r™   )r
   r¬   r   r[   r\   rœ   rd  r)   r)   r*   Ú&test_frame_loc_getitem_callable_labels  s"    z6TestLocCallable.test_frame_loc_getitem_callable_labelsc                 C   sV  t g d¢tdƒdœtdƒd�}| ¡ }d|jdd„ < | ¡ }d|jd	d
g< t ||¡ | ¡ }d|jdd„ d d …f< | ¡ }d|jd	d
gd d …f< t ||¡ | ¡ }d|jdd„ dd„ f< | ¡ }d|jd	d
gdf< t ||¡ | ¡ }ddg|jdd„ dd„ f< | ¡ }ddg|jd	d
gdgf< t ||¡ | ¡ }t ddg¡|jd	d
gdd„ f< | ¡ }t ddg¡|jd	d
gdf< t ||¡ | ¡ }d|jd	d
gdd„ f< | ¡ }d|jd	d
gdgf< t ||¡ | ¡ }d|jdd„ df< | ¡ }d|jd	d
gdf< t ||¡ | ¡ }d|jdd„ dgf< | ¡ }d|jd	d
gdgf< t ||¡ d S )Nr_  r/  rg  r5  rq   iìÿÿÿc                 S   s   ddgS ri  r)   rØ   r)   r)   r*   rÙ   '  r™   zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>r<   rŠ   r5   c                 S   s   ddgS ri  r)   rØ   r)   r)   r*   rÙ   -  r™   rË   c                 S   s   ddgS ri  r)   rØ   r)   r)   r*   rÙ   3  r™   c                 S   s   dS rj  r)   rØ   r)   r)   r*   rÙ   3  r™   rh  rC   r>   c                 S   s   ddgS ri  r)   rØ   r)   r)   r*   rÙ   9  r™   c                 S   s   dgS rj  r)   rØ   r)   r)   r*   rÙ   9  r™   rÌ   c                 S   s   dS rj  r)   rØ   r)   r)   r*   rÙ   @  r™   c                 S   s   dgS rj  r)   rØ   r)   r)   r*   rÙ   F  r™   c                 S   s   ddgS ri  r)   rØ   r)   r)   r*   rÙ   L  r™   éüÿÿÿc                 S   s   ddgS ri  r)   rØ   r)   r)   r*   rÙ   R  r™   )r
   r¬   r­   r   r[   r\   rY   r»   )r(   r^   rw   rv   r)   r)   r*   Útest_frame_loc_setitem_callable!  sR     z/TestLocCallable.test_frame_loc_setitem_callableN)ry   rz   r{   re  rf  rk  rm  r)   r)   r)   r*   r^  Ù  s   r^  c                   @   sF   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zej 	d	d
dg¡dd„ ƒZ
d
S )ÚTestPartialStringSlicingc                 C   s^   t g d¢g d¢dœtg d¢ƒd�}t ddgdd	gdœtd
dgƒd�}|jd }t ||¡ d S )Nr¹   ra   )rT   rU   )ú
2020-08-01z
2020-07-02ú
2020-08-05rq   rR   r,   r9   r?   ro  rp  z2020-08)r
   r   r   r[   r\   r�   r)   r)   r*   Ú5test_loc_getitem_partial_string_slicing_datetimeindexY  s    
þ
þ
zNTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_datetimeindexc                 C   sD   t jdddd�}| ¡ }|jd d… }|jd d… }t ||¡ d S )Nú
2017-01-01ú
2018-01-01r  ©r©  rK  r�  z2017-12rË   )ri   Úperiod_rangeÚ	to_seriesr   r¢   r[   rœ   )r(   Úpir%  rž   r_   r)   r)   r*   Ú8test_loc_getitem_partial_string_slicing_with_periodindexf  s
    zQTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_with_periodindexc                 C   sB   t dddd�}| ¡ }|jd d… }|jd d… }t ||¡ d S )Nú1 dayú2 daysÚ1Hrt  z1 daysrË   )r   rv  r   r¢   r[   rœ   )r(   r´   r%  rž   r_   r)   r)   r*   Ú;test_loc_getitem_partial_string_slicing_with_timedeltaindexn  s
    zTTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_with_timedeltaindexc                 C   sD   t dtdƒittdƒdd�d�}|jd }|jd }t ||¡ d S )Nr—   r?   Údaysr´  rq   r   ú0 days)r
   r›   r   r¢   r   r[   rœ   )r(   r^   r_   Zslicedr)   r)   r*   Ú#test_loc_getitem_str_timedeltaindexv  s     

z<TestPartialStringSlicing.test_loc_getitem_str_timedeltaindexÚindexer_endNú2020-01-02 23:59:59.999999999c              	   C   s–   |dgd t tdƒtdƒtdƒtdƒtdƒg|d�d	�}|dgd
 t tdƒtdƒg|d�d	�}td|ƒ}|| }t ||¡ |j| }t ||¡ d S )Nr9   rC   z
2019-12-30z
2020-01-01z
2019-12-25r�  z
2019-12-19rH  rq   r   )r   r   rO   r[   rs   r   )r(   Ztz_aware_fixturer€  r’  rt   r_   r®   rž   r)   r)   r*   Ú/test_loc_getitem_partial_slice_non_monotonicity}  s4    ûøþþûþ


zHTestPartialStringSlicing.test_loc_getitem_partial_slice_non_monotonicity)ry   rz   r{   rq  rx  r|  r  r|   r}   r~   r‚  r)   r)   r)   r*   rn  X  s   rn  c                
   @   sø   e Zd Zdd„ Zdd„ Zej dej	dddd	�e
d
ddd	�g¡dd„ ƒZdd„ Zdd„ Zej de dd¡deddƒge dd¡e dd¡eddƒgde dd¡eddƒgg¡dd„ ƒZej d d!d"g¡d#d$„ ƒZej d%dd&g¡d'd(„ ƒZd)d*„ ZdS )+ÚTestLabelSlicingc                 C   s  t tjddd�dd„ dD ƒd�}t tjddd�d	d„ d
D ƒd�}||fD ]Æ}|jtddddƒd … }t ||¡ |jd tddddƒ… }t ||¡ |jtddddƒtddddƒ… }t ||¡ |jtddddƒd … }|jdd … }t ||¡ |jdd … }t ||¡ qHd S )Nr!  r¤   r¥   c                 S   s   g | ]}t d d|ddƒ‘qS ©éÑ  r9   r>   r   ©r   r-  r)   r)   r*   r˜   ©  r™   zMTestLabelSlicing.test_loc_getitem_slicing_datetimes_frame.<locals>.<listcomp>r_  rq   r"  c                 S   s   g | ]}t d d|ddƒ‘qS r„  r†  r-  r)   r)   r*   r˜   ¯  r™   )r9   r   r   r?   rB   r…  r9   r>   rB   rD  z20010101 11)r
   rY   rZ   r   r   r[   r\   r¢   )r(   Z	df_uniqueZdf_dupsr^   rž   r_   r)   r)   r*   Ú(test_loc_getitem_slicing_datetimes_frame£  s(    þþ"z9TestLabelSlicing.test_loc_getitem_slicing_datetimes_framec                 C   s†   t ddddd�}tg d¢|d�}tddd	�}td
dd	�}|j||… }tddg|dd… d�}t ||¡ || }d}||ks‚J ‚d S )Nz2017-10-29 01:30:00zEurope/BerlinrC   z30 min)rÃ  rª  r�  )r   r9   r   r?   rB   rq   z2017-10-29 02:30:00+02:00rH  z2017-10-29 02:00:00+01:00r   r?   rB   )r   r   r   r   r[   rœ   )r(   r¥  Zseries2Zt_1Zt_2rž   r_   r)   r)   r*   Ú'test_loc_getitem_label_slice_across_dstÀ  s    ÿz8TestLabelSlicing.test_loc_getitem_label_slice_across_dstrX   rr  rs  r  rt  ry  rz  r{  c                 C   s8   |  ¡ }|jd |d … }|jd d… }t ||¡ d S )NrÌ   rË   )rv  r   r¢   r[   rœ   )r(   rX   r%  rž   r_   r)   r)   r*   Ú-test_loc_getitem_label_slice_period_timedeltaÑ  s    z>TestLabelSlicing.test_loc_getitem_label_slice_period_timedeltac                 C   s|   g d¢}t tj dd¡|d�}|jdd… }t|ƒdks<J ‚|jdd… }t|ƒdksZJ ‚|jdd… }t|ƒdksxJ ‚d S )	N)gæx"p|é@g\Va³‰|é@g‹ßÖË|é@r?   r   rq   g3333c|é@g    �|é@g3333“|é@gÍÌÌÌÜ|é@)r
   rY   rš   rà   r   rÃ   )r(   rX   r^   Ús1r)   r)   r*   Ú%test_loc_getitem_slice_floats_inexactß  s    z6TestLabelSlicing.test_loc_getitem_slice_floats_inexactc                 C   sª   t tj d¡tjddtd�d�}t|jdd … ƒdks:J ‚t|jdd … ƒdksTJ ‚tjddtd�}d	|d
< ||_t|jdd … ƒdksŒJ ‚t|jdd … ƒdks¦J ‚d S )Nr>   r5   r¥   rq   g      (@rN   g      )@rA   gffffff(@r   )	r   rY   rš   rà   rZ   r#  rÃ   r   rX   )r(   r%  r¥  r)   r)   r*   Ú)test_loc_getitem_float_slice_float64indexì  s     z:TestLabelSlicing.test_loc_getitem_float_slice_float64indexzstart,stop, expected_slicer   ÚnsNrD  r9   rß   r@   rA   rB   rC   c                 C   s>   t tdƒtddƒƒ}|jt||ƒ }|j| }t ||¡ d S )NrD  r~  z10 days)r   r›   r   r   rO   r¢   r[   rœ   )r(   r©  ÚstopZexpected_slicer%  rž   r_   r)   r)   r*   Ú$test_loc_getitem_slice_label_td64objø  s    

z5TestLabelSlicing.test_loc_getitem_slice_label_td64objr©  Z2018Z2020c                 C   s^   |g d¢t dƒt dƒt dƒgd�}t t¡� |j|d…  W d   ƒ n1 sP0    Y  d S )Nra   Z2016Z2019Z2017rq   Z2022)r   r[   r½  r¾  r   )r(   r’  r©  rt   r)   r)   r*   Ú)test_loc_getitem_slice_unordered_dt_index	  s    þz:TestLabelSlicing.test_loc_getitem_slice_unordered_dt_indexrÐ   g      ø?c                 C   sN   |t dƒ|dddgd�}|j|d… }|t dƒ|dddgd�}t ||¡ d S )NrB   r  r   Úthirdrq   )r›   r   r[   rs   )r(   r’  rÐ   rt   rž   r_   r)   r)   r*   Ú1test_loc_getitem_slice_labels_int_in_object_index	  s    zBTestLabelSlicing.test_loc_getitem_slice_labels_int_in_object_indexc                 C   sZ   t ddddœdgd�}t ddggdgtddgtd�d�}t |jd d …dd …f |¡ d S )	Nr9   r   r?   )Útestr9   r   r   rq   r¥   )re   rX   rW   )r
   r   rÎ   r[   r\   r   r]   r)   r)   r*   Ú*test_loc_getitem_slice_columns_mixed_dtype	  s
    ÿz;TestLabelSlicing.test_loc_getitem_slice_columns_mixed_dtype)ry   rz   r{   r‡  rˆ  r|   r}   r~   ri   ru  r   r‰  r‹  rŒ  rY   rß  rO   r�  r�  r’  r”  r)   r)   r)   r*   rƒ  ¢  s0   þþ
ýþ


rƒ  c                   @   sH   e Zd Zej dddg¡dd„ ƒZej dddg¡dd„ ƒZdd	„ Zd
S )ÚTestLocBooleanLabelsAndSlicesÚ
bool_valueTFc                 C   s\   |› d�}|j dkrX||dd�}tjt|d�� |j|  W d   ƒ n1 sN0    Y  d S )Nz7: boolean label can not be used without a boolean indexrÚ   rÎ   rê   rŒ   )Zinferred_typer|   r�   r&   r   )r(   rX   r’  r–  Úmessagert   r)   r)   r*   Ú'test_loc_bool_incompatible_index_raises"	  s
    

zETestLocBooleanLabelsAndSlices.test_loc_bool_incompatible_index_raisesc                 C   s&   |t ddgdd�dd�}|j|  d S )NTFrÚ   r¥   rÎ   rê   )r   r   )r(   r’  r–  rt   r)   r)   r*   Útest_loc_bool_should_not_raise-	  s    ÿz<TestLocBooleanLabelsAndSlices.test_loc_bool_should_not_raisec                 C   sP   d}||dd�}t jt|d�� |jdd…  W d   ƒ n1 sB0    Y  d S )NzEslice\(True, False, None\): boolean values can not be used in a slicerÎ   rê   rŒ   TF)r|   r�   rP   r   )r(   rX   r’  r—  rt   r)   r)   r*   Útest_loc_bool_slice_raises4	  s
    ÿz8TestLocBooleanLabelsAndSlices.test_loc_bool_slice_raisesN)	ry   rz   r{   r|   r}   r~   r˜  r™  rš  r)   r)   r)   r*   r•  !	  s
   


r•  c                   @   sL   e Zd Zdd„ Zej dddg¡dd„ ƒZdd	„ Zd
d„ Z	e
jdd„ ƒZdS )ÚTestLocBooleanMaskc                 C   s²   t dtdƒiƒ}ttdƒdd�|_|d dk|d dk|d dk g}g d¢g d¢g d¢g}t||ƒD ]H\}}| ¡ }d|j|df< t |ttdƒdd�dgd	d
�}t ||¡ qdd S )Nr—   r>   rÁ   r´  r?   )
r   r9   r   r?   r>   r>   r>   r>   r>   r>   )
r   r9   r   r>   rB   rC   r@   rA   rN   rC  )
r>   r>   r>   r?   rB   rC   r@   rA   rN   rC  rè   r  )	r
   r›   r   rX   ro  r­   r   r[   r\   )r(   r^   Z
conditionsÚexpected_dataZcondre   rž   r_   r)   r)   r*   Ú)test_loc_setitem_bool_mask_timedeltaindex?	  s"    "ýüz<TestLocBooleanMask.test_loc_setitem_bool_mask_timedeltaindexrÃ  NrI  c                 C   s”   t  g d¢¡}tdd|d�}tdt  d¡i|d� d¡}| ¡ }|j|d d …f |j|d d …f< t 	||¡ | ¡ }|j| |j|< t 	||¡ d S )NrJ   Z20010101rB   ©rª  rÃ  rR   rq   r¤   )
rY   r»   r   r
   rZ   rº   r­   r   r[   r\   )r(   rÃ  rÜ   r¥  r^   rž   r)   r)   r*   Ú+test_loc_setitem_mask_with_datetimeindex_tzU	  s     z>TestLocBooleanMask.test_loc_setitem_mask_with_datetimeindex_tzc                 C   s~   t t d¡ dd¡tdƒtdddd�d�}| ¡ }|jd	 gtj	tj	g |d
< |j
dk }|j| j|j|d
f< t ||¡ d S )Nr#  r?   r   ZABr‹  r{  )rª  r�  rV   r   rŠ   r9   )r
   rY   rZ   r  r¬   r   r­   rX   ri   rj   r<   r   r[   r\   )r(   r^   r_   rÜ   r)   r)   r*   Ú2test_loc_setitem_mask_and_label_with_datetimeindexf	  s    ý
zETestLocBooleanMask.test_loc_setitem_mask_and_label_with_datetimeindexc                 C   s€   t dƒ}t dƒ}tdt||gƒiƒ}| ¡ }t|gƒ}|d jd j}||jddg< |d jd j}||kspJ ‚t ||¡ d S )Nr   l   ,GsO1Úcolr9   TF)	r   r
   r   r­   r¢   rÐ   r   r[   r\   )r(   Ztd1Ztd2r^   Zdf_copyr%  r_   rž   r)   r)   r*   Ú'test_loc_setitem_mask_td64_series_valueu	  s    
z:TestLocBooleanMask.test_loc_setitem_mask_td64_series_valuec                 C   sB   |  ¡ }|d dk}d|j|df< d|j|jdf< t ||¡ d S )Nr<   r   rd   r9   )r­   r   rk   r[   r\   )r(   r¤  r_   rÜ   r)   r)   r*   Ú#test_loc_setitem_boolean_and_column„	  s
    z6TestLocBooleanMask.test_loc_setitem_boolean_and_column)ry   rz   r{   r�  r|   r}   r~   rŸ  r   r¢  rø  Úskip_array_manager_invalid_testr£  r)   r)   r)   r*   r›  >	  s   
r›  c                   @   s`   e Zd Zej ddd„ ejeg¡dd„ ƒZ	dd„ Z
dd	„ Zej d
ddg¡dd„ ƒZdd„ ZdS )ÚTestLocListlikerG  c                 C   s   | S rH   r)   rØ   r)   r)   r*   rÙ   �	  r™   zTestLocListlike.<lambda>c                 C   sL  t ddtjgƒ}ttdƒ|d�}|j||ƒ }t ||¡ |||ƒ }t ||¡ | ¡ j||ƒ }t 	|| ¡ ¡ |d d… }|dd … }d}t
jt|d�� |j||ƒ  W d   ƒ n1 sÂ0    Y  t
jt|d�� |||ƒ  W d   ƒ n1 sü0    Y  t
jt|d��" | ¡ j||ƒ  W d   ƒ n1 �s>0    Y  d S )	Nr<   rd   r?   rq   rË   r9   r¾   rŒ   )r	   rY   r  r   r›   r   r[   rœ   rþ  r\   r|   r�   r&   )r(   rG  Úcir%  rž   Zser2Zci2r�   r)   r)   r*   Ú8test_loc_getitem_list_of_labels_categoricalindex_with_na�	  s"    ,*zHTestLocListlike.test_loc_getitem_list_of_labels_categoricalindex_with_nac                 C   sf   t jg d¢dd�}tg d¢tdddd�ƒ}tjtd	d
�� |j|  W d   ƒ n1 sX0    Y  d S )N)ú
2001-01-04z
2001-01-02r¨  z
2001-01-14r  r¥   )r   rC   rN   rD  z
2001-01-01rß   rB   r  r¾   rŒ   )rY   r»   r   r   r|   r�   r&   r   )r(   ru   r%  r)   r)   r*   Ú1test_loc_getitem_series_label_list_missing_values¬	  s    ÿzATestLocListlike.test_loc_getitem_series_label_list_missing_valuesc                 C   sf   t t ddg¡t ddg¡d�}tjtdd��$ |jt ddg¡  W d   ƒ n1 sX0    Y  d S )Nl   PF
AHl   UBÿeNl   P2ˆ$Þ$én©rX   re   r¾   rŒ   l   NZ4FçG)r   rY   r»   r|   r�   r&   r   r<  r)   r)   r*   Ú9test_loc_getitem_series_label_list_missing_integer_valuesµ	  s    þzITestLocListlike.test_loc_getitem_series_label_list_missing_integer_valuesÚ	to_periodTFc                 C   sX  t ddddd�}|r| d¡}tddg|dd	�}tdƒtdƒg}|rRd
d„ |D ƒ}|j| }tddg|dd	�}|s€|j d ¡|_tj||dd� tdƒtdƒtdƒg}|r¸dd„ |D ƒ}tg d¢t	|d|j
d�dd	�}|j| }tj||dd� tdƒtdƒtdƒg}|�rdd„ |D ƒ}tjtdd�� |j|  W d   ƒ n1 �sJ0    Y  d S )Nú
2011-01-01z
2011-01-02rß   r¥  )r�  rp   çš™™™™™¹?çš™™™™™É?rÁ   r¡   c                 S   s   g | ]}|  d ¡‘qS ©rß   ©r¬  r•   r)   r)   r*   r˜   É	  r™   zRTestLocListlike.test_loc_getitem_listlike_of_datetimelike_keys.<locals>.<listcomp>T)re  c                 S   s   g | ]}|  d ¡‘qS r°  r±  r•   r)   r)   r*   r˜   Ö	  r™   )r¯  r¯  r®  )rp   r¦   ú
2011-01-03c                 S   s   g | ]}|  d ¡‘qS r°  r±  r•   r)   r)   r*   r˜   ã	  r™   r¾   rŒ   )r   r¬  r   r   r   rX   r‘  r[   rœ   r   r¦   r|   r�   r&   )r(   r¬  r¥  r%  r
  rž   rv   r)   r)   r*   Ú.test_loc_getitem_listlike_of_datetimelike_keys¾	  s>    

ýÿ
ýz>TestLocListlike.test_loc_getitem_listlike_of_datetimelike_keysc                 C   sd   t ddgddgddggg d¢dd	gd
�}|jd d… }d|j_|jtddgdd� }t ||¡ d S )Nr9   r   rB   rC   rA   rN   )ÚcobraÚviperZ
sidewinderZ	max_speedÚshieldrÈ   r�   r´  rµ  ro   )r
   r¢   rX   rp   r   r   r[   r\   r�   r)   r)   r*   Útest_loc_named_indexè	  s    ýz$TestLocListlike.test_loc_named_indexN)ry   rz   r{   r|   r}   r~   rY   Zasarrayr¬   r§  r©  r«  r³  r·  r)   r)   r)   r*   r¥  �	  s   
		
)r¥  z%columns, column_key, expected_columns)éÛ  rM  iÝ  r¸  rM  r9   )r¸  rM  ÚAllr¹  r   c                 C   sT   t tj dd¡| tdƒd�}|jd d …|f }|jg d¢|f }tj||dd� d S )Nr?   rñ  rV   r‹   T)rf  )	r
   rY   rš   rà   r¬   r¢   r   r[   r\   )rW   Z
column_keyZexpected_columnsr^   r_   rž   r)   r)   r*   Ú*test_loc_getitem_label_list_integer_labelsõ	  s    
rº  c                  C   s–   t j dd¡} t| ƒ}t j|jd d …df< t  | t  t jgd ¡ dd¡f¡}t|g d¢d�}t	 
||¡ t| ƒ}t j|jd d …df< t	 
||¡ d S )NrN   rB   r±  r9   )r·   rï   rª   r;   r±  rn   )rY   rš   r7  r
   r  r   Zhstackr»   r  r[   r\   )Z	rand_datarž   rœ  r_   r)   r)   r*   Útest_loc_setitem_float_intindex
  s    $r»  c                  C   sr   dd„ dD ƒ} t t d¡tdƒt | ¡d�}|jdd�d	d
… }t t d¡tdƒt g d¢¡d�}t ||¡ d S )Nc                 S   s   g | ]}d D ]}||f‘qqS ))rA   rN   rC  r>   r)   )r–   Úyrr	  r)   r)   r*   r˜   
  r™   z)test_loc_axis_1_slice.<locals>.<listcomp>)éÞ  rˆ   )r>   rN   Z
ABCDEFGHIJrÈ   r9   rU  ©r½  rC  ©rˆ   rN   r§  )r¾  )r½  r>   )rˆ   rA   r¿  )	r
   rY   rZ  ró  r   rÚ  r   r[   r\   )r¼   r^   rž   r_   r)   r)   r*   Útest_loc_axis_1_slice
  s    ýýrÀ  c                  C   sX   t dtdƒt tdƒtdƒg¡d�} |  ¡ }|jddgf |jddgf< t || ¡ d S )NrR   r   rÈ   r   rT  )r
   r›   r   r  r­   r   r[   r\   )r_   rž   r)   r)   r*   Ú!test_loc_set_dataframe_multiindex%
  s    ÿrÁ  c                  C   s4   t tdƒtddgtd�ƒ} | jd }|dks0J ‚d S )Nr   r9   rª   r¥   r   )r   r›   r   rÎ   r   )r%  rž   r)   r)   r*   Útest_loc_mixed_int_float/
  s    
rÂ  c                  C   sp   t tdƒg d¢d�} t t¡� d| jd d…< W d   ƒ n1 sB0    Y  t g d¢g d¢d�}t | |¡ d S )NrB   rÞ   rq   r   r?   )r   r   r   r?   )r   r›   r[   r½  r¾  r   rœ   )r%  r_   r)   r)   r*   Ú*test_loc_with_positional_slice_deprecation7
  s
    ,rÃ  c               	   C   s0  t ddd�} ttj d¡| d�}|d }d}||fD ]x}tjt|d�� |jd	d…  W d   ƒ n1 sj0    Y  t 	t
¡� d	|jd	d…< W d   ƒ q41 s¢0    Y  q4tjt|d��" |jd	d…d	f  W d   ƒ n1 sä0    Y  t 	t
¡�" d
|jd	d…d	f< W d   ƒ n1 �s"0    Y  d S )Nz
2016-01-01r?   )rª  )r?   r   rq   r   zOcannot do slice indexing on DatetimeIndex with these indexers \[1\] of type intrŒ   r9   r   )r   r
   rY   rš   r|   r�   rP   r   r[   r½  r¾  )Údtir^   r%  r�   rt   r)   r)   r*   Ú#test_loc_slice_disallows_positionalB
  s    ÿ,.0rÅ  c                  C   sÆ   t tj dd¡g d¢tdddd�d�} | jg d¢  ¡ } | j}t 	|j
¡}d	}tjt|d
�� | j|  W d   ƒ n1 s|0    Y  tjt|d
�� | d j|  W d   ƒ n1 s¸0    Y  d S )NrC   r?   r¹   Z2012rÂ  r  rV   )r   r   r   r?   z/None of \[TimedeltaIndex.* are in the \[index\]rŒ   rR   )r
   rY   rš   r7  r   r¢   r­   rX   ri   ZTimedeltaIndexZasi8r|   r�   r&   r   )r^   rÄ  r¶  r�   r)   r)   r*   Ú'test_loc_datetimelike_mismatched_dtypes^
  s    ý(rÆ  c                  C   s¢   t jdddd�} ttj dd¡| d�}t ||j|  ¡ t ||jt	| ƒ ¡ t ||jt	| ƒ ¡ t |j
dd	… |j| dd	…  ¡ t ||jt	| ƒ ¡ d S )
Nz2002-01z2003-12r  rŒ  rÆ  r>   rq   r   rC   )ri   ru  r
   rY   rš   r7  r[   r\   r   r¬   r¢   )r¥  r^   r)   r)   r*   Ú"test_loc_with_period_index_indexert
  s    $rÇ  c                  C   s2  g d¢} ddg}ddg}t j| ||gg d¢d�}tdtd	ƒ|d
�}|jd d …| d |d |d ff }|jd d …d d…f }t ||¡ |j| d |d |d fg d¢dd�}t ||¡ |jd }|jd d… }	|j| d |d |d fg d¢dd�}
t 	|
|	¡ |j| d |d |d f }|dk�s.J ‚d S )Nr¹   rT  )r9   r   r   r9   )r—   ró   rq  rù   r@   rC   rÈ   r8   )r$  rV  )
r   r  r
   r›   r   r¢   r[   r\   Úxsrœ   )r2  r3  Zlev3r¼   r^   rž   r_   Zaltr%  Z	expected2Zalt2r  r)   r)   r*   Ú'test_loc_getitem_multiindex_tuple_level
  s     $&
&rÉ  c               	   C   s¢   t t g d¢g d¢ddtjtjgg¡jg d¢dd�} |  d¡}|jjdksNJ ‚|jd }t	dd	g|j
ddd
�}t ||¡ |j t¡|_|jd }t ||¡ d S )Nr_  )rC   r@   rA   rN   r9   r   r¹   r[  )re   rW   r¦   r,   rC   r:  )r
   rY   r»   r  ÚTrŽ   rX   r¦   r   r   rW   r[   rœ   rº   rÎ   )r^   rl   rw   r_   r)   r)   r*   Ú/test_loc_getitem_nullable_index_with_duplicates�
  s    $ý


rË  c                   @   s  e Zd Zej ddd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ej dejejeeg¡ej dg d¢¡dd„ ƒƒZej deddd…f dedƒfg¡d d!„ ƒZd"d#„ Zej d$d%d&g¡d'd(„ ƒZejd)d*„ ƒZd+d,„ Zd-d.„ ZdS )/ÚTestLocSeriesr­  )r®  r?   )r¯  rB   c                 C   s$   t dddœƒ}|j| |ks J ‚d S )Nr?   rB   )r®  r¯  )r   r   )r(   rç   r_   r%  r)   r)   r*   rv  ²
  s    zTestLocSeries.test_loc_uint64c           	      C   sÒ   |j g d¢ }t |j| | |¡¡ t |jdd d… |dd d… ¡ |j ddg \}}|j||… }| ||¡}t ||¡ || ¡ k}t |j| || ¡ |j| || ks¸J ‚|j| || ksÎJ ‚d S )N©r?   rB   rA   rC   r   é   )rX   r[   rœ   r   r1  r¢   ÚtruncateÚmedian)	r(   Ústring_seriesÚdatetime_seriesÚindsÚd1Úd2rž   r_   rÜ   r)   r)   r*   Útest_loc_getitem¸
  s    "zTestLocSeries.test_loc_getitemc                 C   s¨   |j ddg \}}|d d d… g d¢ }d}tjt|d�� |j||…  W d   ƒ n1 s^0    Y  tjt|d�� d|j||…< W d   ƒ n1 sš0    Y  d S )NrC   rÎ  r   )r9   r   r   z"Timestamp\('2000-01-10 00:00:00'\)rŒ   r   )rX   r|   r�   r&   r   )r(   rÒ  rÔ  rÕ  Zts2r�   r)   r)   r*   Útest_loc_getitem_not_monotonicË
  s    ,z,TestLocSeries.test_loc_getitem_not_monotonicc                 C   sf  t tj d¡ttdddƒƒd�}| ¡ }d|jdd…< |jdd… dk ¡ sPJ ‚| ¡ }d|jdd…< |jdd… dkj	 ¡ s‚J ‚|jdd	… }|j
dd… }| g d
¢¡}t ||¡ t ||¡ |jttdƒƒttdddƒƒ  }tjtdd�� |j
dd…  W d   ƒ n1 �s0    Y  tjtdd�� d|j
dd…< W d   ƒ n1 �sX0    Y  d S )Nr>   r   r5   r   rq   rB   r?   rD  r@   )rB   r@   rN   r>   rC   rC  rË   z^3$rŒ   )r   rY   rš   r7  r¬   r›   r­   r¢   rá   rk   r   r1  r[   rœ   r|   r�   r&   )r(   r%  Úcprž   r  r_   Ús2r)   r)   r*   Ú0test_loc_getitem_setitem_integer_slice_keyerrorsÖ
  s"     ".z>TestLocSeries.test_loc_getitem_setitem_integer_slice_keyerrorsc                 C   s4   t |jd d… ƒ}|j| }t ||d d… ¡ d S )Nr>   )rú  rX   r   r[   rœ   )r(   rÑ  r¥  rž   r)   r)   r*   Útest_loc_getitem_iteratorñ
  s    
z'TestLocSeries.test_loc_getitem_iteratorc                 C   s:   ||  ¡ k}| ¡ }d|j|< |}d||< t ||¡ d S )Nr   )rÐ  r­   r   r[   rœ   )r(   rÑ  rÜ   rž   r_   r)   r)   r*   Útest_loc_setitem_booleanö
  s    
z&TestLocSeries.test_loc_setitem_booleanc                 C   sb   t |jg d¢ ƒ}d|j|< d}tjt|d��  d|j|dg < W d   ƒ n1 sT0    Y  d S )N)rC   rN   rE  rC   z\['foo'\] not in indexrŒ   r�   )r¬   rX   r   r|   r�   r&   )r(   rÑ  rÓ  r�   r)   r)   r*   Útest_loc_setitem_cornerÿ
  s
    
z%TestLocSeries.test_loc_setitem_cornerc                 C   s†   |j g d¢ }| ¡ }| ¡ }d||< d|j|< t ||¡ | ¡ }| ¡ }d||d |d …< d|j|d |d …< t ||¡ d S )N)rC   r>   rÎ  r   r   )rX   r­   r   r[   rœ   )r(   rÒ  ÚindicesrØ  rv   r)   r)   r*   Útest_basic_setitem_with_labels  s    
z,TestLocSeries.test_basic_setitem_with_labelsc           	      C   s  t tj d¡ttdddƒƒd�}g d¢}t g d¢¡}| ¡ }| ¡ }d||< d|j|< t	 
||¡ | ¡ }| ¡ }d||< d|j|< t	 
||¡ g d¢}t g d¢¡}d}tjt|d	�� d||< W d   ƒ n1 sØ0    Y  tjt|d	�� d||< W d   ƒ n1 �s0    Y  d S )
Nr>   r   r5   r   rq   )r   rB   r@   ©r   rB   rC   r@   z\[5\] not in indexrŒ   )r   rY   rš   r7  r¬   r›   r»   r­   r   r[   rœ   r|   r�   r&   Ú	Exception)	r(   r%  rÓ  Zarr_indsrØ  rv   Zinds_notfoundZarr_inds_notfoundr�   r)   r)   r*   Ú!test_loc_setitem_listlike_of_ints  s(     

&z/TestLocSeries.test_loc_setitem_listlike_of_intsc                 C   sž   t tdddd�g d¢d�}| ¡ }tddd�}||jd	< |jd	 }||ksNJ ‚| ¡ }||jd
< |jd
 }||ksvJ ‚| ¡ }||d	< |d	 }||ksšJ ‚d S )Nr­  r?   z
US/Easternrž  r¹   rq   r²  rH  rR   r   )r   r   r­   r   r   r¢   )r(   r%  rÙ  r_   rž   r)   r)   r*   Útest_loc_setitem_dt64tz_values0  s"    þ



z,TestLocSeries.test_loc_setitem_dt64tz_valuesÚarray_fnrÖ   rà  c                 C   s~   |dg| ƒ}t |ddddgtdƒtd�}t dtdƒtd�}||jd< t ||¡ t dtdƒtd�}||jd< t ||¡ d S )Nr   Zabcderê   rR   )r   r¬   rÎ   r   r[   rœ   r¢   )r(   rÖ   rä  rX  r_   r%  r)   r)   r*   Ú#test_loc_iloc_setitem_with_listlikeF  s    

z1TestLocSeries.test_loc_iloc_setitem_with_listliker®   r<   Nc                 C   s¢   t t g d¢¡g d¢d�}d}tjt|d��" |j|d d …f  W d   ƒ n1 sT0    Y  tjt|d��" d|j|d d …f< W d   ƒ n1 s”0    Y  d S )N))r<   Ú0)r<   Ú1)rd   ræ  )é   r&  r,  rª  zToo many indicesrŒ   r9   )r   r   rÚ  r|   r�   r�  r   )r(   r®   r%  r�   r)   r)   r*   Ú+test_loc_series_getitem_too_many_dimensionsX  s    þ0z9TestLocSeries.test_loc_series_getitem_too_many_dimensionsc                 C   sÖ   |j g d¢ }| ¡ }d|j|< | ¡ }d|g d¢< t ||¡ d|jdd…< d|dd…< t ||¡ |j ddg \}}d|j||…< d|dd…< t ||¡ d|j|< d|j|< || dksÂJ ‚|| dksÒJ ‚d S )NrÍ  rC   r>   rÎ  r@   rC  rB   )rX   r­   r   r[   rœ   r¢   )r(   rÑ  rÓ  rž   r_   rÔ  rÕ  r)   r)   r*   Útest_loc_setitemf  s"    


zTestLocSeries.test_loc_setitemr¦   rÎ   rñ   c                 C   s\   t ddgddgdœ|d�}dddœ|jd	d d …f< t ddgddgdœ|d�}t ||¡ d S )
NÚabcÚdefZghiZjklrg   r¥   ZnewAZnewBr   rF  )r(   r¦   r^   r_   r)   r)   r*   Útest_loc_assign_dict_to_row€  s    z)TestLocSeries.test_loc_assign_dict_to_rowc                 C   sp   t ddgd�}tddd�ddœ|jd	< tddd�ddœ|jd	< t tddd�dggddgd	gd
�}t ||¡ d S )Nr   rÐ   rn   r@   rÁ   r´  r�   )r   rÐ   r9   rV   )r
   r   r   r[   r\   r:  r)   r)   r*   Ú,test_loc_setitem_dict_timedelta_multiple_setŠ  s    ÿz:TestLocSeries.test_loc_setitem_dict_timedelta_multiple_setc                 C   sl   t ddgdgd�}ddg|jdddgf< t ttjtjgd	d
�dtjgdtjgdœddgd�}t ||¡ d S )Nr9   r   rR   rÈ   r@   rA   rL   r,   rÎ   r¥   r¹   rq   )r
   r   r   rY   r  r[   r\   r]   r)   r)   r*   Ú3test_loc_set_multiple_items_in_multiple_new_columns•  s    ýú	zATestLocSeries.test_loc_set_multiple_items_in_multiple_new_columnsc                 C   s6   t jdddd�}ttdƒ|d�}|jd dks2J ‚d S )NÚ2000r5   rd   r¨  rq   z
2000-01-14rC  )ri   ru  r   r›   r   )r(   rX   rÝ  r)   r)   r*   Ú test_getitem_loc_str_periodindex¥  s    z.TestLocSeries.test_getitem_loc_str_periodindex) ry   rz   r{   r|   r}   r~   rv  rÖ  r×  rÚ  rÛ  rÜ  rÝ  rß  râ  rã  rY   r»   ri   r¬   ró  rå  r   rO   ré  rê  rí  rø  r¤  rî  rï  rñ  r)   r)   r)   r*   rÌ  ±
  s.   
	$

	

rÌ  )HÚ__doc__Úcollectionsr   r   r   r   r   rÒ   Zdateutil.tzr   ÚnumpyrY   r|   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsrø  Zpandasri   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   Zpandas._testingZ_testingr[   Zpandas.api.typesr   Zpandas.core.apir   Zpandas.core.indexingr   r   Zpandas.tests.indexing.commonr   r   r   rû  r  r9  r^  rn  rƒ  r•  r›  r¥  r}   r~   rº  r»  rÀ  rÁ  rÂ  rÃ  rÅ  rÆ  rÇ  rÉ  rË  rÌ  r)   r)   r)   r*   Ú<module>   sr   H           ^< G :JQfýþ
	
