U
    `»{jL.  ã                   @   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
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ej d¡ej dedddddgdœƒeddiƒeddied�gedddgddddgdœƒeddddgiƒeddddg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+d0d1„ Z,d2d3„ Z-d4d5„ Z.ej d6ed7d8d9d:�ed;d8d<d:�ed=d8d>d:�g¡d?d@„ ƒZ/dAdB„ Z0dCdD„ Z1dEdF„ Z2dGdH„ Z3dIdJ„ Z4dKdL„ Z5G dMdN„ dNƒZ6dS )Oz test get/set & misc é    )Ú	timedeltaN)ÚIndexingError)ÚNAÚ	DataFrameÚ
IndexSliceÚ
MultiIndexÚSeriesÚ	TimedeltaÚ	TimestampÚconcatÚ
date_rangeÚperiod_rangeÚtimedelta_rangec               	   C   sÜ   t tj d¡dddddgd�} d}tjt|d�� | d  W 5 Q R X tjt|d�� d| d< W 5 Q R X tjtdd�� | d	  W 5 Q R X |  ¡ } tjt|d�� | d  W 5 Q R X d
}tjt|d�� d| d< W 5 Q R X d S )Né   ÚaÚb©Ú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ÚKeyErrorZ
sort_index)ÚsÚmsg© r    úi/var/www/html/bwave/python/venv/lib/python3.8/site-packages/pandas/tests/series/indexing/test_indexing.pyÚtest_basic_indexing   s    r"   c                 C   sh   | j dddg }| | }|  |¡}t ||¡ | |d |d … }| j|d |d … }t ||¡ d S )Nr   é
   é   r   é   )r   ÚreindexÚtmÚassert_series_equalÚloc)Údatetime_seriesÚindicesÚresultÚexpectedr    r    r!   Útest_basic_getitem_with_labels/   s    
r.   c                  C   sl   t tdddd�dddgd�} tddd	�}| jd }||ks>t‚| jd
 }||ksTt‚| d }||ksht‚d S )Nz
2011-01-01é   z
US/Eastern)ÚperiodsÚtzr   r   r   r   )r1   r   )r   r   r
   r)   ÚAssertionErrorÚiloc)Úserr-   r,   r    r    r!   Ú test_basic_getitem_dt64tz_values;   s     ÿ

r5   c                  C   sJ   t tj d¡ƒ} t | ¡ | d }t || ¡ d| d< |dk ¡ sFt‚d S )Nr#   .r   )	r   r   r   r   Zfixr'   r(   Úallr2   )r   r,   r    r    r!   Útest_getitem_setitem_ellipsisK   s    
r7   z4ignore:.*append method is deprecated.*:FutureWarningz$result_1, duplicate_item, expected_1é   é   r%   r/   ©r9   r%   i9  ©Údtypec                 C   s<   |   |¡}|  |¡}t |d |¡ |d | d ks8t‚d S ©Nr9   r%   )Úappendr'   r(   r2   )Zresult_1Zduplicate_itemZ
expected_1r,   r-   r    r    r!   Ú$test_getitem_with_duplicates_indicesW   s    

r?   c                  C   sJ   t dddgdddgƒ} | jd | d ks,t‚d| jd< t | d d¡ d S )	Nr9   r%   r/   r   r   r   r   r   )r   r3   r2   r'   Zassert_almost_equal©r   r    r    r!   Útest_getitem_setitem_integerso   s    
rA   c                  C   sò   t dddd�} t| ƒ}t|d tƒs(t‚t|jd tƒs<t‚t|jd tƒsPt‚t|jd tƒsdt‚t|jd	 tƒsxt‚t| | d
�}t|d tƒs–t‚t|j| d  tƒs®t‚t|jd tƒsÂt‚t|j| d  tƒsÚt‚t|jd	 tƒsît‚d S )NZ20090415Z20090519ÚB)Úfreqr   r9   r%   r/   é   r   )	r   r   Ú
isinstancer
   r2   ÚatÚiatr)   r3   ©Úrngr4   r    r    r!   Útest_series_box_timestampx   s    rJ   c                  C   s|   t dddd�} t| ƒ}t|d tƒs(t‚t|jd tƒs<t‚t|jd tƒsPt‚t|jd tƒsdt‚t|jd	 tƒsxt‚d S )
Nz	1 day 1 sr   Úh©r0   rC   r   r9   r%   r/   rD   )	r   r   rE   r	   r2   rF   rG   r)   r3   rH   r    r    r!   Útest_series_box_timedelta‰   s    rM   c              	   C   sF   t tdƒttdddƒƒd�}tjtdd�� | |ƒd  W 5 Q R X d S )	Nr#   r   é   r%   r   z^1$r   r9   )r   ÚrangeÚlistr   r   r   ©Ú
indexer_slr4   r    r    r!   Útest_getitem_ambiguous_keyerror“   s    rS   c              	   C   sR   t ddddgddddgƒ}tjtt d¡d	�� | |ƒdddd
g  W 5 Q R X d S )Nr9   r%   r/   rD   ÚfooÚbarZbahz['bam'] not in indexr   Zbam)r   r   r   r   ÚreÚescaperQ   r    r    r!   Útest_getitem_dups_with_missing™   s    rX   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   rN   r%   r   r   r9   )r   rO   rP   Úcopyr   r'   r(   )rR   r   Ús2r-   r    r    r!   Útest_setitem_ambiguous_keyerror¡   s
    r[   c                 C   sr   t j| | jd < t j| dddg< t j| d< t  | d ¡s<t‚t  | d ¡sNt‚d| t  | ¡< t  | d ¡rnt‚d S )Nr   r9   r%   é   é   )r   ÚNaNr   Úisnanr2   )r*   r    r    r!   Útest_setitem«   s    
r`   c                 C   s6   | dd… }t |ƒt |jƒks"t‚|jjdks2t‚d S )Nr   rN   T)Úlenr   r2   Z	is_unique)r*   Úslr    r    r!   Útest_setsliceµ   s    rc   z&ignore:Using a non-tuple:FutureWarningc              	   C   sö   d}t jt|d�� | d d …df  W 5 Q R X t jt|d�� d| d d …df< W 5 Q R X t t¡� | td dƒg }W 5 Q R X | d d… }t ||¡ d}t jt|d�� | dtd d ƒg  W 5 Q R X t jt|d�� d| dtd d ƒg< W 5 Q R X 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    rh   c                 C   s  |   ¡ }| dd… }| dd … }|dd… }| jd |jks@t‚|jd |jksTt‚t|ƒt|jƒksjt‚| |jd  ||jd  ksŠt‚|jd | jd ks¢t‚t |t | ¡dd … ¡sÀt‚| dd… }d|d d …< |rêt | |¡ n| dd… dk 	¡ �st‚d S )Nr#   rN   iöÿÿÿé	   r   r9   é   )
rY   r   r2   ra   r'   ZequalContentsr   Úarrayr(   r6   )Zstring_seriesZobject_seriesÚusing_copy_on_writeÚoriginalZnumSliceZnumSliceEndZobjSlicerb   r    r    r!   Ú
test_sliceÔ   s     rn   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   rB   z1 daysr   r   ÚA)r   Úobjectr   r)   r'   r(   r	   r&   r   Úinsertr   Únan)r   r-   r    r    r!   Útest_timedelta_assignmentî   s    "rs   c                 C   sÈ   t dd„ dD ƒƒ}|jdddgdd�}|d ks2t‚td	gd
gd�}d|d< | ¡ }| |d  |¡ | rn|}nJt d	ddgd	ddgd	ddgdd	dgdœƒ}|jdddgdd�}|d ks¸t‚t ||¡ d S )Nc                 S   s   i | ]}|d ddg“qS )r9   r%   r/   r    )Ú.0r   r    r    r!   Ú
<dictcomp>þ   s      z3test_underlying_data_conversion.<locals>.<dictcomp>)r   r   r   r   r   r   T)Zinplacer9   )r%   r%   r%   r   r   Úvalr%   r/   )r   r   r   rv   )r   Z	set_indexr2   r   rY   Úupdater'   Zassert_frame_equal)rl   ÚdfZreturn_valuer   Zdf_originalr-   r    r    r!   Útest_underlying_data_conversionü   s     $ÿry   c                 C   s.   | dddg }t j|d< t  | d ¡r*t‚d S )Nr   r#   r$   r9   )r   r^   r_   r2   )r*   Úseqr    r    r!   Útest_preserve_refs  s    
r{   c                 C   s>   | }t tj t|ƒ¡|dd�}||ƒd }|j|jks:t‚d S )NZsth)r   ÚnamerT   )r   r   r   r   ra   r|   r2   )Z%lexsorted_two_level_string_multiindexrR   r   r4   r,   r    r    r!   Útest_multilevel_preserve_name  s    r}   r   z
2014-01-01rN   ZMSrL   z2014-01ÚMÚ0ÚHc              
   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 )Nri   é   rN   éÿÿÿÿé   r   )Ústrr   r   Zaranger   r'   Z!assert_indexing_slices_equivalent)r   Zkeystr1Zkeystr2r4   ZSLCÚkeyÚkey2r    r    r!   Útest_slice_with_negative_step%  s    	"""r‡   c                  C   sP   t ddgddgd�} | d dks$t‚| d dks4t‚d| d< | d dksLt‚d S )Nr9   r%   )r   )r   r   r/   )r   r2   r@   r    r    r!   Útest_tuple_index=  s
    rˆ   c                  C   sb   t dƒt dƒ } }tddg| |gd�}||  dks6t‚|| dksFt‚d||< || dks^t‚d S )Nr   r   r9   r%   r   r/   )Ú	frozensetr   r2   )Zidx0Zidx1r   r    r    r!   Útest_frozenset_indexF  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 )	Nr9   r%   r   r   r   r]   é   éd   )r   rY   r)   r'   r(   )r4   r-   Úrhsr    r    r!   Ú"test_loc_setitem_all_false_indexerP  s
    rŽ   c                  C   s<   t dgƒ} | jt tdgdd� }t g dd�}t ||¡ d S )Nr9   FÚbooleanr;   Zint64)r   r)   r   r'   r(   )r4   r,   r-   r    r    r!   Ú+test_loc_boolean_indexer_non_matching_indexY  s    
