o
    �¨Êho_  ã                   @   sÄ  d Z ddlmZmZmZ ddlZddlZddlmZm	Z	 ddl
mZ ddlZddl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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!G dd„ dƒZ"dd„ Z#ej$ %deddgƒeeddd�ƒeedddd�ƒ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/d0d1„ Z0d2d3„ Z1d4d5„ Z2d6d7„ Z3d8d9„ Z4ej$ %d:d;d<g¡d=d>„ ƒZ5G d?d@„ d@ƒZ6dS )AzJ
Series.__getitem__ test classes are organized by the type of key passed.
é    )ÚdateÚdatetimeÚtimeN)Ú
conversionÚ	timezones)Ú	is_scalar)	ÚCategoricalÚ	DataFrameÚDatetimeIndexÚIndexÚSeriesÚ	TimestampÚ
date_rangeÚperiod_rangeÚtimedelta_range)ÚIndexingError)ÚBDayc                   @   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
dd„ Zej dddg¡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d'd(„ Zd)S )*ÚTestSeriesGetitemScalarsc                 C   s>   t dgd tg d¢ƒd�}|d dksJ ‚|d dksJ ‚d S )Né   é   )ÚaÚbÚcç      ð?©Úindexr   r   )r   r   ©ÚselfÚser© r   ú[/var/www/html/env/lib/python3.10/site-packages/pandas/tests/series/indexing/test_getitem.pyÚ&test_getitem_object_index_float_string'   s   z?TestSeriesGetitemScalars.test_getitem_object_index_float_stringc                 C   sn   t g d¢g d¢dd�}|d }|dksJ ‚t ddgddgdd�}t g d¢g d¢dd�}|d }t ||¡ d S )	N)©r   r   ©é   r$   )é   r%   )ç        gš™™™™™¹?çš™™™™™É?Úfoo)r   Únamer&   r"   r#   )r&   r&   r'   )r   ÚtmÚassert_series_equal©r   r   ÚresultÚexpectedr   r   r    Ú$test_getitem_float_keys_tuple_values-   s   z=TestSeriesGetitemScalars.test_getitem_float_keys_tuple_valuesc                 C   sB   t ddgt d¡t d¡gd�}|jd }|| }|dksJ ‚d S )Nr   r$   ÚOÚi8r   )r   ÚnpÚdtyper   )r   r   Úkeyr-   r   r   r    Ú test_getitem_unrecognized_scalar<   s    
z9TestSeriesGetitemScalars.test_getitem_unrecognized_scalarc              	   C   sš   t dgd dgd d�}d}d}tjt|d��, tjt|d�� |d  W d   ƒ n1 s.w   Y  W d   ƒ d S W d   ƒ d S 1 sFw   Y  d S )Nr   é
   r   zFindex -11 is out of bounds for axis 0 with size 10|index out of boundsú;Series.__getitem__ treating keys as positions is deprecated©Úmatchiõÿÿÿ)r   ÚpytestÚraisesÚ
