o
     \i,B                  
   @   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 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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/d0 Z0d1d2 Z1d3d4 Z2d5d6 Z3d7d8 Z4ej#$d9ed:d;d<d=ed>d;d?d=ed@d;dAd=gdBdC Z5dDdE Z6dFdG Z7dHdI Z8dJdK Z9dLdM Z:dNdO Z;dPdQ Z<dRdS Z=ej#$dTi dUdVigej#$dWg dXdXge>ddYe?g gdZd[ Z@G d\d] d]ZAG d^d_ d_ZBdS )`z test get/set & misc     )	timedeltaN)WARNING_CHECK_DISABLED)IndexingError)NA	DataFrameIndex
IndexSlice
MultiIndexNaTSeries	Timedelta	Timestampconcat
date_rangeisnaperiod_rangetimedelta_rangec               	   C   s  t tjddg dd} d}d}tjt|d# tj	t
|d | d  W d    n1 s1w   Y  W d    n1 s@w   Y  tjt|d# tj	t
|d d| d< W d    n1 scw   Y  W d    n1 srw   Y  tjtd	d | d
  W d    n1 sw   Y  |  } tjt|d# tj	t
|d | d  W d    n1 sw   Y  W d    n1 sw   Y  d}tjt|d, tj	t
|d d| d< W d    n1 sw   Y  W d    d S W d    d S 1 sw   Y  d S )N      )abr   r   r   indexz>Series.__[sg]etitem__ treating keys as positions is deprecatedz/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default_rngstandard_normalpytestraises
IndexErrortmassert_produces_warningFutureWarningKeyError
sort_index)swarn_msgmsg r+   /var/www/www-root/data/www/176.119.141.140/sports-predictor/venv/lib/python3.10/site-packages/pandas/tests/series/indexing/test_indexing.pytest_basic_indexing   sF   




$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   r   Tcheck_exactr   r   ranger#   assert_series_equal)any_numeric_dtyper1   idxserresultexpectedr+   r+   r,   6test_getitem_numeric_should_not_fallback_to_positional:   s   r=   c                 C   sP   | }t g d|d}ttd|d}d|d< tg d|d}tj||dd	 d S )
Nr.   r0   r2   r   
   r/   )r>   r/   r>   Tr3   r5   )r8   r1   r9   r:   r<   r+   r+   r,   6test_setitem_numeric_should_not_fallback_to_positionalD   s   r?   c                 C   sf   | j g d }| | }| |}t|| | |d |d  }| j|d |d  }t|| d S )Nr   r>      r   r   )r   reindexr#   r7   loc)datetime_seriesindicesr;   r<   r+   r+   r,   test_basic_getitem_with_labelsN   s   
rF   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-01r2   z
US/Eastern)periodstzr   r   r   r   )rH   r   r   )r   r   r   rC   iloc)r:   r<   r;   r+   r+   r,    test_basic_getitem_dt64tz_valuesZ   s   

rK   c                 C   sx   t tjdd}|d }t|| t| d|d< W d    n1 s)w   Y  | s8|dk s:J d S d S )Nr   r>   .r   )	r   r   r   r   r   r#   r7   assert_cow_warningall)using_copy_on_writewarn_copy_on_writer(   r;   r+   r+   r,   test_getitem_setitem_ellipsisi   s   
rP   z$result_1, duplicate_item, expected_1   )r/   r   r   r2   r/   r   r/   i9  r0   r/   r   r2   c                 C   s<   |  |}| |}t|d | |d | d ksJ d S )Nr/   r   )_appendr#   r7   )result_1duplicate_item
expected_1r;   r<   r+   r+   r,   $test_getitem_with_duplicates_indicesu   s   

