o
    g*                  
   @   s  d Z ddlmZ ddlZddl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 ddlmZ dd Zdd Zd	d
 Zdd Zejdedg ddeddieddiedgeg dg ddedg diedg diggdd Zdd Zdd Zdd Zdd Zdd  Z d!d" Z!d#d$ Z"d%d& Z#ej$d'd(d) Z%d*d+ Z&d,d- Z'd.d/ Z(d0d1 Z)d2d3 Z*d4d5 Z+d6d7 Z,d8d9 Z-d:d; Z.	 d<d= Z/ejd>ed?d@dAdBedCd@dDdBedEd@dFdBgdGdH Z0dIdJ Z1dKdL Z2dS )Mz test get/set & misc     )	timedeltaN)		DataFrame
IndexSlice
MultiIndexSeries	Timedelta	Timestamp
date_rangeperiod_rangetimedelta_rangec                  C   s<  t tjdg dd} d}tjt|d | d  W d    n1 s$w   Y  tjt|d d| d< W d    n1 s?w   Y  tjtdd | d  W d    n1 sZw   Y  |  } tjt|d | d  W d    n1 syw   Y  d	}tjt|d d| d< W d    d S 1 sw   Y  d S )
N   )abr   r   r   indexz/index 5 is out of bounds for axis 0 with size 5matchr   z^'c'$cz7index 5 is out of bounds for axis (0|1) with size 5|^5$)	r   nprandomrandnpytestraises
IndexErrorKeyError
sort_index)smsg r   h/home/ubuntu/cloudmapper/venv/lib/python3.10/site-packages/pandas/tests/series/indexing/test_indexing.pytest_basic_indexing   s&   




"r    c                 C   sf   | j g d }| | }| |}t|| | |d |d  }| j|d |d  }t|| d S )Nr   
      r      )r   reindextmassert_series_equalloc)datetime_seriesindicesresultexpectedr   r   r   test_basic_getitem_with_labels+   s   
r-   c                  C   sj   t tddddg dd} tddd}| jd }||ksJ | jd	 }||ks)J | d }||ks3J d S )
Nz
2011-01-01   z
US/Eastern)periodstzr   r   r   r   )r0   r   r   )r   r	   r   r(   iloc)serr,   r+   r   r   r    test_basic_getitem_dt64tz_values7   s   

r4   c                  C   sJ   t tjd} t|  | d }t||  d| d< |dk s#J d S )Nr"   .r   )r   r   r   r   fixr&   r'   all)r   r+   r   r   r   test_getitem_setitem_ellipsisG   s   
r7   z$result_1, duplicate_item, expected_1   )   r$   r$   r.   )r9   r$   r9   i9  dtyper9   r$   r.   c                 C   s<   |  |}| |}t|d | |d | d ksJ d S )Nr9   r$   )appendr&   r'   )result_1duplicate_item
expected_1r+   r,   r   r   r   $test_getitem_with_duplicates_indicesS   s   

rA   c                  C   sF   t g dg d} | jd | d ksJ d| jd< t| d d d S )Nr<   r1   r   r   r   )r   r2   r&   assert_almost_equalr   r   r   r   test_getitem_setitem_integersj   s   
rD   c                  C   s   t dddd} t| }t|d tsJ t|jd tsJ t|jd ts(J t|jd ts2J t|jd	 ts<J t| | d
}t|d tsKJ t|j| d  tsWJ t|jd tsaJ t|j| d  tsmJ t|jd	 tswJ d S )N2009041520090519B)freqr   r9   r$   r.      r   )r	   r   
isinstancer   atiatr(   r2   rngr3   r   r   r   test_series_box_timestamps   s   rO   c                  C   s|   t dddd} t| }t|d tsJ t|jd tsJ t|jd ts(J t|jd ts2J t|jd	 ts<J d S )
Nz	1 day 1 sr   hr/   rH   r   r9   r$   r.   rI   )r   r   rJ   r   rK   rL   r(   r2   rM   r   r   r   test_series_box_timedelta   s   rR   c                 C   s\   t tdttdddd}tjtdd | |d  W d    d S 1 s'w   Y  d S )	Nr"   r      r$   r   z^1$r   r9   )r   rangelistr   r   r   
indexer_slr3   r   r   r   test_getitem_ambiguous_keyerror   s   "rX   c                 C   s\   t g dg d}tjttdd | |g d  W d    d S 1 s'w   Y  d S )N)r9   r$   r.   rI   )foobarrY   bahz['bam'] not in indexr   )rY   rZ   r[   bam)r   r   r   r   reescaperV   r   r   r   test_getitem_dups_with_missing   s   "r_   c                 C   sV   t tdttdddd}| }d| |d< |t dgdgd}t|| d S )Nr"   r   rS   r$   r   r   r9   )r   rT   rU   copyr=   r&   r'   )rW   r   s2r,   r   r   r   test_setitem_ambiguous_keyerror   s
   rb   c                 C   sp   t j| | jd < t j| g d< t j| d< t | d sJ t | d s&J d| t | < t | d r6J d S )Nr   )r9   r$         r$   )r   NaNr   isnan)r)   string_seriesr   r   r   test_setitem   s   
