o
    Û­j,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 s�w   Y  |  ¡ } tjt|d��# tj	t
|d�� | d  W d   ƒ n1 s´w   Y  W d   ƒ n1 sÃw   Y  d}tjt|d��, tj	t
|d�� d| d< W d   ƒ n1 sèw   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+   úg/var/www/html/CropPilot/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ƒs†J ‚t|jd	 tƒs�J ‚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 s‘w   Y  t jt|d�� d| dd d gg< W d   ƒ d S 1 s±w   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  |rŒt | |¡ d S | dd… dk 	¡ s˜J ‚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 sŒJ ‚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 sƒw   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~    @


ýýúþ
	


ýþ
	
		$