U
    ¾mœdG3 ã                
   @   s®  d dl mZ d dlmZmZ d dlmZ d dlmZ d dlZ	d dlm
Z
 d dlZd dlmZmZ d dlmZ d dlm  m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$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+ d dl,m-Z. d dl/m0Z0m1Z1m2Z2 d dl3m4Z4 G dd„ dƒZ5G dd„ dƒZ6G dd„ dƒZ7dd„ Z8ej9 :dd d ie	j;d gge	j<d�fddie	j;dgge=d�fddie	j;dgge	j<d�fg¡dd„ ƒZ>dS )é    )ÚOrderedDict)ÚdatetimeÚ	timedelta)ÚIterator)ÚtzoffsetN)Úma)ÚiNaTÚlib)ÚIntCastingNaNError)Úis_categorical_dtypeÚis_datetime64tz_dtype)ÚCategoricalDtype)ÚCategoricalÚ	DataFrameÚDatetimeIndexÚIndexÚIntervalÚIntervalIndexÚ
MultiIndexÚNaTÚPeriodÚ
RangeIndexÚSeriesÚ	TimestampÚ
date_rangeÚisnaÚperiod_rangeÚtimedelta_range)ÚIntegerArrayÚIntervalArrayÚperiod_array)ÚNumericBlockc                   @   s®
  e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zej 	d	d
d„ dd„ dd„ dd„ dd„ dd„ dd„ dd„ dd„ dd„ dd„ g¡ej 	ddg g¡d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eg¡d'd(„ ƒZej 	d)ejed*ƒg¡d+d,„ ƒZej 	d-d.d/d0d1d2d3d4g¡ej 	d5deg ƒg¡d6d7„ ƒƒZd8d9„ Zd:d;„ Zej 	d<d=d>d?g¡d@dA„ ƒZdBdC„ ZdDdE„ ZdFdG„ Z dHdI„ Z!dJdK„ Z"dLdM„ Z#dNdO„ Z$ej 	d-dPdQdRdSg¡dTdU„ ƒZ%ej 	dVdWdXgdYdZgee&d[dXd\d]�ƒee&d[dXd\d^d_�ƒe'd`dadb�gg¡dcdd„ ƒZ(dedf„ Z)dgdh„ Z*didj„ Z+dkdl„ Z,dmdn„ Z-dodp„ Z.dqdr„ Z/dsdt„ Z0dudv„ Z1dwdx„ Z2dydz„ Z3d{d|„ Z4d}d~„ Z5dd€„ Z6d�d‚„ Z7dƒd„„ Z8d…d†„ Z9ej 	d‡dWdXdˆgd‰ee:dˆƒƒe;dŠd‹dŠgƒdŒd�„ e:dˆƒD ƒe<dŽd„ e:dˆƒƒg¡d�d�„ ƒZ=d‘d’„ Z>d“d”„ Z?d•d–„ Z@d—d˜„ ZAd™dš„ ZBeCjDejj	d5e&d›dˆd^dœ�e&d›dˆd��eEdždˆd��eFdŸdˆd d]�eed¡ƒƒedWdXdˆgƒeGd`dˆƒgd¢d„ d£�d¤d¥„ ƒƒZHd¦d§„ ZId¨d©„ ZJdªd«„ ZKd¬d­„ ZLd®d¯„ ZMej 	d°ejNdWgejOd±�ejNdWgejPd±�ejNdWgejQd±�e OdW¡ge PdW¡ge QdW¡gg¡d²d³„ ƒZRd´dµ„ ZSd¶d·„ ZTd¸d¹„ ZUdºd»„ ZVd¼d½„ ZWd¾d¿„ ZXdÀdÁ„ ZYdÂdÃ„ ZZdÄdÅ„ Z[dÆdÇ„ Z\dÈdÉ„ Z]dÊdË„ Z^dÌdÍ„ Z_dÎdÏ„ Z`dÐdÑ„ ZadÒdÓ„ ZbdÔdÕ„ ZcdÖd×„ ZddØdÙ„ ZedÚdÛ„ ZfdÜdÝ„ ZgdÞdß„ Zhdàdá„ Zidâdã„ Zjdädå„ Zkdædç„ Zlej 	dèejmejng¡ej 	dédêdëg¡ej 	dìdídîdïdðdñdëdòg¡dódô„ ƒƒƒZoej 	dõdöepejdg¡d÷dø„ ƒZqdùdú„ Zrej 	dûesetg¡düdý„ ƒZuejj	dþeejNgdÿ�d gd£��d�d„ ƒZvejj	dþeejNgdÿ�d gd£��d�d„ ƒZw�d�d„ Zxejj	dþeejNgdÿ�d gd£��d�d„ ƒZyejjz�d	�d
��d�d„ ƒZ{�d�d„ Z|�d�d„ Z}�d�d„ Z~�d�d„ Z�d�d„ Z€�d�d„ Z�ej 	�ddXej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ˆej ‰�d(¡�d)�d*„ ƒZŠ�d+�d,„ Z‹�d-�d.„ ZŒ�d/�d0„ Z��d1�d2„ ZŽ�d3�d4„ Z��d5�d6„ Z��d7�d8„ Z‘�d9�d:„ Z’�d;�d<„ Z“ejj	d5e&�d=�d>d��eEdž�d>d��eF�d?�d>d d]�g�d@d„ d£��dA�dB„ ƒZ”ejj	d5e&�d=�d>d��eEdž�d>d��eF�d?�d>d d]�g�dCd„ d£��dD�dE„ ƒZ•ej 	d-ej–ej—g¡�dF�dG„ ƒZ˜ej 	dì�dH�dI�dJ�dKdê�dLdòdñdëg	¡ej 	dédëdêg¡�dM�dN„ ƒƒZ™ej 	d-d�dOd2g¡�dP�dQ„ ƒZš�dR�dS„ Z›�dT�dU„ Zœej 	�dV�dW�dXg¡�dY�dZ„ ƒZ��d[�d\„ Zž�d]�d^„ ZŸej 	d°e –�d_¡e –�d`¡g�d_�d`gg¡�da�db„ ƒZ �dc�dd„ Z¡�de�df„ Z¢�dg�dh„ Z£�di�dj„ Z¤�dk�dl„ Z¥�dm�dn„ Z¦�do�dp„ Z§�dq�dr„ Z¨�ds�dt„ Z©�du�dv„ Zª�dw�dx„ Z«�dy�dz„ Z¬�d{�d|„ Z­�d}�d~„ Z®�d�d€„ Z¯ejjz�d��d
��d‚�dƒ„ ƒZ°ejjz�d��d
��d„�d…„ ƒZ±ej ‰�d†¡ej 	�d‡e²e³ee´jNg¡�dˆ�d‰„ ƒƒZµ�dŠ�d‹„ Z¶�dŒ�d�„ Z·ej 	�dŽdW�d�g¡�d��d‘„ ƒZ¸ej 	�dŽdW�d�g¡�d’�d“„ ƒZ¹�d”�d•„ Zº�d–�d—„ Z»�d˜�d™„ Z¼dS (š  ÚTestSeriesConstructorsc                 C   sP   t  d¡}||dd�}|| d¡ƒ}t ||¡ |t|ƒdd�}t ||¡ d S )Né
   úM8[s]©Údtype)ÚnpÚarangeÚastypeÚtmÚassert_equalÚlist)ÚselfZindex_or_seriesÚvaluesÚresÚexpected© r1   ú^/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/pandas/tests/series/test_constructors.pyÚ'test_from_ints_with_non_nano_dt64_dtype7   s    
z>TestSeriesConstructors.test_from_ints_with_non_nano_dt64_dtypec                 C   s0   t d gdd�}| ¡  ¡ st‚|jdks,t‚d S )Nzinterval[datetime64[ns]]r%   zinterval[datetime64[ns], right])r   r   ÚallÚAssertionErrorr&   ©r-   Úserr1   r1   r2   Ú1test_from_na_value_and_interval_of_datetime_dtypeA   s    zHTestSeriesConstructors.test_from_na_value_and_interval_of_datetime_dtypec                 C   s`   t dddƒ}| ¡ | ¡ g}t|ƒ}t|td�}t ||¡ t|ƒ}t|td�}t ||¡ d S )Nià  é   r%   )	r   Úto_pydatetimeÚdater   Úobjectr*   Úassert_series_equalr   Úassert_index_equal)r-   ÚtsÚvalsr7   r0   Úidxr1   r1   r2   Ú!test_infer_with_date_and_datetimeG   s    z8TestSeriesConstructors.test_infer_with_date_and_datetimec              	   C   sd   dg}d}t jt|d�� t|dd� W 5 Q R X t jt|d�� ttj|td�dd� W 5 Q R X d S )NZaazD^Unknown datetime string format, unable to parse: aa, at position 0$©Úmatchúdatetime64[ns]r%   )ÚpytestÚraisesÚ
ValueErrorr   r'   Úarrayr<   )r-   r@   Úmsgr1   r1   r2   Ú(test_unparseable_strings_with_dt64_dtypeU   s    z?TestSeriesConstructors.test_unparseable_strings_with_dt64_dtypeÚconstructorc                 C   s
   t | d�S ©N©Úindex©r   ©rA   r1   r1   r2   Ú<lambda>f   ó    zTestSeriesConstructors.<lambda>c                 C   s   t d | d�S rM   rP   rQ   r1   r1   r2   rR   g   rS   c                 C   s   t i | d�S rM   rP   rQ   r1   r1   r2   rR   h   rS   c                 C   s   t d| d�S )Nr1   rN   rP   rQ   r1   r1   r2   rR   i   rS   c                 C   s   t g | d�S rM   rP   rQ   r1   r1   r2   rR   j   rS   c                 C   s   t dd„ dD ƒ| d�S )Nc                 s   s   | ]
}|V  qd S ©Nr1   ©Ú.0Ú_r1   r1   r2   Ú	<genexpr>k   s     ú2TestSeriesConstructors.<lambda>.<locals>.<genexpr>r1   rN   rP   rQ   r1   r1   r2   rR   k   rS   c                 C   s   t d | d�S ©N©ÚdatarO   rP   rQ   r1   r1   r2   rR   l   rS   c                 C   s   t i | d�S rZ   rP   rQ   r1   r1   r2   rR   m   rS   c                 C   s   t d| d�S )Nr1   r[   rP   rQ   r1   r1   r2   rR   n   rS   c                 C   s   t g | d�S rZ   rP   rQ   r1   r1   r2   rR   o   rS   c                 C   s   t dd„ dD ƒ| d�S )Nc                 s   s   | ]
}|V  qd S rT   r1   rU   r1   r1   r2   rX   p   s     rY   r1   r[   rP   rQ   r1   r1   r2   rR   p   rS   Úempty_indexNc                 C   sF   t |d�}||ƒ}|jtks t‚t|jƒdks2t‚tj||dd� d S )NrN   r   T©Zcheck_index_type)r   r&   r<   r5   ÚlenrO   r*   r=   )r-   rL   r]   r0   Úresultr1   r1   r2   Útest_empty_constructor_   s
    
z-TestSeriesConstructors.test_empty_constructorc              
   C   sD   d}t dtg}|D ],}tjt|d�� tg d|d� W 5 Q R X qd S )Nznot understoodr   rC   Útime)Únamer&   )r   r,   rF   rG   Ú	TypeErrorr   )r-   rJ   Zinvalid_listr&   r1   r1   r2   Útest_invalid_dtype}   s
    