rh   c                 C   s6   | dd }t |t |jksJ |jjdu sJ d S )Nr   rS   T)lenr   	is_unique)r)   slr   r   r   test_setslice   s   rl   z&ignore:Using a non-tuple:FutureWarningc                 C   s\  d}t jt|d | d d df  W d    n1 sw   Y  t jt|d d| d d df< W d    n1 s;w   Y  tt | td dg }W d    n1 sXw   Y  | d d }t|| d}t jt|d | dtd d g  W d    n1 sw   Y  t jt|d d| dtd d g< W d    d S 1 sw   Y  d S )Nz0key of type tuple not found and not a MultiIndexr   r$   r   zunhashable type(: 'slice')?)	r   r   r   r&   assert_produces_warningFutureWarningslicer'   	TypeError)r)   r   r+   r,   r   r   r   !test_basic_getitem_setitem_corner   s&   "rq   c                 C   s   | dd }| dd  }|dd }| j d |j vsJ |j d |j vs&J t|t|j ks1J | |j d  ||j d  ksAJ |j d | j d ksMJ t|t| dd  s\J | dd }d|d d < | dd dk stJ d S )Nr"   rS   i	   r   r9      )r   ri   r&   equalContentsr   arrayr6   )rg   object_seriesnumSlicenumSliceEndobjSlicerk   r   r   r   
test_slice   s    rz   c                  C   s   t g td} td| jd< t| t tddgd | | j	dd} t| t t
jtdgddgd td| jd< t tdddgd}t| | d S )Nr:   r9   rG   z1 daysr   r   A)r   objectr   r(   r&   r'   r   r%   r   insertr   nanr   r,   r   r   r   test_timedelta_assignment   s   "r   c                  C   s   t dd dD } | jg ddd}|d u sJ tdgdgd}d	| d
< |  | d
 | t g dg dg dg dd}|jg ddd}|d u sMJ t| | d S )Nc                 S   s   i | ]}|g d qS )r<   r   ).0r   r   r   r   
<dictcomp>   s    z3test_underlying_data_conversion.<locals>.<dictcomp>r1   T)inplacer9   )r$   r$   r$   r   r   valr<   )r   r9   r   )r   r   r   r   )r   	set_indexr   updater&   assert_frame_equal)dfreturn_valuer   r,   r   r   r   test_underlying_data_conversion   s   r   c                 C   s,   | g d }t j|d< t | d rJ d S )Nr!   r9   r"   )r   re   rf   )r)   seqr   r   r   test_preserve_refs  s   
r   c                  C   sV   t ddgddgdd} t dgdgdd| ddg< t ddgddgdd}t| | d S )Nr9   r$   int64)r   r;   r   TFr   r&   r'   r   r   r   r   test_cast_on_putmask
  s   r   c                  C   sj   t tjdtddddd} |  | dk}}| |  t}|||< t	
|| dd  d S )Nd   r   r   r   c                 S   s   | dkrt | S | S )Nr   )str)tr   r   r   <lambda>  s    z+test_type_promote_putmask.<locals>.<lambda>)r   r   r   r   arangeroundr`   mapr   r&   r'   )tsleftmaskrightr   r   r   test_type_promote_putmask  s
   $r   c                  C   sF   t g d} | dk}| | t}|| |< t g d}t| | d S )N)r   r9   r$   r   r   )r   12r   )r   r   r   r&   r'   r3   r   ser2r,   r   r   r   test_setitem_mask_promote_strs  s   r   c                  C   sD   t g d} t g d}| | }|| |< t g d}t| | d S )N)r   rY   rZ   r   )FTTFr   r   r   r   r   test_setitem_mask_promote)  s   r   c                 C   sd   t g dg dgg dg dgddgd}ttjt||dd	}| |d
 }|j|jks0J d S )N)rY   rZ   bazqux)onetwothree)
r   r   r   r9   r9   r$   r$   r.   r.   r.   )
r   r9   r$   r   r9   r9   r$   r   r9   r$   firstsecond)levelscodesnamessth)r   namerY   )r   r   r   r   r   ri   r   )rW   r   r3   r+   r   r   r   test_multilevel_preserve_name4  s   r   c                 C   s\   |t t| | d}tjtdd ||d d d  W d    d S 1 s'w   Y  d S )Nr   zslice step cannot be zeror   r   )r   r   ri   r   r   
ValueError)r   frame_or_seriesindexer_slir   r   r   r    test_slice_with_zero_step_raisesE  s   "r   r   z
2014-01-01rS   MSrQ   z2014-01M0Hc                    s    fdd}t | d }t | d }t| d }ttd|  t}|||fD ]G}|||d d |dd d  ||d |d |d dd  |||fD ] }||||d |ddd  ||||d |ddd  qNq(d S )	Nc                    s0    j | }t |  | t j|  | d S )N)r2   r&   r'   r(   )l_slci_slcr,   r   r   r   assert_slices_equivalentU  s   
z?test_slice_with_negative_step.<locals>.assert_slices_equivalentrr      r   rS   r      )r   typer   r   r   r   )r   r   keystr1keystr2boxSLCkeykey2r   r   r   test_slice_with_negative_stepL  s   	 r   c                  C   sP   t ddgddgd} | d dksJ | d dksJ d| d< | d dks&J d S )Nr9   r$   )r   )r   r   r.   )r   rC   r   r   r   test_tuple_indexk  s
   r   c                  C   sb   t dt d} }tddg| |gd}||  dksJ || dks#J d||< || dks/J d S )Nr   r   r9   r$   r   r.   )	frozensetr   )idx0idx1r   r   r   r   test_frozenset_indext  s   r   )3__doc__datetimer   r]   numpyr   r   pandasr   r   r   r   r   r   r	   r
   r   pandas._testing_testingr&   r    r-   r4   r7   markparametrizer|   rA   rD   rO   rR   rX   r_   rb   rh   rl   filterwarningsrq   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>   sn    ,

	




	
	