a
    é´«j»œ  ã                   @   s  d Z ddl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	Z	 ddl
mZ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 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#ej$ %dedgƒdfeg d¢e&dƒd�dfg¡dd„ ƒZ'dd„ Z(ej$ %d ddd!ge dd!g¡e d"dd!g¡g¡d#d$„ ƒZ)ej$ %d ddd!ge dd!g¡e d"dd!g¡g¡d%d&„ ƒZ*ej$ %d d'd(ge d(g¡e d)d(g¡g¡d*d+„ ƒZ+ej$ %d d'd(ge d(g¡e d)d(g¡g¡d,d-„ ƒZ,d.d/„ Z-dS )0z test fancy indexing & misc é    N)Údatetime)ÚIndexingError)Úis_float_dtypeÚis_integer_dtypeÚis_object_dtype)Ú	DataFrameÚIndexÚNaTÚSeriesÚ
date_rangeÚoffsetsÚtimedelta_range)Ú_mklbl)Úgen_objc                   @   sR  e Zd ZdZdd„ Zdd„ Zej d¡dd„ ƒZ	ej d	¡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d0d1„ Zd2d3„ Zd4d5„ Zd6d7„ Zd8d9„ Z d:d;„ Z!d<d=„ Z"d>d?„ Z#d@dA„ Z$ej dBe%j&e%j'g¡dCdD„ ƒZ(dES )FÚ	TestFancyz"pure get/set item & fancy indexingc                 C   sö   t tt dd¡tj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é   é   ©Údtype©Úindexé
   Ú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Úint64ÚzerosÚfloat64ÚcomplexÚpytestÚraisesÚ
ValueErrorÚarrayÚlocr   r
   ÚtmÚassert_series_equal)ÚselfÚdfÚmsgÚresultÚexpected© r7   úb/var/www/html/laksyashrimp/venv/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-   )r2   r3   r4   r7   r7   r8   Útest_setitem_ndarray_1d_2>   s    z#TestFancy.test_setitem_ndarray_1d_2zPignore:Series.__getitem__ treating keys as positions is deprecated:FutureWarningc                 C   s²  t ||ƒ}||ƒ}tj d¡jddd�}g }|tu r\|tjtjfv r\| 	d¡ |r\| 	d¡ |tu sn|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ƒ�r0| 	d¡ t|ƒtu �rbt|jtjƒ�sb| 	d¡ | 	d¡ d |¡}	tttf}
tj|
|	d�� ||  W d   ƒ n1 �s¤0    Y  d S )Nr   r   ©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Údefault_rngÚintegersr
   r0   ÚsetitemÚilocÚappendr/   r   Ú
isinstanceÚpdZIntervalIndexZTimedeltaIndexZDatetimeIndexZPeriodIndexÚlenZ
MultiIndexÚtyper   Ú_valuesÚndarrayÚjoinÚ
IndexErrorr-   ÚNotImplementedErrorr+   r,   )r2   r   Úframe_or_seriesÚindexer_sliZusing_array_managerÚobjÚidxrÚnd3Zmsgsr4   Zpotential_errorsr7   r7   r8   Útest_getitem_ndarray_3dJ   sB    





ÿÿ








z!TestFancy.test_getitem_ndarray_3dzPignore:Series.__setitem__ treating keys as positions is deprecated:FutureWarningc           	      C   s�   t ||ƒ}||ƒ}tj d¡jddd�}|tju rDt}d|j› �}nt}d 	g d¢¡}t
j||d�� d	||< W d   ƒ n1 s‚0    Y  d S )
Nr   r   r;   r<   zCannot set values with ndim > rA   )r>   zCannot set values with ndim > 1r?   r@   z,Array conditional must be same shape as selfr   r   )r   r%   rB   rC   rD   r0   rF   r-   ÚndimrN   r+   r,   )	r2   r   rQ   rR   rS   rT   rU   Úerrr4   r7   r7   r8   Útest_setitem_ndarray_3dx   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
   r0   r1   )r2   Úkeyr3   r5   r6   Úserr7   r7   r8   Útest_getitem_ndarray_0d”   s    