z)TestSeriesConstructors.test_invalid_dtypec              	   C   sN   t  ddg¡}t jddg|d�}tjtdd�� t|dd	gd
� W 5 Q R X d S )N)ÚaÚi8)ÚbZf4)r9   gš™™™™™Ù?)é   ióÿÿÿr%   zUse DataFrame insteadrC   ÚAÚBrN   )r'   r&   rI   rF   rG   rH   r   )r-   Zc_dtypeZcdt_arrr1   r1   r2   Útest_invalid_compound_dtype…   s    z2TestSeriesConstructors.test_invalid_compound_dtypec                 C   s   t dƒ}t|tƒrt‚d S )Ng      à?)r   Ú
isinstanceÚfloatr5   )r-   Zscalarr1   r1   r2   Útest_scalar_conversion�   s    z-TestSeriesConstructors.test_scalar_conversionc                 C   sH   |\}}t |tdƒd�}t |gd |d�}|j|ks8t‚t ||¡ d S )Né   rN   r%   )r   Úranger&   r5   r*   r=   )r-   Úea_scalar_and_dtypeÚ	ea_scalarÚea_dtyper7   r0   r1   r1   r2   Útest_scalar_extension_dtype’   s
    z2TestSeriesConstructors.test_scalar_extension_dtypec           	   	   C   s:  t ƒ }|jjst‚t |ƒ}|jjs&t‚t |j|j¡s:t‚t|jƒt|jƒksRt‚t dtjgddgd�}|j	tj
ksxt‚t |d ¡sŠt‚|jjr–t‚t ƒ jjr¤t‚tjtdd��" t tj dd¡t d¡d� W 5 Q R X d|_t |ƒj}d}||ksút‚t dd	gdd
gg¡}d}tjt|d�� t |ƒ W 5 Q R X d S )NZhellor   r9   rN   zAData must be 1-dimensional, got ndarray of shape \(3, 3\) insteadrC   rp   r   é   é   z8initializing a Series from a MultiIndex is not supported)r   rO   Z_is_all_datesr5   r*   ZequalContentsÚidr'   ÚNaNr&   Úobject_ÚisnanrF   rG   rH   ÚrandomÚrandnr(   rc   r   Zfrom_arraysÚNotImplementedError)	r-   Údatetime_seriesZempty_seriesZderivedÚmixedÚrsZxpÚmrJ   r1   r1   r2   Útest_constructor�   s0    þ&
z'TestSeriesConstructors.test_constructorc              	   C   sT   t ddgddgddggdddgd�}tjtd	d
�� tdddg|d� W 5 Q R X d S )Nr9   rv   rp   rw   é   é   é	   rN   z Index data must be 1-dimensionalrC   )r   rF   rG   rH   r   )r-   Údfr1   r1   r2   Ú'test_constructor_index_ndim_gt_1_raisesÃ   s    $z>TestSeriesConstructors.test_constructor_index_ndim_gt_1_raisesÚinput_classc                 C   s
  t ƒ }t |ƒ ƒ}tj||dd� t dd�}t |ƒ dd�}tj||dd� t dd�}t |ƒ dd�}tj||dd� |tk	�rt tdƒd�}t |ƒ tdƒd�}t ||¡ t tjtdƒd�}t |ƒ tdƒdd�}t ||¡ t d	ttd
ƒd�}t d	td
ƒd�}t ||¡ d S )NFr^   Úfloat64r%   Úcategoryr#   rN   ©rO   r&   Ú rp   ©r&   rO   )r   r*   r=   r,   rq   r'   ÚnanÚstr)r-   r‰   ÚemptyÚempty2r1   r1   r2   Útest_constructor_emptyÉ   s&    



z-TestSeriesConstructors.test_constructor_emptyÚ	input_argr�   c                 C   s4   t dtdƒd�}t |tdƒd�}tj||dd� d S )NrŠ   r#   rŽ   rN   Fr^   ©r   rq   r*   r=   )r-   r”   r‘   r’   r1   r1   r2   Útest_constructor_nanì   s    z+TestSeriesConstructors.test_constructor_nanr&   Zf8rg   úM8[ns]úm8[ns]r‹   r<   zdatetime64[ns, UTC]rO   c                 C   s.   t ||d�}|j|kst‚t|ƒdks*t‚d S )NrŽ   r   )r   r&   r5   r_   )r-   r&   rO   r`   r1   r1   r2   Útest_constructor_dtype_onlyó   s    z2TestSeriesConstructors.test_constructor_dtype_onlyc                 C   s,   t dddgd�}|j ¡ dddgks(t‚d S )Nrh   rf   ÚcrN   )r   rO   Útolistr5   ©r-   r`   r1   r1   r2   Ú$test_constructor_no_data_index_orderþ   s    z;TestSeriesConstructors.test_constructor_no_data_index_orderc                 C   s&   t dgtd�}t |jd ¡s"t‚d S ©Nr9   rŒ   r   )r   r�   r'   r{   Úilocr5   rœ   r1   r1   r2   Ú$test_constructor_no_data_string_type  s    z;TestSeriesConstructors.test_constructor_no_data_string_typeÚitemÚentryu   Ñ�é   c                 C   s*   t |dgtd�}|jd t|ƒks&t‚d S rž   )r   r�   rŸ   r5   )r-   r¡   r`   r1   r1   r2   Ú+test_constructor_string_element_string_type  s    zBTestSeriesConstructors.test_constructor_string_element_string_typec                 C   sl   t dd g|d�}| ¡ }t ddgƒ}t ||¡ |jd d ksBt‚t dtjg|d�}t |jd ¡sht‚d S )NÚxr%   FTr9   )	r   r   r*   r=   rŸ   r5   r'   r�   r{   )r-   Ústring_dtyper7   r`   r0   r1   r1   r2   Ú$test_constructor_dtype_str_na_values  s    z;TestSeriesConstructors.test_constructor_dtype_str_na_valuesc                 C   sH   ddddg}t |ƒ}tddddg|d	�}t||d	�}t || ¡ ¡ d S )
NÚdrh   rf   rš   rw   é   éûÿÿÿrp   rN   )Úsortedr   r*   r=   Z
sort_index)r-   Zindex1Úindex2Ús1Ús2r1   r1   r2   Útest_constructor_series  s
    z.TestSeriesConstructors.test_constructor_seriesc                 C   s@   G dd„ dƒ}t ttdƒƒdd�}t |ƒ dd�}t ||¡ d S )Nc                   @   s   e Zd Zedœdd„ZdS )z>TestSeriesConstructors.test_constructor_iterable.<locals>.Iter)Úreturnc                 s   s   t dƒE d H  d S )Nr#   )rq   ©r-   r1   r1   r2   Ú__iter__#  s    zGTestSeriesConstructors.test_constructor_iterable.<locals>.Iter.__iter__N)Ú__name__Ú
__module__Ú__qualname__r   r²   r1   r1   r1   r2   ÚIter"  s   r¶   r#   Úint64r%   ©r   r,   rq   r*   r=   )r-   r¶   r0   r`   r1   r1   r2   Útest_constructor_iterable   s    z0TestSeriesConstructors.test_constructor_iterablec                 C   s4   t ttdƒƒdd�}t tdƒdd�}t ||¡ d S )Nr#   r·   r%   r¸   ©r-   r0   r`   r1   r1   r2   Útest_constructor_sequence*  s    z0TestSeriesConstructors.test_constructor_sequencec                 C   s"   t dgƒ}t dƒ}t ||¡ d S )NÚabc©r   r*   r=   rº   r1   r1   r2   Útest_constructor_single_str0  s    
z2TestSeriesConstructors.test_constructor_single_strc                 C   sZ   t dddgdd�}dddgdtjdddgdd�fD ]"}t |dddgd�}t ||¡ q2d S )	Nr9   rv   rp   r·   r%   ©r9   rv   rp   r   rN   )r   r'   rI   r*   r=   )r-   r0   Úobjr`   r1   r1   r2   Útest_constructor_list_like6  s    $z1TestSeriesConstructors.test_constructor_list_likec                 C   sZ   t dddgdddgd�}|dk}t dddg|d�}t dddgdd	dgd�}t ||¡ d S )
Nr9   rv   rp   rw   r„   r…   rN   FTr½   )r-   r­   rO   r`   r0   r1   r1   r2   Útest_constructor_boolean_index?  s
    z5TestSeriesConstructors.test_constructor_boolean_indexÚboolÚint32r·   rŠ   c                 C   s(   t tdddgƒ|d�}|j|ks$t‚d S )Nr   rv   rw   r%   )r   r   r&   r5   )r-   r&   Úsr1   r1   r2   Útest_constructor_index_dtypeH  s    z3TestSeriesConstructors.test_constructor_index_dtypeÚ
input_valsr9   rv   Ú1Ú2z1/1/2011ÚH©ÚperiodsÚfreqú
US/Eastern)rÌ   rÍ   Útzr   r„   )ÚleftÚrightc                 C   s*   t ||d�}t |ƒ |¡}t ||¡ d S ©Nr%   ©r   r)   r*   r=   )r-   rÇ   r¦   r`   r0   r1   r1   r2   Útest_constructor_list_strO  s    z0TestSeriesConstructors.test_constructor_list_strc                 C   sJ   t ddtjg|d�}t ddtjgtd�}t ||¡ t |d ¡sFt‚d S )Nç      ð?ç       @r%   z1.0z2.0rv   )r   r'   r�   r<   r*   r=   r{   r5   )r-   r¦   r`   r0   r1   r1   r2   Útest_constructor_list_str_naa  s    z3TestSeriesConstructors.test_constructor_list_str_nac                 C   sr   dd„ t dƒD ƒ}t|ƒ}tt dƒƒ}t ||¡ dd„ t dƒD ƒ}t|t ddƒd�}t ddƒ|_t ||¡ d S )Nc                 s   s   | ]
}|V  qd S rT   r1   ©rV   Úir1   r1   r2   rX   h  s     zDTestSeriesConstructors.test_constructor_generator.<locals>.<genexpr>r#   c                 s   s   | ]
}|V  qd S rT   r1   rØ   r1   r1   r2   rX   o  s     é   rN   )rq   r   r*   r=   rO   )r-   Úgenr`   Úexpr1   r1   r2   Útest_constructor_generatorg  s    z1TestSeriesConstructors.test_constructor_generatorc                 C   sr   t dd„ tdƒƒ}t|ƒ}ttdƒƒ}t ||¡ t dd„ tdƒƒ}t|tddƒd�}tddƒ|_t ||¡ d S )Nc                 S   s   | S rT   r1   ©r¥   r1   r1   r2   rR   v  rS   z=TestSeriesConstructors.test_constructor_map.<locals>.<lambda>r#   c                 S   s   | S rT   r1   rÞ   r1   r1   r2   rR   }  rS   rÚ   rN   )Úmaprq   r   r*   r=   rO   )r-   r‚   r`   rÜ   r1   r1   r2   Útest_constructor_mapt  s    z+TestSeriesConstructors.test_constructor_mapc                 C   sn   t ddddddgdddgdd�}t|ƒ}t |j|¡ tt ddd	gƒd
d�}tddd	gd
d�}t ||¡ d S )Nr   r9   rv   rf   rh   rš   T)Zfastpathrp   r·   r%   )r   r   r*   Zassert_categorical_equalr.   r=   )r-   Úcatr/   r`   r0   r1   r1   r2   Útest_constructor_categorical‚  s     z3TestSeriesConstructors.test_constructor_categoricalc                 C   s4   t tdddgƒdd�}t|ƒs"t‚t|jƒs0t‚d S ©Nr9   rv   rp   r‹   r%   )r   r   r   r5   r&   )r-   rá   r1   r1   r2   Ú*test_construct_from_categorical_with_dtypeŒ  s    zATestSeriesConstructors.test_construct_from_categorical_with_dtypec                 C   s0   t dddgdd�}t|ƒst‚t|jƒs,t‚d S rã   )r   r   r5   r&   r6   r1   r1   r2   Ú,test_construct_intlist_values_category_dtype’  s    zCTestSeriesConstructors.test_construct_intlist_values_category_dtypec              	   C   sz  t ddddddddgƒ}t|dd�}|jdks2t‚t|ƒt|ƒksFt‚t|jƒ t|ƒ td|iƒ}|d }t 	||¡ |j
d d …df }t 	||¡ t|ƒt|ƒksªt‚t|jƒ t|ƒ td|iƒ}|d }t 	||¡ t|ƒt|ƒksðt‚t|jƒ t|ƒ t||dd	œƒ}|d }|d
 }t 	||¡ tj	||dd� |jd
k�sNt‚t|ƒt|ƒk�sdt‚t|jƒ t|ƒ d S )Nrf   rh   rš   rj   ©rc   r‹   r   r9   )rj   rk   ÚCrk   F)Zcheck_names)r   r   r&   r5   r_   r�   r.   r   r*   r=   rŸ   rc   )r-   ÚfactorrÅ   r‡   r`   Zresult1Zresult2r1   r1   r2   Ú*test_constructor_categorical_with_coercion—  s:    



