o
    g6q                     @   s<  d dl Zd dlZd dlmZ d dlZd dlmZmZm	Z	m
Z
 d dlmZ d dlmZ ejdd Zejdd ZG d	d
 d
Zejdg g fdgedfddgg fddgg fdgg fejdddgf edddfejddddgf edddfgdd Zejdg edfdgg 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 d&d' Z!d(d) Z"d*d+ Z#d,d- Z$d.d/ Z%d0d1 Z&d2d3 Z'G d4d5 d5Z(d6d7 Z)d8d9 Z*d:d; Z+d<d= Z,d>d? Z-d@dA Z.ejdBg dCg dDgdEdF Z/dGdH Z0dIdJ Z1dKdL Z2dMdN Z3dOdP Z4dQdR Z5dSdT Z6dUdV Z7dS )W    N)PerformanceWarning)	DataFrameIndex
MultiIndexSeries)IndexingErrorc                   C   s   t g dgg dgdgdS )zsingle level MultiIndex)foobarbazqux)r            first)levelscodesnames)r    r   r   g/home/ubuntu/cloudmapper/venv/lib/python3.10/site-packages/pandas/tests/indexing/multiindex/test_loc.pysingle_level_multiindex   s   r   c                  C   sB   ddgg dg} g dg dg}t | |d}ttjdd|d	S )
Nr   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r      r   index)r   r   nprandomrandn)r   r   r   r   r   r   %frame_random_data_integer_multi_index   s   r   c                   @   s@  e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zejdddgddgfdgg fddgg fgdd Zdd Zdd Zdd  Zd!d" Zd#d$ Zejd%eeeeejeefejd&eeeeejeefd'd( Zd)d* Zejd+d,d-gd.d/ Zejd0ed1d2fd3ej fgd4d5 Z!d1S )6TestMultiIndexLocc                 C   sV   |}d|j d< |j d dksJ | }ttd|_d|j d< |j d dks)J d S )N   )r	   twoBr      )r    r   )loccopylistrangecolumns)self multiindex_dataframe_random_dataframedfr   r   r   &test_loc_setitem_frame_with_multiindex"   s   

z8TestMultiIndexLoc.test_loc_setitem_frame_with_multiindexc                 C   s   ddddddddddddd	d
d	d	d	dd}t |jddgd}d}tt t|j| |jdd   W d    n1 sBw   Y  |jdd}|d u sSJ |j| }t	j
dgd d	gd gddgd}t dg di|d}t|| d S )Ni  iX     M    )r   r   r   r      g      @      @  i  )amountcolyearr5   r6   )keys)r2   r3   r   T)inplacer   r   r4   )r.   r/   r0   r   )r   	set_indextmassert_produces_warningr   assert_frame_equalr$   iloc
sort_indexr   from_arrays)r)   datar,   keyreturn_valueresr   expectedr   r   r   test_loc_getitem_general-   s   
"z*TestMultiIndexLoc.test_loc_getitem_generalc                 C   n   t tjddg dg dgg dg dgd}tjtdd |jd	  W d    d S 1 s0w   Y  d S 
Nr   r   r   r1   r      
   r1   r1   rK   rK   rL      r(   r   z^2$matchr   r   r   r   r   pytestraisesKeyErrorr$   r)   r,   r   r   r   0test_loc_getitem_multiindex_missing_label_raisesF   s   "zBTestMultiIndexLoc.test_loc_getitem_multiindex_missing_label_raisesc                 C   s:   |d }| |jdd }|jddg }t|| d S )NA1   3   )  r   rL   )r\   r      )reindexr   r$   r;   assert_series_equal)r)   /multiindex_year_month_day_dataframe_random_dataserrE   resultr   r   r   /test_loc_getitem_list_of_tuples_with_multiindexQ   s   zATestMultiIndexLoc.test_loc_getitem_list_of_tuples_with_multiindexc                 C   s   t g dg dg}t|tdtjd}tddg}tg dt ddgg dgtjd}|j| }t|| |jddg }t|| tddgdd	gd
}|j| }t|| tg tjd}tg t |j	g g gtjdtjd}|j| }t|| d S )Nr   r   r   rY   r"   C	   r   rA   dtyper   r   r   r   r   r   r#   rK   rA   r   ri   r   r   )rA   ri   r   r   ri   r   ri   )
r   from_productr   r'   r   float64r$   r;   r_   r   )r)   r   xyrE   rb   y1emptyr   r   r   test_loc_getitem_seriesY   s.   