z!TestFancy.test_getitem_ndarray_0dc                 C   sp   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jd�}t ||¡ d S )Nr   ©Úcolumnsr   r   r!   r   )	r   r/   r%   Úinfr   r   r)   r0   Úassert_index_equal©r2   r3   r5   r6   r7   r7   r8   Útest_inf_upcast£   s    

zTestFancy.test_inf_upcastc                 C   s¤   t ddidddœgƒ}tj|d< |d jtjks4J ‚tjtdd�� d	|jd
< W d   ƒ n1 sb0    Y  t ddgtjdgt	d	tjgt
d�dœƒ}t ||¡ d S )NÚar   r!   r   ©rd   ÚbÚcúitem of incompatible dtyper   r   )r   rg   r   ©rd   rf   rg   )r   r%   Únanr   r)   r0   Úassert_produces_warningÚFutureWarningr/   r
   ÚobjectÚassert_frame_equal©r2   r3   r6   r7   r7   r8   Ú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�}| ¡ }tjtd	d
�� ||j	d< W d   ƒ n1 s^0    Y  t d|dgg d¢gtdƒg d¢d�}t 
||¡ t|d ƒs¨J ‚t|d ƒs¸J ‚d S )Nr    r'   r   r   r!   Úab©r   r   Úbaz©r   r_   rh   r   ©rd   r   r   ©r!   r"   r   r   ru   )r   r%   r&   ÚreshapeÚlistÚcopyr0   rk   rl   r/   rn   r   )r2   rq   r3   ÚleftÚrightr7   r7   r8   Ú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	�}tjtd
d�� d|jd< W d   ƒ n1 sZ0    Y  t g d¢g d¢gtdƒg d¢d	�}t 	||¡ t
|d ƒs¢J ‚t
|d ƒs²J ‚d S )Nr    r'   r   r   r!   g      $@rs   rt   rv   rh   r   rr   rw   )r   rr   gš™™™™™É?)g333333Ó?gš™™™™™Ù?g      à?r   ru   )r   r%   r&   ry   rz   r0   rk   rl   r/   rn   r   )r2   r|   r}   r7   r7   r8   Útest_setitem_dtype_upcast3Ü   s"    ýÿ(ýz$TestFancy.test_setitem_dtype_upcast3c                 C   s@   t t d¡g d¢d�}|ddg j}tg d¢ƒ}t ||¡ d S )Nr!   )rd   rd   rf   r^   rf   rd   )rf   rd   rd   )r   r%   Úeyer_   r   r0   ra   rb   r7   r7   r8   Útest_dups_fancy_indexingñ   s    z"TestFancy.test_dups_fancy_indexingc                 C   sb   t g d¢gtdƒd�}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aaaaaaar^   r"   )r   rz   r_   rF   r0   rn   ©r2   r3   r5   r7   r7   r8   Ú&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    Údrg   )r�   r�   ÚEúnot in indexr   )ÚFÚGÚHr�   r�   r’   )	r   rz   r/   r0   rn   r   r+   r,   ÚKeyError)r2   r3   Úrowsr6   r5   r7   r7   r8   Ú%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�}|rdtjtt	 
d¡d�� |jdg  W d   ƒ q¤1 sX0    Y  n@tjtt	 
d¡d�� |jdg  W d   ƒ n1 sš0    Y  d S )	Nr   )r   r!   ZAABCDr   z8"None of [Index(['E'], dtype='str')] are in the [index]"r   r’   z;"None of [Index(['E'], dtype='object')] are in the [index]")r   r%   rB   rC   Ústandard_normalrz   r+   r,   r—   ÚreÚescaper/   )r2   Úusing_infer_stringZdfnur7   r7   r8   Ú+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/   )r2   rŸ   r3   r7   r7   r8   Ú&test_dups_fancy_indexing_missing_label4  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¢   ©r2   r3   r7   r7   r8   Ú#test_dups_fancy_indexing_non_unique;  s    z-TestFancy.test_dups_fancy_indexing_non_uniquec                 C   sf   t tj d¡ d¡g d¢d�}tjtdd��& |jd d …g d¢f  W d   ƒ n1 sX0    Y  d S )Nr   )r   r   )rŽ   r�   r�   r�   rŽ   r^   r“   r   )rŽ   r�   r�   )	r   r%   rB   rC   rš   r+   r,   r—   r/   r¤   r7   r7   r8   Útest_dups_fancy_indexing2A  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!   rd   rf   rv   r   r    r   )	r   r%   rB   rC   rš   rF   r/   r0   rn   )r2   r3   r6   r5   r7   r7   r8   Útest_dups_fancy_indexing3L  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
   Úranger0   r1   )r2   Ú
