a
    oÝEbà�  ã                   @   sú   d Z ddlmZ ddlZddlZddlZddlZddlm  m	Z
 ddlmZmZ ddlZddlmZmZmZmZmZmZmZ ddlmZ ddlmZ ddlmZ ddlmZ G d	d
„ d
ƒZ G dd„ dƒZ!G dd„ dƒZ"G dd„ dƒZ#dd„ Z$dd„ Z%dS )z test fancy indexing & misc é    )ÚdatetimeN)Úis_float_dtypeÚis_integer_dtype)Ú	DataFrameÚIndexÚNaTÚSeriesÚ
date_rangeÚoffsetsÚtimedelta_range)ÚFloat64Index)Ú_mklbl)Úgen_objc                   @   s@  e Zd Z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g¡dd„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zej dg d ¢ed!ƒg¡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ej d6d7„ ƒZ!d8d9„ Z"d:d;„ Z#d<d=„ Z$d>d?„ Z%ej d@e&j'e&j(g¡dAdB„ ƒZ)dCS )DÚ	TestFancyz"pure get/set item & fancy indexingc                 C   sð   t tt dd¡ƒd�}tjdtjd�|d< tjdtd�|d< d}tjt	|d	��2 t 
g d
¢¡|j|jdd… df< W d   ƒ n1 s†0    Y  t 
g d
¢¡|j|jdd… df< |j|jdd… df }tg d
¢g d¢dd�}t ||¡ d S )Né   é   ©Úindexé
   ©ÚdtypeÚfooÚbarú@Must have equal len keys and value when setting with an iterable©Úmatch)y        ¤p=
×£@y®Gáz®ó?š™™™™™¹?gš™™™™™@ç      ð?é   é   é   )é   é   r   r   ©r   Úname)r   r   ÚnpÚarangeÚzerosÚfloat64ÚcomplexÚpytestÚraisesÚ
ValueErrorÚarrayÚlocr   r   ÚtmÚassert_series_equal)ÚselfÚdfÚmsgÚresultÚexpected© r5   úc/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/pandas/tests/indexing/test_indexing.pyÚtest_setitem_ndarray_1d'   s    @"ÿz!TestFancy.test_setitem_ndarray_1dc                 C   sŠ   t tt dd¡ƒd�}tjdtjd�|d< tjdtd�|d< d}tjt	|d	��( t dd
¡d |dd…< W d   ƒ n1 s|0    Y  d S )Nr   r   r   r   r   r   r   r   r   r!   y              ð?r   r   )
r   r   r$   r%   r&   r'   r(   r)   r*   r+   )r0   r1   r2   r5   r5   r6   Útest_setitem_ndarray_1d_2=   s    z#TestFancy.test_setitem_ndarray_1d_2c                 C   s¬  t ||ƒ}||ƒ}tjjddd�}g }|tu rV|tjtjfv rV| d¡ |rV| d¡ |tu sh|tju r€| d¡ |r€| d¡ |tj	u sœ|tu r¦|tju r¦| d¡ |t
u rÂ|tju rÂ| d	¡ t|tjƒrâ|tju râ| d	¡ t|tjtjtjfƒ�r| d
¡ t|ƒdk�s t|tjƒ�r*| d¡ t|ƒtu �r\t|jtjƒ�s\| d¡ | d¡ d |¡}	tttf}
tj|
|	d�� ||  W d   ƒ n1 �sž0    Y  d S )Nr   ©r   r   r   ©Úsizez8Wrong number of dimensions. values.ndim > ndim \[3 > 1\]z$Passed array should be 1-dimensionalú;Buffer has wrong number of dimensions \(expected 1, got 3\)zindexer should be 1-dimensionalz&Cannot index with multidimensional keyú Index data must be 1-dimensionalúData must be 1-dimensionalr   z%positional indexers are out-of-boundszvalues must be a 1D arrayz only handle 1-dimensional arraysú|r   )r   r$   ÚrandomÚrandintr   r.   ÚsetitemÚilocÚappendr-   r   Ú
isinstanceÚpdZIntervalIndexZTimedeltaIndexZDatetimeIndexZPeriodIndexÚlenZ
MultiIndexÚtyper   Ú_valuesZndarrayÚjoinÚ
IndexErrorr+   ÚNotImplementedErrorr)   r*   )r0   r   Úframe_or_seriesÚindexer_sliZusing_array_managerÚobjÚidxrÚnd3Zmsgsr2   Zpotential_errorsr5   r5   r6   Útest_getitem_ndarray_3dI   sB    