r�   c               	   C   sH   t dgƒ} t tdgdddgd�}tjtdd�� | j|  W 5 Q R X d S )Nr9   Fr�   r%   )r<   r   ZUnalignabler   )r   r   r   r   r   r)   )r4   Zindexerr    r    r!   Ú,test_loc_boolean_indexer_miss_matching_indexa  s    
r‘   c                  C   sB   t ddgiƒ} td| iƒ}| |jd< t| | dœƒ}t ||¡ d S )Nr   r9   ÚlabelÚ	new_label)r’   r“   )r   r   r)   r'   r(   )rx   r4   r-   r    r    r!   Ú(test_loc_setitem_nested_data_enlargementi  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…   r9   c              	   C   s0   t ddgƒ}t t¡� |j|  W 5 Q R X d S r=   ©r   r'   rd   re   r)   ©Úselfr…   r4   r    r    r!   Ú$test_getitem_dict_and_set_deprecateds  s    z;TestDeprecatedIndexers.test_getitem_dict_and_set_deprecatedr%   c              	   C   s>   t ddgt ddg¡d�}t t¡� |j|  W 5 Q R X d S ©Nr9   r%   r:   )r/   rD   r   ©r   r   Úfrom_tuplesr'   rd   re   r)   r—   r    r    r!   Ú/test_getitem_dict_and_set_deprecated_multiindexz  s    zFTestDeprecatedIndexers.test_getitem_dict_and_set_deprecated_multiindexc              	   C   s0   t ddgƒ}t t¡� d|j|< W 5 Q R X d S r=   r–   r—   r    r    r!   Ú$test_setitem_dict_and_set_deprecated�  s    z;TestDeprecatedIndexers.test_setitem_dict_and_set_deprecatedc              	   C   s>   t ddgt ddg¡d�}t t¡� d|j|< W 5 Q R X d S rš   r›   r—   r    r    r!   Ú/test_setitem_dict_and_set_deprecated_multiindexˆ  s    zFTestDeprecatedIndexers.test_setitem_dict_and_set_deprecated_multiindexN)
Ú__name__Ú
__module__Ú__qualname__r   ÚmarkÚparametrizer™   r�   rž   rŸ   r    r    r    r!   r•   r  s   
(

(r•   )7Ú__doc__Údatetimer   rV   Únumpyr   r   Zpandas.errorsr   Zpandasr   r   r   r   r   r	   r
   r   r   r   r   Zpandas._testingZ_testingr'   r"   r.   r5   r7   r£   Úfilterwarningsr¤   rp   r?   rA   rJ   rM   rS   rX   r[   r`   rc   rh   rn   rs   ry   r{   r}   r‡   rˆ   rŠ   rŽ   r�   r‘   r”   r•   r    r    r    r!   Ú<module>   sn   4

ýýúþ	




ýþ
	
		