zATestSeriesConstructors.test_constructor_categorical_with_coercionc                 C   s†   t ddgddgddggddgd�}t|jƒ|d< |jd j}|jjd }||ksTt‚|jd }||ksjt‚|jjd }||ks‚t‚d S )	Nr9   zJohn P. Doerv   z	Jane DoveZ	person_idÚperson_name)Úcolumnsr   )r   r   rê   rŸ   r5   Úloc)r-   r¥   r0   r`   r1   r1   r2   Ú+test_constructor_categorical_with_coercion2¼  s    þ
zBTestSeriesConstructors.test_constructor_categorical_with_coercion2c                 C   s<   t dddgƒ}t |dd�}t dddgdd�}t ||¡ d S )Nrf   rh   rš   r‹   r%   r½   )r-   Úseriesr`   r0   r1   r1   r2   Ú&test_constructor_series_to_categoricalÎ  s    z=TestSeriesConstructors.test_constructor_series_to_categoricalc                 C   sô   t ddgtdddgdd�d�}t|jƒdks0t‚t |jjt	dddgƒ¡ |jj
sVt‚t ddgtddgƒd�}t|jƒs|t‚t |jjt	ddgƒ¡ |jj
dks¤t‚t ddd	gtddgdd�d
�}t ddgdd	gtddgdd�d
�}t ||¡ d S )Nrf   rh   rš   T)Úorderedr%   Fr   r9   rŒ   )r   r   r   r&   r5   r*   r>   rá   Ú
categoriesr   rð   r=   ©r-   r`   r0   r1   r1   r2   Ú"test_constructor_categorical_dtype×  s,     ÿ  ÿ  ÿz9TestSeriesConstructors.test_constructor_categorical_dtypec                 C   sd   t tdƒdd�}ttdƒ|d�}ttdƒ|d�}t|dd�}t ||¡ t|dd�}t ||¡ d S )NZdabcT)rñ   rð   Zabcabcr%   r‹   )r   r,   r   r   r*   r=   )r-   Zcdtr0   rá   r`   r1   r1   r2   Ú#test_constructor_categorical_stringí  s    z:TestSeriesConstructors.test_constructor_categorical_stringc                 C   st  t ddddgƒ}t|dd�}|j|k	s*t‚|j dddg¡}tjddddgtjd	�}tjddddgtjd	�}t	 
| ¡ |¡ t	 
| ¡ |¡ d|d
< tjddddgtjd	�}t	 
| ¡ |¡ t	 
| ¡ |¡ t ddddgƒ}t|dd�}|j|ksöt‚|j dddg¡}|j|k	�st‚tjddddgtjd	�}t	 
| ¡ |¡ d|d
< tjddddgtjd	�}t	 
| ¡ |¡ d S )Nrf   rh   rš   T)Úcopyr9   rv   rp   r%   r   F)r   r   rá   r5   Zrename_categoriesr'   rI   r·   rz   r*   Úassert_numpy_array_equalZ	__array__r.   )r-   rá   rÅ   Zexp_sZexp_catZexp_s2r1   r1   r2   Ú!test_categorical_sideeffects_freeû  s,    z8TestSeriesConstructors.test_categorical_sideeffects_freec                 C   sF   t dddgtddgƒd�}t tddtjgddgd�ƒ}t ||¡ d S )Nrf   rh   rš   r%   )rñ   )r   r   r   r'   r�   r*   r=   )r-   rÐ   rÑ   r1   r1   r2   Útest_unordered_compare_equal  s    z3TestSeriesConstructors.test_unordered_compare_equalc                 C   s  t jdtd�}t|ƒ}ttjtjtjgƒ}t ||¡ d|d< d|d< ddd	g}t||d
�}tdtjdg|d
�}t ||¡ d|d< t||d
�}tdddg|d
�}t ||¡ t jdtd�}t|ƒ}ttjtjtjgtd�}t ||¡ d|d< d|d< ddd	g}t||d
�}tdtjdg|td�}t ||¡ d|d< t||d
�}tdddg|td�}t ||¡ t jdt	d�}t|ƒ}ttjtjtjgt
d�}t ||¡ d|d< d|d< ddd	g}t||d
�}tdtjdg|t
d�}t ||¡ d|d< t||d
�}tdddg|t	d�}t ||¡ t jddd�}t|ƒ}ttttgdd�}t ||¡ tdddƒ|d< tdddƒ|d< ddd	g}t||d
�}ttdddƒttdddƒg|dd�}t ||¡ tdddƒ|d< t||d
�}ttdddƒtdddƒtdddƒg|dd�}t ||¡ d S )N©rp   r%   ç        r   rÖ   rv   rf   rh   rš   rN   rÕ   r9   rŒ   TFr—   éÑ  rp   )r   Ú
masked_allrn   r   r'   r�   r*   r=   ÚintrÃ   r<   r   r   )r-   r\   r`   r0   rO   r1   r1   r2   Útest_constructor_maskedarray!  s€    



ý ýz3TestSeriesConstructors.test_constructor_maskedarrayc                 C   s>   t jdtd� ¡ }t|ƒ}ttjtjtjgƒ}t ||¡ d S )Nrù   r%   )	r   rü   rn   Zharden_maskr   r'   r�   r*   r=   ©r-   r\   r`   r0   r1   r1   r2   Ú%test_constructor_maskedarray_hardenedn  s    z<TestSeriesConstructors.test_constructor_maskedarray_hardenedc                 C   s:   t dddd�}dd„ |D ƒ}t||d�}|j|ks6t‚d S )NZ20090415Z20090519rk   ©rÍ   c                 S   s   i | ]
}|d “qS ©r9   r1   )rV   Úkr1   r1   r2   Ú
<dictcomp>w  s      zNTestSeriesConstructors.test_series_ctor_plus_datetimeindex.<locals>.<dictcomp>rN   )r   r   rO   r5   )r-   Úrngr\   r`   r1   r1   r2   Ú#test_series_ctor_plus_datetimeindexu  s    z:TestSeriesConstructors.test_series_ctor_plus_datetimeindexc                 C   s,   t dddgƒ}tj|jttdƒƒdd� d S )Nr   r9   rv   rp   T)Úexact)r   r*   r>   rO   r   rq   ©r-   rÅ   r1   r1   r2   Útest_constructor_default_index|  s    z5TestSeriesConstructors.test_constructor_default_indexÚinputrp   r¿   rf   rh   c                 c   s   | ]
}|V  qd S rT   r1   rØ   r1   r1   r2   rX   ‡  s     z TestSeriesConstructors.<genexpr>c                 C   s   | S rT   r1   rÞ   r1   r1   r2   rR   ˆ  rS   c              	   C   s4   d}t jt|d�� t|t d¡d� W 5 Q R X d S )Nz;Length of values \(3\) does not match length of index \(4\)rC   rw   rN   )rF   rG   rH   r   r'   r(   )r-   r
  rJ   r1   r1   r2   Útest_constructor_index_mismatch€  s    z6TestSeriesConstructors.test_constructor_index_mismatchc                 C   s>   t t d¡t d¡dd�}t dt d¡dd�}t ||¡ d S )Néd   rw   r·   rŒ   )r   r'   rI   r(   r*   r=   rò   r1   r1   r2   Útest_constructor_numpy_scalar“  s    z4TestSeriesConstructors.test_constructor_numpy_scalarc              	   C   s6   d}t jt|d�� tdgdddgd� W 5 Q R X d S )Nz;Length of values \(1\) does not match length of index \(3\)rC   Úfoorf   rh   rš   rN   ©rF   rG   rH   r   ©r-   rJ   r1   r1   r2   Útest_constructor_broadcast_list›  s    z6TestSeriesConstructors.test_constructor_broadcast_listc                 C   s2   t  ¡ }||g}t|ddgd�}t|tƒs.t‚d S )Nr   r9   rN   )r*   ZmakeTimeDataFramer   rm   r5   )r-   r‡   ÚobjsrÅ   r1   r1   r2   Útest_constructor_corner£  s    z.TestSeriesConstructors.test_constructor_cornerc              	   C   sj   t t dddg¡dd�}|jt d¡ks,t‚d}tjt|d��" t t ddtjg¡ddd� W 5 Q R X d S )	NrÕ   g       @rg   r%   ú9Cannot convert non-finite values \(NA or inf\) to integerrC   T©rõ   r&   )	r   r'   rI   r&   r5   rF   rG   r
   r�   )r-   rÅ   rJ   r1   r1   r2   Útest_constructor_sanitize©  s
    z0TestSeriesConstructors.test_constructor_sanitizec                 C   st   dgt  dg¡fD ]\}t|ƒ}t|dtd�}t ||¡ d|d< | |¡rNt‚|d dks^t‚|d dkst‚qd S )NrÕ   Tr  rÖ   r   )r'   rI   r   rn   r*   r=   Úequalsr5   )r-   r\   r¥   Úyr1   r1   r2   Útest_constructor_copy±  s    z,TestSeriesConstructors.test_constructor_copyZ20170101©rÌ   rÏ   ©rÌ   z1 dayZ2012Q1ÚQr¼   c                 C   s
   t | ƒjS rT   ©Útyper³   rÞ   r1   r1   r2   rR   Í  rS   )Zidsc                 C   s"   t |ƒ}|jjd j|k	st‚d S ©Nr   )r   Ú_mgrÚblocksr.   r5   )r-   rO   rÅ   r1   r1   r2   Útest_constructor_limit_copiesÁ  s    z4TestSeriesConstructors.test_constructor_limit_copiesc                 C   sJ   t dddgƒ}| ¡ }t |ƒ}|j|jk	s.t‚dddg|_t ||¡ d S )Nr9   rv   rp   rf   rh   rš   )r   rõ   r   r5   rO   r*   r=   )r-   rÅ   Zs_origr®   r1   r1   r2   Útest_constructor_shallow_copy×  s    z4TestSeriesConstructors.test_constructor_shallow_copyc                 C   st   t d tdƒd�}|jtjks t‚t d tdƒtd�}|jtjksBt‚t t d g¡d�}t t	d gƒd�}t
 ||¡ d S )Nr„   rN   rŒ   )r   rq   r&   r'   rŠ   r5   r<   rz   rI   r   r*   r=   ©r-   rÅ   r0   r1   r1   r2   Útest_constructor_pass_noneã  s    z1TestSeriesConstructors.test_constructor_pass_nonec                 C   s  t tjtjgtjd�}|jtjks&t‚t t tjtjgƒ|¡ t t t tjtjg¡ƒ|¡ t t	t	gƒ}|jdksvt‚t t t	t	gƒ|¡ t t t t	t	g¡ƒ|¡ t t t	tjgƒ|¡ t t t t	tjg¡ƒ|¡ t t tjt	gƒ|¡ t t t tjt	g¡ƒ|¡ d S )Nr%   rE   )
r   r'   r�   rŠ   r&   r5   r*   r=   rI   r   )r-   rÜ   r1   r1   r2   Útest_constructor_pass_nan_natð  s    z4TestSeriesConstructors.test_constructor_pass_nan_natc              	   C   s4   d}t jt|d�� tdddgtd� W 5 Q R X d S )Nz!could not convert string to floatrC   rf   rh   rš   r%   )rF   rG   rH   r   rn   r  r1   r1   r2   Útest_constructor_cast  s    z,TestSeriesConstructors.test_constructor_castc              	   C   s`   d}t jt|d�� tdddgdd� W 5 Q R X t jt|d�� tdddgdd� W 5 Q R X d S )	Nz/Values are too large to be losslessly convertedrC   r9   éÈ   i2 Úint8r%   Úuint8r  r  r1   r1   r2   Ú+test_constructor_signed_int_overflow_raises  s
    zBTestSeriesConstructors.test_constructor_signed_int_overflow_raisesr.   r%   c                 C   s8   |d }t |ƒ}|d j|jks$t‚|d |ks4t‚d S r  )r   r&   r5   )r-   r.   Úvaluer`   r1   r1   r2   Útest_constructor_numpy_uints  s    z3TestSeriesConstructors.test_constructor_numpy_uintsc              	   C   s0   d}t jt|d�� tdg|d� W 5 Q R X d S )Nz5Trying to coerce negative values to unsigned integersrC   éÿÿÿÿr%   )rF   rG   ÚOverflowErrorr   )r-   Zany_unsigned_int_numpy_dtyperJ   r1   r1   r2   Ú(test_constructor_unsigned_dtype_overflow#  s    z?TestSeriesConstructors.test_constructor_unsigned_dtype_overflowc              	   C   s*  t j d¡}d}tjt|d�� ||dd� W 5 Q R X tjt|d�� |t|ƒdd� W 5 Q R X t j|d< d}tjt|d�� ||dd� W 5 Q R X t}|t	kr¨t}d}tj||d�� |t|ƒdd� W 5 Q R X t j
d	d
gdd�}|| d¡ƒ}||dd�}t ||¡ |t|ƒdd�}t ||¡ d S )Nrv   ú(Trying to coerce float values to integerrC   rg   r%   r   r  ú#cannot convert float NaN to integerrÕ   rÖ   rŠ   )r'   r|   r}   rF   rG   rH   r,   r�   r
   r   rI   r)   r*   r+   )r-   Úframe_or_seriesÚarrrJ   Úexcr0   rÀ   r1   r1   r2   Ú(test_constructor_floating_data_int_dtype)  s,    
z?TestSeriesConstructors.test_constructor_floating_data_int_dtypec              	   C   sd   dddg}d}t jt|d�� t||d� W 5 Q R X t jt|d�� tt |¡|d� W 5 Q R X d S )Nr9   rv   ç      @r1  rC   r%   )rF   rG   rH   r   r'   rI   ©r-   Zany_int_numpy_dtyper@   rJ   r1   r1   r2   Ú"test_constructor_coerce_float_failU  s    
z9TestSeriesConstructors.test_constructor_coerce_float_failc                 C   s6   t dddg|d�}t dddgƒ |¡}t ||¡ d S )Nr9   rv   r7  r%   rÓ   )r-   Zfloat_numpy_dtyperÅ   r0   r1   r1   r2   Ú#test_constructor_coerce_float_validb  s    z:TestSeriesConstructors.test_constructor_coerce_float_validc              	   C   sj   ddt jg}d}tjt|d�� t||d� W 5 Q R X d}tjt|d�� tt  |¡|d� W 5 Q R X d S )Nr9   rv   r2  rC   r%   r  )r'   r�   rF   rG   rH   r   r
   rI   r8  r1   r1   r2   Ú3test_constructor_invalid_coerce_ints_with_float_nang  s    zJTestSeriesConstructors.test_constructor_invalid_coerce_ints_with_float_nanc                 C   sN   t dddgƒ}t |tjd�}d|d< |r:|d dksJt‚n|d dksJt‚d S )Nr9   rv   rp   r%   r„   )r   r'   r·   r5   )r-   Zusing_copy_on_writerÅ   r®   r1   r1   r2   Útest_constructor_dtype_no_castu  s    z5TestSeriesConstructors.test_constructor_dtype_no_castc                 C   sN   t tdƒdgtd�}|jd tdƒks*t‚|jd dks<t‚|jtksJt‚d S )NÚ20130101ZNOVr%   r   r9   )r   r   r<   rŸ   r5   r&   r  r1   r1   r2   Ú"test_constructor_datelike_coercion€  s    z9TestSeriesConstructors.test_constructor_datelike_coercionc                 C   sn   d  ¡ }d  ¡ }d  ¡ }t d  ¡ ¡}t|||dœ|d�}|jd }|jtksRt‚|jd }|jtksjt‚d S )	Nz216 3T19z	2T15 4H19z416 4T20z2016-01-22 2019-09-07)Úwing1Úwing2ÚmatrN   Z3T19Z216)ÚsplitÚpdÚto_datetimer   rì   r&   r<   r5   )r-   Zbellyr?  r@  rA  r‡   r`   r1   r1   r2   Ú#test_constructor_datelike_coercion2‰  s    