IndexErrorr*   Úassert_produces_warningÚFutureWarning)r   r   ÚmsgÚwarn_msgr   r   r    Ú#test_getitem_negative_out_of_boundsG   s   
ÿÿ"ÿz<TestSeriesGetitemScalars.test_getitem_negative_out_of_boundsc              	   C   s†   d}d}t jt|d��. tjt|d�� |t|ƒ  W d   ƒ n1 s$w   Y  W d   ƒ d S W d   ƒ d S 1 s<w   Y  d S )Nz3index \d+ is out of bounds for axis 0 with size \d+r7   r8   )r:   r;   r<   r*   r=   r>   Úlen)r   Údatetime_seriesr?   r@   r   r   r    Ú%test_getitem_out_of_bounds_indexerrorP   s   ÿÿ"ÿz>TestSeriesGetitemScalars.test_getitem_out_of_bounds_indexerrorc                 C   sH   t g td�}tjtdd�� |d  W d   ƒ d S 1 sw   Y  d S )N©r3   z-1r8   éÿÿÿÿ©r   Úobjectr:   r;   ÚKeyErrorr   r   r   r    Ú4test_getitem_out_of_bounds_empty_rangeindex_keyerrorX   ó   
"ÿzMTestSeriesGetitemScalars.test_getitem_out_of_bounds_empty_rangeindex_keyerrorc                 C   s&  |}t tj d¡ d¡tg d¢|d�d�}tjtdd�� |d  W d   ƒ n1 s+w   Y  tjtd	d�� |d
  W d   ƒ n1 sFw   Y  t tj d¡ d¡g d¢d�}tjtdd�� |d  W d   ƒ n1 spw   Y  tjtd	d�� |d
  W d   ƒ d S 1 sŒw   Y  d S )Nr$   é   )r   r   r   r   r$   r$   rE   r   z^5$r8   é   z^'c'$r   )r$   r$   r   r   r   r   )	r   r2   ÚrandomÚdefault_rngÚstandard_normalr   r:   r;   rI   )r   Úany_int_numpy_dtyper3   r   r   r   r    Ú(test_getitem_keyerror_with_integer_index_   s(   þ
ÿ
ÿÿ
ÿ
"ÿzATestSeriesGetitemScalars.test_getitem_keyerror_with_integer_indexc                 C   sZ   t  d¡}d}tjt|d�� || }W d   ƒ n1 sw   Y  ||jd ks+J ‚d S )NrM   r7   r8   )r2   Úint64r*   r=   r>   Úiloc)r   rC   Úidxr?   Úresr   r   r    Útest_getitem_int64w   s   

ÿz+TestSeriesGetitemScalars.test_getitem_int64c                 C   s8   t tdƒttdƒƒd�}|ttdƒƒ }t ||¡ d S )NrM   r   ©r   ÚrangeÚlistr*   r+   ©r   r   r-   r   r   r    Útest_getitem_full_range~   s   z0TestSeriesGetitemScalars.test_getitem_full_rangeÚtzstrzEurope/Berlinzdateutil/Europe/Berlinc                 C   sh   t  |¡}tddd|d�}t||jd�}td|d�}tdd	d
ddƒ}t ||¡}|| || ks2J ‚d S )Nz2012-12-24 16:00z2012-12-24 18:00Úh)ÚstartÚendÚfreqÚtz)r   Údataz2012-12-24 17:00)rb   iÜ  é   é   é   r   )	r   Úmaybe_get_tzr   r   Úhourr   r   r   Úlocalize_pydatetime)r   r]   rb   r   ÚtsÚtime_pandasÚdtÚtime_datetimer   r   r    Útest_getitem_pydatetime_tz‡   s   
ÿz3TestSeriesGetitemScalars.test_getitem_pydatetime_tzrb   z
US/Easternzdateutil/US/Easternc                 C   sJ   t dd|d�}ttj d¡ t|ƒ¡|d�}|d }t ||j	d ¡ d S )Nú1/1/2000r6   ©Úperiodsrb   r$   r   ú1/3/2000)
r   r   r2   rN   rO   rP   rB   r*   Úassert_almost_equalrT   )r   rb   Úrngr   r-   r   r   r    Ú test_string_index_alias_tz_aware•   s   z9TestSeriesGetitemScalars.test_string_index_alias_tz_awarec                 C   st   t dddd�}ttj d¡ t|ƒ¡|d�}|jdk|jdk@ }|t	ddƒ }|| }|j
 d ¡|_
t ||¡ d S )	Nro   z1/5/2000Ú5min©ra   r$   r   é	   é   )r   r   r2   rN   rO   rP   rB   rh   Úminuter   r   Ú
_with_freqr*   r+   )r   rt   rj   Úmaskr-   r.   r   r   r    Útest_getitem_time_object�   s   z1TestSeriesGetitemScalars.test_getitem_time_objectc                 C   sJ   t tdƒtdƒgƒ}tddg|d�}|jd }||d  }||ks#J ‚d S )Nz
12-31-1999z
12-31-2000r   r$   r   r   )r   r   r   rT   )r   Úcatsr   r.   r-   r   r   r    Ú%test_getitem_scalar_categorical_indexª   s
   
