a
    é´«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��F tj	t
|d�� | d  W d   ƒ n1 sb0    Y  W d   ƒ n1 s€0    Y  tjt|d��F tj	t
|d�� d| d< W d   ƒ n1 sÆ0    Y  W d   ƒ n1 sä0    Y  tjtd	d�� | d
  W d   ƒ n1 �s0    Y  |  ¡ } tjt|d��H tj	t
|d�� | d  W d   ƒ n1 �sl0    Y  W d   ƒ n1 �sŒ0    Y  d}tjt|d��H tj	t
|d�� d| d< W d   ƒ n1 �sØ0    Y  W d   ƒ n1 �sø0    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ÚKeyErrorZ
sort_index)ÚsZwarn_msgÚmsg© r)   úi/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/series/indexing/test_indexing.pyÚtest_basic_indexing   s*    ÿDD(H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©Zcheck_exact©r   r   Úranger#   Úassert_series_equal)Úany_numeric_dtyper/   Ú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,   r.   r0   r   é
   r-   )r;   r-   r;   Tr1   r2   )r5   r/   r6   r7   r9   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#   r4   Úloc)Údatetime_seriesÚindicesr8   r9   r)   r)   r*   Útest_basic_getitem_with_labelsN   s    
rC   c                  C   sj   t tdddd�g d¢d�} tddd�}| jd }||ks<J ‚| jd	 }||ksRJ ‚| d }||ksfJ ‚d S )
Nz
2011-01-01r0   z
US/Eastern)ÚperiodsÚtz©r   r   r   r   )rE   r   r   )r   r   r   r@   Úiloc)r7   r9   r8   r)   r)   r*   Ú test_basic_getitem_dt64tz_valuesZ   s    ÿ

rH   c                 C   st   t tj d¡ d¡ƒ}|d }t ||¡ t |¡� d|d< W d   ƒ n1 sR0    Y  | sp|dk ¡ spJ ‚d S )Nr   r;   .r   )	r   r   r   r   r   r#   r4   Úassert_cow_warningÚall)Úusing_copy_on_writeÚwarn_copy_on_writer'   r8   r)   r)   r*   Útest_getitem_setitem_ellipsisi   s    &rM   z$result_1, duplicate_item, expected_1é   )r-   r   r   r0   ©r-   r   r-   i9  r.   ©r-   r   r0   c                 C   s<   |   |¡}|  |¡}t |d |¡ |d | d ks8J ‚d S )Nr-   r   )Ú_appendr#   r4   )Zresult_1Zduplicate_itemZ
expected_1r8   r9   r)   r)   r*   Ú$test_getitem_with_duplicates_indicesu   s    

rR   c                  C   sF   t g d¢g d¢ƒ} | jd | d ks(J ‚d| jd< t | d d¡ d S )NrP   rF   r   r   r   )r   rG   r#   Zassert_almost_equal©r'   r)   r)   r*   Útest_getitem_setitem_integersŒ   s    
rT   c                  C   s(  t dddd�} t| ƒ}t|d tƒs(J ‚t|jd tƒs<J ‚t|jd tƒsPJ ‚t|jd tƒsdJ ‚t|jd	 tƒsxJ ‚t| | d
�}d}tj	t
|d��" t|d tƒsªJ ‚W d   ƒ n1 s¾0    Y  t|j| d  tƒsàJ ‚t|jd tƒsôJ ‚t|j| d  tƒ�sJ ‚t|jd	 tƒ�s$J ‚d S )NZ20090415Z20090519ÚB)Úfreqr   r-   r   r0   é   r   z;Series.__getitem__ treating keys as positions is deprecatedr   )r   r   Ú
isinstancer   ÚatÚiatr@   rG   r#   r$   r%   )Úrngr7   r(   r)   r)   r*   Útest_series_box_timestamp•   s    0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ƒsPJ ‚t|jd tƒsdJ ‚t|jd	 tƒsxJ ‚d S )
Nz	1 day 1 sr   Úh©rD   rV   r   r-   r   r0   rW   )r   r   rX   r   rY   rZ   r@   rG   )r[   r7   r)   r)   r*   Útest_series_box_timedelta¨   s    r_   c                 C   sZ   t tdƒttdddƒƒd�}tjtdd�� | |ƒd  W d   ƒ n1 sL0    Y  d S )	Nr;   r   é   r   r   z^1$r   r-   )r   r3   Úlistr    r!   r&   ©Ú
indexer_slr7   r)   r)   r*   Útest_getitem_ambiguous_keyerror²   s    rd   c                 C   sZ   t g d¢g d¢ƒ}tjtt d¡d��  | |ƒg d¢  W d   ƒ n1 sL0    Y  d S )N)r-   r   r0   rW   )ÚfooÚbarre   Úbahz['bam'] not in indexr   )re   rf   rg   Zbam)r   r    r!   r&   ÚreÚescaperb   r)   r)   r*   Útest_getitem_dups_with_missing¸   s    rj   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   r`   r   r   r   r-   )r   r3   ra   Úcopyr   r#   r4   )rc   r'   Ús2r9   r)   r)   r*   Útest_setitem_ambiguous_keyerrorÀ   s
    rm   c                 C   sz   t j| | jd < t j| jg d¢< t j| jd< t  | jd ¡s@J ‚t  | jd ¡sTJ ‚d| t  | ¡< t  | jd ¡rvJ ‚d S )Nr   )r-   r   é   é   r   )r   Únanr   rG   Úisnan)rA   r)   r)   r*   Útest_setitemÊ   s    rr   c                 C   s6   | dd… }t |ƒt |jƒks"J ‚|jjdu s2J ‚d S )Nr   r`   T)Úlenr   Z	is_unique)rA   Úslr)   r)   r*   Útest_setsliceÔ   s    ru   c                 C   sr  d}t jt|d��  | d d …df  W d   ƒ n1 s80    Y  t jt|d��  d| d d …df< W d   ƒ n1 sv0    Y  d}t jt|d��  | td dƒg  W d   ƒ n1 s¸0    Y  | td dƒf }| d d… }t ||¡ d}t jt|d��  | dd d gg  W d   ƒ n1 �s$0    Y  t jt|d��  d| dd d gg< W d   ƒ n1 �sd0    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#   r4   Ú	TypeError)rA   r(   r8   r9   r)   r)   r*   Ú!test_basic_getitem_setitem_cornerÚ   s     ...0ry   c           	      C   s6  |   ¡ }| dd… }| dd … }|dd… }| jd |jvs@J ‚|jd |jvsTJ ‚t|ƒt|jƒksjJ ‚| |jd  ||jd  ksŠJ ‚|jd | jd ks¢J ‚t t |¡t | ¡dd … ¡ | dd… }t |¡� d|d d …< W d   ƒ n1 sú0    Y  |�rt | |¡ n| dd… dk 	¡ �s2J ‚d S )Nr;   r`   iöÿÿÿé	   r   r-   é   )