ÿÿ








z!TestFancy.test_getitem_ndarray_3dc           	      C   sŠ   t ||ƒ}||ƒ}tjjddd�}|tju r>t}d|j› �}nt}d g d¢¡}t	j
||d�� d||< W d   ƒ n1 s|0    Y  d S )	Nr   r9   r:   zCannot set values with ndim > r?   )r<   zCannot set values with ndim > 1r=   r>   z,Array conditional must be same shape as selfr   r   )r   r$   r@   rA   r.   rC   r+   ÚndimrJ   r)   r*   )	r0   r   rM   rN   rO   rP   rQ   Úerrr2   r5   r5   r6   Útest_setitem_ndarray_3ds   s    

ÿ
z!TestFancy.test_setitem_ndarray_3dc                 C   sf   t  d¡}tddgddggƒ}|| }tddgdd�}t ||¡ tddgƒ}|| }|dksbJ ‚d S )Nr   r   r   r    r!   ©r#   )r$   r,   r   r   r.   r/   )r0   Úkeyr1   r3   r4   Úserr5   r5   r6   Útest_getitem_ndarray_0d‹   s    
z!TestFancy.test_getitem_ndarray_0dc                 C   sj   t dgd�}d|jd< d|jd< d|jtj< |jtjdf dksDJ ‚|j}tddtjgƒ}t ||¡ d S )Nr   ©Úcolumnsr   r   r    )r   r-   r$   Úinfr   r   r.   Úassert_index_equal©r0   r1   r3   r4   r5   r5   r6   Útest_inf_upcastš   s    

zTestFancy.test_inf_upcastc                 C   sn   t ddidddœgƒ}tj|d< |d jtjks4J ‚d|jd< t dtjdd	œddtjd	œgƒ}t ||¡ d S )
NÚar   r    r   ©r`   ÚbÚcr   )r   rc   ©r`   rb   rc   )r   r$   Únanr   r'   r-   r.   Úassert_frame_equal©r0   r1   r4   r5   r5   r6   Útest_setitem_dtype_upcast¬   s    

ÿz#TestFancy.test_setitem_dtype_upcastÚvalg…ëQ¸	@Úwxyzc                 C   sŽ   t tjddd� dd¡tdƒg d¢d�}| ¡ }||jd	< t d
|dgg d¢gtdƒg d¢d�}t ||¡ t	|d ƒszJ ‚t	|d ƒsŠJ ‚d S )Nr   Úint64r   r   r    Úab©r   r   Úbaz©r   r[   ©r`   r   r   ©r    r!   r   r   rn   )
r   r$   r%   ÚreshapeÚlistÚcopyr-   r.   rf   r   )r0   ri   r1   ÚleftÚrightr5   r5   r6   Útest_setitem_dtype_upcast2¹   s    ý
ýz$TestFancy.test_setitem_dtype_upcast2c                 C   sˆ   t tjddd� dd¡d tdƒg d¢d	�}d
|jd< t g d¢g d¢gtdƒg d¢d	�}t ||¡ t|d ƒstJ ‚t|d ƒs„J ‚d S )Nr   rk   r   r   r    ç      $@rl   rm   ro   rj   rp   )r   rj   gš™™™™™É?)g333333Ó?gš™™™™™Ù?g      à?r   rn   )	r   r$   r%   rr   rs   r-   r.   rf   r   )r0   ru   rv   r5   r5   r6   Útest_setitem_dtype_upcast3Ï   s    ý
ýz$TestFancy.test_setitem_dtype_upcast3c                 C   s@   t  dd¡}g d¢|_|ddg j}tg d¢ƒ}t  ||¡ d S )Nr   r    )r`   r`   rb   rb   r`   )rb   r`   r`   )r.   ZmakeCustomDataframer[   r   r]   r^   r5   r5   r6   Útest_dups_fancy_indexingá   s
    
