U
    [e                 
   @   s  d dl mZ d dlmZ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.m/Z/ d dl0m1Z1m2Z2 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)tzoffsetN)iNaTlib)is_numpy_dev)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)
Int64Index)IntervalArrayperiod_array)NumericBlockc                   @   s	  e Zd Zejddd dfdd dfdd dfdd dfd	d dfd
d dfdd dfdd dfdd dfdd dfdd df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'd(d)d*d+d,gejd-d.eg gd/d0 Zd1d2 Zd3d4 Zejd5d6d7d8gd9d: Zd;d< Zd=d> Zd?d@ ZdAdB ZdCdD ZdEdF ZdGdH Z ejd%dIdJdKdLgdMdN Z!ejdOdPdQgdRdSgee"dTdQdUdVee"dTdQdUdWdXe#dYdZd[ggd\d] Z$d^d_ Z%d`da Z&dbdc Z'ddde Z(dfdg Z)dhdi Z*djdk Z+dldm Z,dndo Z-dpdq Z.drds Z/dtdu Z0dvdw Z1dxdy Z2dzd{ Z3d|d} Z4d~d Z5ejddPdQdgdee6de7dddgdd e6dD e8dd e6dgdd Z9dd Z:dd Z;dd Z<dd Z=dd Z>e?j@ejjd-e"dddWde"dddeAdddeBddddVeedeCdPdQdgeDdYdgdd ddd ZEdd ZFdd ZGdd ZHdd ZIejdejJdPgejKdejJdPgejLdejJdPgejMdeKdPgeLdPgeMdPggdd ZNdd ZOdd ZPdd ZQdd ZRdd ZSdd ZTdd ZUdd ZVdd ZWdd ZXdd ZYdd ZZddĄ Z[ddƄ Z\ddȄ Z]ddʄ Z^dd̄ Z_dd΄ Z`ddЄ Zadd҄ ZbddԄ Zcddք Zddd؄ Zeddڄ Zfdd܄ Zgejdejhejigejd%ddgejddddddddgdd Zjejddekejd.gdd Zldd Zmejdeneogdd ZpejjdeejJgddgddd ZqejjdeejJgddgddd Zrdd ZsejjdeejJgddgddd Ztejjuddd d Zvdd Zwdd Zxdd Zydd	 Zzd
d Z{dd Z|ejddQe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 Zejd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d0d1 Zejjd-e"d2d3deAdd3deBd4d3ddVgd5d dd6d7 Zejjd-e"d2d3deAdd3deBd4d3ddVgd8d dd9d: Zejd%ejejgd;d< Zejd=d>d?gd@dA Zejd%d.dBd*gdCdD ZdEdF ZdGdH ZejdIddgdJdK ZdLdM ZdNdO ZejdedPedQgdPdQggdRdS ZdTdU ZdVdW ZdXdY ZdZd[ Zd\d] Zd^d_ Zd`da Zdbdc Zddde Zdfdg Zdhdi Zdjdk Zdldm Zdndo Zdpdq ZejdrejdseeeejJgdtdu Zd.S (v  TestSeriesConstructorszconstructor,check_index_typec                   C   s   t  S Nr    r#   r#   g/var/www/html/services/stratfitenv/lib/python3.8/site-packages/pandas/tests/series/test_constructors.py<lambda>=       zTestSeriesConstructors.<lambda>Tc                   C   s   t d S r!   r"   r#   r#   r#   r$   r%   >   r&   c                   C   s   t i S r!   r"   r#   r#   r#   r$   r%   ?   r&   c                   C   s   t dS )Nr#   r"   r#   r#   r#   r$   r%   @   r&   Fc                   C   s   t g S r!   r"   r#   r#   r#   r$   r%   A   r&   c                   C   s   t dd dD S )Nc                 s   s   | ]
}|V  qd S r!   r#   .0_r#   r#   r$   	<genexpr>B   s     2TestSeriesConstructors.<lambda>.<locals>.<genexpr>r#   r"   r#   r#   r#   r$   r%   B   r&   c                   C   s
   t d dS Ndatar"   r#   r#   r#   r$   r%   C   r&   c                   C   s
   t i dS r,   r"   r#   r#   r#   r$   r%   D   r&   c                   C   s
   t ddS )Nr#   r-   r"   r#   r#   r#   r$   r%   E   r&   c                   C   s
   t g dS r,   r"   r#   r#   r#   r$   r%   F   r&   c                   C   s   t dd dD dS )Nc                 s   s   | ]
}|V  qd S r!   r#   r'   r#   r#   r$   r*   G   s     r+   r#   r-   r"   r#   r#   r#   r$   r%   G   r&   c              	   C   sH   t t t }| }W 5 Q R X t|jdks4tt j|||d d S )Nr   check_index_type)tmassert_produces_warningFutureWarningr   lenindexAssertionErrorassert_series_equal)selfconstructorr0   expectedresultr#   r#   r$   test_empty_constructor6   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   matchtime)namedtype)r   listpytestraises	TypeErrorr   )r8   msgZinvalid_listrA   r#   r#   r$   test_invalid_dtypeS   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)   g?)   irA   zUse DataFrame insteadr=   ABr5   )nprA   arrayrC   rD   
ValueErrorr   )r8   Zc_dtypeZcdt_arrr#   r#   r$   test_invalid_compound_dtype[   s    z2TestSeriesConstructors.test_invalid_compound_dtypec                 C   sF   t d}t|trttt dgdks,ttt dgdksBtd S )Ng      ?      ?rK   )r   
isinstancefloatr6   int)r8   Zscalarr#   r#   r$   test_scalar_conversionc   s    z-TestSeriesConstructors.test_scalar_conversionc                 C   sH   |\}}t |tdd}t |gd |d}|j|ks8tt|| d S )N   rP   rM   )r   rangerA   r6   r1   r7   )r8   ea_scalar_and_dtype	ea_scalarea_dtypeserr:   r#   r#   r$   test_scalar_extension_dtypem   s
    z2TestSeriesConstructors.test_scalar_extension_dtypec           	   	   C   sh  t t t }W 5 Q R X |jjs(tt|}|jjs<tt |j|jsPtt|jt|jkshttdt	j