z)TestMultiIndexLoc.test_loc_getitem_seriesc                 C   s   t g dg dg}t|tdtjd}tddg}tg dt ddgg dgtjd}|j| }t	|| tg }tg t |j
g g gtjd	d
d}|j| }t	|| td}tg dg dtjd}|j| }t	|| d S )Nrd   re   rg   rh   r   r   rj   rk   rl   ro   rm   r   )r   rn   r   r'   r   ro   arrayr$   r;   r_   r   int64)r)   r   rp   rq   rE   rb   rs   scalarr   r   r   test_loc_getitem_arrayx   s,   




z(TestMultiIndexLoc.test_loc_getitem_arrayc                 C   s  t tjddg dg dgg dg dgd}|jddg d}|jd }t|| |jd d d	gf jddd
}|jd d df }t|| |jd	gd	gf djddd
}|jd jd d df }t|| |jddg }|jd }t|| d S )Nr   )iry   j)rY   rY   r"   )Xr{   YrP   r   r   ry   r   )axisrz   )ry   r{   	r   r   r   r   r>   	droplevelr$   r;   r=   r)   r,   rE   rb   r   r   r   test_loc_multiindex_labels   s"   
"
z,TestMultiIndexLoc.test_loc_multiindex_labelsc                 C   s^   t tjddg dg dgg dg dgd}|jddg d}|jd	 }t|| d S )
Nr   rI   rJ   rM   rN   rP   r   r   r1   r~   r   r   r   r   test_loc_multiindex_ints   s   
z*TestMultiIndexLoc.test_loc_multiindex_intsc                 C   rG   rH   rS   rW   r   r   r   (test_loc_multiindex_missing_label_raises   s   "z:TestMultiIndexLoc.test_loc_multiindex_missing_label_raiseszkey, posr   r1   r   r   r   c                 C   sn   t tjddg dg dgg dg dgd}tjtdd |j|  W d    d S 1 s0w   Y  d S )	Nr   rI   rJ   rM   rN   rP   znot in indexrQ   rS   )r)   rB   posr,   r   r   r   &test_loc_multiindex_list_missing_label   s   "z8TestMultiIndexLoc.test_loc_multiindex_list_missing_labelc                 C   s   t tdtddgddgddggd}tjtd	d
 |jd  W d    n1 s+w   Y  tjtdd
 |jd  W d    n1 sGw   Y  tjtdd
 |jd  W d    d S 1 sdw   Y  d S )NrK   abcdefr   z^\('a', 'b'\)$rQ   r   r   z^\('a', 'd', 'g'\)$)r   r   gzToo many indexers)r   r   r   rz   )	r   r'   r   rn   rT   rU   rV   r$   r   )r)   sr   r   r   (test_loc_multiindex_too_many_dims_raises   s   "z:TestMultiIndexLoc.test_loc_multiindex_too_many_dims_raisesc                 C   s   dd t dD }dd t dD }t||g}dtjdd d }t||d	}|| }t|| tt	d