z"TestFancy.test_dups_fancy_indexingc                 C   sr   t g d¢gtdƒd�}| ¡  t|ƒ t g d¢gƒ}tdƒ|_|jd d …df  |jd d …df  t ||¡ d S )N)r   r   r   ç       @ç      @r   r   ZaaaaaaarZ   r!   )r   rs   ÚheadÚstrr[   rC   r.   rf   ©r0   r1   r3   r5   r5   r6   Ú&test_dups_fancy_indexing_across_dtypesë   s    
z0TestFancy.test_dups_fancy_indexing_across_dtypesc                 C   s   t g d¢g d¢tdƒdœg d¢d�}ddg}t d	d
gddgddgdœ|d�}|j| }t ||¡ |jt|ƒ }t ||¡ g d¢}tjtdd�� |j|  W d   ƒ n1 s²0    Y  g d¢}tjtdd�� |j|  W d   ƒ n1 sò0    Y  d S )N©r   é   é	   r   )ç      @r   r   r‚   Úabcd)ÚtestZtest1Úother©ÚAr‰   ÚBÚCr   r‹   rŠ   r   rƒ   g      @r   Údrc   )r‹   rŠ   ÚEúnot in indexr   )ÚFÚGÚHr‹   rŠ   r�   )	r   rs   r-   r.   rf   r   r)   r*   ÚKeyError)r0   r1   Úrowsr4   r3   r5   r5   r6   Ú%test_dups_fancy_indexing_not_in_orderú   s$    þÿ
(z/TestFancy.test_dups_fancy_indexing_not_in_orderc                 C   s^   t tj dd¡tdƒd�}tjtt 	d¡d�� |j
dg  W d   ƒ n1 sP0    Y  d S )Nr   r    ZAABCDr   z;"None of [Index(['E'], dtype='object')] are in the [index]"r   r�   )r   r$   r@   Úrandnrs   r)   r*   r’   ÚreÚescaper-   )r0   Zdfnur5   r5   r6   Ú+test_dups_fancy_indexing_only_missing_label  s    ÿþz5TestFancy.test_dups_fancy_indexing_only_missing_labelÚvals)r   r   r   Úabcc                 C   sL   t d|iƒ}tjtdd�� |jg d¢  W d   ƒ n1 s>0    Y  d S )Nr‰   rŽ   r   )r   é   r   ©r   r)   r*   r’   r-   )r0   r™   r1   r5   r5   r6   Ú&test_dups_fancy_indexing_missing_label  s    z0TestFancy.test_dups_fancy_indexing_missing_labelc                 C   sX   t dg d¢ig d¢d�}tjtdd�� |jg d¢  W d   ƒ n1 sJ0    Y  d S )Nr†   r�   rˆ   r   rŽ   r   )r‰   r‰   r�   rœ   ©r0   r1   r5   r5   r6   Ú#test_dups_fancy_indexing_non_unique'  s    z-TestFancy.test_dups_fancy_indexing_non_uniquec                 C   sb   t tj dd¡g d¢d�}tjtdd��& |jd d …g d¢f  W d   ƒ n1 sT0    Y  d S )Nr   )r‰   rŠ   rŠ   rŠ   r‰   rZ   rŽ   r   )r‰   rŠ   r‹   )r   r$   r@   r•   r)   r*   r’   r-   rž   r5   r5   r6   Útest_dups_fancy_indexing2.  s    z#TestFancy.test_dups_fancy_indexing2c                 C   sª   t tj dd¡g d¢ddgd�}|jdd… }|jd	dg }t ||¡ |}|jd d …ddgf }t ||¡ |jdd…d d …f }|jd	dgddgf }t ||¡ d S )
Nrƒ   r   )	r   r   r   r   r   r   r    r    r    r`   rb   ro   r   r   r   )r   r$   r@   r•   rC   r-   r.   rf   )r0   r1   r4   r3   r5   r5   r6   Útest_dups_fancy_indexing36  s    ÿz#TestFancy.test_dups_fancy_indexing3c                 C   sF   t tdƒg d¢d�}t tdƒddgd�}||ƒdg }t ||¡ d S )Nr    ©r   r   r    r   r   r   )r   Úranger.   r/   )r0   Ú
indexer_slrX   r4   r3   r5   r5   r6   Útest_duplicate_int_indexingI  s    z%TestFancy.test_duplicate_int_indexingc                 C   s|   t ddddœddddœdœƒ}|d	  d
d„ ¡|d< |d dk}|j|d	f  dd„ ¡}||j|df< |jd dksxJ ‚d S )NÚaaaÚbbbÚccc©r   r   r    éo   éÞ   iM  ra   r`   c                 S   s   | dkrdS | S )Nr¦   Ú_r5   ©Úxr5   r5   r6   Ú<lambda>X  ó    z9TestFancy.test_indexing_mixed_frame_bug.<locals>.<lambda>r†   r¬   c                 S   s   | dkrdS | S )Nr¦   ú-----r5   r­   r5   r5   r6   r¯   \  r°   )r   r   r±   )r   Úapplyr-   rC   )r0   r1   ÚidxÚtempr5   r5   r6   Útest_indexing_mixed_frame_bugP  s    ÿz'TestFancy.test_indexing_mixed_frame_bugc                 C   s~   t tj d¡dgg d¢ d�}tjtt d¡d�� |g d¢  W d   ƒ n1 sT0    Y  |d jd	 |jd	 kszJ ‚d S )
N)r   r   r`   )é   é   é   é   rZ   z'[26, -8] not in index'r   )r¸   é   iøÿÿÿr·   r   )	r   r$   r@   r)   r*   r’   r–   r—   Úshaperž   r5   r5   r6   Ú test_multitype_list_index_access`  s    *z*TestFancy.test_multitype_list_index_accessc                 C   sÎ   t ddddddddddd	d
dddœdddtjtjtjtjdtjtjtjtjtjtjdœdddddddddddddddœdddd d d d d d d d d d d!dœd"œƒ ¡ }| g d#¢¡ ¡ j|jd$�}t ||¡ d S )%NZnonQCÚ10Z11Z12Z13Z24Z35Z46Z47Ú48Z59)é   é   é   r¶   r·   r¸   r¹   é   é   rº   é   é   é   é   ç        r   g¨o™ÓeÑ@gm7Á7M @g,¹ŠÅo@g2¥ž�ë?gàšà@íì?gufÌn÷ê?g·µ…ç%é?gæT×Faç?g§ãÖI"ê?g+’ew7ê?gy7»ZÓé?gÌ9Ÿ•ê?g¸�Gp#¥é?g¼Cåºê?iÖ  i×  iØ  iÁ  iÂ  )ÚPRuidÚQCÚdataÚyear)rÌ   rÉ   rÊ   rZ   )	r   r$   re   Zreset_indexZ	set_indexZreindexr[   r.   rf   r   r5   r5   r6   Útest_set_index_nanh  sˆ    òòòòÏÿFþÿzTestFancy.test_set_index_nanc              
   C   s.  t g d¢g d¢ttdƒƒttddƒƒdœƒ}tj|jd< | ¡ }|j ¡  }ddg}|d	 }tj|jd