gddgd}|jt	jkst|d t	j
kst|jjrtt t t jjrtW 5 Q R X 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   rK   rP   zData must be 1-dimensionalr=   rZ   r         z8initializing a Series from a MultiIndex is not supported)r1   r2   r3   r   r5   Z_is_all_datesr6   ZequalContentsidrQ   NaNrA   object_rC   rD   rS   randomrandnaranger@   r   Zfrom_arraysNotImplementedError)	r8   datetime_seriesZempty_seriesZderivedmixedrsZxpmrF   r#   r#   r$   test_constructorx   s.    &
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 )NrK   ra   rZ   rb         	   rP   z Index data must be 1-dimensionalr=   )r   rC   rD   rS   r   )r8   dfr#   r#   r$   'test_constructor_index_ndim_gt_1_raises   s    $z>TestSeriesConstructors.test_constructor_index_ndim_gt_1_raisesinput_classc              	   C   s6  t t t }t| }W 5 Q R X 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	r2t t& ttdd}t| tdd}W 5 Q R X 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/   float64rM   category
   rP   r5   rA    rZ   rA   r5   )
r1   r2   r3   r   r7   rB   r[   rQ   nanstr)r8   rt   emptyempty2r#   r#   r$   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 )Nru   rw   rz   rP   Fr/   r   r[   r1   r7   )r8   r   r}   r~   r#   r#   r$   test_constructor_nan   s    z+TestSeriesConstructors.test_constructor_nanrA   f8rI   M8[ns]m8[ns]rv   objectzdatetime64[ns, UTC]r5   Nc                 C   s.   t ||d}|j|kstt|dks*td S )Nrz   r   )r   rA   r6   r4   )r8   rA   r5   r;   r#   r#   r$   test_constructor_dtype_only   s    z2TestSeriesConstructors.test_constructor_dtype_onlyc              	   C   sB   t t tdddgd}W 5 Q R X |j dddgks>td S )NrJ   rH   crP   )r1   r2   r3   r   r5   tolistr6   r8   r;   r#   r#   r$   $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 NrK   rx   r   )r   r|   rQ   isnanilocr6   r   r#   r#   r$   $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   r6   )r8   r   r;   r#   r#   r$   +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xrM   FTrK   )	r   r   r1   r7   r   r6   rQ   r{   r   )r8   string_dtyper_   r;   r:   r#   r#   r$   $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drJ   rH   r   rb      rZ   rP   )sortedr   r1   r7   Z
sort_index)r8   Zindex1index2s1s2r#   r#   r$   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dd ZdS )z>TestSeriesConstructors.test_constructor_iterable.<locals>.Iterc                 s   s   t dE d H  d S )Nrw   )r[   r8   r#   r#   r$   __iter__   s    zGTestSeriesConstructors.test_constructor_iterable.<locals>.Iter.__iter__N)__name__
__module____qualname__r   r#   r#   r#   r$   Iter   s   r   rw   int64rM   r   rB   r[   r1   r7   )r8   r   r:   r;   r#   r#   r$   test_constructor_iterable   s    z0TestSeriesConstructors.test_constructor_iterablec                 C   s4   t ttddd}t tddd}t|| d S )Nrw   r   rM   r   r8   r:   r;   r#   r#   r$   test_constructor_sequence  s    z0TestSeriesConstructors.test_constructor_sequencec                 C   s"   t dg}t d}t|| d S )Nabcr   r1   r7   r   r#   r#   r$   test_constructor_single_str  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 )	NrK   ra   rZ   r   rM   rK   ra   rZ   r   rP   r   rQ   rR   r1   r7   )r8   r:   objr;   r#   r#   r$   test_constructor_list_like  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 )
NrK   ra   rZ   rb   ro   rp   rP   FTr   )r8   r   r5   r;   r:   r#   r#   r$   test_constructor_boolean_index  s
    z5TestSeriesConstructors.test_constructor_boolean_indexboolint32r   ru   c                 C   s(   t tdddg|d}|j|ks$td S )Nr   ra   rb   rM   )r   r   rA   r6   )r8   rA   sr#   r#   r$   test_constructor_index_dtype&  s    z3TestSeriesConstructors.test_constructor_index_dtype