ddtg dg dgd}|jddgfd d f }|jddg }t|| d S )Nc                 S      g | ]}d t | qS )	Attributestr.0ry   r   r   r   
<listcomp>       zFTestMultiIndexLoc.test_loc_multiindex_indexer_none.<locals>.<listcomp>r   c                 S   r   )Valuer   r   r   r   r   r      r   r   g?rL   g      ?r(   rO   r   r   r   r1   rd   r   r   )r'   r   rn   r   r   r   r   r;   r=   arangereshaper$   )r)   
attributesattribute_valuesr   r,   rb   rE   r   r   r    test_loc_multiindex_indexer_none   s   z2TestMultiIndexLoc.test_loc_multiindex_indexer_nonec                 C   s   t tjdddttdg dg}|jd d ddf }|jdd	ddf }t|| |jd d	ddf }t|| |jdd ddf }t|| t tjdddttdg dg}|j	g d
 }|jdd	dddf }t|| d S )N   rv   ri   r   r   r   r   r   r   r   r1   )r   r#   rK   rO   r]      r   )
r   r   r   r   rn   r'   r$   r;   r_   r>   )r)   r   rE   rb   r   r   r   test_loc_multiindex_incomplete   s$   z0TestMultiIndexLoc.test_loc_multiindex_incompletec                 C   s4   |}t tjt||d}|jD ]}||  qd S )Nr   )r   r   r   r   lenvalues)r)   r   single_levelr   kr   r   r   test_get_loc_single_level  s
   

z+TestMultiIndexLoc.test_get_loc_single_levelc                 C   s  t g dddgg}ttjdd||}|jddd d f }|}t|| t g dddgg}ttjdd||}|jddd d f }|j	d	d  }t|| |jd
d d f }|j	dd	 }ddg|_
t|| |jd d d
f }|d
 }t|| d S )N)r   r#   rK   r   r   r   rK   rL         r   r   r   rL   r   )r   rn   r   r   r   r   r$   r;   r=   r>   r   )r)   r   r,   rb   rE   r   r   r   test_loc_getitem_int_slice  s"   
z,TestMultiIndexLoc.test_loc_getitem_int_sliceindexer_type_1indexer_type_2c                    s   dd  g d}g d}t ||g}ttjt|dd|dgd}d	d
gddgf}||f}t fddt||D }	|j|	df }
t	g ddt |d}t
|
| d S )Nc                 S   s,   | t jkr
t |S | tkrt| S | |S N)r   ndarrayru   slice)indexer_typer7   r   r   r   convert_nested_indexer?  s
   

zQTestMultiIndexLoc.test_loc_getitem_nested_indexer.<locals>.convert_nested_indexerr   rd   rv   r   Datar   r(   rL   r   r   r   c                 3   s    | ]
\}} ||V  qd S r   r   )r   r   r   r   r   r   	<genexpr>R  s
    
zDTestMultiIndexLoc.test_loc_getitem_nested_indexer.<locals>.<genexpr>)r   r   r1   r   namer   )r   rn   r   r   r   r   tuplezipr$   r   r;   r_   )r)   r   r   r   r   r   r,   r7   typesindexerrb   rE   r   r   r   test_loc_getitem_nested_indexer4  s"   z1TestMultiIndexLoc.test_loc_getitem_nested_indexerc                 C   sH   t ddg}|ddg|d}d|jd< |ddg|d}t|| d S )Nr   rY   r   rY   r   r   r   r   r   )r   from_tuplesr$   r;   assert_equal)r)   frame_or_seriesmiobjrE   r   r   r   )test_multiindex_loc_one_dimensional_tuple^  s
   
z;TestMultiIndexLoc.test_multiindex_loc_one_dimensional_tupler   r   r   c                 C   sP   t ddg}tddg|d}d|j|d d f< tddg|d}t|| d S )Nr   r   r   r   r   r   r   r   r   r$   r;   r=   )r)   r   r   r   rE   r   r   r   -test_multiindex_one_dimensional_tuple_columnsf  s
   z?TestMultiIndexLoc.test_multiindex_one_dimensional_tuple_columnszindexer, exp_valueN      ?r   r   c                 C   sp   t ddg}tddgddgg|ddgd	}d