< t dtjddddgg d¢t	g d¢ƒdddtjddgdœƒ}|j
||f |j
||f< t ||¡ t dtjddddgg d¢g d¢dddtjddgdœƒ}| ¡ }|j
||f j|j
||f< t ||¡ d S )N)r`   rb   r`   rb   r`   rb   )r   r   r   r   r   r   r   é   )ÚFCZPFÚcol1Úcol2©r   r   rÐ   rÑ   r   )r    r    r`   rb   )r   r   r!   r   r›   r   r‚   é   r¶   r¸   )rÈ   r   r„   ç      @ç       @rx   )r   rs   r£   r$   re   rC   rt   rÏ   Zisnar   r-   r.   rf   Úvalues)r0   r1   Údf2ÚmaskÚcolsZdftr4   r5   r5   r6   Útest_multi_assign·  s@    
üÿ
üÿ
üÿzTestFancy.test_multi_assignc                 C   s€   t g d¢g d¢g d¢g d¢dœƒ}| ¡ }|d dk}dD ]}|d |j||f< q:|d |j|d dkdd	gf< t ||¡ d S )
N)r   r   r   r   r   )r   r   r   r   r   )r    r!   r   r   r‚   )r‰   rŠ   r‹   ÚDr‰   r   ©r‰   rŠ   rÛ   rŠ   )r   rt   r-   r.   rf   )r0   r1   r4   rØ   Úcolr5   r5   r6   Ú"test_multi_assign_broadcasting_rhsç  s    üÿ	z,TestFancy.test_multi_assign_broadcasting_rhsc                 C   s^   t ddgdgd�}g d¢|jd< ddg|jd< t ddgdgd�}ddg|jd< t ||¡ d S )Nr   r   ro   r©   rÒ   r   )r   rC   r.   rf   r   r5   r5   r6   Útest_setitem_listü  s    zTestFancy.test_setitem_listc                 C   sš   t dgtt d¡gtd�ƒ}|jjs(J ‚tjt	dd�� |d  W d   ƒ n1 sT0    Y  tjt	dd�� |j
d  W d   ƒ n1 sŒ0    Y  d S )Nr   z
2011-01-01r   ú'2011'r   Ú2011©rá   r   )r   r   rF   Ú	TimestampÚobjectr   Ú_is_all_datesr)   r*   r’   r-   rž   r5   r5   r6   Útest_string_slice
  s    &zTestFancy.test_string_slicec                 C   s„   t ƒ }|jjrJ ‚tjtdd�� |d  W d   ƒ n1 s>0    Y  tjtdd�� |jd  W d   ƒ n1 sv0    Y  d S )Nrà   r   rá   z^0$râ   )r   r   rå   r)   r*   r’   r-   rž   r5   r5   r6   Útest_string_slice_empty  s    &z!TestFancy.test_string_slice_emptyc                 C   s|  t g d¢gtdƒd�}| ¡ }|jd d …dd…f  tj¡|jd d …dd…f< t g d¢gtdƒd�}t ||¡ | ¡ }|jd d …dd…f j	ddd�|jd d …dd…f< t g d¢gtdƒd�}t ||¡ | ¡ }|j
