o
    d4                  
   @   sZ  d Z ddlmZ ddlZddlZddlZddlmZ ddl	m
Z
mZ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 Zdd	 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*d,d- Z+d.d/ Z,d0d1 Z-d2d3 Z.d4d5 Z/d6d7 Z0ej d8ed9d:d;d<ed=d:d>d<ed?d:d@d<gdAdB Z1dCdD Z2dEdF Z3dGdH Z4dIdJ Z5dKdL Z6dMdN Z7dOdP Z8dQdR Z9ej dSi dTdUigej dVg dWdWge:ddXe;g gdYdZ Z<G d[d\ d\Z=dS )]z test get/set & misc     )	timedeltaN)IndexingError)NA	DataFrameIndex
IndexSlice
MultiIndexSeries	Timedelta	Timestampconcat
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"   o/var/www/html/visualizacion-main/env/lib/python3.10/site-packages/pandas/tests/series/indexing/test_indexing.pytest_basic_indexing   s&   




"r$   c                 C   s\   | }t g d|d}ttd|d}|d }tddgt ddg|dd}tj||dd	 d S )
N   r   r&   dtype   r   r&   r      Tcheck_exactr   r	   rangetmassert_series_equal)any_numeric_dtyper(   idxserresultexpectedr"   r"   r#   6test_getitem_numeric_should_not_fallback_to_positional0   s   r6   c                 C   sP   | }t g d|d}ttd|d}d|d< tg d|d}tj||dd	 d S )
Nr%   r'   r)   r   
   r&   )r7   r&   r7   Tr+   r-   )r1   r(   r2   r3   r5   r"   r"   r#   6test_setitem_numeric_should_not_fallback_to_positional:   s   r8   c                 C   sf   | j g d }| | }| |}t|| | |d |d  }| j|d |d  }t|| d S )Nr   r7      r   r*   )r   reindexr/   r0   loc)datetime_seriesindicesr4   r5   r"   r"   r#   test_basic_getitem_with_labelsD   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-01r)   z
US/Eastern)periodstzr   r   r   r   )rA   r   r   )r	   r   r   r<   iloc)r3   r5   r4   r"   r"   r#    test_basic_getitem_dt64tz_valuesP   s   

rD   c                  C   s@   t tjd} | d }t||  d| d< |dk sJ d S )Nr7   .r   )r	   r   r   r   r/   r0   all)r    r4   r"   r"   r#   test_getitem_setitem_ellipsis_   s
   rF   z$result_1, duplicate_item, expected_1   )r&   r*   r*   r)   r&   r*   r&   i9  r'   r&   r*   r)   c                 C   s<   |  |}| |}t|d | |d | d ksJ d S )Nr&   r*   )_appendr/   r0   )result_1duplicate_item
expected_1r4   r5   r"   r"   r#   $test_getitem_with_duplicates_indicesi   s   

rN   c                  C   sF   t g dg d} | jd | d ksJ d| jd< t| d d d S )NrI   rB   r   r   r   )r	   rC   r/   assert_almost_equalr    r"   r"   r#   test_getitem_setitem_integers   s   
rQ   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   r&   r*   r)      r   )r   r	   
isinstancer   atiatr<   rC   rngr3   r"   r"   r#   test_series_box_timestamp   s   r\   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@   rU   r   r&   r*   r)   rV   )r   r	   rW   r
   rX   rY   r<   rC   rZ   r"   r"   r#   test_series_box_timedelta   s   r_   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 )	Nr7   r      r*   r   z^1$r   r&   )r	   r.   listr   r   r   
indexer_slr3   r"   r"   r#   test_getitem_ambiguous_keyerror   s   "rd   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)r&   r*   r)   rV   )foobarre   bahz['bam'] not in indexr   )re   rf   rg   bam)r	   r   r   r   reescaperb   r"   r"   r#   test_getitem_dups_with_missing   s   "rk   c                 C   sX   t tdttdddd}| }d| |d< t|t dgdgdg}t|| d S )Nr7   r   r`   r*   r   r   r&   )r	   r.   ra   copyr   r/   r0   )rc   r    s2r5   r"   r"   r#   test_setitem_ambiguous_keyerror   s
   rn   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   )r&   r*         r*   )r   NaNr   isnan)r=   r"   r"   r#   test_setitem   s   