input_valsrK   ra   12z1/1/2011Hperiodsfreq
US/Eastern)r   r   tzr   ro   )leftrightc                 C   s*   t ||d}t ||}t|| d S NrM   r   astyper1   r7   )r8   r   r   r;   r:   r#   r#   r$   test_constructor_list_str-  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 )NrU          @rM   z1.0z2.0ra   )r   rQ   r{   r   r1   r7   r   r6   )r8   r   r;   r:   r#   r#   r$   test_constructor_list_str_na?  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 r!   r#   r(   ir#   r#   r$   r*   F  s     zDTestSeriesConstructors.test_constructor_generator.<locals>.<genexpr>rw   c                 s   s   | ]
}|V  qd S r!   r#   r   r#   r#   r$   r*   M  s        rP   )r[   r   r1   r7   r5   )r8   genr;   expr#   r#   r$   test_constructor_generatorE  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 r!   r#   r   r#   r#   r$   r%   T  r&   z=TestSeriesConstructors.test_constructor_map.<locals>.<lambda>rw   c                 S   s   | S r!   r#   r   r#   r#   r$   r%   [  r&   r   rP   )mapr[   r   r1   r7   r5   )r8   rm   r;   r   r#   r#   r$   test_constructor_mapR  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   rK   ra   rH   rJ   r   T)ZfastpathrZ   r   rM   )r   r   r1   Zassert_categorical_equalvaluesr7   )r8   catresr;   r:   r#   r#   r$   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 NrK   ra   rZ   rv   rM   )r   r   r	   r6   rA   )r8   r   r#   r#   r$   *test_construct_from_categorical_with_dtypej  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	   r6   rA   )r8   r_   r#   r#   r$   ,test_construct_intlist_values_category_dtypep  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stt|j t| td|i}|d }t	|| t|t|kst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 )NrH   rJ   r   rN   r@   rv   r   rK   )rN   rO   CrO   F)Zcheck_names)r   r   rA   r6   r4   r|   r   r   r1   r7   r   r@   )r8   factorr   rr   r;   Zresult1Zresult2r#   r#   r$   *test_constructor_categorical_with_coercionu  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std S )	NrK   zJohn P. Doera   z	Jane DoveZ	person_idperson_name)columnsr   )r   r   r   r   r6   loc)r8   r   r:   r;   r#   r#   r$   +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 )NrH   rJ   r   rv   rM   r   )r8   seriesr;   r:   r#   r#   r$   &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st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 )NrH   rJ   r   T)orderedrM   Fr   rK   rx   )r   r   r	   rA   r6   r1   assert_index_equalr   
categoriesr   r   r7   r8   r;   r:   r#   r#   r$   "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abcabcrM   rv   )r   rB   r   r   r1   r7   )r8   Zcdtr:   r   r;   r#   r#   r$   #test_constructor_categorical_string  s    z:TestSeriesConstructors.test_constructor_categorical_stringc              	   C   s  t ddddg}t|dd}|j|k	s*ttjtdd dd	d
g|j_W 5 Q R X 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|}|j|ks
ttjtdd dd	d
g|j_W 5 Q R X 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| | d S )NrH   rJ   r   T)copyzUse rename_categoriesr=   rK   ra   rZ   rM   r   )r   r   r   r6   r1   r2   r3   r   rQ   rR   r   re   assert_numpy_array_equalZ	__array__r   )r8   r   r   Zexp_sZexp_catZexp_s2r#   r#   r$   !test_categorical_sideeffects_free  s2    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 )NrH   rJ   r   rM   )r   )r   r   r   rQ   r{   r1   r7   )r8   r   r   r#   r#   r$   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rZ   rM           r   r   ra   rH   rJ   r   rP   rU   rK   rx   TFr     rZ   )ma
masked_allrW   r   rQ   r{   r1   r7   rX   r   r   r   r   )r8   r.   r;   r:   r5   r#   r#   r$   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   rM   )	r   r   rW   Zharden_maskr   rQ   r{   r1   r7   r8   r.   r;   r:   r#   r#   r$   %test_constructor_maskedarray_hardenedO  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20090519rO   r   c                 S   s   i | ]
}|d qS rK   r#   )r(   kr#   r#   r$   
<dictcomp>X  s      zNTestSeriesConstructors.test_series_ctor_plus_datetimeindex.<locals>.<dictcomp>rP   )r   r   r5   r6   )r8   rngr.   r;   r#   r#   r$   #test_series_ctor_plus_datetimeindexV  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   rK   ra   rZ   T)exact)r   r1   r   r5   r   r[   r8   r   r#   r#   r$   test_constructor_default_index]  s    z5TestSeriesConstructors.test_constructor_default_indexinputrZ   r   rH   rJ   c                 c   s   | ]
}|V  qd S r!   r#   r   r#   r#   r$   r*   h  s     z TestSeriesConstructors.<genexpr>c                 C   s   | S r!   r#   r   r#   r#   r$   r%   i  r&   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\)r=   rb   rP   )rC   rD   rS   r   rQ   rh   )r8   r   rF   r#   r#   r$   test_constructor_index_mismatcha  s    z6TestSeriesConstructors.test_constructor_index_mismatchc                 C   s>   t tdtddd}t dtddd}t|| d S )Nd   rb   r   rx   )r   rQ   rR   rh   r1   r7   r   r#   r#   r$   test_constructor_numpy_scalart  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\)r=   foorH   rJ   r   rP   )rC   rD   rS   r   r8   rF   r#   r#   r$   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   rK   rP   )r1   ZmakeTimeDataFramer   rV   r6   )r8   rr   objsr   r#   r#   r$   test_constructor_corner  s    z.TestSeriesConstructors.test_constructor_cornerc              	   C   s~   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 |jtd	ksztd S )
NrU   g       @rI   rM   z6float-dtype values containing NaN and an integer dtyper=   Tr   rA   r   )	r   rQ   rR   rA   r6   r1   r2   r3   r{   )r8   r   rF   r_   r#   r#   r$   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 )NrU   Tr  r   r   )rQ   rR   r   rW   r1   r7   equalsr6   )r8   r.   r   yr#   r#   r$   test_constructor_copy  s    z,TestSeriesConstructors.test_constructor_copyZ20170101r   r   r   z1 dayZ2012Q1Qr   c                 C   s
   t | jS r!   typer   r   r#   r#   r$   r%     r&   )Zidsc                 C   s"   t |}|jjd j|k	std S Nr   )r   _mgrblocksr   r6   )r8   r5   r   r#   r#   r$   test_constructor_limit_copies  s    z4TestSeriesConstructors.test_constructor_limit_copiesc              	   C   s   t t td tdd}W 5 Q R X |jtjks6ttd tdt	d}|jtj