d d …d	f  tj¡|j
d d …d	f< t g d
¢gtdƒd�}t ||¡ | ¡ }|j
d d …ddgf  tj¡|j
d d …ddgf< t g d¢gtdƒd�}t ||¡ d S )N)Ú1Ú2Ú3ú.4r   rÔ   r   ZABCDEFGrZ   r   r   )r   r   rê   rë   r   rÔ   r   T)r   Únumericr‰   )r   ré   rê   rë   r   rÔ   r   rŠ   r‹   )rè   r   r    rë   r   rÔ   r   )r   rs   rt   rC   Úastyper$   rk   r.   rf   Ú_convertr-   )r0   Zdf_origr1   r4   r5   r5   r6   Útest_astype_assignment!  s6    ÿ0ÿ2ÿ(ÿ0ÿz TestFancy.test_astype_assignmentc                 C   s˜   t dg d¢iƒ}|d  tj¡|jd d …df< t dg d¢iƒ}t ||¡ t dg d¢iƒ}|d  tj¡|jd d …df< t dg d¢iƒ}t ||¡ d S )Nr‰   )r   r{   r|   r„   r   )r   r   r    r!   )r   rí   r$   rk   rC   r.   rf   r-   rg   r5   r5   r6   Ú(test_astype_assignment_full_replacementsE  s    z2TestFancy.test_astype_assignment_full_replacementsÚindexerc                 C   s‚  t tdƒƒt tdƒtddƒd�fD ]®}|j ¡ s4J ‚| ¡ }d||ƒd< |j ¡ sVJ ‚||ƒd dksjJ ‚| ¡ }d||ƒd< |j}d|vr t|j ¡ dg ƒ}t 	|j|¡ | ¡ }d||ƒd< |j 
¡ s"J ‚q"t tdƒt d	¡d�fD ]’}|j ¡ süJ ‚| ¡ }d||ƒd< |j ¡ �s J ‚||ƒd dk�s6J ‚| ¡ }d||ƒd< t 	|j|j¡ | ¡ }d||ƒd< |j 
¡ sêJ ‚qêd S )
Nr   r   r   r   r   gš™™™™™¹?rÈ   Ú0g      @)r   r£   r   Ú
is_integerrt   Zis_floatingr   Útolistr.   r]   Z	is_objectr$   r%   )r0   rñ   ÚsÚs2Úexpr5   r5   r6   Útest_index_type_coercionQ  s6    
&z"TestFancy.test_index_type_coercionN)*Ú__name__Ú
__module__Ú__qualname__Ú__doc__r7   r8   rR   rU   rY   r_   rh   r)   ÚmarkÚparametrizerw   ry   rz   r€   r”   r˜   rs   r�   rŸ   r    r¡   r¥   rµ   r¼   rÍ   rÚ   rÞ   ÚtdZ&skip_array_manager_not_yet_implementedrß   ræ   rç   rï   rð   r.   Úgetitemr-   rø   r5   r5   r5   r6   r   $   sD   *