indexer_slr\   r6   r5   r7   r7   r8   Útest_duplicate_int_indexing`  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  re   rd   c                 S   s   | dkrdS | S )Nr¬   Ú_r7   ©Úxr7   r7   r8   Ú<lambda>n  ó    z9TestFancy.test_indexing_mixed_frame_bug.<locals>.<lambda>r‹   r²   c                 S   s   | dkrdS | S )Nr¬   ú-----r7   r³   r7   r7   r8   rµ   r  r¶   )r   r   r·   )r   Úapplyr/   rF   )r2   r3   ÚidxÚtempr7   r7   r8   Útest_indexing_mixed_frame_bugg  s    ÿz'TestFancy.test_indexing_mixed_frame_bugc                 C   s„   t tj d¡ d¡dgg d¢ d�}tjtt d¡d�� |g d¢  W d   ƒ n1 sZ0    Y  |d	 j	d
 |j	d
 ks€J ‚d S )Nr   )r   r   rd   )é   é   é   é   r^   z'[26, -8] not in index'r   )r¾   é   iøÿÿÿr½   r   )
r   r%   rB   rC   r+   r,   r—   r›   rœ   Úshaper¤   r7   r7   r8   Ú test_multitype_list_index_accessv  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Ð   r^   )	r   r%   rj   Zreset_indexZ	set_indexZreindexr_   r0   rn   r„   r7   r7   r8   Útest_set_index_nan€  sˆ    òòòòÏÿFþÿzTestFancy.test_set_index_nanc              
   C   s8  t g d¢g d¢ttdƒƒttddƒƒdœƒ ddi¡}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)rd   rf   rd   rf   rd   rf   )r   r   r   r   r   r   r    é   )ÚFCZPFÚcol1Úcol2r×   r)   ©r   r   rÖ   r   )r!   r!   rd   rf   )r   r   r"   r    r¡   r   r‡   é   r¼   r¾   )r   rz   r©   Úastyper%   rj   rF   r{   rÕ   Zisnar
   r/   r0   rn   Úvalues)r2   r3   Údf2ÚmaskÚcolsZdftr6   r7   r7   r8   Útest_multi_assignÎ  sD    
üÿù
üÿ
üÿ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   r{   r/   r0   rn   )r2   r3   r6   rÝ   Úcolr7   r7   r8   Ú"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   rv   r¯   rØ   r   )r   rF   r0   rn   r„   r7   r7   r8   Ú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   rI   Ú	Timestamprm   r   Ú_is_all_datesr+   r,   r—   r/   r¤   r7   r7   r8   Ú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¤   r7   r7   r8   Útest_string_slice_empty)  s    &z!TestFancy.test_string_slice_emptyc                 C   s¬  t g d¢gtdƒd�}|tdƒ  t¡|tdƒ< | ¡ }|jd d …dd…f  tj¡|jd d …dd…f< t g d¢gtdƒd�}|tdƒ  t¡|tdƒ< |d	  t¡|d	< |d
  t¡|d
< t 	||¡ | ¡ }|j
d d …d	f  tj¡|j
d d …d	f< t g d¢gtdƒd�}|tdƒ  t¡|t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ƒ  t¡|tdƒ< t 	||¡ d S )N)Ú1Ú2Ú3ú.4r   ç      @r   ZABCDEFGr^   ZABCDGr   r   )r   r   rî   rï   r   rð   r   ZCDGrŽ   r�   )r   rí   rî   rï   r   rð   r   r�   )rì   r   r!   rï   r   rð   r   )r   rz   rÚ   rm   r{   rF   r%   r'   r0   rn   r/   )r2   r�   Zdf_origr3   r6   r7   r7   r8   Útest_astype_assignment4  s6    ÿ0ÿ(ÿ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 S )NrŽ   )r   r‚   rƒ   r‰   r   )r   rÚ   r%   r'   rF   r0   rn   r/   ro   r7   r7   r8   Ú(test_astype_assignment_full_replacementsZ  s    z2TestFancy.test_astype_assignment_full_replacementsÚindexerc                 C   s‚  t tdƒƒt tdƒtddƒd�fD ]®}t|jƒs4J ‚| ¡ }d||ƒd< t|jƒsVJ ‚||ƒd dksjJ ‚| ¡ }d||ƒd< |j}d|vr t|j ¡ dg ƒ}t 	|j|¡ | ¡ }d||ƒd< t
|jƒs"J ‚q"t tdƒt d	¡d�fD ]’}t|jƒsüJ ‚| ¡ }d||ƒd< t|jƒ�s J ‚||ƒd dk�s6J ‚| ¡ }d||ƒd< t 	|j|j¡ | ¡ }d||ƒd< t
|jƒsêJ ‚qêd S )
Nr   r   r    r   r   gš™™™™™¹?rÎ   Ú0g      @)r
   r©   r   r   r{   r   r   Útolistr0   ra   r   r%   r&   )r2   ró   ÚsÚs2Úexpr7   r7   r8   Útest_index_type_coercionh  s6    	&z"TestFancy.test_index_type_coercionN))Ú__name__Ú
__module__Ú__qualname__Ú__doc__r9   r:   r+   ÚmarkÚfilterwarningsrV   rY   r]   rc   rp   Úparametrizer~   r   r�   r…   r™   rž   rz   r£   r¥   r¦   r§   r«   r»   rÂ   rÓ   rß   rã   rä   rê   rë   rñ   rò   r0   Úgetitemr/   rù   r7   r7   r7   r8   r   %   sN   ÿ
*ÿ



N0&r   c                
   @   s¬   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zej 	d	e
d
dƒe d¡d e ddd¡g¡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   s`   t tj d¡ d¡tj d¡ d¡dœƒ}d|d< t |d |d dgd dœƒ}t ||¡ d S )Nr   r   )rÎ   r   rd   rÎ   r   )rÎ   r   rd   )r   r%   rB   rC   r0   rn   ro   r7   r7   r8   Ú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¯   rx   re   ©r   r‚   rƒ   r   r   r   r¨   )r   r   r   )r   r/   r   r0   rn   ro   r7   r7   r8   Ú&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¯   rx   re   r  r   )r   r{   r/   r   r0   rn   ©r2   r3   rÜ   r7   r7   r8   Ú 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d„ ¡|	d< qÒg d¢|d< g d¢|d< |�rŽt	j
tdd��N tjtdd�� |||||ƒ W d   ƒ n1 �sb0    Y  W d   ƒ n1 �s‚0    Y  n>tjtdd�� |||||ƒ W d   ƒ n1 �sÂ0    Y  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!   )rz   Úslicer{   r/   r0   rn   rF   )r3   ÚrhsÚ	right_locÚ
right_ilocZlbl_oneZidx_oneZ	slice_oneZlbl_twoZidx_twoZ	slice_twor|   r7   r7   r8   Ú	run_tests±  s    z.TestMisc.test_rhs_alignment.<locals>.run_testsr¼   r   r"   )Zjimr  r	  ZjolineZabcder'   )r_   r   r   éþÿÿÿr!   r   éÿÿÿÿr   )r   é   r   r    rÅ   r  )r   é   rˆ   r   rÆ   r	  r   r)   c                 S   s
   d| › �S )Nú@r7   r³   r7   r7   r8   rµ   ×  r¶   z-TestMisc.test_rhs_alignment.<locals>.<lambda>)r   z@-28z@-20z@-12g      1@)z@2g      :Àg      2Àg      $Àz@18zInvalid valuer   zincompatible dtype)r%   r&   ry   r   rz   rF   r{   rÚ   Úmapr+   r,   Ú	TypeErrorr0   rk   rl   )