|j|ddgf< tg ddd||gg|g dd	}t|| d S )Nr   r   r1   r   r   r   r1   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   )r)   r   	exp_valuer   r,   rE   r   r   r   )test_multiindex_setitem_columns_enlargingo  s   z;TestMultiIndexLoc.test_multiindex_setitem_columns_enlarging)"__name__
__module____qualname__r-   rF   rX   rc   rt   rx   r   r   r   rT   markparametrizer   r   r   r   r   r   r&   r   setr   r   r   r   r   r   r   r   nanr   r   r   r   r   r   !   s>    
,

$
r   zindexer, posrY   r   DEr   r   bahc                 C   s   t jg dg dgddgd}ttjddd|d	 }|j| }|jd
krK| g krKtj	t
t| d |j|   W d    d S 1 sDw   Y  d S |j|  }t|| d S )Nre   r   r	   r
   oner!   r9   rg   rv   r   r   r   rQ   )r   rn   r   r   r   r?   r>   sizerT   rU   rV   r   r$   r;   r_   )r   r   idxr   rE   rb   r   r   r   7test_loc_getitem_duplicates_multiindex_missing_indexers  s   
"
r   columns_indexerc                 C   s|   t g dddgf}ttjddtd|d}|jddd	}ttd|g d d}|j	d d | f }t
|| d S )
Nr   alphabetar   r   r   r   r   )levelr}   )r   rn   r   r   r   r   r'   r?   r^   r$   r;   r=   )r   multi_indexr,   rE   rb   r   r   r   4test_loc_getitem_duplicates_multiindex_empty_indexer  s   r   c                  C   sL   t tjtjgddggtddgddgd} | jd }tj}||ks$J d S )	Nmeanmedianfunctsr   )r   r   functionr   rP   )r   r   )r   r   r   r   r   r   r$   r,   rb   rE   r   r   r   =test_loc_getitem_duplicates_multiindex_non_scalar_type_object  s   
r   c                  C   sd   t tdtdtjdtjddddg} | jd }| jdd d f }t|| d S )NrL   r   r   r   )r   r   )	r   r   r   r   r   r:   r$   r;   r_   )r,   rE   rb   r   r   r   !test_loc_getitem_tuple_plus_slice  s   



r   c                 C   s8   | }|j d }|dd  }|jd|_t|| d S )Nr   r   )r$   r   r   r;   r=   )r   r,   rb   rE   r   r   r   test_loc_getitem_int  s
   
r   c                 C   sB   | }t jtdd |jd  W d    d S 1 sw   Y  d S )Nz^3$rQ   r   )rT   rU   rV   r$   )r   r,   r   r   r   %test_loc_getitem_int_raises_exception  s   "r   c                 C   sh   | }t jtdd |jd  W d    n1 sw   Y  d|jd< d}| jd }||ks2J d S )Nz^\('bar', 'three'\)$rQ   ))r	   threer"   r   )rT   rU   rV   r$   r?   )r*   r,   rE   rb   r   r   r    test_loc_getitem_lowerdim_corner  s   
r   c                  C   s   t dtdtdgdgd} d| d< | j| jd d df< tt	| d t	| j t tj
tdtg d	d} |  }td| jd d d
f< td|jd d df< t| | d S )NstringabcdMain)anotherr   r   r   labelsr1   ))rY   1)rY   2)r"   r   r"   r   )r   r&   r   rn   r   r$   r;   assert_numpy_array_equalr   asarrayr   r'   r   r%   r   r>   r=   )r,   rE   r   r   r   $test_loc_setitem_single_column_slice  s"   r   c               
   C   s   ddt jfddt jfddt jfddt jfdddd	t jfdd
t jfg} tt dtg dtj| g ddd}|jd jd }tt dtt jgdddtg dddd}t	|| d S )NzGood Thingsrf   Rz
Bad ThingsT)Okay ThingsNr"   )r   r  r   r   r"   r   )rK   r1   )d1d2d3d4)u1u2u3r9   rP   )r   r1   objectr  )ri   r   r   r   )
r   r   r   onesr   r   r   r$   r;   r=   )tupsr,   rb   rE   r   r   r   test_loc_nan_multiindex  s*   







r  c                  C   sz   t jdddd} d}tj| |fdd}t|dd	}|jd
 }ttjgt	dtj