ksXtt t( ttd gd}ttd gd}W 5 Q R X t || d S )Nro   rP   rx   )r1   r2   r3   r   r[   rA   rQ   ru   r6   r   re   rR   r   r7   r8   r   r:   r#   r#   r$   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 )NrM   datetime64[ns])
r   rQ   r{   ru   rA   r6   r1   r7   rR   r   )r8   r   r#   r#   r$   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 floatr=   rH   rJ   r   rM   )rC   rD   rS   r   rW   r  r#   r#   r$   test_constructor_cast  s    z,TestSeriesConstructors.test_constructor_castc              	   C   s   d}t rtnd }tjt|f|dd tdddgdd}W 5 Q R X tdd	d
gdd}t|| tjt|f|dd tdddgdd}W 5 Q R X tddd
gdd}t|| d S )Nz*Values are too large to be losslessly castF)r>   Zcheck_stacklevelrK      i2 Zint8rM   i2   uint8)r   DeprecationWarningr1   r2   r3   r   r7   )r8   rF   Znumpy_warningr_   r:   r#   r#   r$   0test_constructor_signed_int_overflow_deprecation  s$        zGTestSeriesConstructors.test_constructor_signed_int_overflow_deprecationr   rM   c                 C   s8   |d }t |}|d j|jks$t|d |ks4td S r  )r   rA   r6   )r8   r   valuer;   r#   r#   r$   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 integersr=   rM   )rC   rD   OverflowErrorr   )r8   Zany_unsigned_int_numpy_dtyperF   r#   r#   r$   (test_constructor_unsigned_dtype_overflow  s    z?TestSeriesConstructors.test_constructor_unsigned_dtype_overflowc              	   C   s|  t jd}|tkrR||}||dd}t|| |t|dd}t|| nTd}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jt|d |t|dd}W 5 Q R X t|| t j
dd	gd
d}||d}||dd}t|| |t|dd}t|| d S )Nra   rI   rM   z/passing float-dtype values and an integer dtyper=   r   z>passing float-dtype values containing NaN and an integer dtyperU   r   ru   )rQ   rf   rg   r   r1   assert_equalrB   r2   r3   r{   rR   r   )r8   frame_or_seriesarrr:   r   rF   r   r#   r#   r$   (test_constructor_floating_data_int_dtype  s6    
z?TestSeriesConstructors.test_constructor_floating_data_int_dtypec                 C   sR   dddg}t ||d}t t||d}t|| t t|}t|| d S NrK   ra   g      @rM   r   )r8   any_int_numpy_dtypevalsr   r:   Zaltr#   r#   r$   "test_constructor_coerce_float_fail;  s    
z9TestSeriesConstructors.test_constructor_coerce_float_failc                 C   s6   t dddg|d}t dddg|}t|| d S r&  r   )r8   Zfloat_numpy_dtyper   r:   r#   r#   r$   #test_constructor_coerce_float_validG  s    z:TestSeriesConstructors.test_constructor_coerce_float_validc              	   C   s   ddt j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 t|| t |j	d st
d S )NrK   ra   z>In a future version, passing float-dtype values containing NaNr=   rM   r  )rQ   r{   r1   r2   r3   r   rR   r7   r   r   r6   )r8   r'  r(  rF   r   r:   r#   r#   r$   3test_constructor_invalid_coerce_ints_with_float_nanL  s    zJTestSeriesConstructors.test_constructor_invalid_coerce_ints_with_float_nanc                 C   s8   t dddg}t |tjd}d|d< |d dks4td S )NrK   ra   rZ   rM   ro   )r   rQ   r   r6   )r8   r   r   r#   r#   r$   test_constructor_dtype_no_castY  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NOVrM   r   rK   )r   r   r   r   r6   rA   r   r#   r#   r$   "test_constructor_datelike_coerciona  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matrP   Z3T19Z216)splitpdto_datetimer   r   rA   r   r6   )r8   Zbellyr/  r0  r1  rr   r;   r#   r#   r$   #test_constructor_datelike_coercion2k  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 )Nrq   rw   r   rM   )r   r   r  r1   r"  )r8   r#  r  r;   r:   r#   r#   r$   (test_constructor_mixed_int_and_timestampy  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   )rQ   rR   r   nowr   rA   r6   )r8   r$  r;   r#   r#   r$   %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 st|j	dkstt tdddddtjgdd	}t|d st|j	dkstd S )
Nr   ro   rz   rP   r   rK   ra   r   rM   )
r   r   r[   r   allr6   rQ   r{   r   rA   r   r#   r#   r$   !test_constructor_dtype_datetime64  s    z8TestSeriesConstructors.test_constructor_dtype_datetime64c              	   C   s  t tdddt tdddt tdddg}t|}|jdksJtt j|jd< |jdksdtttdddtdddtdddg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
|| 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 )Ni  rK   ra   rZ   r   r   r  rM   @B zM8[ms]r   zCcannot astype a datetimelike from \[datetime64\[ns\]\] to \[int32\]r=   r   )rQ   
datetime64r   r   rA   r6   r{   r   viewr   r1   r7   r   r   rC   rD   rE   )r8   datesr   r:   r;   dtsrF   r#   r#   r$   $test_constructor_dtype_datetime64_10  s<      
z;TestSeriesConstructors.test_constructor_dtype_datetime64_10c                 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 )Nra   rK   r   i  )r   r   r6   r   r#   r#   r$   #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-  rK   rH   rJ   rP   )r   r   r6   r   r#   r#   r$   #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 ]4}|tjd| d	}t||}t|| q0t||td
}dD ]8}|tjd| d	}t||td
}t|| qxtj	dd |
 D td}t||}t|j| |jtkstd S )Nz01-Jan-2015z01-Dec-2015Mr   r  rP   )r   DmsusnszM8[]rx   c                 S   s   g | ]}|  qS r#   )date)r(   r   r#   r#   r$   