rk   r   rs   r#   Zassert_numpy_array_equalr   ÚarrayrI   r4   rJ   )	Zstring_seriesZobject_seriesrK   rL   ÚoriginalZnumSliceZnumSliceEndZobjSlicert   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 )	Nr.   r-   rU   z1 daysztimedelta64[ns]©r/   r   r   ÚA)r   Úobjectr   r@   r   r#   r4   r?   r   Úinsertr   rp   )r'   r9   r)   r)   r*   Útest_timedelta_assignment  s    ÿrƒ   c                 C   s*  t dd„ dD ƒƒ}|jg d¢dd�}|d u s0J ‚tdgdgd�}d	|d
< | ¡ }| | r”t ¡ � |d
  |¡ W d   ƒ n1 s„0    Y  |}n†tjts t	nd dd�� |d
  |¡ W d   ƒ n1 sÎ0    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 )rP   r)   )Ú.0r   r)   r)   r*   Ú
<dictcomp>$  ó    z3test_underlying_data_conversion.<locals>.<dictcomp>rF   T)Zinplacer-   )r   r   r   r   r   Úvalzinplace methodr   rP   )r   r-   r   )r   r   r   r‡   )r   Z	set_indexr   rk   r#   Zraises_chained_assignment_errorÚupdater$   r   r%   Úassert_frame_equal)rK   ÚdfZreturn_valuer'   Zdf_originalr9   r)   r)   r*   Útest_underlying_data_conversion"  s,    
,
þ,ÿr‹   c                 C   s2   | j g d¢ }tj|j d< t | j d ¡r.J ‚d S )Nr=   r-   r;   )rG   r   rp   rq   )rA   Ú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   Zsth)r   Únamere   )r   r   r   r   r   rs   rŽ   )Z%lexsorted_two_level_string_multiindexrc   r   r7   r8   r)   r)   r*   Útest_multilevel_preserve_nameD  s    ÿr�   r   z
2014-01-01r`   ZMSr^   z2014-01ÚMÚ0r]   c              
   C   sÜ   t | d ƒ}t | d ƒ}tt d¡| ƒ}t}|| d fD ]ž}t |||d d… |dd d… ¡ t ||d |d… |d dd… ¡ || d fD ]H}t ||||d… |ddd… ¡ t ||||d… |ddd… ¡ qŒq8d S )Nrz   é   r`   éÿÿÿÿé   r   )Ústrr   r   Zaranger   r#   Z!assert_indexing_slices_equivalent)r   Zkeystr1Zkeystr2r7   Z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s4J ‚d| d< | d dksLJ ‚d S )Nr-   r   )r   )r   r   r0   )r   rS   r)   r)   r*   Útest_tuple_indexi  s
    r™   c                  C   sb   t dƒt dƒ } }tddg| |gd�}||  dks6J ‚|| dksFJ ‚d||< || dks^J ‚d S )Nr   r   r-   r   r   r0   )Ú	frozensetr   )Zidx0Z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   ro   é   éd   )r   rk   r@   r#   r4   )r7   r9   Ú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Úbooleanr.   Úint64)r   r@   r   r#   r4   ©r7   r8   r9   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   ƒ n1 sN0    Y  d S )Nr-   Fr    r   r   ZUnalignabler   )r   r   r    r!   r   r@   )r7   Ú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   r@   r#   r4   )rŠ   r7   r9   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   ZInt64r.   r   r   r0   )r   r   r@   r#   r4   r¢   r)   r)   r*   Ú'test_loc_ea_numeric_index_oob_slice_endž  s    r©   c                  C   sJ   t dddœƒ} tjtdd�� | jd  W d   ƒ n1 s<0    Y  d S )Nr-   r   )TFr‘   r   )r   r    r!   r&   r@   )r7   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   rk   r@   r#   r‰   )r¤   r‡   rŠ   r9   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   sH   t ddgƒ}tjtdd�� |j|  W d   ƒ n1 s:0    Y  d S ©Nr-   r   úas an indexer is not supportedr   ©r   r    r!   rx   r@   ©Úselfr–   r7   r)   r)   r*   Ú$test_getitem_dict_and_set_deprecated¸  s    z;TestDeprecatedIndexers.test_getitem_dict_and_set_deprecatedr   c                 C   sV   t ddgt ddg¡d�}tjtdd�� |j|  W d   ƒ n1 sH0    Y  d S ©Nr-   r   rO   )r0   rW   r   r°   r   ©r   r	   Úfrom_tuplesr    r!   rx   r@   r²   r)   r)   r*   Ú/test_getitem_dict_and_set_deprecated_multiindex¿  s    zFTestDeprecatedIndexers.test_getitem_dict_and_set_deprecated_multiindexc                 C   sH   t ddgƒ}tjtdd�� d|j|< W d   ƒ n1 s:0    Y  d S r¯   r±   r²   r)   r)   r*   Ú$test_setitem_dict_and_set_disallowedÆ  s    z;TestDeprecatedIndexers.test_setitem_dict_and_set_disallowedc                 C   sV   t ddgt ddg¡d�}tjtdd�� d|j|< W d   ƒ n1 sH0    Y  d S rµ   r¶   r²   r)   r)   r*   Ú/test_setitem_dict_and_set_disallowed_multiindexÍ  s    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 sJ0    Y  tj||d��" ||j|< | ¡ }W d   ƒ n1 sŠ0    Y  tj||d��" ||j|< | ¡ }W d   ƒ n1 sÊ0    Y  tj||d�� ||d d …< W d   ƒ n1 �s0    Y  d S )Nz3Setting an item of incompatible dtype is deprecatedr   )rh   ri   rk   r#   r$   rG   r@   )r³   r7   Úinvalidr¤   Úwarnr(   Z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Æ   Úboolr.   ©r   rÃ   r%   )r³   rÁ   r¤   r7   r)   r)   r*   Ú#test_setitem_validation_scalar_boolø  s    z9TestSetitemValidation.test_setitem_validation_scalar_boolTr¬   c                 C   sH   t g d¢|d�}t|ƒr0|tur0t |¡s0d }nt}|  ||||¡ d S )NrP   r.   )r   r   r
   r   Zisnatr%   rÃ   )r³   rÁ   Zany_int_numpy_dtyper¤   r7   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   Nr.   rÈ   )r³   rÁ   Zfloat_numpy_dtyper¤   r7   r)   r)   r*   Ú$test_setitem_validation_scalar_float
  s    z:TestSetitemValidation.test_setitem_validation_scalar_float)r»   r¼   r½   rÃ   r
   r   Z
datetime64Ztimedelta64Z_invalid_scalarsrw   Z	_indexersr    r¾   r¿   r¡   Zfloat64rÉ   rÊ   rË   r)   r)   r)   r*   rÀ   Õ  s*   ù	"ÿrÀ   )CÚ__doc__Údatetimer   rh   Únumpyr   r    Zpandas.compatr   Zpandas.errorsr   Zpandasr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   Zpandas._testingZ_testingr#   r+   r:   r<   rC   rH   rM   r¾   r¿   r�   rR   rT   r\   r_   rd   rj   rm   rr   ru   ry   r~   rƒ   r‹   r�   r�   r˜   r™   r›   rŸ   r£   r¥   r¨   r©   rª   rw   r|   r­   r®   rÀ   r)   r)   r)   r*   Ú<module>   s|   @


ýýúþ
	


ýþ
	
		$