t ddfgddgdd}t|| d S )N2013Q12013Q4Q)freq)W  i  i  )PeriodCVRr9   )	OMSOMKRES	DRIFT_IND
OEVRIG_INDFIN_INDVARE_UDLOEN_UDFIN_UDr   ))r  r  r  r  r  r  r  )ri   r   r   )pdperiod_ranger   rn   r   r$   r   r   r   r	  r   r  r;   r_   )r   ry   r   r,   rb   rE   r   r   r   test_loc_period_string_indexing  s"   
r  c                  C   s   t ddg} tj| | gddgd}tddgdd	gd
dgddgg|ddgd}|j| d |jddkfdf }tdgdtj	t 
dt 
dfgddgdd}t|| d S )Nz
2017-05-04z
2017-05-05Idx1Idx2r9   r   r   r   r1   r   r   r#   C1C2rA   r   r(   r   r   )r  to_datetimer   rn   r   r$   r   get_level_valuesr   r   	Timestampr;   r_   )dt_idxm_idxr,   rb   rE   r   r   r   test_loc_datetime_mask_slicing1  s   ""r*  c                  C   sP   t d} tdtjd| fgddgddd}|jd d | gf }t|| d S )N2000r   r   r   r9   r   )r   r   )r  r'  r   r   r   r$   r;   r_   )datera   rb   r   r   r   &test_loc_datetime_series_tuple_slicingD  s   
r-  c                  C   s   t ddgddgddgddggtjg ddd	gd
ddgd} tjddgdd	gd
}| j|d d f }t ddgddgddggtjg ddd	gd
ddgd}t|| d S )Nr   r   r   r   r   r   )r   r   )r   r   r   r   r/  r   r,  r9   authorpricer$  r.  r/  )r.  r/  r/  r   )r   r   r   r$   r;   r=   )r,   r   rb   rE   r   r   r   test_loc_with_mi_indexerP  s   r2  c                  C   s   t jdddd} ttd| d}| }| |d< |jddd	}|jjd
ks'J |j| d  |j	| d  }|j
dg d }t|| |d }|jjd
ksQJ |j	| d  }|j
dg d }t|| d S )Nz
2016-01-01r   z
US/Pacific)periodstzr   r   r   T)append)Nr   )r  
date_ranger   r'   to_framer:   r   r   get_locr$   r>   r   r;   r=   r_   )dtira   r,   df2rb   rE   ser2r   r   r   test_loc_mi_with_level1_named_0c  s   r<  c                 C   s|   | dddd}t j|dgd}|ddg }|jdtd	fd d f d
}|jd jtd	d d f }t|| d S )Nr   mergerA   zquotes2.csvtime)parse_datestickerAAPLz2016-05-25 13:30:00r   )	r  read_csvr:   r?   r$   r   r   r;   r=   )datapathpathr,   r:  rD   rE   r   r   r   test_getitem_str_slice{  s    rE  c                  C   sl   t jg dddd} g d}g d}t| ||g}ttd|tjd}|j| d	 d
df }|dks4J d S )N)z20181101 1100z20181101 1200z20181102 1300z20181102 1400datetimer"   )r   r  )rY   rY   ZW)r"   rf   r  Fr1   rm   r   rY   g        )	r  PeriodIndexr   r@   r   r'   r   ro   r$   )pilev2lev3r   ra   rb   r   r   r   !test_3levels_leading_period_index  s   rN  c                   @   s$   e Zd Zdd Zdd Zdd ZdS )TestKeyErrorsWithMultiIndexc                 C   sj   t tdddg dd}|ddg}tjtdd	 |jd
  W d    d S 1 s.w   Y  d S )NrO   r1   r   re   r   rY   r"   r   rQ   r   r   )	r   r   r   r   r:   rT   rU   rV   r$   )r)   r,   r:  r   r   r   !test_missing_keys_raises_keyerror  s
   "z=TestKeyErrorsWithMultiIndex.test_missing_keys_raises_keyerrorc                 C   sZ   t dtddggd d}tjtdd |jd  W d    d S 1 s&w   Y  d S )	Nr   r   r   r   r   z\(0, 3\)rQ   )r   r   )r   r   rn   rT   rU   rV   r$   )r)   ra   r   r   r   !test_missing_key_raises_keyerror2  s   "z=TestKeyErrorsWithMultiIndex.test_missing_key_raises_keyerror2c                 C   s$  t jtg dtg dtg dgg dd}ttjdd|d}d	}tjt	|d
 |j