r2   r�   r  ÚxsrÞ   r3   r  r  r  Úframer7   r7   r8   Útest_rhs_alignment®  s2    ÿPzTestMisc.test_rhs_alignmentr¹   rŽ   r¼   éd   é–   c                 C   sÂ   t j}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… ¡ d S )Nr¼   r   rˆ   r  r¡   r  r   )rI   Z
IndexSlicer   r
   r%   r&   r0   Z!assert_indexing_slices_equivalent)r2   r¹   ZSLCr\   r7   r7   r8   Ú)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&   rJ   r+   r,   r-   )r2   r   rª   rQ   rS   r7   r7   r8   Ú 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   ÚzrZ   )r   r   r    )r   r   r¡   )r´   Úyr   rˆ   éc   r   )r‚   r‚   g       @)r   r   rˆ   )r‚   r‚   g     ÀX@)r   r   r{   r/   r0   rn   )r2   r   r3   r6   r  r7   r7   r8   Ú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¯   )rf   Úb2Zb3re   rd   r   )r   rF   r/   r   r%   r'   r0   r1   r  r7   r7   r8   Ú*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/   r0   r1   )r2   r=   rö   r7   r7   r8   Ú!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    ÚABCrv   r   rs   ZABrÎ   r   rƒ   r‰   )