z:TestSeriesConstructors.test_constructor_datelike_coercion2c                 C   sB   t dƒdtjg}||dd�}|t dƒt dƒtgƒ}t ||¡ d S )Nr†   r#   r—   r%   )r   r   Ú_valuer*   r+   )r-   r3  r  r`   r0   r1   r1   r2   Ú(test_constructor_mixed_int_and_timestamp—  s    z?TestSeriesConstructors.test_constructor_mixed_int_and_timestampc                 C   sP   t  d d d d t ¡ d g¡t  d d t ¡ d g¡fD ]}t|ƒ}|jdks0t‚q0d S ©Nr—   )r'   rI   r   Únowr   r&   r5   )r-   r4  r`   r1   r1   r2   Ú%test_constructor_datetimes_with_nullsŸ  s
    þz<TestSeriesConstructors.test_constructor_datetimes_with_nullsc                 C   sà   t tdtdƒd�}t|ƒ ¡ s"t‚t ttdƒd�}t|ƒ ¡ rBt‚t tjdtdƒd�}t|ƒ ¡ sft‚t tdddddƒtgdd	�}t|d ƒs’t‚|j	dks t‚t tdddddƒtjgdd	�}t|d ƒsÎt‚|j	dksÜt‚d S )
Nr—   r„   rŽ   rN   rû   r9   rv   r   r%   )
r   r   rq   r   r4   r5   r'   r�   r   r&   r  r1   r1   r2   Ú!test_constructor_dtype_datetime64¨  s    z8TestSeriesConstructors.test_constructor_dtype_datetime64c                 C   sú   t dddƒt dddƒt dddƒg}dd„ |D ƒ}t|ƒ}|jdksFt‚tj|jd< |jdks`t‚t|d	d
�}tt|ƒ tj¡d dd
�}t	 
||¡ t|d	d
�}t	 
||¡ ttt dddƒt dddƒgdd
�}ttjg|dd …  dd
�}t	 
||¡ d S )NéÝ  r9   rv   rp   c                 S   s   g | ]}t  |¡‘qS r1   ©r'   Ú
datetime64©rV   r¥   r1   r1   r2   Ú
<listcomp>¿  s     zOTestSeriesConstructors.test_constructor_dtype_datetime64_10.<locals>.<listcomp>r—   r   zdatetime64[ms]r%   é@B úM8[ms]rE   )r   r   r&   r5   r'   r�   rŸ   Úviewr·   r*   r=   r   )r-   ÚpydatesÚdatesr7   r0   r`   r1   r1   r2   Ú$test_constructor_dtype_datetime64_10¼  s"    " ÿz;TestSeriesConstructors.test_constructor_dtype_datetime64_10c              	   C   sœ   t dddƒt dddƒt dddƒg}dd„ |D ƒ}t|dd�}| d	¡ d
}tjt|d�� | d¡ W 5 Q R X t|tjd�}t| tj¡ƒ}t 	||¡ d S )NrL  r9   rv   rp   c                 S   s   g | ]}t  |¡‘qS r1   rM  rO  r1   r1   r2   rP  Ø  s     zOTestSeriesConstructors.test_constructor_dtype_datetime64_11.<locals>.<listcomp>rE   r%   r·   z:Converting from datetime64\[ns\] to int32 is not supportedrC   rÄ   )
r   r   r)   rF   rG   rd   r'   r·   r*   r=   )r-   rT  rU  ÚdtsrJ   r`   r0   r1   r1   r2   Ú$test_constructor_dtype_datetime64_11Ö  s    "
z;TestSeriesConstructors.test_constructor_dtype_datetime64_11c                 C   s`   t tdddƒgƒ}|d tdddddƒks.t‚t tdddƒgƒ}|d tdddddƒks\t‚d S )Nrv   r9   r   i¸  )r   r   r5   rœ   r1   r1   r2   Ú#test_constructor_dtype_datetime64_9ë  s    z:TestSeriesConstructors.test_constructor_dtype_datetime64_9c                 C   s@   t tdƒdgddgd�}|d tdƒks,t‚|d dks<t‚d S )Nr=  r9   rf   rh   rN   )r   r   r5   rœ   r1   r1   r2   Ú#test_constructor_dtype_datetime64_8ó  s    z:TestSeriesConstructors.test_constructor_dtype_datetime64_8c           
      C   s*  t dddd�}| tj¡ d¡}t||d�}dD ]d}t d|› d	�¡}| tj¡ |¡}t||ƒ}|d
krtt d¡}|j|ks‚t‚t 	|| |¡¡ q0t||t
d�}dD ]8}| tj¡ d|› d	�¡}t||t
d�}t 	||¡ q¨tjdd„ | ¡ D ƒt
d�}t||ƒ}	t |	j|¡ |	jt
k�s&t‚d S )Nz01-Jan-2015z01-Dec-2015ÚMr  rE   rN   )rÅ   ÚDÚmsÚusÚnszM8[ú]r\  r$   rŒ   c                 S   s   g | ]}|  ¡ ‘qS r1   )r;   )rV   r¨   r1   r1   r2   rP    s     zNTestSeriesConstructors.test_constructor_dtype_datetime64_7.<locals>.<listcomp>r%   )r   rS  r'   Úndarrayr)   r   r&   r5   r*   r=   r<   rI   r:   rö   r.   )
r-   rU  Zvalues2r0   Úunitr&   Zvalues1r`   Zdates2Zseries1r1   r1   r2   Ú#test_constructor_dtype_datetime64_7ù  s(    