rX   c                  C   sF   t g dg d} | jd | d ksJ d| jd< t| d d d S )NrS   rI   r   r   r   )r   rJ   r#   assert_almost_equalr(   r+   r+   r,   test_getitem_setitem_integers   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 t| | d
}d}tj	t
|d t|d tsUJ W d    n1 s_w   Y  t|j| d  tspJ t|jd tszJ t|j| d  tsJ t|jd	 tsJ d S )N2009041520090519B)freqr   r/   r   r2      r   z;Series.__getitem__ treating keys as positions is deprecatedr   )r   r   
isinstancer   atiatrC   rJ   r#   r$   r%   )rngr:   r*   r+   r+   r,   test_series_box_timestamp   s    re   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rG   r_   r   r/   r   r2   r`   )r   r   ra   r   rb   rc   rC   rJ   )rd   r:   r+   r+   r,   test_series_box_timedelta   s   rh   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   r/   )r   r6   listr    r!   r&   
indexer_slr:   r+   r+   r,   test_getitem_ambiguous_keyerror   s   "rm   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   r2   r`   )foobarrn   bahz['bam'] not in indexr   )rn   ro   rp   bam)r   r    r!   r&   reescaperk   r+   r+   r,   test_getitem_dups_with_missing   s   "rt   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 )Nr>   r   ri   r   r   r   r/   )r   r6   rj   copyr   r#   r7   )rl   r(   s2r<   r+   r+   r,   test_setitem_ambiguous_keyerror   s
   rw   c                 C   sz   t j| | jd < t j| jg d< t j| jd< t | jd s J t | jd s*J d| t | < t | jd r;J d S )Nr   )r/   r         r   )r   nanr   rJ   isnan)rD   r+   r+   r,   test_setitem   s   r|   c                 C   s6   | dd }t |t |jksJ |jjdu sJ d S )Nr   ri   T)lenr   	is_unique)rD   slr+   r+   r,   test_setslice   s   r   c                 C   sp  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d d gg  W d    n1 sw   Y  t jt|d d| dd d g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#   r7   	TypeError)rD   r*   r;   r<   r+   r+   r,   !test_basic_getitem_setitem_corner   s*   "r   c           	      C   s4  |   }| 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|t| dd   | dd }t| d|d d < W d    n1 s}w   Y  |rt| | d S | dd dk	 sJ d S )Nr>   ri   i	   r   r/      )
ru   r   r}   r#   assert_numpy_array_equalr   arrayrL   r7   rM   )	string_seriesobject_seriesrN   rO   originalnumSlicenumSliceEndobjSlicer   r+   r+   r,   
test_slice   s"     r   c                  C   s   t g td} td| jd< t tdddgd}t| | | | j	dd} t t
jtdgdddgd}t| | td| jd< t tddddgd}t| | d S )	Nr0   r/   r^   z1 daysztimedelta64[ns]r1   r   r   A)r   objectr   rC   r   r#   r7   rB   r   insertr   rz   )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
< | }| | rJt  |d
 | W d    n1 sBw   Y  |}nBtjtsPt	nd dd |d
 | W d    n1 sgw   Y  t g dg dg dg dd}|jg ddd}|d u sJ t
|| d S )Nc                 S   s   i | ]}|g d qS )rS   r+   ).0r   r+   r+   r,   
<dictcomp>$  s    z3test_underlying_data_conversion.<locals>.<dictcomp>rI   T)inplacer/   )r   r   r   r   r   valzinplace methodr   rS   )r   r/   r   )r   r   r   r   )r   	set_indexr   ru   r#   raises_chained_assignment_errorupdater$   r   r%   assert_frame_equal)rN   dfreturn_valuer(   df_originalr<   r+   r+   r,   test_underlying_data_conversion"  s0   