z>TestSeriesGetitemScalars.test_getitem_scalar_categorical_indexc                 C   sv   t g d¢t g d¢¡d�}|d dksJ ‚|dg }|jdd … }t ||¡ |g d¢ }t ||jd d d… ¡ d S )N©r   r   r   )r$   r   r   r   r   r   rF   ©r   r   r$   )r   ÚpdÚCategoricalIndexrT   r*   r+   )r   r   rV   r.   Úres2r   r   r    Ú8test_getitem_numeric_categorical_listlike_matches_scalar³   s   
zQTestSeriesGetitemScalars.test_getitem_numeric_categorical_listlike_matches_scalarc                 C   sB   t g d¢tg d¢dd�d�}| d¡dksJ ‚|d dksJ ‚d S )Nr€   ©r   r$   r%   ÚcategoryrE   r   r%   r   )r   r   Úgetr   r   r   r    Ú/test_getitem_integer_categorical_not_positionalÂ   s   zHTestSeriesGetitemScalars.test_getitem_integer_categorical_not_positionalc                 C   sÐ   t dddd�}tt t|ƒ¡|d�}d}| |¡}|dksJ ‚|| }||jd ks,J ‚d}tjt	|d	�� | d
¡ W d   ƒ n1 sEw   Y  tjt	|d	�� |d
  W d   ƒ d S 1 saw   Y  d S )Nú1 day 10:11:12r^   éô  ©ra   rq   r   z6 days, 23:11:12é…   z!^Timedelta\('50 days 00:00:00'\)$r8   z50 days)
r   r   r2   ÚarangerB   Úget_locrT   r:   r;   rI   )r   rt   r   r4   Úindexerr-   r?   r   r   r    Ú$test_getitem_str_with_timedeltaindexÈ   s   
ÿ
"ÿz=TestSeriesGetitemScalars.test_getitem_str_with_timedeltaindexc                 C   sX   t dddœƒ}d}tjt|d�� |d }W d   ƒ n1 sw   Y  |dks*J ‚d S )Nr   r   )TFr7   r8   )r   r*   r=   r>   )r   r   r?   r-   r   r   r    Ú"test_getitem_bool_index_positionalÙ   s   
ÿz;TestSeriesGetitemScalars.test_getitem_bool_index_positionalN)Ú__name__Ú
__module__Ú__qualname__r!   r/   r5   rA   rD   rJ   rR   rW   r\   r:   ÚmarkÚparametrizern   ru   r}   r   r…   r‰   r‘   r’   r   r   r   r    r   &   s(    		

	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e	j
 deedddƒdƒg d¢geedddƒdƒdggeedddƒdƒg gededddƒƒg d¢gededddƒƒdggg¡dd„ ƒZdd„ Zdd„ Zdd„ ZdS )ÚTestSeriesGetitemSlicesc                 C   sB   t ddƒ}| ¡ }|d }t ddd�}t||d�}t ||¡ d S )Nz1/1/2008z1/1/2009Ú2008z