z:TestSeriesConstructors.test_constructor_dtype_datetime64_7c                 C   sx   t d tdgƒ}|jtkst‚t tjtdgƒ}|jtks:t‚t td dgƒ}|jtksVt‚t ttjdgƒ}|jtkstt‚d S )Nz2013-08-05 15:30:00.000001)r   r   r&   r<   r5   r'   r�   r6   r1   r1   r2   Ú#test_constructor_dtype_datetime64_6  s    z:TestSeriesConstructors.test_constructor_dtype_datetime64_6c                 C   s|   t ddd�}t|ƒjd jd ks$t‚t dddd�}tt|ƒjd jƒdksNt‚t dddd�}tt|ƒjd jƒdksxt‚d S )Nr=  rp   r  r   ÚUTCr  rÎ   )r   r   rŸ   rÏ   r5   r�   )r-   Údrr1   r1   r2   Ú#test_constructor_dtype_datetime64_5(  s    z:TestSeriesConstructors.test_constructor_dtype_datetime64_5c                 C   s@   t ddtgƒ}|jdkst‚|d tks,t‚dt|ƒks<t‚d S )Nl   *�}aiZléÿr<   rv   r   )r   r   r&   r5   r�   r  r1   r1   r2   Ú#test_constructor_dtype_datetime64_42  s    z:TestSeriesConstructors.test_constructor_dtype_datetime64_4c                 C   sP   t tdddƒtdddƒtgƒ}|jdks,t‚|d tks<t‚dt|ƒksLt‚d S )NéÚ  r9   rv   r<   r   )r   r   r   r&   r5   r�   r  r1   r1   r2   Ú#test_constructor_dtype_datetime64_39  s    z:TestSeriesConstructors.test_constructor_dtype_datetime64_3c                 C   sT   t tdddƒtdddƒtjgƒ}|jdks.t‚|d tjks@t‚dt|ƒksPt‚d S )Nri  r9   rv   r<   ry   )r   r   r'   r�   r&   r5   r�   r  r1   r1   r2   Ú#test_constructor_dtype_datetime64_2@  s     z:TestSeriesConstructors.test_constructor_dtype_datetime64_2c                 C   sØ  t dddd�}t|ƒ}|jjdks&t‚|jdks4t‚t|jƒsBt‚dt|ƒksRt‚|j}t|t	j
ƒsht‚|jdksvt‚t|ƒ}| d¡j|jjd�}t ||¡ |jd	 }|td
dd�ks¾t‚|d	 }|td
dd�ksÚt‚|tdddg|jd� }t ||d	d… ¡ |jd	d… }t |t|d	d… ƒ¡ t |jd	d… |jdd … g¡}t ||¡ dt|ƒk�slt‚| ¡ }dt|ƒk�s†t‚dt|ƒk�s˜t‚tt dddd�ƒ}dt|ƒk�s¼t‚t|dd�}t ||¡ d S )Nr=  rp   rÎ   r  údatetime64[ns, US/Eastern]rE   re  ©rÏ   r   z2013-01-01 00:00:00-0500TFrN   rv   r9   r   éè  Zinferr  )r   r   r&   rc   r5   r   r�   r.   rm   r'   ra  r   Útz_localizeÚ
tz_convertÚdtrÏ   r*   r>   rŸ   r   rO   r=   rC  ÚconcatÚshift)r-   rf  rÅ   r`   rÜ   Útr1   r1   r2   Ú!test_constructor_with_datetime_tzG  s<    
"z8TestSeriesConstructors.test_constructor_with_datetime_tzc                 C   sD   t tddd�tddd�gƒ}|jdks*t‚tj|dd�dks@t‚d S )	Nú2013-01-01 13:00:00-0800ú
US/Pacificrm  ú2013-01-02 14:00:00-0800zdatetime64[ns, US/Pacific]T©ZskipnarN  ©r   r   r&   r5   r	   Zinfer_dtyper  r1   r1   r2   Ú"test_constructor_with_datetime_tz4z  s    

þÿz9TestSeriesConstructors.test_constructor_with_datetime_tz4c                 C   sD   t tddd�tddd�gƒ}|jdks*t‚tj|dd�d	ks@t‚d S )
Nrv  rw  rm  rx  rÎ   r<   Try  r   rz  r  r1   r1   r2   Ú"test_constructor_with_datetime_tz3…  s    

þÿz9TestSeriesConstructors.test_constructor_with_datetime_tz3c                 C   s6   t tddgdd�}t tddgdd�ƒ}t ||¡ d S )Nr   r9   rl  rŒ   r   rÎ   rm  )r   r   r   r*   r=   r$  r1   r1   r2   Ú"test_constructor_with_datetime_tz2�  s    z9TestSeriesConstructors.test_constructor_with_datetime_tz2c                    sB   dt dƒddd g‰tˆƒ‰ t‡ ‡fdd„ttˆƒƒD ƒƒs>t‚d S )Nr�   z
1990-01-01z2015-03-14T16:15:14.123-08:00z2019-03-04T21:56:32.620-07:00c                 3   s   | ]}ˆ | ˆ| kV  qd S rT   r1   rØ   ©r7   r@   r1   r2   rX   Ÿ  s     zVTestSeriesConstructors.test_constructor_no_partial_datetime_casting.<locals>.<genexpr>)r   r   r4   rq   r_   r5   r±   r1   r~  r2   Ú,test_constructor_no_partial_datetime_casting•  s    ûzCTestSeriesConstructors.test_constructor_no_partial_datetime_castingÚ	arr_dtypeÚkindr[  r‚   rb  r_  r^  r]  rÅ   Úhr\  c           	      C   s¢   |› d|› d�}t jdddg|d�}t|ƒ}| |¡}t| |¡ƒ}|dkrj|j|ksZt‚|j|ks’t‚n(|j|› d�ks~t‚|j|› d�ks’t‚t ||¡ d S )	Nú8[r`  r9   rv   rp   r%   )r_  r^  r]  rÅ   z8[s])r'   rI   r   r)   r&   r5   r*   r=   )	r-   r€  r�  rb  r&   r4  r7   r`   r0   r1   r1   r2   Ú&test_construction_to_datetimelike_unit¡  s    
z=TestSeriesConstructors.test_construction_to_datetimelike_unitÚargz2013-01-01 00:00:00c                 C   s2   t |gdd�}t t|ƒƒj d¡}t ||¡ d S )Nzdatetime64[ns, CET]r%   ZCET)r   r   rq  ro  r*   r=   )r-   r…  r`   r0   r1   r1   r2   Ú7test_constructor_with_naive_string_and_datetimetz_dtype¹  s    zNTestSeriesConstructors.test_constructor_with_naive_string_and_datetimetz_dtypec                 C   s^   t  dd¡}t jt  dd¡gdd�}t|ƒ}tt|ƒgƒ d¡}|jdksNt‚t 	||¡ d S )Nr9   r]  z>M8[ms]r%   rR  )
r'   rN  rI   r   r   r)   r&   r5   r*   r=   )r-   r]  r4  r`   r0   r1   r1   r2   Ú%test_constructor_datetime64_bigendianÀ  s    z<TestSeriesConstructors.test_constructor_datetime64_bigendianÚinterval_constructorc                 C   sD   |j t d¡dd�}t|ƒ}|jdks*t‚t t|j	ƒt|ƒ¡ d S )Nrp   rÑ   ©Úclosedzinterval[int64, right])
Zfrom_breaksr'   r(   r   r&   r5   r*   r>   r   r.   )r-   rˆ  Z	intervalsr`   r1   r1   r2   Útest_construction_intervalÊ  s    z1TestSeriesConstructors.test_construction_intervalÚdata_constructorr,   zndarray[object]c                 C   sL   t ddƒt ddƒd g}t||ƒƒ}tt|ƒƒ}|jdks<t‚t ||¡ d S )Nr   r9   rv   zinterval[float64, right])r   r   r   r&   r5   r*   r=   ©r-   rŒ  r\   r`   r0   r1   r1   r2   Útest_constructor_infer_intervalÒ  s
    z6TestSeriesConstructors.test_constructor_infer_intervalc                 C   sJ   t dddd�t dddd�g}t||ƒƒ}|jtks6t‚| ¡ |ksFt‚d S )Nr   r9   Zbothr‰  rv   Zneither)r   r   r&   r<   r5   r›   )r-   rŒ  r\   r`   r1   r1   r2   Ú&test_constructor_interval_mixed_closedÝ  s    z=TestSeriesConstructors.test_constructor_interval_mixed_closedc              	   C   s   t tdddd�ƒ}t ||jd�}t ||¡ t |j d¡|jd�}t ||¡ t |j|jd�}t |jƒj |jj	¡}t ||¡ t 
d ¡�( t |jƒj d¡}|j |jj	¡}W 5 Q R X t ||¡ t 
d ¡� t |j d¡|jd�}W 5 Q R X t ||¡ d S )Nr=  rp   rÎ   r  r%   re  r·   )r   r   r&   r*   r=   rq  rp  r.   ro  rÏ   Zassert_produces_warningrS  )r-   r7   r`   r0   Úmiddler1   r1   r2   Útest_construction_consistencyç  s     z4TestSeriesConstructors.test_construction_consistencyc                 C   sL   t ddƒt ddƒd g}t||ƒƒ}tt|ƒƒ}t ||¡ |jdksHt‚d S )NÚ2000r\  Ú2001ú	Period[D])r   r   r    r*   r=   r&   r5   r�  r1   r1   r2   Útest_constructor_infer_period  s
    z4TestSeriesConstructors.test_constructor_infer_periodz$PeriodDtype Series not supported yet©Úreasonc                 C   sH   t dddtjjgdd�}|d }t|ƒs,t‚||d< t|d ƒsDt‚d S )Nr   rn  éÐ  z	period[D]r%   rp   rv   )r   rC  Z_libsr   r   r5   ©r-   rî   Úvalr1   r1   r2   Ú;test_construct_from_ints_including_iNaT_scalar_period_dtype  s
    zRTestSeriesConstructors.test_construct_from_ints_including_iNaT_scalar_period_dtypec                 C   s>   t ddƒt ddƒg}t|ƒ}|jtks*t‚| ¡ |ks:t‚d S )Nr’  r\  r“  rj   )r   r   r&   r<   r5   r›   )r-   r\   r`   r1   r1   r2   Ú.test_constructor_period_incompatible_frequency  s    zETestSeriesConstructors.test_constructor_period_incompatible_frequencyc                 C   sB   t dddd�}t|ƒ}|jdks$t‚t| t¡ƒ}t ||¡ d S )Nr=  r„   r\  rË   r”  )r   r   r&   r5   r)   r<   r*   r=   )r-   ÚpirÅ   r0   r1   r1   r2   Útest_constructor_periodindex  s
    z3TestSeriesConstructors.test_constructor_periodindexc                 C   sÒ   ddddœ}t |ƒ}t |t| ¡ ƒd�}t ||¡ t |dddd	gd�}t d
dtjdgdddd	gd�}t ||¡ t d¡}|d d|d
 d
i}t ||d�}t tj|tjd�}d|j	d< d
|j	d
< t ||¡ d S )Nrú   rÕ   rÖ   )rf   rh   rš   rN   rh   rš   r¨   rf   r9   rv   r   r  r%   )
r   r«   Úkeysr*   r=   r'   r�   ZmakePeriodIndexrŠ   rŸ   )r-   r¨   r`   r0   Zpidxr1   r1   r2   Útest_constructor_dict'  s    