r   c                 C   s2   | j g d }tj|j d< t| j d rJ d S )Nr@   r/   r>   )rJ   r   rz   r{   )rD   seqr+   r+   r,   test_preserve_refs>  s   r   c                 C   sD   | }t tjdt||dd}||d }|j|jks J d S )Nr   sth)r   namern   )r   r   r   r   r   r}   r   )%lexsorted_two_level_string_multiindexrl   r   r:   r;   r+   r+   r,   test_multilevel_preserve_nameD  s   r   r   z
2014-01-01ri   MSrg   z2014-01M0rf   c              
   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      ri      r   )strr   r   aranger   r#   !assert_indexing_slices_equivalent)r   keystr1keystr2r:   SLCkeykey2r+   r+   r,   test_slice_with_negative_stepQ  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   r2   )r   rZ   r+   r+   r,   test_tuple_indexi  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   r2   )	frozensetr   )idx0idx1r(   r+   r+   r,   test_frozenset_indexr  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   ry      d   )r   ru   rC   r#   r7   )r:   r<   rhsr+   r+   r,   "test_loc_setitem_all_false_indexer|  s
   r   c                  C   s<   t dg} | jt tdgdd }t g dd}t|| d S )Nr/   Fbooleanr0   int64)r   rC   r   r#   r7   r:   r;   r<   r+   r+   r,   +test_loc_boolean_indexer_non_matching_index  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   Unalignabler   )r   r   r    r!   r   rC   )r:   indexerr+   r+   r,   ,test_loc_boolean_indexer_miss_matching_index  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   rC   r#   r7   )r   r:   r<   r+   r+   r,   (test_loc_setitem_nested_data_enlargement  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   Int64r0   r   r   r2   )r   r   rC   r#   r7   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&   rC   )r:   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         ?)r   ru   rC   r#   r   )r   r   r   r<   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!   r   rC   selfr   r:   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   rR   )r2   r`   r   r   r   r   r	   from_tuplesr    r!   r   rC   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   c                
   @   s   e Zd Zdd ZddddeededgZddge	dd	g d
e	dddgZ
ejded	ded	ed	g ejde
dd Zejdeddedg ejde
dd Zejdedg ejde
dd ZdS )TestSetitemValidationc                 C   s  d}t |}| }tj||d |||< | }W d    n1 s%w   Y  tj||d ||j|< | }W d    n1 sEw   Y  tj||d ||j|< | }W d    n1 sew   Y  tj||d ||d d < W d    d S 1 sw   Y  d S )Nz3Setting an item of incompatible dtype is deprecatedr   )rr   rs   ru   r#   r$   rJ   rC   )r   r:   invalidr   warnr*   orig_serr+   r+   r,   _check_setitem_invalid  s$   





"z,TestSetitemValidation._check_setitem_invalidy      ?       @True1z1.0r
   r   r/   TFFNr   g      ?r   c                 C   s$   t g ddd}| |||t d S )Nr   boolr0   r   r   r%   )r   r   r   r:   r+   r+   r,   #test_setitem_validation_scalar_bool  s   z9TestSetitemValidation.test_setitem_validation_scalar_boolTr   c                 C   sH   t g d|d}t|r|turt|sd }nt}| |||| d S )NrS   r0   )r   r   r
   r   isnatr%   r   )r   r   any_int_numpy_dtyper   r:   r   r+   r+   r,   "test_setitem_validation_scalar_int   s
   z8TestSetitemValidation.test_setitem_validation_scalar_intc                 C   s$   t g d|d}| |||t d S )N)r/   r   Nr0   r   )r   r   float_numpy_dtyper   r:   r+   r+   r,   $test_setitem_validation_scalar_float
  s   z:TestSetitemValidation.test_setitem_validation_scalar_float)r   r   r   r   r
   r   
datetime64timedelta64_invalid_scalarsr   	_indexersr    r   r   r   float64r   r   r   r+   r+   r+   r,   r     s,    "	r   )C__doc__datetimer   rr   numpyr   r    pandas.compatr   pandas.errorsr   pandasr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   pandas._testing_testingr#   r-   r=   r?   rF   rK   rP   r   r   r   rX   r[   re   rh   rm   rt   rw   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,   <module>   s~    @



	



	
		$