<listcomp>  s     zNTestSeriesConstructors.test_constructor_dtype_datetime64_7.<locals>.<listcomp>rM   )r   r>  rQ   ndarrayr   r   r1   r7   r   rR   to_pydatetimer   r   rA   r6   )	r8   r?  Zvalues2r:   rA   Zvalues1r;   Zdates2Zseries1r#   r#   r$   #test_constructor_dtype_datetime64_7  s     

z:TestSeriesConstructors.test_constructor_dtype_datetime64_7c              	   C   s   d}t jt|d td tdg}W 5 Q R X |jdks:tt jt|d ttjtdg}W 5 Q R X |jdksrtt jt|d ttd dg}W 5 Q R X |jdkstt jt|d tttjdg}W 5 Q R X |jdkstd S )N containing strings is deprecatedr=   z2013-08-05 15:30:00.000001r  )	r1   r2   r3   r   r   rA   r6   rQ   r{   )r8   rF   r_   r#   r#   r$   #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-  rZ   r  r   UTCr
  r   )r   r   r   r   r6   r|   )r8   drr#   r#   r$   #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iZlr   ra   r   )r   r   rA   r6   r|   r   r#   r#   r$   #test_constructor_dtype_datetime64_4  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  rK   ra   r   r   )r   r   r   rA   r6   r|   r   r#   r#   r$   #test_constructor_dtype_datetime64_3  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 )NrU  rK   ra   r   rd   )r   r   rQ   r{   rA   r6   r|   r   r#   r#   r$   #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st|d	 }|td
ddkst|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stdt|ksttt dddd}dt|kstt|dd}t|| d S )Nr-  rZ   r   r
  datetime64[ns, US/Eastern]r  rQ  r   r   z2013-01-01 00:00:00-0500TFrP   ra   rK   r     Zinferr   )r   r   rA   r@   r6   r
   r|   r   rV   rQ   rL  r   tz_localize
tz_convertdtr   r1   r   r   r   r5   r7   r3  concatshift)r8   rR  r   r;   r   tr#   r#   r$   !test_constructor_with_datetime_tz+  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/PacificrY  2013-01-02 14:00:00-0800zdatetime64[ns, US/Pacific]TZskipnar=  r   r   rA   r6   r   Zinfer_dtyper   r#   r#   r$   "test_constructor_with_datetime_tz4_  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 )
Nrb  rc  rY  rd  r   r   Tre  r   rf  r   r#   r#   r$   "test_constructor_with_datetime_tz3j  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   rK   rX  rx   r   r   rY  )r   r   r   r1   r7   r  r#   r#   r$   "test_constructor_with_datetime_tz2t  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 r!   r#   r   r_   r(  r#   r$   r*     s     zVTestSeriesConstructors.test_constructor_no_partial_datetime_casting.<locals>.<genexpr>)r   r   r:  r[   r4   r6   r   r#   rj  r$   ,test_constructor_no_partial_datetime_castingz  s    zCTestSeriesConstructors.test_constructor_no_partial_datetime_casting	arr_dtypeZM8Zm8unitrH  rG  rF  r   hrm   rE  c                 C   sT   | d| d}t jdddg|d}t|}||}t||}t|| d S )N[rI  rK   ra   rZ   rM   )rQ   rR   r   r   r1   r7   )r8   rl  rA   rm  r$  r   r;   r:   r#   r#   r$   &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]rM   ZCET)r   r   r]  r[  r1   r7   )r8   rq  r;   r:   r#   r#   r$   7test_constructor_with_naive_string_and_datetimetz_dtype  s    zNTestSeriesConstructors.test_constructor_with_naive_string_and_datetimetz_dtypec                 C   sJ   t dd}t jt ddgdd}t|}tt|g}t|| d S )NrK   rF  z>M8[ms]rM   )rQ   r=  rR   r   r   r1   r7   )r8   rF  r$  r;   r:   r#   r#   r$   %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 )NrZ   r   closedzinterval[int64, right])
Zfrom_breaksrQ   rh   r   rA   r6   r1   r   r   r   )r8   rt  Z	intervalsr;   r#   r#   r$   test_construction_interval  s    z1TestSeriesConstructors.test_construction_intervaldata_constructorrB   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   rK   ra   zinterval[float64, right])r   r   r   rA   r6   r1   r7   r8   rx  r.   r;   r:   r#   r#   r$   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   rK   Zbothru  ra   Zneither)r   r   rA   r   r6   r   )r8   rx  r.   r;   r#   r#   r$   &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|| d}tjt|d t |j	|jd}W 5 Q R X 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-  rZ   r   r
  rM   rQ  z%will interpret the data as wall-timesr=   r   )r   r   rA   r1   r7   r]  r\  r2   r3   r   r[  r   r>  )r8   r_   r;   rF   middler#   r#   r$   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2000rE  2001	Period[D])r   r   r   r1   r7   rA   r6   ry  r#   r#   r$   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   rZ    z	period[D]rM   rZ   ra   )r   r3  Z_libsr   r   r6   r8   r   valr#   r#   r$   ;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~  rE  r  rN   )r   r   rA   r   r6   r   )r8   r.   r;   r#   r#   r$   .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-  ro   rE  r   r  )r   r   rA   r6   r   r   r1   r7   )r8   pir   r:   r#   r#   r$   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   rU   r   )rH   rJ   r   rP   rJ   r   r   rH   rK   ra   r   r   rM   )