z,TestSeriesConstructors.test_constructor_dictc                 C   sB   ddgdgdggi}t |dgdd�}t |dgd�}t ||¡ d S )Nrf   rv   rp   rw   r<   rŒ   rN   r½   ©r-   r¨   r`   r0   r1   r1   r2   Ú/test_constructor_dict_list_value_explicit_dtype:  s    zFTestSeriesConstructors.test_constructor_dict_list_value_explicit_dtypec                 C   s:   ddddœ}t |ƒ}t dddgtdƒd�}t ||¡ d S )Nr9   r   rv   )rh   rf   rš   ZbacrN   )r   r,   r*   r=   r¡  r1   r1   r2   Útest_constructor_dict_orderA  s    z2TestSeriesConstructors.test_constructor_dict_orderc                 C   sL   |\}}d|i}t |dgd�}t |dg|d�}|j|ks<t‚t ||¡ d S )Nrf   rN   rŒ   )r   r&   r5   r*   r=   )r-   rr   rs   rt   r¨   r`   r0   r1   r1   r2   Útest_constructor_dict_extensionJ  s    z6TestSeriesConstructors.test_constructor_dict_extensionr,  c                 C   sª   dd|dt dƒdddi}t|ƒ ¡ }tddddgd|tjdgd�}t ||¡ d	dd
tjfdd|fdi}t|ƒ ¡ }tdddgtd	d
tjfd|fgƒd�}t ||¡ d S )Nr9   rf   rh   r�   rš   rw   r¨   rN   ©r9   r9   rv   rp   )rn   r   Úsort_valuesr'   r�   r*   r=   r   )r-   r,  r¨   r`   r0   r1   r1   r2   Útest_constructor_dict_nan_keyT  s     ÿz4TestSeriesConstructors.test_constructor_dict_nan_keyc           	         s˜   ddddg‰ ddddg‰‡ ‡fd	d
„}|t jƒ}|dd„ ƒ}|tƒ}tˆdd„ ˆ D ƒƒ}t|ƒ}t|ƒ}t|ƒ}t ||¡ t ||¡ t ||¡ d S )Nz
1984-02-19z
1988-11-06z
1989-12-03z
1990-03-15g{—‰\I„Ai…Ö g„¦tyZQƒAr.  c                    s   t t‡ fdd„ˆD ƒˆƒƒS )Nc                 3   s   | ]}ˆ |ƒV  qd S rT   r1   rO  ©rL   r1   r2   rX   k  s     zeTestSeriesConstructors.test_constructor_dict_datetime64_index.<locals>.create_data.<locals>.<genexpr>)ÚdictÚzipr¨  ©Zdates_as_strr.   r¨  r2   Úcreate_dataj  s    zRTestSeriesConstructors.test_constructor_dict_datetime64_index.<locals>.create_datac                 S   s   t  | d¡S )Nz%Y-%m-%d)r   ÚstrptimerÞ   r1   r1   r2   rR   n  rS   zOTestSeriesConstructors.test_constructor_dict_datetime64_index.<locals>.<lambda>c                 s   s   | ]}t |ƒV  qd S rT   )r   rO  r1   r1   r2   rX   q  s     zPTestSeriesConstructors.test_constructor_dict_datetime64_index.<locals>.<genexpr>)r'   rN  r   r   r*   r=   )	r-   r¬  Zdata_datetime64Zdata_datetimeZdata_Timestampr0   Zresult_datetime64Zresult_datetimeZresult_Timestampr1   r«  r2   Ú&test_constructor_dict_datetime64_indexd  s    
z=TestSeriesConstructors.test_constructor_dict_datetime64_indexc                 C   sN   ddi}t |ƒ}t dtdgdgtjggdgdgdggd�d�}t ||¡ d S )N)r9   r9   Ng      ð¿r9   r   r.  )ZlevelsÚcodesrN   )r   r   r'   r�   r*   r=   rÿ   r1   r1   r2   Ú#test_constructor_dict_tuple_indexer{  s     $ÿz:TestSeriesConstructors.test_constructor_dict_tuple_indexerc                 C   s4   |ddiƒ}t |ƒ}t dgdgd�}t ||¡ d S )Nrp   ÚthreerN   r½   )r-   Znon_dict_mapping_subclassZndmr`   r0   r1   r1   r2   Útest_constructor_mapping„  s    z/TestSeriesConstructors.test_constructor_mappingc                 C   s&   dddg}t |ƒ}t|ƒ|ks"t‚d S )Nr¥  ©rv   rv   ©rv   rp   )r   r,   r5   ©r-   r\   rÅ   r1   r1   r2   Útest_constructor_list_of_tuplesŒ  s    
z6TestSeriesConstructors.test_constructor_list_of_tuplesc                 C   s    d}t |ƒ}t|ƒ|kst‚d S )N)r¥  r³  r´  )r   Útupler5   rµ  r1   r1   r2   Ú test_constructor_tuple_of_tuples‘  s    z7TestSeriesConstructors.test_constructor_tuple_of_tuplesc                 C   s@   dddœ}t |ƒ ¡ }t ddgt ddg¡d�}t ||¡ d S )Nrp   r…   )©r9   rv   ©Nr„   r¹  rº  rN   )r   r¦  r   Úfrom_tuplesr*   r=   rÿ   r1   r1   r2   Útest_constructor_dict_of_tuples–  s    
z6TestSeriesConstructors.test_constructor_dict_of_tuplesz+ignore:elementwise comparison:FutureWarningc                 C   sœ   dddddœ}t |ƒ}t |j¡ dddt ¡ dœ}t |ƒ}|jtjksLt	‚dddddœ}t |ƒ}|jtjksrt	‚d	dd
œ}t |t
d�}|jtjks˜t	‚d S )Nr   r9   rv   rp   )rf   rh   rš   r¨   rÈ   rÉ   Ú3Ú0©rf   rh   r%   )r   r*   Zassert_is_sortedrO   r   rI  r&   r'   rz   r5   rn   rŠ   )r-   r\   rî   r1   r1   r2   Útest_fromDict�  s    
z$TestSeriesConstructors.test_fromDictc                 C   sø   t tj|jtjd�}|jtjks$t‚t|ƒt|ƒks8t‚t d|jd�}|jtj	ksVt‚t|ƒt|ƒksjt‚t
 ¡ }t ||jd�}|jdksŽt‚t|ƒt|ƒks¢t‚t d|jdd�}t d|jd� d¡}|jdksÔt‚t|ƒt|ƒksèt‚t ||¡ d S )NrŒ   r  rN   r—   r   r‹   )r   r'   ry   rO   rŠ   r&   Zfloat_r5   r_   rz   r   rI  r)   r*   r=   )r-   r   ZnansÚstringsr¨   rU  Zcategoricalr0   r1   r1   r2   Útest_fromValue°  s    z%TestSeriesConstructors.test_fromValuec              	   C   s¨  t dd„ tdƒD ƒƒ}|jdks$t‚t tdd�gƒ}|jdksBt‚t tdd�tdd�t dd¡gƒ}|jdksrt‚t tdd�tgd	d
�}|jdks–t‚t tdd�tjgd	d
�}|jdks¼t‚t t d¡tgd	d
�}|jdksàt‚t t d¡tgƒ}|jdk�st‚t t d¡t	gƒ}|jdk�s$t‚t t d¡tjgƒ}|jdk�sHt‚t tt d¡gƒ}|jdk�sjt‚t t dd¡gƒ}|jdk�sŒt‚| 
d¡ d}tjt|d�� | 
d¡ W 5 Q R X d ddg¡}tjt|d�� t tdd�dgd	d
� W 5 Q R X t dd„ tdƒD ƒdg ƒ}|jdk�s(t‚t d tdgƒ}|jtk�sFt‚t tjtdgƒ}|jtk�sft‚t td dgƒ}|jtk�s„t‚t ttjdgƒ}|jtk�s¤t‚d S )Nc                 S   s   g | ]}t |d �‘qS ©©Údays©r   rØ   r1   r1   r2   rP  È  s     zMTestSeriesConstructors.test_constructor_dtype_timedelta64.<locals>.<listcomp>rp   útimedelta64[ns]r9   rÄ  rv   rÅ   r˜   r%   i £ár<   r·   z;Converting from timedelta64\[ns\] to int32 is not supportedrC   rÄ   ú|z+Could not convert object to NumPy timedeltaz*Could not convert 'foo' to NumPy timedeltar  c                 S   s   g | ]}t |d �‘qS rÃ  rÆ  rØ   r1   r1   r2   rP    s     z1 Day)r   rq   r&   r5   r   r'   Útimedelta64r   r�   r   r)   rF   rG   rd   ÚjoinrH   r<   )r-   ÚtdrJ   r7   r1   r1   r2   Ú"test_constructor_dtype_timedelta64Æ  sV    "
þÿ z9TestSeriesConstructors.test_constructor_dtype_timedelta64c                 C   sD   t tdƒtddd�gƒ}t tdƒtddd�gdd�}t ||¡ d S )Nr=  rÎ   rm  r<   r%   )r   r   r*   r=   r$  r1   r1   r2   Útest_constructor_mixed_tz  s    þz0TestSeriesConstructors.test_constructor_mixed_tzc                 C   sD   t dddtgdd�}|d }t|ƒs(t‚||d< t|d ƒs@t‚d S )Nr   rn  r˜  r—   r%   rp   rv   )r   r   r   r5   r™  r1   r1   r2   Útest_NaT_scalar  s
    z&TestSeriesConstructors.test_NaT_scalarc                 C   s,   t tjgƒ d¡}t tgƒ}t ||¡ d S rH  )r   r'   r�   r)   r   r*   r=   rò   r1   r1   r2   Útest_NaT_cast$  s    
z$TestSeriesConstructors.test_NaT_castc                 C   s^   dddt dddƒddfD ]@}dd	d
gt d
¡dddœfD ]}t||d�}|j|ks8t‚q8qd S )Ni	  g     Hˆ@rc   rû   é   r  u   ×�r9   rv   rp   r   r¿  ræ   )r   r'   Úonesr   rc   r5   )r-   Únr\   rÅ   r1   r1   r2   Útest_constructor_name_hashable*  s     z5TestSeriesConstructors.test_constructor_name_hashablec                 C   sf   d}dgt  d¡ddifD ]F}dgt  d¡ddifD ]*}tjt|d�� t||d� W 5 Q R X q4qd S )Nz$Series\.name must be a hashable typeÚ	name_listrv   r9   rC   ræ   )r'   rÑ  rF   rG   rd   r   )r-   rJ   rÒ  r\   r1   r1   r2   Ú test_constructor_name_unhashable0  s
    z7TestSeriesConstructors.test_constructor_name_unhashablec                 C   s&   t ttddd�ƒƒ}|jdks"t‚d S )Nú1/1/2000r#   r  r—   )r   r,   r   r&   r5   ©r-   rî   r1   r1   r2   Útest_auto_conversion7  s    z+TestSeriesConstructors.test_auto_conversionc                 C   s   t jdddgdd�}t|ƒ}|j|jks,t‚tdddd� d¡}t|ƒ}|j|jksXt‚t ||¡ t jd	d
dgdd�}t|ƒ}tt	dddd�dd�}|jdks¤t‚t ||¡ t jdddgdd�}t|ƒ}tt	dddd�dd�}|jdksðt‚t ||¡ d S )Nr9   rv   rp   útimedelta64[s]r%   z00:00:01rÅ   rË   ú
2013-01-01z
2013-01-02z
2013-01-03zdatetime64[D]r=  r\  r$   z2013-01-01 00:00:01z2013-01-01 00:00:02z2013-01-01 00:00:03zdatetime64[s]z20130101 00:00:01)
r'   rI   r   r&   r5   r   Zas_unitr*   r=   r   )r-   r4  r7   Ztdir0   r1   r1   r2   Útest_convert_non_ns;  s4     ÿþ ÿz*TestSeriesConstructors.test_convert_non_nsrÖ  r#   z2000-Q1c                 C   s
   t | ƒjS rT   r  rÞ   r1   r1   r2   rR   a  rS   c              	   C   sl   dt |ƒj d¡› d�}tjt|d�� t|td� W 5 Q R X t|tj	d�}t| 
tj	¡ƒ}t ||¡ d S )NzCannot cast r   z.*? to rC   r%   )r  r³   ÚrstriprF   rG   rd   r   rn   r'   r·   r)   r*   r=   )r-   rO   rJ   r`   r0   r1   r1   r2   Ú'test_constructor_cant_cast_datetimelikeZ  s    z>TestSeriesConstructors.test_constructor_cant_cast_datetimelikec                 C   s
   t | ƒjS rT   r  rÞ   r1   r1   r2   rR   {  rS   c                 C   s„   t |td�}t |ƒ t¡}t ||¡ t t|td�td�}t |ƒ t¡}t ||¡ t | t¡td�}t |ƒ t¡}t ||¡ d S rÒ   )r   r<   r)   r*   r=   r   )r-   rO   rÅ   rÜ   r1   r1   r2   Útest_constructor_cast_objectt  s    