r   r%   r&   ry   rz   Znotnullr.   rj   r0   rn   )r2   r3   Zindex_dfr5   r6   r7   r7   r8   Ú#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!   re   )r/   rF   ÚatZiat)r   ÚgetattrÚweakrefÚref)r2   r3   r$   Úwrr7   r7   r8   Ú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/   )r2   Znulls_fixturer3   ÚvcZresult1Zresult2r6   r7   r7   r8   Útest_label_indexing_on_nan0  s    
z#TestMisc.test_label_indexing_on_nanN)rú   rû   rü   r  r  r  r  r+   rþ   r   r   r%   r&   Zlinspacer  r  r!  r#  r&  r(  r.  r0  r7   r7   r7   r8   r  •  s    6$ÿ


r  c                	   @   sÎ   e Zd Zg d¢ejddgefg d¢ejddgdfedd	d	ƒedd	dƒedd	dƒgeedd	dƒedd	dƒgdfg d
¢g d¢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ƒ   NéÐ  r   rt   )Nr   ru   r6   c                 C   sB   |\}}}t d|iƒ}d |jddgf< t d|iƒ}t ||¡ d S ©Nr   r   ©r   r/   r0   rn   ©r2   r6   Z
start_dataZexpected_resultÚwarnÚstart_dataframeZexpected_dataframer7   r7   r8   Útest_coercion_with_locK  s
    
z0TestDataframeNoneCoercion.test_coercion_with_locc                 C   sJ   |\}}}t d|iƒ}d ||d |d d k< t d|iƒ}t ||¡ d S r3  )r   r0   rn   r5  r7   r7   r8   Ú(test_coercion_with_setitem_and_dataframeU  s
    
zBTestDataframeNoneCoercion.test_coercion_with_setitem_and_dataframec                 C   sL   |\}}}t d|iƒ}d |j|d |d d k< t d|iƒ}t ||¡ d S r3  r4  r5  r7   r7   r8   Ú$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  r2  r   r   r!   ri   )rd   rf   rg   r‘   r   r‚   rƒ   )Nrf   rg   )r   r   rF   r%   rj   r	   r0   rn   )r2   r7  rø   r7   r7   r8   Útest_none_coercion_mixed_dtypesi  s      üÿ