2008-01-01z
2008-12-31)r_   r`   r   )r   Ú	to_seriesr   r*   r+   )r   Úarrr   r-   rt   r.   r   r   r    Ú1test_getitem_partial_str_slice_with_datetimeindexã   s   
zITestSeriesGetitemSlices.test_getitem_partial_str_slice_with_datetimeindexc                 C   sv   t g d¢ƒ}ttj d¡ t|ƒ¡|d�}|dd … }|dd … }t ||¡ |dd… }|dd… }t ||¡ d S )N)ro   ú1/2/2000r�   rr   z1/4/2000r$   r   r�   r   rr   r   )	r
   r   r2   rN   rO   rP   rB   r*   r+   )r   rU   rj   r-   r.   r   r   r    Ú-test_getitem_slice_strings_with_datetimeindexî   s   ÿzETestSeriesGetitemSlices.test_getitem_slice_strings_with_datetimeindexc                 C   sš   t dddd�}tt t|ƒ¡|d�}|dd… }|jdd	… }t ||¡ |dd … }|jdd … }t ||¡ |d d… }|jd d	… }t ||¡ d S )
NrŠ   r^   r‹   rŒ   r   z5 dayz6 dayéV   é†   ©r   r   r2   rŽ   rB   rT   r*   r+   ©r   rt   r   r-   r.   r   r   r    Ú2test_getitem_partial_str_slice_with_timedeltaindexý   s   zJTestSeriesGetitemSlices.test_getitem_partial_str_slice_with_timedeltaindexc                 C   sŽ   t dddd�}tt t|ƒ¡|d�}|dd … }|jdd … }t ||¡ |dd … }|jdd … }t ||¡ |d	 }||jd
 ksEJ ‚d S )NrŠ   ÚuséÐ  rŒ   r   r   z1 day 10:11:12.001iè  z1 days, 10:11:12.001001ié  r¡   r¢   r   r   r    Ú<test_getitem_partial_str_slice_high_reso_with_timedeltaindex  s   zTTestSeriesGetitemSlices.test_getitem_partial_str_slice_high_reso_with_timedeltaindexc                 C   sF   t jtdd�� |d d …tjf  W d   ƒ d S 1 sw   Y  d S ©NzMulti-dimensional indexingr8   )r:   r;   Ú
ValueErrorr2   Únewaxis)r   rC   r   r   r    Útest_getitem_slice_2d  s   "ÿz-TestSeriesGetitemSlices.test_getitem_slice_2dc                 C   sš   t dddd�}ttj d¡ d¡|d�}tdd	d ƒg}d
}tjt	|d�� ||  W d   ƒ n1 s3w   Y  ||d f }||d  }t
 ||¡ d S )NÚ20090415Ú20090519Ú2Brw   r$   é   r   rL   é   z Indexing with a single-item listr8   r   )r   r   r2   rN   rO   rP   Úslicer:   r;   r¨   r*   r+   )r   r   r   r�   r?   r-   r.   r   r   r    Útest_getitem_median_slice_bug"  s   
þz5TestSeriesGetitemSlices.test_getitem_median_slice_bugzslc, positionsiâ  r   Nr�   iã  r$   iä  r   c                 C   s8   t g d¢tg d¢ƒƒ}|| }| |¡}t ||¡ d S )Nr�   )z
2019-01-01z2019-01-01T06:00:00z
2019-01-02)r   r
   Útaker*   r+   )r   ÚslcÚ	positionsr   r-   r.   r   r   r    Útest_getitem_slice_date0  s   
þ
z/TestSeriesGetitemSlices.test_getitem_slice_datec                 C   sŽ   d}t jt|jdd�d�� |dd…  W d   ƒ n1 sw   Y  t jt|jdd�d�� |dd…  W d   ƒ d S 1 s@w   Y  d S )	NzUcannot do slice indexing on DatetimeIndex with these indexers \[{key}\] of type floatz4\.0)r4   r8   ç      @g      $@z4\.5g      @)r:   r;   Ú	TypeErrorÚformat)r   rC   r?   r   r   r    Útest_getitem_slice_float_raisesD  s   ÿÿ"ÿz7TestSeriesGetitemSlices.test_getitem_slice_float_raisesc                 C   st   t tdƒttdƒƒd�}|dd … }t ||¡ |dd … }t ||dd … ¡ |d d… }t ||d d… ¡ d S )Nr6   r   iôÿÿÿiùÿÿÿr%   r   rX   r[   r   r   r    Útest_getitem_slice_bugO  s   z.TestSeriesGetitemSlices.test_getitem_slice_bugc                 C   sT   t tj d¡ d¡g d¢d�}|d d… }t |jd d… g d¢d�}t ||¡ d S )Nr$   é   )r$   r   rL   r»   r6   rd   é   é   r   r   )r$   r   rL   r»   )r   r2   rN   rO   rP   Úvaluesr*   r+   r,   r   r   r    Útest_getitem_slice_integersZ  s   þz3TestSeriesGetitemSlices.test_getitem_slice_integers)r“   r”   r•   rœ   rž   r£   r¦   rª   r±   r:   r–   r—   r°   r   rµ   r¹   rº   r¿   r   r   r   r    r˜   â   s(    ûþ


r˜   c                   @   s’   e Zd Zej deeje	e
g¡dd„ ƒZdd„ Zej deeje	g¡dd„ ƒZej deeje	g¡ej dejejejg¡d	d
„ ƒƒZdd„ ZdS )ÚTestSeriesGetitemListLikeÚboxc                 C   sb   t ddgƒ}t dgtd�}||ƒ}d}tjt|d�� ||  W d   ƒ d S 1 s*w   Y  d S )NÚAÚBÚCrE   zHNone of \[Index\(\['C'\], dtype='object|string'\)\] are in the \[index\]r8   rG   )r   rÁ   r   r4   r?   r   r   r    Útest_getitem_no_matchesf  s   ÿ
"ÿz1TestSeriesGetitemListLike.test_getitem_no_matchesc                 C   sf   t tdddd�ƒ}|ddg }t tjddd�tjd	dd�gddgd
d�}t ||¡ |jd
ks1J ‚d S )Nz
2000-01-01r6   ÚD)rq   ra   r$   r   ú
2000-01-03rw   z
2000-01-05z	Period[D]©r   r3   )r   r   r‚   ÚPeriodr*   r+   r3   )r   r   r-   Úexpr   r   r    Ú*test_getitem_intlist_intindex_periodvaluest  s   ýzDTestSeriesGetitemListLike.test_getitem_intlist_intindex_periodvaluesc           	      C   s”   t ddd� d ¡}tj |¡}ttt|ƒƒ|d�}|jd d… }|dgƒ}d}t	j
t|d�� || }W d   ƒ n1 s=w   Y  t	 ||¡ d S )	NrÇ   r%   ©rq   r   r   r   r7   r8   )r   r{   r‚   ÚIntervalIndexÚfrom_breaksr   rY   rB   rT   r*   r=   r>   r+   )	r   rÁ   ÚdtiÚiir   r.   r4   r?   r-   r   r   r    Ú*test_getitem_intlist_intervalindex_non_int€  s   

ÿzDTestSeriesGetitemListLike.test_getitem_intlist_intervalindex_non_intr3   c                 C   s’   t tdƒƒ |¡}tddd�}tj ||g¡}ttt|ƒƒd d d… |d�}|dgƒ}t	j
tdd	�� ||  W d   ƒ d S 1 sBw   Y  d S )
Nr   rÇ   r%   rÌ   rF   r   rM   Ú5r8   )r   rY   Úastyper   r‚   Ú
MultiIndexÚfrom_productr   rB   r:   r;   rI   )r   r3   rÁ   rU   rÏ   Úmir   r4   r   r   r    Ú-test_getitem_intlist_multiindex_numeric_levelŽ  s   

"ÿzGTestSeriesGetitemListLike.test_getitem_intlist_multiindex_numeric_levelc                 C   s�   t g d¢ƒ}tjdg|d�}tjtdd�� ||  W d   ƒ n1 s$w   Y  tjtdd�� |j|  W d   ƒ d S 1 sAw   Y  d S )Nr†   r   rE   Ú4r8   )r   r2   Úarrayr:   r;   rI   Úloc)r   Úany_unsigned_int_numpy_dtyper   r4   r   r   r    Útest_getitem_uint_array_key›  s   
ÿ"ÿz5TestSeriesGetitemListLike.test_getitem_uint_array_keyN)r“   r”   r•   r:   r–   r—   rZ   r2   rÙ   r   r   rÅ   rË   rÑ   rS   Úfloat64Úuint64r×   rÜ   r   r   r   r    rÀ   e  s    

rÀ   c                   @   sD   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S )ÚTestGetitemBooleanMaskc                 C   sH   |}||  ¡ k}|t|ƒ }|| }t ||¡ t |j|j| ¡ d S )N)ÚmedianrZ   r*   r+   Úassert_index_equalr   )r   Ústring_seriesr   r|   r-   r.   r   r   r    Útest_getitem_boolean§  s   z+TestGetitemBooleanMask.test_getitem_booleanc                 C   s
  t g tjd�}d|j_|| ¡  }|jjdksJ ‚|jtjks!J ‚t ddgtd�}t ttg dd�d�}|t g td� }t	 
||¡ d}tjt|d�� |t g td�  W d   ƒ n1 s]w   Y  tjt|d�� |t d	gtd�  W d   ƒ d S 1 s~w   Y  d S )
NrE   Ú
index_namerÂ   rÃ   rS   )r3   r   úsUnalignable boolean Series provided as indexer \(index of the boolean Series and of the indexed object do not matchr8   T)r   r2   rS   r   r)   Úisnar3   rH   r   r*   r+   r:   r;   r   Úbool)r   r   r.   r-   r?   r   r   r    Útest_getitem_boolean_empty±  s"   ÿÿ"ÿz1TestGetitemBooleanMask.test_getitem_boolean_emptyc           
      C   sæ   |}||  ¡ k}| t¡}|| }|| }t ||¡ | ¡ }| ¡ }d||< d||< t ||¡ tj|dd…< d}	tj	t
|	d�� ||  W d   ƒ n1 sPw   Y  tj	t
|	d�� d||< W d   ƒ d S 1 slw   Y  d S )NrM   r6   z=Cannot mask with non-boolean array containing NA / NaN valuesr8   )rà   rÓ   rH   r*   r+   Úcopyr2   Únanr:   r;   r¨   )
r   râ   r   r|   Úomaskr-   r.   Ús2Úcopr?   r   r   r    Útest_getitem_boolean_objectË  s&   

ÿ
"ÿz2TestGetitemBooleanMask.test_getitem_boolean_objectc                 C   sh   t dddd�}t g d¢¡}t|jƒ}|| }|jjjd u s J ‚ttdƒƒ}|| }|jjd u s2J ‚d S )Nz
2016-01-01r   z
US/Pacificrp   )TTFF)	r   r2   rÙ   r   Ú_dataÚ_valuesÚ_ndarrayÚbaserY   )r   rÏ   r4   r   rV   Úser2r„   r   r   r    Ú test_getitem_boolean_dt64_copiesæ  s   
z7TestGetitemBooleanMask.test_getitem_boolean_dt64_copiesc                 C   s”   |}|j dtƒ d�| ¡ k}d}tjt|d�� ||  W d   ƒ n1 s&w   Y  tjt|d�� |j|  W d   ƒ d S 1 sCw   Y  d S )Nr   rw   rå   r8   )Úshiftr   rà   r:   r;   r   rÚ   )r   rC   rj   Úmask_shiftedr?   r   r   r    Útest_getitem_boolean_cornerõ  s   ÿ
ÿ"ÿz2TestGetitemBooleanMask.test_getitem_boolean_cornerc                 C   s0   |  ¡ }||dk }||dk }t ||¡ d S )Nr   )Úsort_valuesr*   r+   )r   râ   ÚorderedÚselrÊ   r   r   r    Ú$test_getitem_boolean_different_order  s   z;TestGetitemBooleanMask.test_getitem_boolean_different_orderc                 C   s~   t dddd�}tjt|ƒtd�}d|dd…< || }|dd… }|j|jks(J ‚t ||¡ d|d	< || }|jd u s=J ‚d S )
Nro   z3/1/2000rÃ   rw   rE   Tr6   é   é   )r   r2   ÚzerosrB   rç   ra   r*   rá   )r   rt   r|   Úmaskedr.   r   r   r    Ú-test_getitem_boolean_contiguous_preserve_freq
  s   zDTestGetitemBooleanMask.test_getitem_boolean_contiguous_preserve_freqN)
r“   r”   r•   rã   rè   rî   rô   r÷   rû   r   r   r   r   r    rß   ¦  s    
rß   c                   @   s   e Zd Zdd„ ZdS )ÚTestGetitemCallablec                 C   s~   t dtdƒd�}|dd„  }||jd ksJ ‚|dd„  }|jddg }t ||¡ |d	d„  }|jg d
¢ }t ||¡ d S )Nr   ÚABCDr   c                 S   s   dS )NrÂ   r   ©Úxr   r   r    Ú<lambda>  s    z;TestGetitemCallable.test_getitem_callable.<locals>.<lambda>rÂ   c                 S   s   ddgS )NrÂ   rÃ   r   r  r   r   r    r  !  ó    rÃ   c                 S   s   g d¢S )N)TFTTr   r  r   r   r    r  %  r  )r   r$   r%   )r   rZ   rÚ   r*   r+   rT   r,   r   r   r    Útest_getitem_callable  s   z)TestGetitemCallable.test_getitem_callableN)r“   r”   r•   r  r   r   r   r    r    s    r  c                 C   sN   dd„ | D ƒ}| | }| t | dkƒ }| | dk }t ||¡ t ||¡ d S )Nc                 s   s   � | ]}|d kV  qdS )r   Nr   )Ú.0r  r   r   r    Ú	<genexpr>+  s   € z)test_getitem_generator.<locals>.<genexpr>r   )Úiterr*   r+   )râ   Úgenr-   Úresult2r.   r   r   r    Útest_getitem_generator*  s   r  Úseriesr   z
2012-01-01r$   rÌ   ÚCETrp   c                 C   sD   t jtdd�� | d d …d f  W d   ƒ d S 1 sw   Y  d S r§   )r:   r;   r¨   )r  r   r   r    Útest_getitem_ndim_deprecated3  s   	"ÿr  c                 C   sT   | }|d }d}t jt|d�� |ddd…f  W d   ƒ d S 1 s#w   Y  d S )NrÂ   z\(2000, slice\(3, 4, None\)\)r8   r¥   r%   r   )r:   r;   r·   )Ú/multiindex_year_month_day_dataframe_random_dataÚdfr   r?   r   r   r    Ú4test_getitem_multilevel_scalar_slice_not_implemented@  s   "ÿr  c                  C   sh   t tdƒƒ} td| d�}t| | d�}d}tjt|d�� ||dk  W d   ƒ d S 1 s-w   Y  d S )Nr6   r   zWIndexing a Series with DataFrame is not supported, use the appropriate DataFrame columnr8   rM   )rZ   rY   r   r	   r:   r;   r·   )rt   r   r  r?   r   r   r    Útest_getitem_dataframe_raisesL  s   ÿ"ÿr  c                  C   sF   t tdƒƒ} t g d¢¡}t g d¢ƒ| |< t g d¢ƒ}t | |¡ d S )Nr6   )r$   r   rx   )r6   é   rd   )
r   r   r6   r%   r  rM   rL   r¯   r»   rd   )r   rY   r2   rÙ   r*   r+   )r   rU   r.   r   r   r    Ú(test_getitem_assignment_series_alignmentX  s
   r  c                  C   sÆ   t g d¢g d¢d�} tjtdd�� | d   W d   ƒ n1 s w   Y  tjtdd�� | j d ¡ W d   ƒ n1 s=w   Y  tjtdd�� | jj d ¡ W d   ƒ d S 1 s\w   Y  d S )N)r$   rM   rL   r»   )g       @r¶   r¶   g      @r   ÚNoner8   )r   r:   r;   rI   r   r�   Ú_engine©r   r   r   r    Ú9test_getitem_duplicate_index_mistyped_key_raises_keyerrorb  s   
ÿÿ"ÿr  c                  C   s:   t tdƒƒ} tdƒf}| | }| |d  }t ||¡ d S )NrM   r%   r   )r   rY   r°   r*   r+   )r   r4   r-   r.   r   r   r    Ú,test_getitem_1tuple_slice_without_multiindexo  s
   
r  c                 C   sŠ   | | dk }|j | j ksJ ‚d}tjt|d�� | g d¢ }W d   ƒ n1 s(w   Y  |j | j ks5J ‚| dd… }|j | j ksCJ ‚d S )Nr   r7   r8   )r   r$   r   rM   r6   )r)   r*   r=   r>   )rC   r-   r?   r   r   r    Útest_getitem_preserve_namex  s   ÿr  c                  C   s®   t tj d¡ d¡ttdddƒƒd�} g d¢}t g d¢¡}tj	t
dd�� | |  W d   ƒ n1 s4w   Y  tj	t
dd�� | |  W d   ƒ d S 1 sPw   Y  d S )	Nr$   r6   r   rü   r   )r   r$   rM   r¯   r»   znot in indexr8   )r   r2   rN   rO   rP   rZ   rY   rÙ   r:   r;   rI   )r   ÚindsÚarr_indsr   r   r    Ú test_getitem_with_integer_labels…  s   ÿ
ÿ
"ÿr  c                 C   sP   | j d tƒ  }d}tjt|d�� | |  W d   ƒ d S 1 s!w   Y  d S )Nr   z"Timestamp\('1999-12-31 00:00:00'\)r8   )r   r   r:   r;   rI   )rC   Údr?   r   r   r    Útest_getitem_missing“  s
   
"ÿr!  c                 C   s®   d}t jt|d�� | g d¢ }|g d¢ }W d   ƒ n1 s w   Y  | jd |jd ks1J ‚|jd |jd ks=J ‚| jd |jd ksIJ ‚|jd |jd ksUJ ‚d S )Nr7   r8   r†   r$   r   )r*   r=   r>   r   rT   )râ   Úobject_seriesr?   Úslice1Úslice2r   r   r    Útest_getitem_fancy›  s   þr%  c                 C   sN   d}t jt|d�� | d }W d   ƒ n1 sw   Y  t|tjƒs%J ‚d S )Nr7   r8   rM   )r*   r=   r>   Ú
isinstancer2   rÝ   )rC   r?   Úvaluer   r   r    Útest_getitem_box_float64¦  s
   
ÿr(  c                  C   s8   t tdƒg d¢d�} t| d ƒsJ ‚| d dksJ ‚d S )NrM   )r   r   r   r   r   r   r   r   )r   rY   r   )Úobjr   r   r    Útest_getitem_unordered_dup­  s   r*  c                  C   sH   t tdƒg d¢tjd�} t ddgddgtjd�}| d }t ||¡ d S )NrM   )rÂ   rÂ   rÃ   rÄ   rÄ   rÈ   r%   r   rÄ   )r   rY   r2   rS   r*   r+   )r   r.   r-   r   r   r    Útest_getitem_dups³  s   r+  c                  C   s>   t tdƒtg d¢ƒd�} | d }| jddg }t ||¡ d S )NrM   )r   r   r   r   r   r   r   r   r%   )r   rY   r   rT   r*   r+   )r   r-   r.   r   r   r    Útest_getitem_categorical_strº  s   r,  c                  C   s"   t dg d¢d�} | d d d…  d S )Nr   )r   r   r   r   r   r   rF   )r   r  r   r   r    Ú+test_slice_can_reorder_not_uniquely_indexedÂ  s   r-  Ú
index_valsÚaabcdÚaadcbc                 C   s^   t tdƒt| ƒd�}d}tjt|d�� |d }W d   ƒ n1 s"w   Y  |dks-J ‚d S )NrM   r   r7   r8   r%   )r   rY   rZ   r*   r=   r>   )r.  Úsr?   r-   r   r   r    Ú0test_duplicated_index_getitem_positional_indexerÇ  s   
ÿr2  c                   @   sL   e Zd Zej ddhddig¡dd„ ƒZej ddhddig¡dd„ ƒZdS )ÚTestGetitemDeprecatedIndexersr4   r   c                 C   sH   t g d¢ƒ}tjtdd�� ||  W d   ƒ d S 1 sw   Y  d S )Nr†   úas an indexer is not supportedr8   ©r   r:   r;   r·   ©r   r4   r   r   r   r    Ú$test_getitem_dict_and_set_deprecatedÓ  rK   zBTestGetitemDeprecatedIndexers.test_getitem_dict_and_set_deprecatedc                 C   sH   t g d¢ƒ}tjtdd�� d||< W d   ƒ d S 1 sw   Y  d S )Nr†   r4  r8   r   r5  r6  r   r   r    Ú$test_setitem_dict_and_set_disallowedÚ  rK   zBTestGetitemDeprecatedIndexers.test_setitem_dict_and_set_disallowedN)r“   r”   r•   r:   r–   r—   r7  r8  r   r   r   r    r3  Ò  s
    
r3  )7Ú__doc__r   r   r   Únumpyr2   r:   Úpandas._libs.tslibsr   r   Úpandas.core.dtypes.commonr   Úpandasr‚   r   r	   r
   r   r   r   r   r   r   Úpandas._testingÚ_testingr*   Úpandas.core.indexingr   Úpandas.tseries.offsetsr   r   r˜   rÀ   rß   r  r  r–   r—   r  r  r  r  r  r  r  r  r!  r%  r(  r*  r+  r,  r-  r2  r3  r   r   r   r    Ú<module>   sX    , = At	
ýþ

	