z3TestSeriesConstructors.test_constructor_cast_objectc              	   C   sX   d}t  |¡jdkr.tjjdd�}|j |¡ tjt	|d�� t
g |d� W 5 Q R X d S )Nz!dtype has no unit. Please pass in)rÉ  rN  zGH#33890 Is assigned ns unitr–  rC   r%   )r'   r&   rc   rF   ÚmarkÚxfailÚnodeZ
add_markerrG   rH   r   )r-   r&   ÚrequestrJ   rß  r1   r1   r2   Ú/test_constructor_generic_timestamp_no_frequencyŠ  s    zFTestSeriesConstructors.test_constructor_generic_timestamp_no_frequencyZpsÚasÚfsÚYÚWc              	   C   sh   |› d|› d�}d}t jt|d�� tg |d� W 5 Q R X t jt|d�� tdgg|d� W 5 Q R X d S )Nrƒ  r`  z4dtype=.* is not supported. Supported resolutions arerC   r%   r   )rF   rG   rd   r   r   )r-   r�  rb  r&   rJ   r1   r1   r2   Ú0test_constructor_generic_timestamp_bad_frequency–  s    zGTestSeriesConstructors.test_constructor_generic_timestamp_bad_frequencyr*  c                 C   s:   t dddddg|pdd�}t tdƒ|d�}t ||¡ d S )	Nr   r9   rv   rp   rw   r·   r%   r„   r•   )r-   r&   r0   r`   r1   r1   r2   Útest_constructor_range_dtype§  s    z3TestSeriesConstructors.test_constructor_range_dtypec                 C   sL  t ddƒ}t|ƒ}tt|ƒƒ}t ||¡ t|ƒt|ƒks>t‚|jtjksNt‚t dddƒ}t|ƒ}tt|ƒƒ}t ||¡ t|ƒt|ƒksŽt‚|jtjksžt‚t dddƒ}t|ƒ}tt|ƒƒ}	t ||	¡ t|ƒt|ƒksÞt‚|jt	ksìt‚t dd dd d ƒ}
t|
ƒ}tt|
ƒƒ}t ||¡ t|ƒt|
ƒk�s8t‚|jt	k�sHt‚d S )	Nl            l           r.  lûÿÿÿ         lûÿÿÿ        rv   éI   rw   )
rq   r   r,   r*   r=   r5   r&   r'   Úuint64r<   )r-   r  r7   r0   Zrng2Úser2Z	expected2Zrng3Zser3Z	expected3Zrng4Zser4Z	expected4r1   r1   r2   Ú test_constructor_range_overflows®  s0    
z7TestSeriesConstructors.test_constructor_range_overflowsc                 C   s8   t dƒt ddd�g}t|ƒ}t|td�}t ||¡ d S )Nz2016-05-01 02:03:37z2016-04-30 19:03:37-0700rw  rm  r%   )r   r   r<   r*   r=   )r-   Zdt_listr`   r0   r1   r1   r2   Útest_constructor_tz_mixed_dataÌ  s    
þz5TestSeriesConstructors.test_constructor_tz_mixed_dataÚpydtTFc              	   C   sÖ   |}t d|d�}|r| ¡ }d}tjt|d�� t|gdd� W 5 Q R X tjt|d�� ttj|gtd�dd� W 5 Q R X tjt|d�� td|idd� W 5 Q R X d}tjt	|d�� t|dgdd	� W 5 Q R X d S )
NZ2019rm  zsCannot convert timezone-aware data to timezone-naive dtype. Use pd.Series\(values\).dt.tz_localize\(None\) instead.rC   rE   r%   r   z/Cannot unbox tzaware Timestamp to tznaive dtyperŒ   )
r   r:   rF   rG   rH   r   r'   rI   r<   rd   )r-   Ztz_aware_fixturerï  rÏ   r?   rJ   r1   r1   r2   Ú'test_constructor_data_aware_dtype_naiveÖ  s    ÿ"z>TestSeriesConstructors.test_constructor_data_aware_dtype_naivec                 C   s<   t dddd�}t |¡}t|ƒ}t |jt d¡¡s8t‚d S )Nz1/1/2000 00:00:00z1/1/2000 1:59:50Z10sr  r—   )r   r'   Zasarrayr   Z
issubdtyper&   r5   )r-   r  rU  rî   r1   r1   r2   Útest_constructor_datetime64ï  s    
z2TestSeriesConstructors.test_constructor_datetime64c                 C   s>   t ddddg|d�}t dddgdddg|d�}t ||¡ d S )Nr[  r9   rv   rp   rŒ   r½   )r-   Znullable_string_dtyper`   r0   r1   r1   r2   Ú4test_constructor_datetimelike_scalar_to_string_dtypeö  s    zKTestSeriesConstructors.test_constructor_datetimelike_scalar_to_string_dtypez
2012-01-01rÚ  c                 C   s>   t  d¡}t||d�}t jj||d�}t|ƒ}t ||¡ d S )NrE   r%   )rC  ZSparseDtyper   ZarraysZSparseArrayr*   r=   )r-   r.   r&   r`   r4  r0   r1   r1   r2   Ú"test_constructor_sparse_datetime64þ  s
    	
z9TestSeriesConstructors.test_constructor_sparse_datetime64c                 C   sX   t dddœ ¡ ƒ}t ddgƒ}t ||¡ t dddœ ¡ ƒ}t ddgƒ}t ||¡ d S )Nr9   rv   r¿  rf   rh   )r   rŸ  r*   r=   r.   rò   r1   r1   r2   Ú)test_construction_from_ordered_collection  s    z@TestSeriesConstructors.test_construction_from_ordered_collectionc                 C   s*   d}t |dgd�}t |ƒ}t ||¡ d S )Nl     @=7M.cr   rN   r½   )r-   rÒ  r`   r0   r1   r1   r2   Ú3test_construction_from_large_int_scalar_no_overflow  s    zJTestSeriesConstructors.test_construction_from_large_int_scalar_no_overflowc                 C   sR   t ttdddd�ƒƒ}|jdks$t‚t tddd�tddd�gƒ}|jdksNt‚d S )	Nz
2000-01-01r#   r\  rË   r”  z
2011-01-01r  z
2011-02-01)r   r,   r   r&   r5   r   r×  r1   r1   r2   Ú4test_constructor_list_of_periods_infers_period_dtype  s    ÿzKTestSeriesConstructors.test_constructor_list_of_periods_infers_period_dtypec                 C   s>   |dd„ t dƒD ƒƒ}t|ƒ}tt| ¡ ƒƒ}t ||¡ d S )Nc                 s   s   | ]}|d | fV  qdS )g      $@Nr1   rO  r1   r1   r2   rX   (  s     zHTestSeriesConstructors.test_constructor_subclass_dict.<locals>.<genexpr>r#   )rq   r   r©  Úitemsr*   r=   )r-   Zdict_subclassr\   rî   r0   r1   r1   r2   Útest_constructor_subclass_dict'  s    z5TestSeriesConstructors.test_constructor_subclass_dictc                 C   sp   t dd„ tdƒD ƒƒ}t|ƒ}tt| ¡ ƒt| ¡ ƒƒ}t ||¡ G dd„ dt ƒ}t||ƒƒ}t ||¡ d S )Nc                 s   s"   | ]}d |› �t j ¡ fV  qdS )ÚcolN)r'   r|   rØ   r1   r1   r2   rX   /  s     zFTestSeriesConstructors.test_constructor_ordereddict.<locals>.<genexpr>é   c                   @   s   e Zd ZdS )z>TestSeriesConstructors.test_constructor_ordereddict.<locals>.AN)r³   r´   rµ   r1   r1   r1   r2   rj   6  s   rj   )r   rq   r   r,   r.   rŸ  r*   r=   )r-   r\   rî   r0   rj   r1   r1   r2   Útest_constructor_ordereddict-  s    z3TestSeriesConstructors.test_constructor_ordereddictc                 C   s¼   ddddœ}t | ¡ ƒ}t|ƒ}tdd„ |D ƒt dd„ |D ƒ¡d�}t ||¡ d	|d
< | dd
|d
 f¡ t|ƒ}tdd„ |D ƒtdd„ |D ƒdd�d�}|j	|j
d�}t ||¡ d S )Nrú   rÕ   rÖ   ))rf   rf   )rh   rf   )rh   rš   c                 S   s   g | ]}|d  ‘qS r  r1   rO  r1   r1   r2   rP  A  s     zKTestSeriesConstructors.test_constructor_dict_multiindex.<locals>.<listcomp>c                 S   s   g | ]}|d  ‘qS ©r   r1   rO  r1   r1   r2   rP  A  s     rN   g     À[@Úzr   c                 S   s   g | ]}|d  ‘qS r  r1   rO  r1   r1   r2   rP  I  s     c                 S   s   g | ]}|d  ‘qS rü  r1   rO  r1   r1   r2   rP  I  s     F)Ztupleize_cols)r«   r÷  r   r   r»  r*   r=   Úinsertr   ZreindexrO   )r-   r¨   Z_dr`   r0   r1   r1   r2   Ú test_constructor_dict_multiindex<  s"     ÿ ÿz7TestSeriesConstructors.test_constructor_dict_multiindexc                 C   sB   dddt jdœ}t|ƒ}t|d d…  ¡ |jd�}t ||¡ d S )Nr   r9   rv   ))rÙ   rÙ   )rÙ   Új)r   rÙ   r   r.  rN   )r'   r�   r   Úto_dictrO   r*   r=   )r-   r\   r0   r`   r1   r1   r2   Ú-test_constructor_dict_multiindex_reindex_flatN  s    zDTestSeriesConstructors.test_constructor_dict_multiindex_reindex_flatc              	   C   sx   t dddgtjdddgdd�d	�}t tjddd�dtjddd�dtjddd�ditjdddgdd�d	�}t ||¡ d S )
Nrj   rk   rç   r   r#   rÚ   rÅ   ©rb  r[   ©r   rC  Zto_timedeltar*   r=   rº   r1   r1   r2   Ú%test_constructor_dict_timedelta_indexV  s     ÿ   ýúz<TestSeriesConstructors.test_constructor_dict_timedelta_indexc                 C   sd   ddg}t d dƒ}tdddd|d�tdddd|d�g}t||d	�}|jj|ksRt‚t|jd
 ƒ d S )Ng     �g@g     „t@i   iÜ  r„   rÐ  )Útzinforú  r[   r   )r   r   r   rO   rÏ   r5   Úrepr)r-   r.   r  rO   rî   r1   r1   r2   Útest_constructor_infer_index_tzh  s    
þz6TestSeriesConstructors.test_constructor_infer_index_tzc                 C   s6   dddg}t |ƒ}|jj}t ||d�}t ||¡ d S )Nr  )rv   rù   r%   )r   rI   r&   r*   r=   )r-   r@   r7   r&   rì  r1   r1   r2   Ú"test_constructor_with_pandas_dtypev  s
    