üÿz9TestDataframeNoneCoercion.test_none_coercion_mixed_dtypes)rú   rû   rü   r%   rj   rl   r   r	   ZEXPECTED_SINGLE_ROW_RESULTSr+   rþ   r   r8  r9  r:  r;  r7   r7   r7   r8   r1  <  s    ýõ
	
	
	r1  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   s€   |}t dd|d�}t|jdd�ƒ}|j}d}| |¡ |||ƒd< |d u rn|j|jksZJ ‚|jj|ju s|J ‚n|j|u s|J ‚d S )Nú
2016-01-01r!   ©ÚperiodsÚtzT©Údeepz
2018-01-01r   )r   r
   r{   rL   Ú_validate_setitem_valuer   Ú_ndarray)r2   Útz_naive_fixturerR   r@  Údtir\   rÛ   Znewvalr7   r7   r8   Útest_setitem_dt64_string_scalar€  s    
z8TestDatetimelikeCoercion.test_setitem_dt64_string_scalarÚboxr[   r   r   r   )TTFc           
      C   s¦   |}t |tƒr"|tju r"tddƒ}tdd|d�}t|jdd�ƒ}|j}|dd	gƒ}	| |	¡ |	||ƒ|< |d u r”|j	|j	ks€J ‚|jj
|j
u s¢J ‚n|j|u s¢J ‚d S )
Nr   r   r=  r!   r>  TrA  z
2019-01-01z
2010-01-02)rH   r
  r0   r/   r   r
   r{   rL   rC  r   rD  )
r2   rE  rR   r[   rH  r@  rF  r\   rÛ   Únewvalsr7   r7   r8   Útest_setitem_dt64_string_values•  s    

z8TestDatetimelikeCoercion.test_setitem_dt64_string_valuesÚscalarz3 Daysr"   c                 C   sN   t ddd�}t|jdd�ƒ}|j}| |¡ |||ƒd< |jj|ju sJJ ‚d S )Nú1 Dayr!   ©r?  TrA  r   )r   r
   r{   rL   rC  rD  )r2   rR   rK  Útdir\   rÛ   r7   r7   r8   Útest_setitem_td64_scalar±  s    
z1TestDatetimelikeCoercion.test_setitem_td64_scalarc                 C   sx   t |tƒr|tju rtddƒ}tddd�}t|jdd�ƒ}|j}|dd	gƒ}| |¡ |||ƒ|< |jj	|j	u stJ ‚d S )
Nr   r   rL  r!   rM  TrA  z10 Daysz44 hours)
rH   r
  r0   r/   r   r
   r{   rL   rC  rD  )r2   rR   r[   rH  rN  r\   rÛ   rI  r7   r7   r8   Útest_setitem_td64_string_values½  s    

z8TestDatetimelikeCoercion.test_setitem_td64_string_valuesN)rú   rû   rü   rG  r+   rþ   r   rz   r%   r.   rI   ZCategoricalr   r
  rJ  r   ZHourrO  rP  r7   r7   r7   r8   r<    s   ÿ
ÿr<  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á   rd   rf   r   rŽ   r�   r#   r   )r   rI   r.   r
   r/   r0   r1   rF   )r3   r6   r5   r7   r7   r8   Ú"test_extension_array_cross_sectionÒ  s    þû 

rR  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   rQ  r   r'   rá   rd   rf   r   rŽ   r�   )r   r   r$   r   )
r   rI   r.   r%   r/   r
   r0   r1   rF   rm   )r3   r5   r6   r7   r7   r8   Ú+test_extension_array_cross_section_convertsã  s(    þû

 þ

rS  z	ser, keysr   )r   r   r¯   r    r   )r   r   c                 C   s–   t d }}tj||d�� || ƒ|  W d   ƒ n1 s:0    Y  |tjkrXtd }}tj||d�� d|| ƒ|< W d   ƒ n1 sˆ0    Y  d S )NzToo many indexersr   ztoo many indices for arrayr   )r   r+   r,   r0   rF   rO   )r\   ÚkeysÚ
indexer_liZexp_errZexp_msgr7   r7   r8   Ú'test_ser_tup_indexer_exceeds_dimensions   s    
*