O0
$r   c                   @   s~   e Z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g d¢¡dd„ ƒZdd„ Zdd„ Zdd„ ZdS )ÚTestMiscc                 C   sT   t tj d¡tj d¡dœƒ}d|d< t |d |d dgd dœƒ}t ||¡ d S )Nr   )rÈ   r   r`   rÈ   r   )rÈ   r   r`   )r   r$   r@   Zrandr.   rf   rg   r5   r5   r6   Útest_float_index_to_mixed‚  s    z"TestMisc.test_float_index_to_mixedc                 C   s^   t g d¢g d¢dœg d¢d�}d|j|jd d… < t g d¢g d	¢dœ|jd�}t ||¡ d S )
Nr©   rq   ra   ©r   r{   r|   r   r   r   r¢   )r   r   r   )r   r-   r   r.   rf   rg   r5   r5   r6   Ú&test_float_index_non_scalar_assignment‰  s    z/TestMisc.test_float_index_non_scalar_assignmentc                 C   sJ   t g d¢g d¢dœg d¢d�}| ¡ }|j|j |j|j< t ||¡ d S )Nr©   rq   ra   r  r   )r   rt   r-   r   r.   rf   ©r0   r1   r×   r5   r5   r6   Ú test_loc_setitem_fullindex_views�  s    z)TestMisc.test_loc_setitem_fullindex_viewsc           	      C   s(  dd„ }t  d¡ dd¡}g d¢}t||tdƒdd	�}d
|jddd…ddd…f  }| ¡ }g d¢|d< g d¢|d< |jdd…dd…f  d
9  < | ¡ }|jdd…dd…f  d
9  < |||||ƒ ||||fD ]*}|d  d¡|d< |d  dj	¡|d< qÒg d¢|d< g d¢|d< |||||ƒ d S )Nc                 S   s¦   t dƒg d¢tddƒ  }}}ddgddgtddƒ  }}}	|  ¡ }
||
j||f< t |
|¡ |  ¡ }
||
j||f< t |
|¡ |  ¡ }
||
j||	f< t |
|¡ d S )	NZbcdr©   r   r!   ÚjoeÚjolier   r    )rs   Úslicert   r-   r.   rf   rC   )r1   ÚrhsÚ	right_locÚ
right_ilocZlbl_oneZidx_oneZ	slice_oneZlbl_twoZidx_twoZ	slice_tworu   r5   r5   r6   Ú	run_tests˜  s    z.TestMisc.test_rhs_alignment.<locals>.run_testsr¶   r   r!   )Zjimr  r  ZjolineZabcderk   )r[   r   r   éþÿÿÿr    r   éÿÿÿÿr   )r   é   r   r   r¿   r  )r   é   rƒ   r   rÀ   r  r   r'   z@{})r   z@-28z@-20z@-12g      1@)z@2g      :Àg      2Àg      $Àz@18)
r$   r%   rr   r   rs   rC   rt   rí   ÚmapÚformat)	r0   r  ÚxsrÙ   r1   r
  r  r  Úframer5   r5   r6   Útest_rhs_alignment•  s$    zTestMisc.test_rhs_alignmentc              	   C   sì   t j}tddƒt d¡d t ddd¡fD ]¼}t|ƒ}tt d¡|d�}t 	|||d d d… |dd d… ¡ t 	||d |d d… |d dd… ¡ t 	|||d	 |d d… |d	dd… ¡ t 	|||d |d	 d… |d d
… ¡ q*d S )Nr‰   r¶   éd   é–   r   rƒ   r  r›   r  r   )
rF   Z
IndexSlicer   r$   r%   Zlinspacer   r   r.   Z!assert_indexing_slices_equivalent)r0   ZSLCr³   rX   r5   r5   r6   Ú)test_str_label_slicing_with_negative_stepÃ  s    (&&"ÿ ÿz2TestMisc.test_str_label_slicing_with_negative_stepc                 C   sZ   |t  t|ƒ¡|d�}tjtdd��" ||ƒd d d…  W d   ƒ n1 sL0    Y  d S )Nr   zslice step cannot be zeror   r   )r$   r%   rG   r)   r*   r+   )r0   r   r¤   rM   rO   r5   r5   r6   Ú test_slice_with_zero_step_raisesÒ  s    z)TestMisc.test_slice_with_zero_step_raisesc                 C   s®   t g d¢dd�}tg d¢g d¢dœ|d�}| ¡ }dd	dœ}||jd
< dd	g|jd
< t ||¡ tg d¢g d¢dœ|d�}||jd
< tg d¢g d¢dœ|d�}t ||¡ d S )N)éûÿÿÿr   r   ÚzrV   )r   r   r   )r   r   r›   )r®   Úyr   rƒ   éc   r   )r{   r{   rÕ   )r   r   rƒ   )r{   r{   g     ÀX@)r   r   rt   r-   r.   rf   )r0   r   r1   r4   r
  r5   r5   r6   Ú8test_loc_setitem_indexing_assignment_dict_already_exists×  s    