r   r   keysr1   r7   rQ   r{   ZmakePeriodIndexru   r   )r8   r   r;   r:   Zpidxr#   r#   r$   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 )NrH   ra   rZ   rb   r   rx   rP   r   r8   r   r;   r:   r#   r#   r$   /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 )NrK   r   ra   )rJ   rH   r   ZbacrP   )r   rB   r1   r7   r  r#   r#   r$   test_constructor_dict_order  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 )NrH   rP   rx   )r   rA   r6   r1   r7   )r8   r\   r]   r^   r   r;   r:   r#   r#   r$   test_constructor_dict_extension%  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 )NrK   rH   rJ   r{   r   rb   r   rP   rK   rK   ra   rZ   )rW   r   sort_valuesrQ   r{   r1   r7   r   )r8   r  r   r;   r:   r#   r#   r$   test_constructor_dict_nan_key/  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{\IAi gtyZQAr  c                    s   t t fddD S )Nc                 3   s   | ]} |V  qd S r!   r#   r(   r   r9   r#   r$   r*   F  s     zeTestSeriesConstructors.test_constructor_dict_datetime64_index.<locals>.create_data.<locals>.<genexpr>)dictzipr  Zdates_as_strr   r  r$   create_dataE  s    zRTestSeriesConstructors.test_constructor_dict_datetime64_index.<locals>.create_datac                 S   s   t | dS )Nz%Y-%m-%d)r   strptimer   r#   r#   r$   r%   I  r&   zOTestSeriesConstructors.test_constructor_dict_datetime64_index.<locals>.<lambda>c                 s   s   | ]}t |V  qd S r!   )r   r  r#   r#   r$   r*   L  s     zPTestSeriesConstructors.test_constructor_dict_datetime64_index.<locals>.<genexpr>)rQ   r=  r   r   r1   r7   )	r8   r  Zdata_datetime64Zdata_datetimeZdata_Timestampr:   Zresult_datetime64Zresult_datetimeZresult_Timestampr#   r  r$   &test_constructor_dict_datetime64_index?  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)rK   rK   Ng      rK   r   r  )ZlevelscodesrP   )r   r   rQ   r{   r1   r7   r   r#   r#   r$   #test_constructor_dict_tuple_indexerV  s     $z:TestSeriesConstructors.test_constructor_dict_tuple_indexerc                 C   s4   |ddi}t |}t dgdgd}t|| d S )NrZ   threerP   r   )r8   Znon_dict_mapping_subclassZndmr;   r:   r#   r#   r$   test_constructor_mapping_  s    z/TestSeriesConstructors.test_constructor_mappingc                 C   s&   dddg}t |}t||ks"td S )Nr  ra   ra   ra   rZ   )r   rB   r6   r8   r.   r   r#   r#   r$   test_constructor_list_of_tuplesg  s    
z6TestSeriesConstructors.test_constructor_list_of_tuplesc                 C   s    d}t |}t||kstd S )N)r  r  r  )r   tupler6   r  r#   r#   r$    test_constructor_tuple_of_tuplesl  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 )NrZ   rp   )rK   ra   Nro   r  r  rP   )r   r  r   from_tuplesr1   r7   r   r#   r#   r$   test_constructor_dict_of_tuplesq  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st	d S )Nr   rK   ra   rZ   )rH   rJ   r   r   r   r   30rH   rJ   rM   )r   r1   Zassert_is_sortedr5   r   r8  rA   rQ   re   r6   rW   ru   )r8   r.   r   r#   r#   r$   test_fromDictx  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stt|t|kstt d|jdd}t d|jdd}|jdkstt|t|kstt|| d S )Nrx   r   rP   r   r   rv   )r   rQ   rd   r5   ru   rA   Zfloat_r6   r4   re   r   r8  r   r1   r7   )r8   rj   Znansstringsr   r?  Zcategoricalr:   r#   r#   r$   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stt tddtjgd	d
}|jdkstt tdtgd	d
}|jdkst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st|
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d}tjt|d t d tdg}W 5 Q R X |jdksdttjt|d t tjtdg}W 5 Q R X |jdksttjt|d t td dg}W 5 Q R X |jdksttjt|d t ttjdg}W 5 Q R X |jdkstd S )Nc                 S   s   g | ]}t |d qS daysr   r   r#   r#   r$   rK    s     zMTestSeriesConstructors.test_constructor_dtype_timedelta64.<locals>.<listcomp>rZ   timedelta64[ns]rK   r  ra   r   r   rM   i r   r   zDcannot astype a datetimelike from \[timedelta64\[ns\]\] to \[int32\]r=   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   r#   r#   r$   rK    s     rO  z1 Day)r   r[   rA   r6   r   rQ   timedelta64r   r{   r   r   rC   rD   rE   joinrS   r1   r2   r3   )r8   tdrF   r_   r#   r#   r$   "test_constructor_dtype_timedelta64  s`    "
 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   rY  r   rM   )r   r   r1   r7   r  r#   r#   r$   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   rZ  r  r   rM   rZ   ra   )r   r   r   r6   r  r#   r#   r$   test_NaT_scalar  s
    z&TestSeriesConstructors.test_NaT_scalarc                 C   s,   t tjgd}t tg}t|| d S r7  )r   rQ   r{   r   r   r1   r7   r   r#   r#   r$   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@r@   r      r   u   אrK   ra   rZ   r   r  r   )r   rQ   onesr   r@   r6   )r8   nr.   r   r#   r#   r$   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_listra   rK   r=   r   )rQ   r  rC   rD   rE   r   )r8   rF   r  r.   r#   r#   r$    test_constructor_name_unhashable  s
    z7TestSeriesConstructors.test_constructor_name_unhashablec                 C   s&   t ttddd}|jdks"td S )N1/1/2000rw   r  r   )r   rB   r   rA   r6   r8   r   r#   r#   r$   test_auto_conversion  s    z+TestSeriesConstructors.test_auto_conversionc                 C   s   t jdddgdd}t|}ttdddd}t|| t jd	d