rV  c                 C   sB   t dgƒ}| |ƒddg }t ddgtddgƒd�}t ||¡ d S )Nr   r   r   )r
   r   r0   r1   )rU  r\   Úresrø   r7   r7   r8   Ú(test_ser_list_indexer_exceeds_dimensions  s    
rX  Úvaluer   rf   c                 C   s²   t dg d¢iƒ}d ddg¡}tjt|d�� | |jd< W d   ƒ n1 sL0    Y  t g d¢tjg d¢td	�d
œƒ}tjtdd�� | |jd< W d   ƒ n1 s¤0    Y  d S )NrŽ   r¯   rA   z"Must have equal len keys and valueú(setting an array element with a sequencer   ©r   r�   ©r   rd   rf   r   rá   )	r   rN   r+   r,   r-   r/   r%   r.   rm   )rY  r3   r4   r7   r7   r8   Ú%test_scalar_setitem_with_nested_value  s    þÿ( r]  c                 C   sœ   t g d¢ƒ}tjtdd�� | ||ƒd< W d   ƒ n1 s<0    Y  t g d¢td�}| ||ƒd< t| tjƒr†|jd | k 	¡ s˜J ‚n|jd | ks˜J ‚d S )Nr¯   rZ  r   r   r\  r   )
r
   r+   r,   r-   rm   rH   r%   rM   r/   Úall)rY  rR   r\   r7   r7   r8   Ú,test_scalar_setitem_series_with_nested_value6  s    *r_  )rÎ   rÎ   r‘   c                 C   s¦   t dg d¢iƒ}| |jd< t g d¢dtjtjgdœƒ}t ||¡ t g d¢tjg d¢td�dœƒ}| |jd< t| tj	ƒr�|jd | k 
¡ s¢J ‚n|jd | ks¢J ‚d S )NrŽ   r¯   r[  rÎ   rá   r\  r   )r   r/   r%   rj   r0   rn   r.   rm   rH   rM   r^  )rY  r3   r6   r7   r7   r8   Ú-test_scalar_setitem_with_nested_value_length1H  s    
 
r`  c                 C   sÎ   t g d¢ƒ}t| tjƒr>| ||ƒd< t g d¢ƒ}t ||¡ n:tjtdd�� | ||ƒd< W d   ƒ n1 sn0    Y  t g d¢t	d�}| ||ƒd< t| tjƒr¸|j
d | k ¡ sÊJ ‚n|j
d | ksÊJ ‚d S )Nr  r   )rÎ   r‚   rƒ   rZ  r   r\  r   )r
   rH   r%   rM   r0   r1   r+   r,   r-   rm   r/   r^  )rY  rR   r\   r6   r7   r7   r8   Ú4test_scalar_setitem_series_with_nested_value_length1]  s    ÿ*ra  c                  C   s‚   t dddgd�} t ƒ | d< t ƒ | jd< t | jd t ƒ ¡ t | jd t ƒ ¡ t dddgd�}t ƒ |jd< t |jd t ƒ ¡ d S )NÚOrd   rf   )r   r   r   )r
   r/   r0   r1   rF   )Ús1r÷   r7   r7   r8   Ú+test_object_dtype_series_set_series_elementx  s    
rd  ).rý   r.   r   r›   r+  Únumpyr%   r+   Zpandas.errorsr   Zpandas.core.dtypes.commonr   r   r   ZpandasrI   r   r   r	   r
   r   r   r   Zpandas._testingZ_testingr0   Zpandas.tests.indexing.commonr   Z!pandas.tests.indexing.test_floatsr   r   r  r1  r<  rR  rS  rþ   r   rz   rV  rX  r]  r_  r`  ra  rd  r7   r7   r7   r8   Ú<module>   s^   $	    t (CS$þ

&ÿ
&ÿ
 ÿ
 ÿ