zATestMisc.test_loc_setitem_indexing_assignment_dict_already_existsc                 C   sr   t g d¢g d¢dœƒ}|jg d d …f }|jd d …df jtjksFJ ‚t |jd d …df |jd d …df ¡ d S )Nr©   )rb   Úb2Zb3ra   r`   r   )r   rC   r-   r   r$   rk   r.   r/   r  r5   r5   r6   Ú*test_iloc_getitem_indexing_dtypes_on_emptyæ  s    z3TestMisc.test_iloc_getitem_indexing_dtypes_on_emptyr;   )r   i?B i@B c                 C   st   t t|ƒtjd�}d|jtdƒ< t |jtdƒ t ddgd�¡ d|jtdƒ< t |jtdƒ t d	ddgd�¡ d S )
N)r   r   é*   r   g      E@r   r   é+   r   g     €E@)r   r£   r$   r'   r-   r.   r/   )r0   r;   rõ   r5   r5   r6   Ú!test_loc_range_in_series_indexingî  s
     z*TestMisc.test_loc_range_in_series_indexingc                 C   s�   t t d¡ dd¡tdƒtdƒd�}t dtdƒtdƒd�}|| ¡  }t t d	d
tjgddtjgtjgd g¡tdƒtdƒd�}t 	||¡ d S )Ng      "@r    rš   ÚABCro   r   rl   ZABrÈ   r   r|   r„   )
r   r$   r%   rr   rs   Znotnullr,   re   r.   rf   )r0   r1   Zindex_dfr3   r4   r5   r5   r6   Ú#test_partial_boolean_frame_indexingù  s    ÿ&ýz,TestMisc.test_partial_boolean_frame_indexingc                 C   sH   t ddgddgdœƒ}dD ]}t||ƒ qt |¡}~|ƒ d u sDJ ‚d S )Nr   r   r   r    ra   )r-   rC   ÚatZiat)r   ÚgetattrÚweakrefÚref)r0   r1   r#   Úwrr5   r5   r6   Útest_no_reference_cycle  s    
z TestMisc.test_no_reference_cyclec                 C   sN   t ddd|gƒ}|jdd�}|j| }|| }d}||ks>J ‚||ksJJ ‚d S )Nr   z{1,2}F)Zdropna)r   Zvalue_countsr-   )r0   Znulls_fixturer1   ÚvcZresult1Zresult2r4   r5   r5   r6   Útest_label_indexing_on_nan  s    
z#TestMisc.test_label_indexing_on_nanN)rù   rú   rû   r  r  r  r  r  r  r  r!  r)   rý   rþ   r$  r&  r,  r.  r5   r5   r5   r6   r  �  s   .

r  c                	   @   sÆ   e Zd Zg d¢ejddgfg d¢ejddgfedddƒedddƒedddƒgeedddƒedddƒgfg d	¢g d
¢fgZej	 
de¡dd„ ƒZej	 
de¡dd„ ƒZej	 
de¡dd„ ƒZdd„ ZdS )ÚTestDataframeNoneCoercionr©   r   r    r  r{   r|   éÐ  r   rm   )Nr   rn   r4   c                 C   s@   |\}}t d|iƒ}d |jddgf< t d|iƒ}t ||¡ d S ©Nr   r   ©r   r-   r.   rf   ©r0   r4   Z
start_dataZexpected_resultÚstart_dataframeZexpected_dataframer5   r5   r6   Útest_coercion_with_loc)  s
    z0TestDataframeNoneCoercion.test_coercion_with_locc                 C   sH   |\}}t d|iƒ}d ||d |d d k< t d|iƒ}t ||¡ d S r1  )r   r.   rf   r3  r5   r5   r6   Ú(test_coercion_with_setitem_and_dataframe3  s
    zBTestDataframeNoneCoercion.test_coercion_with_setitem_and_dataframec                 C   sJ   |\}}t d|iƒ}d |j|d |d d k< t d|iƒ}t ||¡ d S r1  r2  r3  r5   r5   r6   Ú$test_none_coercion_loc_and_dataframe=  s
    z>TestDataframeNoneCoercion.test_none_coercion_loc_and_dataframec              	   C   s’   t g d¢g d¢tdddƒtdddƒtdddƒgg d¢dœƒ}d |jd	< t tjddgtjd
dgttdddƒtdddƒgg d¢dœƒ}t ||¡ d S )Nr©   r  r0  r   r   r    rd   )r`   rb   rc   rŒ   r   r{   r|   )Nrb   rc   )r   r   rC   r$   re   r   r.   rf   )r0   r4  r÷   r5   r5   r6   Útest_none_coercion_mixed_dtypesG  s      üÿ


üÿz9TestDataframeNoneCoercion.test_none_coercion_mixed_dtypesN)rù   rú   rû   r$   re   r   r   ZEXPECTED_SINGLE_ROW_RESULTSr)   rý   rþ   r5  r6  r7  r8  r5   r5   r5   r6   r/    s    þö
	
	
	r/  c                
   @   sÐ   e Zd Zdd„ Zej deej	e