dgdd}t|}ttdddd}t|| t jdddgdd}t|}ttdddd}t|| d S )NrK   ra   rZ   timedelta64[s]rM   z00:00:01r   r   
2013-01-01z
2013-01-02z
2013-01-03zdatetime64[D]r-  rE  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)rQ   rR   r   r   r1   r7   r   )r8   r$  r   r:   r_   r#   r#   r$   test_convert_non_ns  s$     z*TestSeriesConstructors.test_convert_non_nsr  rw   z2000-Q1c                 C   s
   t | jS r!   r  r   r#   r#   r$   r%   :  r&   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 r=   rM   )r  r   rstriprC   rD   rE   r   rW   rQ   r   r   r1   r7   )r8   r5   rF   r;   r:   r#   r#   r$   'test_constructor_cant_cast_datetimelike3  s    z>TestSeriesConstructors.test_constructor_cant_cast_datetimelikec                 C   s
   t | jS r!   r  r   r#   r#   r$   r%   U  r&   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   r1   r7   r   )r8   r5   r   r   r#   r#   r$   test_constructor_cast_objectN  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  r=  zGH#33890 Is assigned ns unitr  r=   rM   )rQ   rA   r@   rC   markxfailnodeZ
add_markerrD   rS   r   )r8   rA   requestrF   r  r#   r#   r$   /test_constructor_generic_timestamp_no_frequencyd  s    zFTestSeriesConstructors.test_constructor_generic_timestamp_no_frequencyz	dtype,msg)zm8[ps]zcannot convert timedeltalike)zM8[ps]zcannot convert datetimelikec              	   C   s*   t jt|d tg |d W 5 Q R X d S )Nr=   rM   )rC   rD   rE   r   )r8   rA   rF   r#   r#   r$   0test_constructor_generic_timestamp_bad_frequencyp  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   rK   ra   rZ   rb   r   rM   ro   r   )r8   rA   r:   r;   r#   r#   r$   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st|jtjkstt ddd}t|}tt|}	t||	 t|t|kst|jt	kst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        ra   I   rb   )
r[   r   rB   r1   r7   r6   rA   rQ   uint64r   )r8   r   r_   r:   Zrng2ser2Z	expected2Zrng3Zser3Z	expected3Zrng4Zser4Z	expected4r#   r#   r$    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-0700rc  rY  rM   )r   r   r   r1   r7   )r8   Zdt_listr;   r:   r#   r#   r$   test_constructor_tz_mixed_data  s    
z5TestSeriesConstructors.test_constructor_tz_mixed_datapydtc              	   C   s   |}t d|d}|r| }t d}tt t|gdd}W 5 Q R X t|g}t|| tt ttj|gt	ddd}W 5 Q R X t|| tt td|idd}W 5 Q R X t|| tt t|dgdd}W 5 Q R X t|| d S )NZ2019rY  r  rM   r   rx   )
r   rM  r1   r2   r3   r   r7   rQ   rR   r   )r8   Ztz_aware_fixturer  r   tsZts_naiver;   r:   r#   r#   r$   '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   rQ   Zasarrayr   Z
issubdtyperA   r6   )r8   r   r?  r   r#   r#   r$   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 )NrD  rK   ra   rZ   rx   r   )r8   Znullable_string_dtyper;   r:   r#   r#   r$   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 )Nr  rM   )r3  ZSparseDtyper   ZarraysZSparseArrayr1   r7   )r8   r   rA   r;   r$  r:   r#   r#   r$   "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 )NrK   ra   r  rH   rJ   )r   r  r1   r7   r   r   r#   r#   r$   )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   rP   r   )r8   r  r;   r:   r#   r#   r$   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-01rw   rE  r   r  z
2011-01-01r   z
2011-02-01)r   rB   r   rA   r6   r   r  r#   r#   r$   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      $@Nr#   r  r#   r#   r$   r*     s     zHTestSeriesConstructors.test_constructor_subclass_dict.<locals>.<genexpr>rw   )r[   r   r  itemsr1   r7   )r8   Zdict_subclassr.   r   r:   r#   r#   r$   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)rQ   rf   r   r#   r#   r$   r*     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   r#   r#   r#   r$   rN     s   rN   )r   r[   r   rB   r   r  r1   r7   )r8   r.   r   r:   rN   r#   r#   r$   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   rU   r   ))rH   rH   )rJ   rH   )rJ   r   c                 S   s   g | ]}|d  qS r   r#   r  r#   r#   r$   rK    s     zKTestSeriesConstructors.test_constructor_dict_multiindex.<locals>.<listcomp>c                 S   s   g | ]}|d  qS r   r#   r  r#   r#   r$   rK    s     rP   g     [@zr   c                 S   s   g | ]}|d  qS r   r#   r  r#   r#   r$   rK     s     c                 S   s   g | ]}|d  qS r  r#   r  r#   r#   r$   rK     s     F)Ztupleize_cols)r   r  r   r   r  r1   r7   insertr   Zreindexr5   )r8   r   Z_dr;   r:   r#   r#   r$    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   rK   ra   ))r   r   )r   j)r  r   r  r  rP   )rQ   r{   r   to_dictr5   r1   r7   )r8   r.   r:   r;   r#   r#   r$   -test_constructor_dict_multiindex_reindex_flat%  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 )
NrN   rO   r   r   rw   r   r   rm  r.   r5   r   r3  Zto_timedeltar1   r7   r   r#   r#   r$   %test_constructor_dict_timedelta_index-  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  ro   r  )tzinfor  r  r   )r   r   r   r5   r   r6   repr)r8   r   r  r5   r   r#   r#   r$   test_constructor_infer_index_tz?  s    
z6TestSeriesConstructors.test_constructor_infer_index_tzc                 C   s6   dddg}t |}|jj}t ||d}t|| d S )Nr   )ra   r   rM   )r   rR   rA   r1   r7   )r8   r(  r_   rA   r  r#   r#   r$   "test_constructor_with_pandas_dtypeM  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   rx   ru   )r   rQ   r{   r1   r7   r   r#   r#   r$   )test_constructor_int_dtype_missing_valuesU  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   rx   Tr   r   r#   r#   r$   *test_constructor_bool_dtype_missing_values[  s    zATestSeriesConstructors.test_constructor_bool_dtype_missing_valuesc                 C   s:   t dddgdd}t tjdddgdd}t|| d S )Nr<  @ - r  rM   rH  r  r  r   r#   r#   r$   6test_constructor_dtype_timedelta_alternative_constructa  s    zMTestSeriesConstructors.test_constructor_dtype_timedelta_alternative_constructc                 C   s4   t dddgdd}t dddgdd}t|| d S )Nr<  r  r  r  rM   r  r   r   r#   r#   r$   %test_constructor_dtype_timedelta_ns_sg  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 )Nr<  r  r  r  rM   r   r  r   r   r#   r#   r$   2test_constructor_dtype_timedelta_ns_s_astype_int64m  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 NAr=   rU   g      @rM   )r  r1   ZNP_NAT_OBJECTSr   rC   rD   rE   )r8   r  Zany_numeric_ea_dtyperF   nullr#   r#   r$   /test_constructor_mismatched_null_nullable_dtypew  s    zFTestSeriesConstructors.test_constructor_mismatched_null_nullable_dtype)r   r   r   rC   r  parametrizer<   rG   rT   rY   r`   rn   rs   rB   r  r   r   rQ   r{   rW   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   r[   r   r   r   r   r  r  r  r	  r  skip_array_manager_invalid_testr   r   r   r   r  r  r  r  r  rR   Zuint16Zuint32r  r  r!  r%  r)  r*  r+  r,  r.  r5  r6  r9  r;  rA  rB  rC  rN  rP  rS  rT  rV  rW  ra  rg  rh  ri  rk  r   ru   rp  r   rr  rs  r   r   rw  rz  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  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   r3  r  r#   r#   r#   r$   r    5   s  











	
%
$



	



%	$M

	


	



/
	1
4

	
  
  
  
	
	
	R			


	
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 	t
 |jjs>tW 5 Q R X t|jtsXtd S )Ni'  )r1   ZmakeDateIndexr   rQ   rf   rg   r4   r   r   r2   r3   r5   Zis_all_datesr6   rV   r   )r8   idxr_   r#   r#   r$   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 )