ddtd fd d f  W d    n1 sHw   Y  tjt	|d
 |jddtd f W d    n1 sjw   Y  tjt	dd
 |j
dd d f  W d    d S 1 sw   Y  d S )Nr   r   r   r   )r   r   r   3)r   r   r   r   )r   r!   r   r9   r1   r   r   z'\('b', '1', slice\(None, None, None\)\)rQ   r   r   z\('b', '1'\))r   r   )r   r@   r   ru   r   r   randrT   rU   rV   r$   r   r   get_locs)r)   r   r,   msgr   r   r   test_missing_key_combination  s$   "z8TestKeyErrorsWithMultiIndex.test_missing_key_combinationN)r   r   r   rQ  rR  rX  r   r   r   r   rO    s    rO  c                 C   s2   | }|d }|d }|j d d }t|| d S )NrY   )r\   r   )r$   r;   r_   )r`   r,   ra   rb   rE   r   r   r   test_getitem_loc_commutability  s
   rY  c                  C   s   t g dddtjgg ddddg} | jdg }t dd	gitjd
gddgdd}t|| | jd }t dd	git	d	gddd}t|| d S )N)r   r   r   r   r   )r   r1   r   )r5   ind1ind2rZ  r[  r5   r   )r   r   r9   r   r   )
r   r   r   r:   r$   r   r   r;   r=   r   r   r   r   r   test_loc_with_nan  s   