j	e
jeg¡ej dddgeddƒe 	g d¢¡g¡d	d
„ ƒƒZej dde d¡g¡dd„ ƒZej deej	e
j	e
jeg¡ej dddgeddƒe 	g d¢¡g¡dd„ ƒƒZdS )ÚTestDatetimelikeCoercionc                 C   sx   |}t dd|d�}t|ƒ}|j}d}| |¡ |||ƒd< |d u rf|j|jksRJ ‚|jj|ju stJ ‚n|j|u stJ ‚d S )Nú
2016-01-01r    ©ÚperiodsÚtzz
2018-01-01r   )r	   r   rI   Ú_validate_setitem_valuer   Ú_data)r0   Útz_naive_fixturerN   r=  ÚdtirX   rÖ   Znewvalr5   r5   r6   Útest_setitem_dt64_string_scalar^  s    
z8TestDatetimelikeCoercion.test_setitem_dt64_string_scalarÚboxrW   r   r   r   )TTFc           
      C   sž   |}t |tƒr"|tju r"tddƒ}tdd|d�}t|ƒ}|j}|ddgƒ}	| |	¡ |	||ƒ|< |d u rŒ|j|jksxJ ‚|jj	|j	u sšJ ‚n|j|u sšJ ‚d S )Nr   r   r:  r    r;  z
2019-01-01z
2010-01-02)
rE   r	  r.   r-   r	   r   rI   r>  r   r?  )
r0   r@  rN   rW   rC  r=  rA  rX   rÖ   Únewvalsr5   r5   r6   Útest_setitem_dt64_string_valuess  s    

z8TestDatetimelikeCoercion.test_setitem_dt64_string_valuesÚscalarz3 Daysr!   c                 C   sF   t ddd�}t|ƒ}|j}| |¡ |||ƒd< |jj|ju sBJ ‚d S )Nú1 Dayr    ©r<  r   )r   r   rI   r>  r?  )r0   rN   rF  ÚtdirX   rÖ   r5   r5   r6   Útest_setitem_td64_scalar�  s    
z1TestDatetimelikeCoercion.test_setitem_td64_scalarc                 C   sp   t |tƒr|tju rtddƒ}tddd�}t|ƒ}|j}|ddgƒ}| |¡ |||ƒ|< |jj|ju slJ ‚d S )Nr   r   rG  r    rH  z10 Daysz44 hours)	rE   r	  r.   r-   r   r   rI   r>  r?  )r0   rN   rW   rC  rI  rX   rÖ   rD  r5   r5   r6   Útest_setitem_td64_string_values›  s    

z8TestDatetimelikeCoercion.test_setitem_td64_string_valuesN)rù   rú   rû   rB  r)   rý   rþ   rs   r$   r,   rF   ZCategoricalr   r	  rE  r
   ZHourrJ  rK  r5   r5   r5   r6   r9  ]  s   ÿ
ÿr9  c                  C   s‚   t tjddgdd�tjddgdd�dœdd	gd
�} ttjddgdd�ddgdd�}| jd }t ||¡ | jd }t ||¡ d S )Nr   r   ÚInt64r   r    r!   rÜ   r`   rb   r   r‰   rŠ   r"   r   )r   rF   r,   r   r-   r.   r/   rC   )r1   r4   r3   r5   r5   r6   Ú"test_extension_array_cross_section°  s    þû 

rM  c                  C   sì   t tjddgdd�tjddgdd�dœddgd	�} | jd }tddgdd
dgdd�}t ||¡ | jd }t ||¡ t tjddgdd�t ddg¡dœddgd	�} | jd }tddgt	d
dgdd�}t ||¡ | jd }t ||¡ d S )Nr   r   rL  r   rk   rÜ   r`   rb   r   r‰   rŠ   )r   r   r#   r   )
r   rF   r,   r$   r-   r   r.   r/   rC   rä   )r1   r3   r4   r5   r5   r6   Ú+test_extension_array_cross_section_convertsÁ  s(    þû

 þ

rN  )&rü   r   r–   r)  Únumpyr$   r)   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsrÿ   Zpandas.core.dtypes.commonr   r   ZpandasrF   r   r   r   r   r	   r
   r   Zpandas._testingZ_testingr.   Zpandas.core.apir   Zpandas.tests.indexing.commonr   Z!pandas.tests.indexing.test_floatsr   r   r  r/  r9  rM  rN  r5   r5   r5   r6   Ú<module>   s0   $	    a BS