NrH   rJ   r   r  rU   c                 S   s   g | ]}t |qS r#   )rQ   rR   r  r#   r#   r$   rK    s     z_TestSeriesConstructorIndexCoercion.test_series_constructor_infer_multiindex.<locals>.<listcomp>rP   rb   )r   rV   r5   r   r6   r[   )r8   Zindex_listsmultir#   r#   r$   (test_series_constructor_infer_multiindex  s    zKTestSeriesConstructorIndexCoercion.test_series_constructor_infer_multiindexN)r   r   r   r  r  r#   r#   r#   r$   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 )NrK   ra   rZ   r   )	r   rR   r1   r7   rV   r  r  r   r6   )r8   Zusing_array_managerr_   r;   r#   r#   r$    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  rM   r   FZ2015r  )r   r3  rR   r  r  is_extensionr6   r   r#   r#   r$   test_from_array  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 r	  )r   r  r  r
  r6   r   r#   r#   r$   test_from_list_dtype  s    z3TestSeriesConstructorInternals.test_from_list_dtypeN)r   r   r   r  r  r   r  r  r#   r#   r#   r$   r    s
   
r  c                 C   s&   | }t |tstt |jts"td S r!   )rV   r   r6   r5   r   )Z(rand_series_with_duplicate_datetimeindexZdupsr#   r#   r$   rn     s    rn   zinput_dict,expectedrM   rH   rK   c                 C   s    t t| g}t|| d S r!   )rQ   rR   r   r1   r   )Z
input_dictr:   r;   r#   r#   r$   test_numpy_array  s    	r  )?collectionsr   r   r   Zdateutil.tzr   numpyrQ   Znumpy.mar   rC   Zpandas._libsr   r   Zpandas.compatr   Zpandas.util._test_decoratorsutilZ_test_decoratorsr  Zpandas.core.dtypes.commonr	   r
   Zpandas.core.dtypes.dtypesr   Zpandasr3  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Zpandas._testingZ_testingr1   Zpandas.core.apir   Zpandas.core.arraysr   r   Zpandas.core.internals.blocksr   r    r  r  rn   r  r  rR   r   r   r  r#   r#   r#   r$   <module>   sT   H              i