r]  c                  C   s^   t g dgg ddg d} tjtdd | jd  W d    d S 1 s(w   Y  d S )Nr   r   r   r   z\(2\.0, 2\.0, 3\.0\)rQ   )       @r^        @)r   r:   rT   rU   rV   r$   r,   r   r   r   test_getitem_non_found_tuple  s   "ra  c                  C   sR   t jddd} t| g}|dtddd ksJ | dtddd ks'J d S )Nz
2001-01-01d   )r3  z2001-01r      )r  r6  r   r@   r8  r   )r   r   r   r   r   test_get_loc_datetime_index  s   rd  c                  C   s   t ddgddgg} tddgddgdd	gd
dgg| d}dddgf}tddgddgg|j|d d f< tddgddgdd	gd
dgg| d}t|| d S )Nr   r   r   r   r   r   r1   r   r   r#   rK   r   rg   rL      rO   )r   rn   r   r   ru   r$   r;   r=   )r   r,   r   rE   r   r   r   ,test_loc_setitem_indexer_differently_ordered  s   $$$rf  c                  C   s   t ddgddgddgddggg d	g d
gddgd} | jtd ddgfd d f }t ddgddgddgddggg dg dgddgd}t|| d S )Nr   r   r   r1   r   r   r#   rK   rS  r   r   r   r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r$   r   r;   r=   r   r   r   r   5test_loc_getitem_index_differently_ordered_slice_none  s   rh  r   )r   r   r#   r   r   r   rK   r#   )r   r   r#   r   r   rK   c                 C   s   t dgd tg ddgd}|jtd | fd d f }t dgd g dg dgdgd}t|| |j|jj| ddd d f }t|| d S )	Nr   rK   )r/  r   )r   r#   rP  )r   r   )r   r   )r   rK   )r   r#   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r#   r#   r   r   rK   )r   )	r   r   r   r$   r   r;   r=   r   isin)r   r,   rb   rE   r   r   r   @test_loc_getitem_index_differently_ordered_slice_none_duplicates  s    rj  c                  C   s   t jdgdgdggg dd} tddgi| d}| }|jdd d df }t|| tdg| d}|jdd d df }tdgtdgd	d
d}t	|| d S )Nrp   rq   zr   r9   r   r   r   r   r\  )
r   r@   r   r%   r$   r;   r=   r   r   r_   )r   r,   rE   rb   ra   r   r   r   3test_loc_getitem_drops_levels_for_one_row_dataframe  s   rl  c                  C   sj   t g dddgg} ttd| d}|jd d ddgf }ttdt g d	d}t|| d S )
Nre   r   r   )r   r   r   r"   rY   )r   r1   ))r"   r   )r"   r   )rY   r   )rY   r   )	r   rn   r   r   zerosr$   r   r;   r=   )colsr,   rb   rE   r   r   r   $test_mi_columns_loc_list_label_order#  s   ro  c                  C   s   t tddg dg dgg dg dgd} dd	g| j_d
dg| j_tjt	dd | j
ddgdf  W d    d S 1 sAw   Y  d S )NrO   )r1   r   rS  rg  )Ohiorp  Colorado)GreenRedrr  r   key1key2statecolorz\[2\] not in indexrQ   r   r   rq  )r   r   r   r   r   r   r(   rT   rU   rV   r$   )r+   r   r   r   $test_mi_partial_indexing_list_raises/  s   "rx  c                  C   sd   t tdtddgddggd} tjtdd | jd	d
g  W d    d S 1 s+w   Y  d S )Nr1   r   r   r   r   r   z\['not' 'found'\] not in indexrQ   notfound)r   r'   r   rn   rT   rU   rV   r$   )r   r   r   r   (test_mi_indexing_list_nonexistent_raises<  s   ""r{  c                  C   s   t g dg dgddgtddgddggd} d	| jd
< d| jd< d| jd< t g dg dg ddtjtjtjggg dtddgddggd}t| | d S )N)r   r   r   r   )r   r1   r#   rK   r   r   r   rY   r"   r   r   r   r   )r   r   rY   )r   r|  )r   r^  g      @g      @)r_  r2   g      @g       @)r_  g      r   r   r_  )r   r   r   r   )r   r   rn   r$   r   r   r;   r=   )rb   rE   r   r   r   'test_mi_add_cell_missing_row_non_uniqueC  s$   



r}  c                  C   s   t dddtjdgdggddgdd	} | jd
 }|dksJ t|tjs'J | jdgdf jd }|dks8J t|tjs@J d S )Nr   r   r   r   r1   r   r   r9   r   )r   r   r   r   r   )r   r   r@   r$   
isinstancer   rv   r>   )r,   rb   r   r   r   $test_loc_get_scalar_casting_to_floatZ  s    
r  c                  C   sf   t jddgddggddgd} t| tjd}|jd }ttjtjgtddgdd	d
}t	|| d S )Nr   r   rY   r"   r   r   r9   rm   r\  r   )
r   rn   r   r   ro   r$   r   r   r;   r_   )r   s2rb   rE   r   r   r   )test_loc_empty_single_selector_with_namesg  s
   
 r  c                  C   sh   t g dg dtdd} | ddg} tjtdd | jd	  W d    d S 1 s-w   Y  d S )
N)rb  rb     r  ,  r  )rL   rL   r      rc  !   r   re   rY   r"   z^1$rQ   )rb  r   )r   r'   r:   rT   rU   rV   r$   r`  r   r   r   'test_loc_keyerror_rightmost_key_missingp  s   "r  )8numpyr   rT   pandas.errorsr   pandasr  r   r   r   r   pandas._testing_testingr;   pandas.core.indexingr   fixturer   r   r   r   r   r   
IndexSlicer   r   r   r   r   r   r   r   r  r  r*  r-  r2  r<  rE  rN  rO  rY  r]  ra  rd  rf  rh  rj  rl  ro  rx  r{  r}  r  r  r  r   r   r   r   <module>   sv    

  `

 

$		
	