z9TestSeriesConstructors.test_constructor_with_pandas_dtypec                 C   s0   t dgdd�}t tjdgdd�}t ||¡ d S )Nr   r·   rŒ   rŠ   )r   r'   r�   r*   r=   rò   r1   r1   r2   Ú)test_constructor_int_dtype_missing_values~  s    z@TestSeriesConstructors.test_constructor_int_dtype_missing_valuesc                 C   s.   t dgdd�}t ddgdd�}t ||¡ d S )Nr   rÃ   rŒ   Tr½   rò   r1   r1   r2   Ú*test_constructor_bool_dtype_missing_values„  s    zATestSeriesConstructors.test_constructor_bool_dtype_missing_valuesc                 C   s4   t dddg|d�}t dddg|d�}t ||¡ d S )Nr¾  rÈ   rÉ   r%   r   r9   rv   r½   )r-   Zany_int_dtyper`   r0   r1   r1   r2   Útest_constructor_int64_dtypeŠ  s    z3TestSeriesConstructors.test_constructor_int64_dtypec              	   C   s,   t jtdd�� tdgdd� W 5 Q R X d S )Nz/string values cannot be losslessly cast to int8rC   Z128r)  r%   r  r±   r1   r1   r2   Ú5test_constructor_raise_on_lossy_conversion_of_strings�  s
     ÿzLTestSeriesConstructors.test_constructor_raise_on_lossy_conversion_of_stringsc                 C   s:   t dddgdd�}t tjdddgdd�ƒ}t ||¡ d S )NrQ  é@ éÀÆ- rÇ  r%   r_  r  r  rò   r1   r1   r2   Ú6test_constructor_dtype_timedelta_alternative_construct—  s    zMTestSeriesConstructors.test_constructor_dtype_timedelta_alternative_constructz¿Not clear what the correct expected behavior should be with integers now that we support non-nano. ATM (2022-10-08) we treat ints as nanoseconds, then cast to the requested dtype. xref #48312c                 C   s4   t dddgdd�}t dddgdd�}t ||¡ d S )NrQ  r  r  rÇ  r%   rÙ  r½   rò   r1   r1   r2   Ú%test_constructor_dtype_timedelta_ns_s�  s    z<TestSeriesConstructors.test_constructor_dtype_timedelta_ns_sc                 C   s@   t dddgdd� d¡}t dddgdd� d¡}t ||¡ d S )NrQ  r  r  rÇ  r%   r·   rÙ  rÓ   rò   r1   r1   r2   Ú2test_constructor_dtype_timedelta_ns_s_astype_int64¨  s    ÿÿzITestSeriesConstructors.test_constructor_dtype_timedelta_ns_s_astype_int64z7ignore:elementwise comparison failed:DeprecationWarningÚfuncc              
   C   sV   d  dddddg¡}tjtg D ]0}tjt|d�� ||dd	g|d
� W 5 Q R X q d S )NrÈ  z(cannot safely cast non-equivalent objectzJint\(\) argument must be a string, a bytes-like object or a (real )?numberz[Cannot cast array data from dtype\('O'\) to dtype\('float64'\) according to the rule 'safe'z-object cannot be converted to a FloatingDtypez 'values' contains non-numeric NArC   rÕ   g      @r%   )rÊ  r*   ZNP_NAT_OBJECTSr   rF   rG   rd   )r-   r  Zany_numeric_ea_dtyperJ   Únullr1   r1   r2   Ú/test_constructor_mismatched_null_nullable_dtype·  s    ùÿzFTestSeriesConstructors.test_constructor_mismatched_null_nullable_dtypec                 C   sl   t dddtjgdd�}t dddtjgdd�}t ||¡ t dddgdd�}t dddgdd�}t ||¡ d S )NTFÚInt64r%   r9   r   )r   rC  ÚNAr*   r=   rò   r1   r1   r2   Ú(test_series_constructor_ea_int_from_boolÏ  s    z?TestSeriesConstructors.test_series_constructor_ea_int_from_boolc              	   C   s4   t jtdd�� tdddtjgdd� W 5 Q R X d S )Nzinvalid literalrC   ÚTrueÚFalser  r%   )rF   rG   rH   r   rC  r  r±   r1   r1   r2   Ú/test_series_constructor_ea_int_from_string_boolÙ  s    zFTestSeriesConstructors.test_series_constructor_ea_int_from_string_boolrš  rÕ   c                 C   sL   t  t j¡jd }t||gdd�}tt j|dgdd�dd�}t ||¡ d S )Nr9   ÚUInt64r%   rë  )r'   Úiinforë  Úmaxr   rI   r*   r=   ©r-   rš  Úmax_valr`   r0   r1   r1   r2   Ú(test_series_constructor_overflow_uint_eaÞ  s    z?TestSeriesConstructors.test_series_constructor_overflow_uint_eac                 C   sf   t  t j¡jd }t||tjgdd�}ttt j|ddgdd�t jdddgt j	d�ƒƒ}t
 ||¡ d S )Nr9   r  r%   r   rë  )r'   r  rë  r  r   rC  r  r   rI   Úbool_r*   r=   r  r1   r1   r2   Ú0test_series_constructor_overflow_uint_ea_with_naæ  s    þÿzGTestSeriesConstructors.test_series_constructor_overflow_uint_ea_with_nac                 C   s`   t  t j¡jd }t|t jgdd�}ttt j|dgdd�t jddgt jd�ƒƒ}t	 
||¡ d S )Nr9   r  r%   rë  r   )r'   r  rë  r  r   r�   r   rI   r"  r*   r=   )r-   r   r`   r0   r1   r1   r2   Ú.test_series_constructor_overflow_uint_with_nanó  s    þÿzETestSeriesConstructors.test_series_constructor_overflow_uint_with_nanc                 C   sP   t tjtjgdd�}t ttjddgdd�tjddgtjd�ƒƒ}t ||¡ d S )Nr  r%   r9   rë  )r   r'   r�   r   rI   r"  r*   r=   rò   r1   r1   r2   Ú!test_series_constructor_ea_all_naÿ  s    þÿz8TestSeriesConstructors.test_series_constructor_ea_all_nac                 C   s@   t dddgƒ}|jdd�}t|dd�}d|jd	< t ||¡ d S )
Nr9   rv   rp   T)Údeepr·   r%   r  r   )r   rõ   r   rŸ   r*   r>   )r-   rA   r0   r7   r1   r1   r2   Ú0test_series_from_index_dtype_equal_does_not_copy
  s
    
zGTestSeriesConstructors.test_series_from_index_dtype_equal_does_not_copy)½r³   r´   rµ   r3   r8   rB   rK   rF   rß  Úparametrizera   re   rl   ro   ru   rƒ   rˆ   r,   r©  r   r“   r'   r�   rn   r–   r   r™   r�   r    r¤   r§   r¯   r¹   r»   r¾   rÁ   rÂ   rÆ   r   r   rÔ   r×   rÝ   rà   râ   rä   rå   ré   rí   rï   ró   rô   r÷   rø   rþ   r   r  r	  rq   r   rß   r  r  r  r  r  r  rË  Úskip_array_manager_invalid_testr   r   r   r"  r#  r%  r&  r'  r+  rI   Zuint16Zuint32rë  r-  r0  r6  r9  r:  r;  r<  r>  rE  rG  rJ  rK  rV  rX  rY  rZ  rc  rd  rg  rh  rj  rk  ru  r{  r|  r}  r  r·   rŠ   r„  r   r†  r‡  r   r   r‹  rŽ  r�  r‘  r•  rà  r›  rœ  rž  r   r¢  r£  r¤  r§  r®  r°  r²  r¶  r¸  r¼  ÚfilterwarningsrÀ  rÂ  rÌ  rÍ  rÎ  rÏ  rÓ  rÕ  rØ  rÛ  rÝ  rÞ  rN  rÉ  rã  rè  ré  rí  rî  rð  rñ  rò  ró  rô  rõ  rö  rø  rû  rÿ  r  r  r  r	  r
  r  r  r  r  r  r  r   r   rC  r  r  r  r!  r#  r$  r%  r'  r1   r1   r1   r2   r"   6   s.  

ñþ	&
"
þ

		
ûþ


%	!M
úþ



ù	õ	


úþ
,		
3



  ÿ  ÿ  ÿ	
	
	M	ýù	ýù	(

þþ
	ÿÿ
ÿ
r"   c                   @   s   e Zd Zdd„ Zdd„ ZdS )Ú"TestSeriesConstructorIndexCoercionc                 C   s:   t  d¡}ttj t|ƒ¡| t¡ƒ}t	|j
tƒr6t‚d S )Ni'  )r*   ZmakeDateIndexr   r'   r|   r}   r_   r)   r<   rm   rO   r   r5   )r-   rA   r7   r1   r1   r2   Ú3test_series_constructor_datetimelike_index_coercion  s    
zVTestSeriesConstructorIndexCoercion.test_series_constructor_datetimelike_index_coercionc                 C   s~   ddddgddddgg}t ddd„ |D ƒd�}t|jtƒs>t‚t d|d�}t|jtƒsZt‚t td	ƒ|d�}t|jtƒszt‚d S )
Nrf   rh   r¥   r  rÕ   c                 S   s   g | ]}t  |¡‘qS r1   )r'   rI   rO  r1   r1   r2   rP    s     z_TestSeriesConstructorIndexCoercion.test_series_constructor_infer_multiindex.<locals>.<listcomp>rN   rw   )r   rm   rO   r   r5   rq   )r-   Zindex_listsÚmultir1   r1   r2   Ú(test_series_constructor_infer_multiindex  s    zKTestSeriesConstructorIndexCoercion.test_series_constructor_infer_multiindexN)r³   r´   rµ   r,  r.  r1   r1   r1   r2   r+    s   r+  c                   @   s0   e Zd Zdd„ Zejdd„ ƒZejdd„ ƒZdS )ÚTestSeriesConstructorInternalsc                 C   sB   t dddgƒ}t |jƒ}t ||¡ |s>t|jjd tƒs>t‚d S )Nr9   rv   rp   r   )	r   rI   r*   r=   rm   r   r!  r!   r5   )r-   Zusing_array_managerr7   r`   r1   r1   r2   Ú test_constructor_no_pandas_array)  s
    
z?TestSeriesConstructorInternals.test_constructor_no_pandas_arrayc                 C   sZ   t tjddgdd�ƒ}|jjd jdks,t‚t tjdgdd�ƒ}|jjd jdksVt‚d S ©	NZ1HZ2HrÇ  r%   r   FZ2015rE   )r   rC  rI   r   r!  Úis_extensionr5   rœ   r1   r1   r2   Útest_from_array0  s    z.TestSeriesConstructorInternals.test_from_arrayc                 C   sN   t ddgdd�}|jjd jdks&t‚t dgdd�}|jjd jdksJt‚d S r1  )r   r   r!  r2  r5   rœ   r1   r1   r2   Útest_from_list_dtype8  s    z3TestSeriesConstructorInternals.test_from_list_dtypeN)r³   r´   rµ   r0  rË  r)  r3  r4  r1   r1   r1   r2   r/  (  s
   
r/  c                 C   s&   | }t |tƒst‚t |jtƒs"t‚d S rT   )rm   r   r5   rO   r   )Z(rand_series_with_duplicate_datetimeindexZdupsr1   r1   r2   rƒ   A  s    rƒ   zinput_dict,expectedr%   rf   r9   c                 C   s    t  t| ƒg¡}t ||¡ d S rT   )r'   rI   r   r*   rö   )Z
input_dictr0   r`   r1   r1   r2   Útest_numpy_arrayG  s    	r5  )?Úcollectionsr   r   r   Útypingr   Zdateutil.tzr   Únumpyr'   r   rF   Zpandas._libsr   r	   Zpandas.errorsr
   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsrË  Zpandas.core.dtypes.commonr   r   Zpandas.core.dtypes.dtypesr   ZpandasrC  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Zpandas._testingZ_testingr*   Zpandas.core.arraysr   r   r    Zpandas.core.internals.blocksr!   r"   r+  r/  rƒ   rß  r(  rI   r·   r<   r5  r1   r1   r1   r2   Ú<module>   sV   H               lýþ