rs   c                 C   s6   | dd }t |t |jksJ |jjdu sJ d S )Nr   r`   T)lenr   	is_unique)r=   slr"   r"   r#   test_setslice   s   rw   c                 C   st  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  d}t jt|d | td dg  W d    n1 s\w   Y  | td df }| 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*   z Indexing with a single-item listr   zunhashable type(: 'slice')?)r   r   r   
ValueErrorslicer/   r0   	TypeError)r=   r!   r4   r5   r"   r"   r#   !test_basic_getitem_setitem_corner   s*   "r{   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s5J | |jd  ||jd  ksEJ |jd | jd ksQJ t|t| dd  s`J | dd }d|d d < |rvt| | d S | dd dk sJ d S )Nr7   r`   i	   r   r&      )	rl   r   rt   r/   equalContentsr   arrayr0   rE   )string_seriesobject_seriesusing_copy_on_writeoriginalnumSlicenumSliceEndobjSlicerv   r"   r"   r#   
test_slice   s    r   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'   r&   rT   z1 daysr   r   A)r	   objectr   r<   r/   r0   r
   r;   r   insertr   nan)r    r5   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
 | | r6|}n t g dg dg dg dd}|jg ddd}|d u sVJ t|| d S )Nc                 S   s   i | ]}|g d qS )rI   r"   ).0r   r"   r"   r#   
<dictcomp>  s    z3test_underlying_data_conversion.<locals>.<dictcomp>rB   T)inplacer&   )r*   r*   r*   r   r   valrI   )r   r&   r   )r   r   r   r   )r   	set_indexr	   rl   updater/   assert_frame_equal)r   dfreturn_valuer    df_originalr5   r"   r"   r#   test_underlying_data_conversion  s    r   c                 C   s,   | g d }t j|d< t | d rJ d S )Nr9   r&   r7   )r   rq   rr   )r=   seqr"   r"   r#   test_preserve_refs%  s   
r   c                 C   s>   | }t tjt||dd}||d }|j|jksJ d S )Nsth)r   namere   )r	   r   r   r   rt   r   )%lexsorted_two_level_string_multiindexrc   r   r3   r4   r"   r"   r#   test_multilevel_preserve_name+  s   r   r   z
2014-01-01r`   MSr^   z2014-01M0Hc              
   C   s   t | d }t | d }ttd| }t}|| d fD ]O}t|||d d |dd d  t||d |d |d dd  || d fD ]$}t||||d |ddd  t||||d |ddd  qFqd S )Nr|      r`      r   )strr	   r   aranger   r/   !assert_indexing_slices_equivalent)r   keystr1keystr2r3   SLCkeykey2r"   r"   r#   test_slice_with_negative_step6  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 )Nr&   r*   )r   )r   r   r)   )r	   rP   r"   r"   r#   test_tuple_indexN  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   r&   r*   r   r)   )	frozensetr	   )idx0idx1r    r"   r"   r#   test_frozenset_indexW  s   r   c                  C   sN   t ddgddgd} |  }t ddgddgd}|| j| dk< t| | d S )	Nr&   r*   r   r   r   rp      d   )r	   rl   r<   r/   r0   )r3   r5   rhsr"   r"   r#   "test_loc_setitem_all_false_indexera  s
   r   c                  C   s<   t dg} | jt tdgdd }t g dd}t|| d S )Nr&   Fbooleanr'   int64)r	   r<   r   r/   r0   r3   r4   r5   r"   r"   r#   +test_loc_boolean_indexer_non_matching_indexj  s   
r   c                  C   s^   t dg} t tdgdddgd}tjtdd | j|  W d    d S 1 s(w   Y  d S )Nr&   Fr   r*   )r(   r   Unalignabler   )r	   r   r   r   r   r<   )r3   indexerr"   r"   r#   ,test_loc_boolean_indexer_miss_matching_indexr  s
   
"r   c                  C   sB   t ddgi} td| i}| |jd< t| | d}t|| d S )Nr   r&   label	new_label)r   r   )r   r	   r<   r/   r0   )r   r3   r5   r"   r"   r#   (test_loc_setitem_nested_data_enlargementz  s
   
r   c                  C   sL   t dtg dddd} | jdd }t dtdgddd}t|| d S )Nr&   )r   r&   r*   Int64r'   r   r*   r)   )r	   r   r<   r/   r0   r   r"   r"   r#   'test_loc_ea_numeric_index_oob_slice_end  s   r   c                  C   sL   t ddd} tjtdd | jd  W d    d S 1 sw   Y  d S )Nr&   r   )TFr   r   )r	   r   r   r   r<   )r3   r"   r"   r#   test_getitem_bool_int_key  s   "r   r   r   xr   Fr   c                 C   s6   t dddgi|}| }d|j| < t|| d S )Nr   r&   r*   g      ?)r   rl   r<   r/   r   )r   r   r   r5   r"   r"   r#   test_setitem_empty_indexer  s   
r   c                   @   s   e Zd Zejddhddigdd Zejddhddidhdfddidfgdd Zejddhddigdd	 Zejddhddidhdfddidfgd
d Z	dS )TestDeprecatedIndexersr   r&   c                 C   sJ   t ddg}tjtdd |j|  W d    d S 1 sw   Y  d S Nr&   r*   as an indexer is not supportedr   r	   r   r   rz   r<   selfr   r3   r"   r"   r#   $test_getitem_dict_and_set_deprecated     "z;TestDeprecatedIndexers.test_getitem_dict_and_set_deprecatedr*   c                 C   sX   t ddgtddgd}tjtdd |j|  W d    d S 1 s%w   Y  d S Nr&   r*   rH   )r)   rV   r   r   r   r	   r   from_tuplesr   r   rz   r<   r   r"   r"   r#   /test_getitem_dict_and_set_deprecated_multiindex     "zFTestDeprecatedIndexers.test_getitem_dict_and_set_deprecated_multiindexc                 C   sJ   t ddg}tjtdd d|j|< W d    d S 1 sw   Y  d S r   r   r   r"   r"   r#   $test_setitem_dict_and_set_disallowed  r   z;TestDeprecatedIndexers.test_setitem_dict_and_set_disallowedc                 C   sX   t ddgtddgd}tjtdd d|j|< W d    d S 1 s%w   Y  d S r   r   r   r"   r"   r#   /test_setitem_dict_and_set_disallowed_multiindex  r   zFTestDeprecatedIndexers.test_setitem_dict_and_set_disallowed_multiindexN)
__name__
__module____qualname__r   markparametrizer   r   r   r   r"   r"   r"   r#   r     s    
(

(r   )>__doc__datetimer   ri   numpyr   r   pandas.errorsr   pandasr   r   r   r   r   r	   r
   r   r   r   r   r   pandas._testing_testingr/   r$   r6   r8   r?   rD   rF   r   r   r   rN   rQ   r\   r_   rd   rk   rn   rs   rw   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ry   r   r   r   r"   r"   r"   r#   <module>   sz    8




	



	
		$