o
    %jAO                 
   @   s  d dl mZ 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Z d d
lmZ d dlm  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,m-Z- d dl.m/Z0 d dl1m2Z2m3Z3m4Z4 d dl5m6Z6 G dd dZ7G dd dZ8G dd dZ9dd Z:ej;<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d ZAej;<ddeBd d!gd"eBd d#ggd$d% ZCdS )&    )OrderedDict)Iterator)datetime	timedelta)tzoffsetN)ma)iNaTlib)HAS_PYARROW)np_version_gt2)IntCastingNaNError)CategoricalDtype)Categorical	DataFrameDatetimeIndexDatetimeTZDtypeIndexIntervalIntervalIndex
MultiIndexNaTPeriod
RangeIndexSeries	Timestamp
date_rangeisnaperiod_rangetimedelta_range)IntegerArrayIntervalArrayperiod_array)
NumpyBlockc                   @   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-g d.ej	d/deg gd0d1 Zd2d3 Zd4d5 Zej	d6g d7d8d9 Zd:d; Zd<d= Zd>d? Z d@dA Z!dBdC Z"dDdE Z#dFdG Z$ej	d-g dHdIdJ Z%ej	dKdLdMgdNdOgee&dPdMdQdRee&dPdMdQdSdTe'dUdVdWggdXdY Z(dZd[ Z)d\d] Z*d^d_ Z+d`da Z,dbdc Z-ddde Z.dfdg Z/dhdi Z0djdk Z1dldm Z2dndo Z3dpdq Z4drds Z5dtdu Z6dvdw Z7dxdy Z8dzd{ Z9ej	d|g d}d}ee:d~e;g ddd e:d~D dd e:d~D gdd Z<dd Z=dd Z>dd Z?dd Z@dd ZAeBjCejj	d/e&dd~dSde&dd~deDdd~deEdd~ddReedeg d}eFdUd~gdd ddd ZGdd ZHdd ZIdd ZJdd ZKdd ZLej	dejMdLgejNdejMdLgejOdejMdLgejPdeNdLgeOdLgePdLggdd 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ӄ ZgddՄ Zhddׄ Ziddل Zjddۄ Zkdd݄ Zlej	dejmejngej	dddgej	dg ddd Zoej	ddepejdgdd Zqdd Zrej	desetgdd Zuejj	deejMgddgddd Zvejj	deejMgddgddd Zwdd Zxejj	deejMgddgddd Zyejjzdddd Z{dd Z|d d Z}dd Z~dd Zdd Zdd	 Zej	d
dMe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d,d- Zejj	d/e&d.d/deDdd/deEd0d/ddRgd1d dd2d3 Zejj	d/e&d.d/deDdd/deEd0d/ddRgd4d dd5d6 Zej	d-ejejgd7d8 Zej	dg d9ej	dddgd:d; Zej	d-g d<d=d> Zd?d@ ZdAdB Zej	dCdDdEgdFdG ZdHdI ZdJdK Zej	dedLedMgdLdMggdNdO ZdPdQ Z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 Zejjzdnddodp Zejjzdnddqdr Zejdsej	dteeeejMgdudv Zdwdx Zdydz Zej	d{dLd|gd}d~ Zej	d{dLd|gdd Zdd Zdd Zdd Zdd Zej	ddejejgdd Zdd Zdd Zdd Zdd ZÐdd ZĐdd Zd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 r2   f/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/pandas/tests/series/test_constructors.py'test_from_ints_with_non_nano_dt64_dtype6   s   
z>TestSeriesConstructors.test_from_ints_with_non_nano_dt64_dtypec                 C   s0   t d gdd}|  sJ |jdksJ d S )Nzinterval[datetime64[ns]]r&   zinterval[datetime64[ns], right])r   r   allr'   r.   serr2   r2   r3   1test_from_na_value_and_interval_of_datetime_dtype@   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   r1   idxr2   r2   r3   !test_infer_with_date_and_datetimeF   s   z8TestSeriesConstructors.test_infer_with_date_and_datetimec                 C   s   dg}d}t jt|d t|dd W d    n1 sw   Y  t jt|d ttj|tddd W d    d S 1 s@w   Y  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@   msgr2   r2   r3   'test_unparsable_strings_with_dt64_dtypeT   s   "z>TestSeriesConstructors.test_unparsable_strings_with_dt64_dtypeconstructorc                 C   s
   t | dS Nindexr   rA   r2   r2   r3   <lambda>e      
 zTestSeriesConstructors.<lambda>c                 C      t d | dS rM   rP   rQ   r2   r2   r3   rR   f       c                 C      t i | dS rM   rP   rQ   r2   r2   r3   rR   g   rU   c                 C      t d| dS )Nr2   rN   rP   rQ   r2   r2   r3   rR   h   rU   c                 C      t g | dS rM   rP   rQ   r2   r2   r3   rR   i   rU   c                 C      t dd dD | dS )Nc                 s       | ]}|V  qd S Nr2   .0_r2   r2   r3   	<genexpr>j       2TestSeriesConstructors.<lambda>.<locals>.<genexpr>r2   rN   rP   rQ   r2   r2   r3   rR   j       c                 C   rT   NdatarO   rP   rQ   r2   r2   r3   rR   k   rU   c                 C   rV   rc   rP   rQ   r2   r2   r3   rR   l   rU   c                 C   rW   )Nr2   rd   rP   rQ   r2   r2   r3   rR   m   rU   c                 C   rX   rc   rP   rQ   r2   r2   r3   rR   n   rU   c                 C   rY   )Nc                 s   rZ   r[   r2   r\   r2   r2   r3   r_   o   r`   ra   r2   rd   rP   rQ   r2   r2   r3   rR   o   rb   empty_indexNc                 C   sF   t |d}||}|jtksJ t|jdksJ tj||dd d S )NrN   r   TZcheck_index_type)r   r'   r<   lenrO   r+   r=   )r.   rL   rf   r1   resultr2   r2   r3   test_empty_constructor^   s
   
z-TestSeriesConstructors.test_empty_constructorc              	   C   sX   d}t dtg}|D ] }tjt|d tg d|d W d    n1 s$w   Y  q	d S )Nznot understoodr   rC   time)namer'   )r   r-   rF   rG   	TypeErrorr   )r.   rJ   Zinvalid_listr'   r2   r2   r3   test_invalid_dtype|   s   
z)TestSeriesConstructors.test_invalid_dtypec                 C   sd   t ddg}t jddg|d}tjtdd t|dd	gd
 W d    d S 1 s+w   Y  d S )N)ai8)bZf4)r9   g?)   ir&   zUse DataFrame insteadrC   ABrN   )r(   r'   rI   rF   rG   rH   r   )r.   Zc_dtypeZcdt_arrr2   r2   r3   test_invalid_compound_dtype   s
   "z2TestSeriesConstructors.test_invalid_compound_dtypec                 C   s   t d}t|trJ d S )Ng      ?)r   
isinstancefloat)r.   Zscalarr2   r2   r3   test_scalar_conversion   s   z-TestSeriesConstructors.test_scalar_conversionc                 C   sH   |\}}t |tdd}t |gd |d}|j|ksJ t|| d S )N   rN   r&   )r   ranger'   r+   r=   )r.   ea_scalar_and_dtype	ea_scalarea_dtyper7   r1   r2   r2   r3   test_scalar_extension_dtype   s
   z2TestSeriesConstructors.test_scalar_extension_dtypec           
      C   sj  t  }|jjs	J t |}|jjsJ t|j|j t|jt|jks'J t dtjgddgd}|s<|jtj	ks=J 	 t
|d sFJ |jjrLJ t  jjrSJ tjtdd t tjdd	td
d W d    n1 suw   Y  d|_t |j}d}||ksJ tddgd
dgg}d}	tjt|	d t | W d    d S 1 sw   Y  d S )NZhellor   r9   rN   strzAData must be 1-dimensional, got ndarray of shape \(3, 3\) insteadrC      )ry   ry   ry   r      z8initializing a Series from a MultiIndex is not supported)r   rO   Z_is_all_datesr+   r>   idr(   nanr'   object_isnanrF   rG   rH   randomdefault_rngstandard_normalr)   rl   r   Zfrom_arraysNotImplementedError)
r.   datetime_seriesusing_infer_stringZempty_seriesZderivedmixedrsZxpmrJ   r2   r2   r3   test_constructor   s4   "

"z'TestSeriesConstructors.test_constructorc                 C   sf   t ddgddgddggg dd}tjtd	d
 tg d|d W d    d S 1 s,w   Y  d S )Nr9   r   ry   r         )ry   r   	   rN   z Index data must be 1-dimensionalrC   r9   ry   r   )r   rF   rG   rH   r   )r.   dfr2   r2   r3   '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urt 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}|rt d	td
dd}nt d	td
d}t|| d S d S )NFrg   float64r&   categoryr$   rN   rO   r'    ry   r'   rO   r   )r   r+   r=   r-   rz   r(   r   r   )r.   r   r   emptyempty2r2   r2   r3   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   Frg   r   rz   r+   r=   )r.   r   r   r   r2   r2   r3   test_constructor_nan   s   z+TestSeriesConstructors.test_constructor_nanr'   )Zf8rp   M8[ns]m8[ns]r   r<   zdatetime64[ns, UTC]rO   c                 C   s.   t ||d}|j|ksJ t|dksJ d S )Nr   r   )r   r'   rh   )r.   r'   rO   ri   r2   r2   r3   test_constructor_dtype_only   s   z2TestSeriesConstructors.test_constructor_dtype_onlyc                 C   s(   t g dd}|j g dksJ d S )Nrq   ro   crN   )r   rO   tolistr.   ri   r2   r2   r3   $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J d S Nr9   r   r   )r   r   r(   r   ilocr   r2   r2   r3   $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J d S r   )r   r   r   )r.   r   ri   r2   r2   r3   +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 u s!J t dtjg|d}t|jd s4J d S )Nxr&   FTr9   )r   r   r+   r=   r   r(   r   r   )r.   string_dtyper7   ri   r1   r2   r2   r3   $test_constructor_dtype_str_na_values  s   z;TestSeriesConstructors.test_constructor_dtype_str_na_valuesc                 C   s@   g d}t |}tg d|d}t||d}t||  d S )N)drq   ro   r   )r      ry   rN   )sortedr   r+   r=   Z
sort_index)r.   Zindex1index2s1s2r2   r2   r3   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efddZdS )z>TestSeriesConstructors.test_constructor_iterable.<locals>.Iterreturnc                 s   s    t dE d H  d S )Nr$   )rz   r.   r2   r2   r3   __iter__%  s   zGTestSeriesConstructors.test_constructor_iterable.<locals>.Iter.__iter__N)__name__
__module____qualname__r   r   r2   r2   r2   r3   Iter$  s    r   r$   int64r&   r   r-   rz   r+   r=   )r.   r   r1   ri   r2   r2   r3   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.   r1   ri   r2   r2   r3   test_constructor_sequence,  s   z0TestSeriesConstructors.test_constructor_sequencec                 C   s"   t dg}t d}t|| d S )Nabcr   r+   r=   r   r2   r2   r3   test_constructor_single_str2  s   
z2TestSeriesConstructors.test_constructor_single_strc                 C   sR   t g ddd}g ddtjg dddfD ]}t |g dd}t|| qd S )Nr9   r   ry   r   r&   r   r9   r   rN   )r   r(   rI   r+   r=   )r.   r1   objri   r2   r2   r3   test_constructor_list_like8  s
    z1TestSeriesConstructors.test_constructor_list_likec                 C   sP   t g dg dd}|dk}t g d|d}t g dg dd}t|| d S )Nr   )r   r   r   rN   r   r   )FTFr   )r.   r   rO   ri   r1   r2   r2   r3   test_constructor_boolean_indexA  s
   z5TestSeriesConstructors.test_constructor_boolean_index)boolint32r   r   c                 C   s&   t tg d|d}|j|ksJ d S )N)r   r   r   r&   )r   r   r'   )r.   r'   sr2   r2   r3   test_constructor_index_dtypeJ  s   z3TestSeriesConstructors.test_constructor_index_dtype
input_valsr9   r   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   ri   r1   r2   r2   r3   test_constructor_list_strQ  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 s#J d S )N      ?       @r&   z1.0z2.0r   )r   r(   r   r<   r+   r=   r   )r.   r   ri   r1   r2   r2   r3   test_constructor_list_str_nac  s   z3TestSeriesConstructors.test_constructor_list_str_nac                 C   r   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   rZ   r[   r2   r]   ir2   r2   r3   r_   j  r`   zDTestSeriesConstructors.test_constructor_generator.<locals>.<genexpr>r$   c                 s   rZ   r[   r2   r   r2   r2   r3   r_   q  r`      rN   rz   r   r+   r=   rO   )r.   genri   expr2   r2   r3   test_constructor_generatori  s   z1TestSeriesConstructors.test_constructor_generatorc                 C   r   )Nc                 s   rZ   r[   r2   r]   r   r2   r2   r3   r_   x  r`   z>TestSeriesConstructors.test_constructor_map.<locals>.<genexpr>r$   c                 s   rZ   r[   r2   r   r2   r2   r3   r_     r`   r   rN   r   )r.   r   ri   r   r2   r2   r3   test_constructor_mapv  s   z+TestSeriesConstructors.test_constructor_mapc                 C   s\   t g dg d}t|}t|j| tt g ddd}tg ddd}t|| d S )N)r   r9   r   r   r9   r   ro   rq   r   r   r   r&   )r   r   r+   Zassert_categorical_equalr/   r=   )r.   catr0   ri   r1   r2   r2   r3   test_constructor_categorical  s   z3TestSeriesConstructors.test_constructor_categoricalc                 C   s(   t tg ddd}t|jtsJ d S Nr   r   r&   )r   r   rv   r'   r   r6   r2   r2   r3   *test_construct_from_categorical_with_dtype  s   zATestSeriesConstructors.test_construct_from_categorical_with_dtypec                 C   s$   t g ddd}t|jtsJ d S r   )r   rv   r'   r   r6   r2   r2   r3   ,test_construct_intlist_values_category_dtype  s   zCTestSeriesConstructors.test_construct_intlist_values_category_dtypec                 C   s"  t g d}t|dd}|jdksJ t|t|ksJ td|i}|d }t|| |jd d df }t|| t|t|ksFJ td|i}|d }t|| t|t|ks`J t||dd}|d }|d }t|| tj||d	d
 |jdksJ t|t|ksJ d S )N)ro   rq   rq   ro   ro   r   r   r   rs   rl   r   r   r9   rs   rt   Crt   F)Zcheck_names)	r   r   r'   rh   r   r+   r=   r   rl   )r.   factorr   r   ri   Zresult1Zresult2r2   r2   r3   *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s*J |jd }||ks5J |jjd }||ksAJ d S )	Nr9   zJohn P. Doer   z	Jane DoveZ	person_idperson_name)columnsr   )r   r   r   r   loc)r.   r   r1   ri   r2   r2   r3   +test_constructor_categorical_with_coercion2  s   
zBTestSeriesConstructors.test_constructor_categorical_with_coercion2c                 C   s8   t g d}t |dd}t g ddd}t|| d S )Nr   r   r&   r   )r.   seriesri   r1   r2   r2   r3   &test_constructor_series_to_categorical  s   z=TestSeriesConstructors.test_constructor_series_to_categoricalc                 C   s   t ddgtg dddd}t|jtsJ t|jjtg d |jj	s(J t ddgtddgd}t|jts<J t|jjtddg |jj	du sPJ 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 )Nro   rq   r   T)orderedr&   Fr   r9   r   )r   r   rv   r'   r+   r>   r   
categoriesr   r   r=   r.   ri   r1   r2   r2   r3   "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cdtr1   r   ri   r2   r2   r3   #test_constructor_categorical_string  s   z:TestSeriesConstructors.test_constructor_categorical_stringc                 C   sR  t g d}t|dd}|j|usJ |jg d}tjg dtjd}tjg dtjd}t	|
 | t	|
 | d|d< tjg d	tjd}t	|
 | t	|
 | t g d}t|d
d}|j|u spJ |jg d}|j|usJ tjg dtjd}t	|
 | d|d< tjg d	tjd}t	|
 | d S )N)ro   rq   r   ro   T)copyr   )r9   r   ry   r9   r&   r   r   )r   r   ry   r9   F)r   r   r   Zrename_categoriesr(   rI   r   r   r+   assert_numpy_array_equalZ	__array__r/   )r.   r   r   Zexp_sZexp_catZexp_s2r2   r2   r3   !test_categorical_sideeffects_free  s,   z8TestSeriesConstructors.test_categorical_sideeffects_freec                 C   sD   t g dtddgd}t tddtjgddgd}t|| d S )Nr   ro   rq   r&   )r  )r   r   r   r(   r   r+   r=   )r.   r   r   r2   r2   r3   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< g d}t||d}tdtjdg|d}t|| d	|d
< t||d}tg d|d}t|| t jdtd}t|}ttjtjtjgtd}t|| d|d< d|d< g d}t||d}tdtjdg|td}t|| d
|d
< t||d}tg d|td}t	j
tdd t|| W d    n1 sw   Y  t jdtd}t|}ttjtjtjgtd}t|| d|d< d|d< g d}t||d}tdtjdg|td}t|| d|d
< t||d}tg d|td}t	j
tdd t|| W d    n	1 s1w   Y  t jddd}t|}ttttgdd}t|| tdd
d
|d< tdd
d|d< g d}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ry   r&           r   r   r   r   rN   r   r9   )r
  r   r   r   r   zSeries classes are differentrC   TFTTFr     ry   )r   
masked_allrw   r   r(   r   r+   r=   intrF   rG   AssertionErrorr   r<   r   r   )r.   re   ri   r1   rO   r2   r2   r3   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  rw   Zharden_maskr   r(   r   r+   r=   r.   re   ri   r1   r2   r2   r3   %test_constructor_maskedarray_hardenedl  s   z<TestSeriesConstructors.test_constructor_maskedarray_hardenedc                 C   sR   t dddd}dd |D }t||d}|r |j|sJ d S |j|u s'J d S )NZ20090415Z20090519rt   r   c                 S   s   i | ]}|d qS r9   r2   )r]   kr2   r2   r3   
<dictcomp>u  s    zNTestSeriesConstructors.test_series_ctor_plus_datetimeindex.<locals>.<dictcomp>rN   )r   r   rO   is_)r.   using_copy_on_writerngre   ri   r2   r2   r3   #test_series_ctor_plus_datetimeindexs  s   z:TestSeriesConstructors.test_series_ctor_plus_datetimeindexc                 C   s*   t g d}tj|jttddd d S )Nr   ry   T)exact)r   r+   r>   rO   r   rz   r.   r   r2   r2   r3   test_constructor_default_index}  s   z5TestSeriesConstructors.test_constructor_default_indexinputr   ry   )ro   rq   ro   c                 c   rZ   r[   r2   r   r2   r2   r3   r_     r`   z TestSeriesConstructors.<genexpr>c                 c   rZ   r[   r2   r   r2   r2   r3   r_     r`   c                 C   sJ   d}t jt|d t|tdd W d    d S 1 sw   Y  d S )Nz;Length of values \(3\) does not match length of index \(4\)rC   r   rN   )rF   rG   rH   r   r(   r)   )r.   r  rJ   r2   r2   r3   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 )Nd   r   r   r   )r   r(   rI   r)   r+   r=   r  r2   r2   r3   test_constructor_numpy_scalar  s   z4TestSeriesConstructors.test_constructor_numpy_scalarc                 C   sJ   d}t jt|d tdgg dd W d    d S 1 sw   Y  d S )Nz;Length of values \(1\) does not match length of index \(3\)rC   foor   rN   )rF   rG   rH   r   r.   rJ   r2   r2   r3   test_constructor_broadcast_list  s   "z6TestSeriesConstructors.test_constructor_broadcast_listc                 C   sB   t tdtdddd}||g}t|ddgd}t|tsJ d S )Nr   
2020-01-01r   rN   r   r9   )r   rz   r   r   rv   )r.   r   objsr   r2   r2   r3   test_constructor_corner  s   z.TestSeriesConstructors.test_constructor_cornerc                 C   s~   t tg ddd}|jtdksJ d}tjt|d t tddtjgddd W d    d S 1 s8w   Y  d S )	N)r   r   g       @rp   r&   9Cannot convert non-finite values \(NA or inf\) to integerrC   r   Tr  r'   )r   r(   rI   r'   rF   rG   r   r   )r.   r   rJ   r2   r2   r3   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< ||r'J |d dks/J |d dks7J q	d S )Nr   Tr*  r   r   )r(   rI   r   rw   r+   r=   equals)r.   re   r   yr2   r2   r3   test_constructor_copy  s   z,TestSeriesConstructors.test_constructor_copyZ20170101r   r   r&  z1 dayZ2012Q1Qr   c                 C   
   t | jS r[   typer   r   r2   r2   r3   rR     rS   )Zidsc                 C   s"   t |}|jjd j|usJ d S Nr   )r   _mgrblocksr/   )r.   rO   r   r2   r2   r3   test_constructor_limit_copies  s   z4TestSeriesConstructors.test_constructor_limit_copiesc                 C   sF   t g d}| }t |}|j|jusJ g d|_t|| d S )Nr   r   )r   r  r6  rO   r+   r=   )r.   r   Zs_origr   r2   r2   r3   test_constructor_shallow_copy  s   
z4TestSeriesConstructors.test_constructor_shallow_copyc                 C   st   t d tdd}|jtjksJ t d tdtd}|jtjks!J t td gd}t td gd}t	
|| d S )Nr   rN   r   )r   rz   r'   r(   r   r<   r   rI   r   r+   r=   r.   r   r1   r2   r2   r3   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J tt tjtjg| tt ttjtjg| t ttg}|jdks;J 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'   r+   r=   rI   r   )r.   r   r2   r2   r3   test_constructor_pass_nan_nat  s    z4TestSeriesConstructors.test_constructor_pass_nan_natc                 C   sH   d}t jt|d tg dtd W d    d S 1 sw   Y  d S )Nz!could not convert string to floatrC   r   r&   )rF   rG   rH   r   rw   r#  r2   r2   r3   test_constructor_cast  s   "z,TestSeriesConstructors.test_constructor_castc                 C   s   t rd}t}nd}t}tj||d tg ddd W d    n1 s%w   Y  tj||d tg ddd W d    d S 1 sEw   Y  d S )NzCThe elements provided in the data cannot all be casted to the dtypez/Values are too large to be losslessly convertedrC   )r9      i2 int8r&   uint8)r   OverflowErrorrH   rF   rG   r   )r.   rJ   errr2   r2   r3   +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J |d |ksJ d S r5  )r   r'   )r.   r/   valueri   r2   r2   r3   test_constructor_numpy_uints  s   z3TestSeriesConstructors.test_constructor_numpy_uintsc                 C   sV   t rd| }nd}tjt|d tdg|d W d    d S 1 s$w   Y  d S )NzDThe elements provided in the data cannot all be casted to the dtype z5Trying to coerce negative values to unsigned integersrC   r&   )r   rF   rG   rA  r   )r.   Zany_unsigned_int_numpy_dtyperJ   r2   r2   r3   (test_constructor_unsigned_dtype_overflow)  s   "z?TestSeriesConstructors.test_constructor_unsigned_dtype_overflowc                 C   s  t jdd}d}tjt|d ||dd W d    n1 s#w   Y  tjt|d |t|dd W d    n1 sBw   Y  t j|d< d}tjt	|d ||dd W d    n1 sfw   Y  t	}|t
u rut}d}tj||d |t|dd W d    n1 sw   Y  t jd	d
gdd}||d}||dd}t|| |t|dd}t|| d S )Nr   (Trying to coerce float values to integerrC   rp   r&   r   r)  #cannot convert float NaN to integerr   r   r   )r(   r   r   r   rF   rG   rH   r-   r   r   r   rI   r*   r+   r,   )r.   frame_or_seriesarrrJ   excr1   r   r2   r2   r3   (test_constructor_floating_data_int_dtype5  s4   
z?TestSeriesConstructors.test_constructor_floating_data_int_dtypec                 C   s   g d}d}t jt|d t||d W d    n1 sw   Y  t jt|d tt||d W d    d S 1 s?w   Y  d S )Nr9   r   g      @rH  rC   r&   )rF   rG   rH   r   r(   rI   r.   Zany_int_numpy_dtyper@   rJ   r2   r2   r3   "test_constructor_coerce_float_faila  s   "z9TestSeriesConstructors.test_constructor_coerce_float_failc                 C   s2   t g d|d}t g d|}t|| d S )NrN  r&   r   )r.   Zfloat_numpy_dtyper   r1   r2   r2   r3   #test_constructor_coerce_float_validn  s   z:TestSeriesConstructors.test_constructor_coerce_float_validc                 C   s   ddt jg}d}tjt|d t||d W d    n1 s w   Y  d}tjt|d tt ||d W d    d S 1 sCw   Y  d S )Nr9   r   rI  rC   r&   r)  )r(   r   rF   rG   rH   r   r   rI   rO  r2   r2   r3   3test_constructor_invalid_coerce_ints_with_float_nans  s   "zJTestSeriesConstructors.test_constructor_invalid_coerce_ints_with_float_nanc                 C   s   t g d}t |tjd}|rtnd }t| d|d< W d    n1 s'w   Y  |r8|d dks6J d S |d dks@J d S )Nr   r&   r   r9   r   )r   r(   r   FutureWarningr+   assert_produces_warning)r.   r  Zwarn_copy_on_writer   r   warnr2   r2   r3   test_constructor_dtype_no_cast  s   
z5TestSeriesConstructors.test_constructor_dtype_no_castc                 C   sN   t tddgtd}|jd tdksJ |jd dksJ |jtks%J d S )N20130101ZNOVr&   r   r9   )r   r   r<   r   r'   r  r2   r2   r3   "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s)J |jd }|jtks5J 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<   )r.   ZbellyrY  rZ  r[  r   ri   r2   r2   r3   #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.   rJ  r'  ri   r1   r2   r2   r3   (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s%J qd S )Nr   )r(   rI   r   nowr   r'   )r.   rK  ri   r2   r2   r3   %test_constructor_datetimes_with_nulls  s   z<TestSeriesConstructors.test_constructor_datetimes_with_nullsc                 C   s   t tdtdd}t| sJ t ttdd}t| r!J t tjdtdd}t| s3J t tdddddtgdd	}t|d sIJ |jdksPJ t tdddddtjgdd	}t|d sgJ |jdksnJ d S )
Nr   r   r   rN   r  r9   r   r   r&   )	r   r   rz   r   r5   r(   r   r   r'   r  r2   r2   r3   !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s#J tj|jd< |jdks0J 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   r   ry   c                 S      g | ]}t |qS r2   r(   
datetime64r   r2   r2   r3   
<listcomp>  rb   zOTestSeriesConstructors.test_constructor_dtype_datetime64_10.<locals>.<listcomp>r   r   zdatetime64[ms]r&   @B M8[ms]rE   )r   r   r'   r(   r   r   r*   r   r+   r=   r   )r.   pydatesdatesr7   r1   ri   r2   r2   r3   $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 d    n1 s<w   Y  t|tjd}t|tj}t	|| d S )Nre  r9   r   ry   c                 S   rf  r2   rg  r   r2   r2   r3   ri    rb   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   rm   r(   r   r+   r=   )r.   rl  rm  dtsrJ   ri   r1   r2   r2   r3   $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J t tdddg}|d tdddddks.J d S )Nr   r9   r   i  )r   r   r   r2   r2   r3   #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J |d dksJ d S )NrW  r9   ro   rq   rN   )r   r   r   r2   r2   r3   #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 ]2}td| d	}|tj|}t||}|d
kr:td}|j|ksAJ t||| qt||t	d}dD ]}|tjd| d	}t||t	d}t|| qTtj
dd | D t	d}t||}	t|	j| |	jt	ksJ d S )Nz01-Jan-2015z01-Dec-2015ZMEr  rE   rN   )r   DmsusnszM8[]rs  r%   r   c                 S   s   g | ]}|  qS r2   )r;   )r]   r   r2   r2   r3   ri  !      zNTestSeriesConstructors.test_constructor_dtype_datetime64_7.<locals>.<listcomp>r&   )r   viewr(   ndarrayr*   r   r'   r+   r=   r<   rI   r:   r  r/   )
r.   rm  Zvalues2r1   unitr'   Zvalues1ri   Zdates2Zseries1r2   r2   r3   #test_constructor_dtype_datetime64_7  s(   


z:TestSeriesConstructors.test_constructor_dtype_datetime64_7c                 C   sx   t d tdg}|jtksJ t tjtdg}|jtksJ t td dg}|jtks+J t ttjdg}|jtks:J d S )Nz2013-08-05 15:30:00.000001)r   r   r'   r<   r(   r   r6   r2   r2   r3   #test_constructor_dtype_datetime64_6&  s   z:TestSeriesConstructors.test_constructor_dtype_datetime64_6c                 C   s|   t ddd}t|jd jd u sJ t dddd}tt|jd jdks'J t dddd}tt|jd jdks<J d S )NrW  ry   r&  r   UTCr/  r   )r   r   r   r   r   )r.   drr2   r2   r3   #test_constructor_dtype_datetime64_56  s    z:TestSeriesConstructors.test_constructor_dtype_datetime64_5c                 C   s@   t ddtg}|jdksJ |d tu sJ dt|v sJ d S )Nl   *}aiZlr<   r   r   )r   r   r'   r   r6   r2   r2   r3   #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J |d tu sJ dt|v s&J d S )N  r9   r   r<   r   )r   r   r   r'   r   r6   r2   r2   r3   #test_constructor_dtype_datetime64_3G  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J |d tju s J dt|v s(J d S )Nr  r9   r   r<   NaN)r   r   r(   r   r'   r   r6   r2   r2   r3   #test_constructor_dtype_datetime64_2N  s    z:TestSeriesConstructors.test_constructor_dtype_datetime64_2c                 C   s  t dddd}t|}|jjdksJ |jdksJ t|jts"J dt|v s*J |j}t|tj	s5J |jdks<J t
|}|dj|jjd}t|| |jd	 }|td
ddks`J |d	 }|td
ddksnJ |tg d|jd }t||d	d  |jd	d }t|t|d	d  t|jd	d |jdd  g}t|| dt|v sJ | }dt|v sJ dt|v sJ t
|dd}t|| d S )NrW  ry   r   r/  datetime64[ns, US/Eastern]rE   r~  r   r   z2013-01-01 00:00:00-0500r  rN   r   r9   r   Zinferr  )r   r   r'   rl   rv   r   r   r/   r(   rz  r   tz_localize
tz_convertdtr   r+   r>   r   r   rO   r=   r]  concatshift)r.   r  r   ri   r   r2   r2   r3   !test_constructor_with_datetime_tzU  s8   
"z8TestSeriesConstructors.test_constructor_with_datetime_tzc                 C   s&   t tdddd}dt|v sJ d S )NrW    r   r/  r  )r   r   r   r6   r2   r2   r3   "test_constructor_with_datetime_tz5  s   z9TestSeriesConstructors.test_constructor_with_datetime_tz5c                 C   sD   t tdddtdddg}|jdksJ tj|dddks J d S )	N2013-01-01 13:00:00-0800
US/Pacificr  2013-01-02 14:00:00-0800zdatetime64[ns, US/Pacific]TZskipnarh  r   r   r'   r	   Zinfer_dtyper6   r2   r2   r3   "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J tj|ddd	ks J d S )
Nr  r  r  r  r   r<   Tr  r   r  r6   r2   r2   r3   "test_constructor_with_datetime_tz3  s   

z9TestSeriesConstructors.test_constructor_with_datetime_tz3c                 C   s@   t tddgdd}tddgddd}t |}t|| d S )	Nr   r9   r  r   r   r   r  rv  )r   r   r   as_unitr+   r=   )r.   r7   Zdtir1   r2   r2   r3   "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J 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     | ]} | | u V  qd S r[   r2   r   r7   r@   r2   r3   r_     s    zVTestSeriesConstructors.test_constructor_no_partial_datetime_casting.<locals>.<genexpr>)r   r   r5   rz   rh   r   r2   r  r3   ,test_constructor_no_partial_datetime_casting  s   (zCTestSeriesConstructors.test_constructor_no_partial_datetime_casting	arr_dtypekindMr   r{  )rv  ru  rt  r   r   r   rs  c           	      C   s   | d| d}t jg d|d}t|}||}t||}|dv r4|j|ks,J |j|ks3J n|j| dks>J |j| dksHJ t|| d S )N8[rw  r   r&   )rv  ru  rt  r   z8[s])r(   rI   r   r*   r'   r+   r=   )	r.   r  r  r{  r'   rK  r7   ri   r1   r2   r2   r3   &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   r  r  r+   r=   )r.   r  ri   r1   r2   r2   r3   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s'J t|| d S )Nr9   rt  z>M8[ms]r&   rk  )	r(   rh  rI   r   r   r*   r'   r+   r=   )r.   rt  rK  ri   r1   r2   r2   r3   %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J tt|jt| d S )Nry   r   closedzinterval[int64, right])	Zfrom_breaksr(   r)   r   r'   r+   r>   r   r/   )r.   r  Z	intervalsri   r2   r2   r3   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J t|| d S )Nr   r9   r   zinterval[float64, right])r   r   r    r'   r+   r=   r.   r  re   ri   r1   r2   r2   r3   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sJ | |ks#J d S )Nr   r9   Zbothr  r   Zneither)r   r   r'   r<   r   )r.   r  re   ri   r2   r2   r3   &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 d    n1 saw   Y  t|| t
d  t |jd|jd}W d    n1 sw   Y  t|| d S )NrW  ry   r   r/  r&   r~  r   )r   r   r'   r+   r=   r  r  r/   r  r   rT  ry  )r.   r7   ri   r1   middler2   r2   r3   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s$J d S )N2000rs  2001	Period[D])r   r   r!   r+   r=   r'   r  r2   r2   r3   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J ||d< t|d s"J d S )Nr   r    z	period[D]r&   ry   r   )r   r]  Z_libsr   r   r.   r   valr2   r2   r3   ;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J | |ksJ d S )Nr  rs  r  Y)r   r   r'   r<   r   )r.   re   ri   r2   r2   r3   .test_constructor_period_incompatible_frequency'  s   zETestSeriesConstructors.test_constructor_period_incompatible_frequencyc                 C   sp   t dddd}t|}|jdksJ tjtdd t|t}W d    n1 s+w   Y  t|| d S )NrW  r   rs  r   r  Dtype inferencerC   )	r   r   r'   r+   rT  rS  r*   r<   r=   )r.   pir   r1   r2   r2   r3   test_constructor_periodindex-  s   z3TestSeriesConstructors.test_constructor_periodindexc                 C   s   dddd}t |}t |t| d}t|| t |g dd}t ddtjd	gg dd}t|| td
dd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   r   rN   )rq   r   r   ro   r9   r   r   r%  r$   rs  r   r&   )
r   r   keysr+   r=   r(   r   r   r   r   )r.   r   ri   r1   Zpidxr2   r2   r3   test_constructor_dict8  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 )Nro   r   ry   r   r<   r   rN   r   r.   r   ri   r1   r2   r2   r3   /test_constructor_dict_list_value_explicit_dtypeK  s   zFTestSeriesConstructors.test_constructor_dict_list_value_explicit_dtypec                 C   s8   dddd}t |}t g dtdd}t|| d S )Nr9   r   r   r   )r9   r   r   ZbacrN   )r   r-   r+   r=   r  r2   r2   r3   test_constructor_dict_orderR  s   z2TestSeriesConstructors.test_constructor_dict_orderc           	      C   sn   |\}}t |trtjjdd}|| d|i}t|dgd}t|dg|d}|j|ks/J t	|| d S )NzMConstruction from dict goes through maybe_convert_objects which casts to nanor  ro   rN   r   )
rv   r   rF   markxfailapplymarkerr   r'   r+   r=   )	r.   r{   requestr|   r}   r  r   ri   r1   r2   r2   r3   test_constructor_dict_extensionZ  s   

z6TestSeriesConstructors.test_constructor_dict_extensionrD  c                 C   s   dd|dt ddddi}t| }tg dd|tjdgd	}t|| d
ddtjfdd|fdi}t| }tg dtd
dtjfd|fgd	}t|| d S )Nr9   ro   rq   r   r   r   r   ro   rq   r   r   rN   r9   r9   r   ry   r   )rw   r   sort_valuesr(   r   r+   r=   r   )r.   rD  r   ri   r1   r2   r2   r3   test_constructor_dict_nan_keyj  s   z4TestSeriesConstructors.test_constructor_dict_nan_keyc           	         s   g d g d fdd}|t j}|dd }|t}tdd  D }t|}t|}t|}t|| t|| t|| d S )	N)z
1984-02-19z
1988-11-06z
1989-12-03z
1990-03-15)g{\IAi gtyZQArF  c                    s   t t fddD S )Nc                 3   s    | ]} |V  qd S r[   r2   r   rL   r2   r3   r_         zeTestSeriesConstructors.test_constructor_dict_datetime64_index.<locals>.create_data.<locals>.<genexpr>)dictzipr  Zdates_as_strr/   r  r3   create_data  s   zRTestSeriesConstructors.test_constructor_dict_datetime64_index.<locals>.create_datac                 S   s   t | dS )Nz%Y-%m-%d)r   strptimer4  r2   r2   r3   rR     rU   zOTestSeriesConstructors.test_constructor_dict_datetime64_index.<locals>.<lambda>c                 s   s    | ]}t |V  qd S r[   )r   r   r2   r2   r3   r_     r  zPTestSeriesConstructors.test_constructor_dict_datetime64_index.<locals>.<genexpr>)r(   rh  r   r   r+   r=   )	r.   r  Zdata_datetime64Zdata_datetimeZdata_Timestampr1   Zresult_datetime64Zresult_datetimeZresult_Timestampr2   r  r3   &test_constructor_dict_datetime64_indexz  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   rF  )ZlevelscodesrN   )r   r   r(   r   r+   r=   r  r2   r2   r3   #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 )Nry   threerN   r   )r.   Znon_dict_mapping_subclassZndmri   r1   r2   r2   r3   test_constructor_mapping  s   z/TestSeriesConstructors.test_constructor_mappingc                 C   s$   g d}t |}t||ksJ d S N)r  )r   r   )r   ry   )r   r-   r.   re   r   r2   r2   r3   test_constructor_list_of_tuples  s   z6TestSeriesConstructors.test_constructor_list_of_tuplesc                 C   s    d}t |}t||ksJ d S r  )r   tupler  r2   r2   r3    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 )Nry   r   )r9   r   Nr   r  r  rN   )r   r  r   from_tuplesr+   r=   r  r2   r2   r3   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s&J ddddd}t |}|s;|jtjks<J 	 d
dd}t |t	d}|jtj
ksOJ d S )Nr   r9   r   ry   r  r   r   3r   0ro   rq   r&   )r   r+   Zassert_is_sortedrO   r   rb  r'   r(   r   rw   r   )r.   r   re   r   r2   r2   r3   test_fromDict  s   
z$TestSeriesConstructors.test_fromDictc           	      C   s   t tj|jtjd}|jtjksJ t|t|ksJ t d|jd}|s-|jtjks.J 	 t|t|ks8J t	 }t ||jd}|jdksJJ t|t|ksTJ t d|jdd}t d|jd
d}|jdksmJ t|t|kswJ t|| d S )Nr   r"  rN   r   zM8[us]r   r   )r   r(   r   rO   r   r'   rh   r   r   rb  r*   r+   r=   )	r.   r   r   Znansstringsr   rm  Zcategoricalr1   r2   r2   r3   test_fromValue  s   z%TestSeriesConstructors.test_fromValuec                 C   s  t dd tdD }|jdksJ t tddg}|jdks!J t tddtddtddg}|jdks9J t tddtgd	d
}|jdksKJ t tddtjgd	d
}|jdks^J t tdtgd	d
}|jdkspJ t tdtg}|jdksJ t tdtg}|jdksJ t tdtjg}|jdksJ t ttdg}|jdksJ t tddg}|jdksJ |	d d}t
jt|d |	d W d    n1 sw   Y  dddg}t
jt|d t tdddgd	d
 W d    n	1 s	w   Y  t dd tdD dg }|jdks$J t d tdg}|jtks3J t tjtdg}|jtksCJ t td dg}|jtksRJ t ttjdg}|jtksbJ d S )Nc                 S      g | ]}t |d qS daysr   r   r2   r2   r3   ri    rb   zMTestSeriesConstructors.test_constructor_dtype_timedelta64.<locals>.<listcomp>ry   timedelta64[ns]r9   r  r   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   r  r  r  r   r2   r2   r3   ri    rb   z1 Day)r   rz   r'   r   r(   timedelta64r   r   r   r*   rF   rG   rm   joinrH   r<   )r.   tdrJ   r7   r2   r2   r3   "test_constructor_dtype_timedelta64  sZ   "
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 )NrW  r   r  r<   r&   )r   r   r+   r=   r:  r2   r2   r3   test_constructor_mixed_tz)  s   z0TestSeriesConstructors.test_constructor_mixed_tzc                 C   sD   t dddtgdd}|d }t|sJ ||d< t|d s J d S )Nr   r  r  r   r&   ry   r   )r   r   r   r  r2   r2   r3   test_NaT_scalar1  s
   z&TestSeriesConstructors.test_NaT_scalarc                 C   s0   t tjgd}t tgdd}t|| d S )Nr   r&   )r   r(   r   r*   r   r+   r=   r  r2   r2   r3   test_NaT_cast:  s   z$TestSeriesConstructors.test_NaT_castc                 C   s\   dddt dddddfD ]}g dtd	d
ddfD ]}t||d}|j|ks*J qqd S )Ni	  g     H@rl   r     r  u   אr   ry   r   r9   r  r   )r   r(   onesr   rl   )r.   nre   r   r2   r2   r3   test_constructor_name_hashable@  s   z5TestSeriesConstructors.test_constructor_name_hashablec              
   C   sz   d}dgt dddifD ]-}dgt dddifD ]}tjt|d t||d W d    n1 s4w   Y  qqd S )Nz$Series\.name must be a hashable type	name_listr   r9   rC   r   )r(   r  rF   rG   rm   r   )r.   rJ   r  re   r2   r2   r3    test_constructor_name_unhashableF  s   z7TestSeriesConstructors.test_constructor_name_unhashablec                 C   s&   t ttddd}|jdksJ d S )N1/1/2000r$   r&  r   )r   r-   r   r'   r.   r   r2   r2   r3   test_auto_conversionM  s   z+TestSeriesConstructors.test_auto_conversionc                 C   s   t jg ddd}t|}|j|jksJ tddddd}t|}|j|jks+J t|| t jg dd	d}t|}ttd
ddddd}|jdksPJ t|| t jg ddd}t|}ttdddddd}|jdksuJ t|| d S )Nr   timedelta64[s]r&   z00:00:01ry   r   r   )
2013-01-01z
2013-01-02z
2013-01-03zdatetime64[D]rW  rs  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'   r   r  r+   r=   r   )r.   rK  r7   Ztdir1   r2   r2   r3   test_convert_non_nsQ  s0   z*TestSeriesConstructors.test_convert_non_nsr  r$   z2000-Q1c                 C   r1  r[   r2  r4  r2   r2   r3   rR   w  rS   c                 C   s   dt |jd d}tjt|d t|td W d    n1 s$w   Y  t|tj	d}t|
tj	}t|| d S )NzCannot cast r   z.*? to rC   r&   )r3  r   rstriprF   rG   rm   r   rw   r(   r   r*   r+   r=   )r.   rO   rJ   ri   r1   r2   r2   r3   'test_constructor_cant_cast_datetimelikep  s   z>TestSeriesConstructors.test_constructor_cant_cast_datetimelikec                 C   r1  r[   r2  r4  r2   r2   r3   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   r2   r2   r3   test_constructor_cast_object  s   
z3TestSeriesConstructors.test_constructor_cast_objectc                 C   sl   d}t |jdvrtjjdd}|| tjt|d t	g |d W d    d S 1 s/w   Y  d S )Nz!dtype has no unit. Please pass in)r  rh  zGH#33890 Is assigned ns unitr  rC   r&   )
r(   r'   rl   rF   r  r  r  rG   rH   r   )r.   r'   r  rJ   r  r2   r2   r3   /test_constructor_generic_timestamp_no_frequency  s   
"zFTestSeriesConstructors.test_constructor_generic_timestamp_no_frequency)	Zpsasfsr  r  Wrs  r   r   c                 C   s   | d| d}d}t jt|d tg |d W d    n1 s"w   Y  t jt|d tdgg|d W d    d S 1 sBw   Y  d S )Nr  rw  z4dtype=.* is not supported. Supported resolutions arerC   r&   r   )rF   rG   rm   r   r   )r.   r  r{  r'   rJ   r2   r2   r3   0test_constructor_generic_timestamp_bad_frequency  s   "zGTestSeriesConstructors.test_constructor_generic_timestamp_bad_frequency)Nr@  r   c                 C   s4   t g d|pdd}t td|d}t|| d S )N)r   r9   r   ry   r   r   r&   r   r   )r.   r'   r1   ri   r2   r2   r3   test_constructor_range_dtype  s   z3TestSeriesConstructors.test_constructor_range_dtypec                 C   sH  t dd}t|}tt|}t|| t|t|ksJ |jtjks'J t ddd}t|}tt|}t|| t|t|ksGJ |jtjksOJ t ddd}t|}tt|}	t||	 t|t|ksoJ |jtksvJ t dd dd d }
t|
}tt|
}t|| t|t|
ksJ |jtksJ d S )	Nl            l           rF  l         l        r   I   r   )	rz   r   r-   r+   r=   r'   r(   uint64r<   )r.   r  r7   r1   Zrng2ser2Z	expected2Zrng3Zser3Z	expected3Zrng4Zser4Z	expected4r2   r2   r3    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-0700r  r  r&   )r   r   r<   r+   r=   )r.   Zdt_listri   r1   r2   r2   r3   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 d    n1 s)w   Y  tjt|d ttj|gtddd W d    n1 sLw   Y  tjt|d td|idd W d    n1 skw   Y  d}tjt	|d t|dgdd	 W d    d S 1 sw   Y  d S )
NZ2019r  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<   rm   )r.   Ztz_aware_fixturer  r   r?   rJ   r2   r2   r3   '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sJ d S )Nz1/1/2000 00:00:00z1/1/2000 1:59:50Z10sr  r   )r   r(   Zasarrayr   Z
issubdtyper'   )r.   r  rm  r   r2   r2   r3   test_constructor_datetime64  s   
z2TestSeriesConstructors.test_constructor_datetime64c                 C   s8   t dg d|d}t g dg d|d}t|| d S )Nr  r   r   )r  r  r  r   )r.   Znullable_string_dtyperi   r1   r2   r2   r3   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&   )r]  ZSparseDtyper   ZarraysZSparseArrayr+   r=   )r.   r/   r'   ri   rK  r1   r2   r2   r3   "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   r   r  ro   rq   )r   r  r+   r=   r/   r  r2   r2   r3   )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  ri   r1   r2   r2   r3   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J t tdddtdddg}|jdks'J d S )	Nz
2000-01-01r$   rs  r   r  z
2011-01-01r  z
2011-02-01)r   r-   r   r'   r   r  r2   r2   r3   4test_constructor_list_of_periods_infers_period_dtype4  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      $@Nr2   r   r2   r2   r3   r_   >  s    zHTestSeriesConstructors.test_constructor_subclass_dict.<locals>.<genexpr>r$   )rz   r   r  itemsr+   r=   )r.   Zdict_subclassre   r   r1   r2   r2   r3   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d fV  qdS )colr   N)r(   r   r   r   r2   r2   r3   r_   E  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   r2   r2   r2   r3   rs   N  s    rs   )r   rz   r   r-   r/   r  r+   r=   )r.   re   r   r1   rs   r2   r2   r3   test_constructor_ordereddictC  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   ))ro   ro   )rq   ro   )rq   r   c                 S      g | ]}|d  qS r  r2   r   r2   r2   r3   ri  Y  rx  zKTestSeriesConstructors.test_constructor_dict_multiindex.<locals>.<listcomp>c                 S   r  r   r2   r   r2   r2   r3   ri  Y  rx  rN   g     [@zr   c                 S   r  r  r2   r   r2   r2   r3   ri  a  rx  c                 S   r  r  r2   r   r2   r2   r3   ri  a  rx  F)Ztupleize_cols)r   r  r   r   r  r+   r=   insertr   ZreindexrO   )r.   r   Z_dri   r1   r2   r2   r3    test_constructor_dict_multiindexT  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   r   ))r   r   )r   j)r  r   r  rF  rN   )r(   r   r   to_dictrO   r+   r=   )r.   re   r1   ri   r2   r2   r3   -test_constructor_dict_multiindex_reindex_flatf  s   zDTestSeriesConstructors.test_constructor_dict_multiindex_reindex_flatc              	   C   sr   t g dtjg d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g dddd}t|| d S )Nr   )r   r$   r   r   r{  rd   r   rs   r$   rt   r   r   r   r]  Zto_timedeltar+   r=   r   r2   r2   r3   %test_constructor_dict_timedelta_indexn  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s)J t|jd
  d S )Ng     g@g     t@i   i  r   r  )tzinfor  rd   r   )r   r   r   rO   r   repr)r.   r/   r%  rO   r   r2   r2   r3   test_constructor_infer_index_tz  s   
z6TestSeriesConstructors.test_constructor_infer_index_tzc                 C   s4   g d}t |}|jj}t ||d}t|| d S )N)r  )r   r	  r&   r   rI   r'   r+   r=   )r.   r@   r7   r'   r
  r2   r2   r3   "test_constructor_with_pandas_dtype  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  r2   r2   r3   )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  r2   r2   r3   *test_constructor_bool_dtype_missing_values  s   zATestSeriesConstructors.test_constructor_bool_dtype_missing_valuesc                 C   s0   t g d|d}t g d|d}t|| d S )N)r  r   r   r&   r   r   )r.   Zany_int_dtyperi   r1   r2   r2   r3   test_constructor_int64_dtype  s   z3TestSeriesConstructors.test_constructor_int64_dtypec                 C   sZ   t s
tjtdd}ntjtdd}| tdgdd W d    d S 1 s&w   Y  d S )Nz/string values cannot be losslessly cast to int8rC   z!The elements provided in the dataZ128r?  r&   )r   rF   rG   rH   rA  r   )r.   rG   r2   r2   r3   5test_constructor_raise_on_lossy_conversion_of_strings  s   "zLTestSeriesConstructors.test_constructor_raise_on_lossy_conversion_of_stringsc                 C   s6   t g ddd}t tjg ddd}t|| d S )Nrj  i@ i- r  r&   rv  r"  r#  r  r2   r2   r3   6test_constructor_dtype_timedelta_alternative_construct  s   zMTestSeriesConstructors.test_constructor_dtype_timedelta_alternative_constructzNot 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   s0   t g ddd}t g ddd}t|| d S )Nr.  r  r&   r  r   r  r2   r2   r3   %test_constructor_dtype_timedelta_ns_s  s   z<TestSeriesConstructors.test_constructor_dtype_timedelta_ns_sc                 C   s<   t g dddd}t g dddd}t|| d S )Nr.  r  r&   r   r  r   r  r2   r2   r3   2test_constructor_dtype_timedelta_ns_s_astype_int64  s   zITestSeriesConstructors.test_constructor_dtype_timedelta_ns_s_astype_int64z7ignore:elementwise comparison failed:DeprecationWarningfuncc              	   C   sd   d g d}tjtg D ]"}tjt|d ||ddg|d W d    n1 s*w   Y  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   rm   )r.   r2  Zany_numeric_ea_dtyperJ   nullr2   r2   r3   /test_constructor_mismatched_null_nullable_dtype  s   zFTestSeriesConstructors.test_constructor_mismatched_null_nullable_dtypec                 C   sh   t dddtjgdd}t dddtjgdd}t|| t g ddd}t g ddd}t|| d S )	NTFInt64r&   r9   r   )TFT)r9   r   r9   )r   r]  NAr+   r=   r  r2   r2   r3   (test_series_constructor_ea_int_from_bool  s   z?TestSeriesConstructors.test_series_constructor_ea_int_from_boolc                 C   sJ   t jtdd tdddtjgdd W d    d S 1 sw   Y  d S )Nzinvalid literalrC   TrueFalser5  r&   )rF   rG   rH   r   r]  r6  r   r2   r2   r3   /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_valri   r1   r2   r2   r3   (test_series_constructor_overflow_uint_ea  s   z?TestSeriesConstructors.test_series_constructor_overflow_uint_eac                 C   sd   t t jjd }t||tjgdd}ttt j|ddgddt jg dt j	d}t
|| d S )Nr9   r;  r&   r   r	  )r   r   r9   )r(   r<  r	  r=  r   r]  r6  r   rI   bool_r+   r=   r>  r2   r2   r3   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   rA  r+   r=   )r.   r?  ri   r1   r2   r2   r3   .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   rA  r+   r=   r  r2   r2   r3   !test_series_constructor_ea_all_na  s   z8TestSeriesConstructors.test_series_constructor_ea_all_nac                 C   s>   t g d}|jdd}t|dd}d|jd< t|| d S )Nr   T)deepr   r&   r   r   )r   r  r   r   r+   r>   )r.   rA   r1   r7   r2   r2   r3   0test_series_from_index_dtype_equal_does_not_copy(  s
   
zGTestSeriesConstructors.test_series_from_index_dtype_equal_does_not_copyc                 C   s   t dd tddg}W d    n1 sw   Y  t jtr"dndtjd}tddg|d}t|| tdd	gd
d}t dd tdd	g}W d    n1 sUw   Y  t|| d S )Nfuture.infer_stringTro   rq   pyarrowpythonna_valuer&   r9   r<   	r]  option_contextr   StringDtyper
   r(   r   r+   r=   r.   r7   r'   r1   r2   r2   r3   test_series_string_inference0  s   z3TestSeriesConstructors.test_series_string_inferencerK  c                 C   sp   t dd td|g}W d    n1 sw   Y  t jtr"dndtjd}tdd g|d}t|| d S )NrG  Tro   rH  rI  rJ  r&   rL  )r.   rK  r7   r'   r1   r2   r2   r3   $test_series_string_with_na_inference=  s   z;TestSeriesConstructors.test_series_string_with_na_inferencec                 C   sr   t dd tddgd}W d    n1 sw   Y  t jtr#dndtjd}tddg|d	}t|| d S )
NrG  Tro   r9   rN   rH  rI  rJ  r   rL  rO  r2   r2   r3   #test_series_string_inference_scalarF     z:TestSeriesConstructors.test_series_string_inference_scalarc                 C   sv   t dd ttddg}W d    n1 sw   Y  t jtr%dndtjd}tddg|d}t	|| d S )	NrG  Tro   rq   rH  rI  rJ  r&   )
r]  rM  r   r(   rI   rN  r
   r   r+   r=   rO  r2   r2   r3   /test_series_string_inference_array_string_dtypeN  s   zFTestSeriesConstructors.test_series_string_inference_array_string_dtypec                 C   s   t ddgdd}tdd t ddgdd}W d    n1 s!w   Y  t|| t ddgtjtjdd}tdd t ddgd	d}W d    n1 sRw   Y  t|| d S )
Nro   rq   string[python]r&   rG  TstringrJ  r   )r   r]  rM  r+   r=   rN  r(   r   r   r2   r2   r3   /test_series_string_inference_storage_definitionV  s   zFTestSeriesConstructors.test_series_string_inference_storage_definitionc                 C   st   t dd tdddgdd}W d    n1 sw   Y  tddgddgdd}t|| |jjdks8J d S )	NrG  Tro   r9   r   rU  r   rI  )r]  rM  r   r+   r=   r'   Zstorage)r.   r7   r1   r2   r2   r3   +test_series_constructor_infer_string_scalare  s   zBTestSeriesConstructors.test_series_constructor_infer_string_scalarc                 C   sr   t dd tt jdg}W d    n1 sw   Y  t jtr#dndtjd}td dg|d}t	|| d S )NrG  Trq   rH  rI  rJ  r&   )
r]  rM  r   r6  rN  r
   r(   r   r+   r=   )r.   ri   r'   r1   r2   r2   r3   %test_series_string_inference_na_firstm  rS  z<TestSeriesConstructors.test_series_string_inference_na_firstc                 C   s   t tdgtd}td  t |}W d    n1 sw   Y  |jtjks*J ttdgtd}tjt	dd t |}W d    n1 sIw   Y  |jtjksVJ d S )Nz
2019-12-31r&   r  rC   )
r   r   r<   r+   rT  r'   r(   r   r   rS  )r.   r7   ri   rA   r2   r2   r3    test_inference_on_pandas_objectsu  s   

z7TestSeriesConstructors.test_inference_on_pandas_objects)r   r   r   r4   r8   rB   rK   rF   r  parametrizerj   rn   ru   rx   r~   r   r   r-   r  r   r   r(   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  rz   r   r  r!  r$  r(  r+  r.  r  skip_array_manager_invalid_testr   r   r   r8  r9  r;  r<  r=  rC  rI   Zuint16Zuint32r	  rE  rG  rM  rP  rQ  rR  rV  rX  r_  ra  rc  rd  rn  rp  rq  rr  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  filterwarningsr  r  r  r  r  r  r  r  r  r  r   r  rh  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/  r0  r1  r   r   r]  r4  r7  r:  r@  rB  rC  rD  rF  rP  r6  rQ  rR  rT  rW  rX  rY  rZ  r2   r2   r2   r3   r#   5   s8   

	&
%


		



	!S







	



,		
/







		M			


	

r#   c                   @   s   e Zd Zdd Zejddeje	e
gejddedgdd	 Zejje d
dejdg dddejggdd ZdS )"TestSeriesConstructorIndexCoercionc                 C   sB   t ddd}ttjdt||t}t	|j
trJ d S )Nr%  r   r&  r   )r   r   r(   r   r   r   rh   r*   r<   rv   rO   r   )r.   rA   r7   r2   r2   r3   3test_series_constructor_datetimelike_index_coercion  s
   zVTestSeriesConstructorIndexCoercion.test_series_constructor_datetimelike_index_coercion	containerNre   r   r   c                    sJ   g dg dg} d ur fdd|D }t ||d}t|jts#J d S )N)ro   ro   rq   rq   )r   r-  r   r-  c                    s   g | ]} |qS r2   r2   )r]   indr`  r2   r3   ri    rx  z_TestSeriesConstructorIndexCoercion.test_series_constructor_infer_multiindex.<locals>.<listcomp>rN   )r   rv   rO   r   )r.   r`  re   Zindexesmultir2   rb  r3   (test_series_constructor_infer_multiindex  s
   zKTestSeriesConstructorIndexCoercion.test_series_constructor_infer_multiindexz/StringDType only available in numpy 2 and abover  r   ro   rq   c                 C   sH   ddl m} tj|| d}t|}|jtjksJ ||k s"J d S )Nr   )StringDTyper&   )Znumpy.dtypesre  r(   rI   r   r'   r   r5   )r.   re   re  rK  r0   r2   r2   r3    test_np_string_array_object_cast  s
   zCTestSeriesConstructorIndexCoercion.test_np_string_array_object_cast)r   r   r   r_  rF   r  r[  r(   rI   r   r   rz   rd  Zskipifr   r   rf  r2   r2   r2   r3   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   sV   t g d}t |j}t|| |s't|jjd tsJ |jjd js)J d S d S )Nr   r   )	r   rI   r+   r=   rv   r6  r7  r"   Z
is_numeric)r.   Zusing_array_managerr7   ri   r2   r2   r3    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u sJ t tjdgdd}|jjd jdu s+J d S 	NZ1hZ2hr  r&   r   FZ2015rE   )r   r]  rI   r6  r7  is_extensionr   r2   r2   r3   test_from_array  s   z.TestSeriesConstructorInternals.test_from_arrayc                 C   sN   t ddgdd}|jjd jdu sJ t dgdd}|jjd jdu s%J d S ri  )r   r6  r7  rj  r   r2   r2   r3   test_from_list_dtype  s   z3TestSeriesConstructorInternals.test_from_list_dtypeN)r   r   r   rh  r  r\  rk  rl  r2   r2   r2   r3   rg    s    
rg  c                 C   s&   | }t |ts	J t |jtsJ d S r[   )rv   r   rO   r   )Z(rand_series_with_duplicate_datetimeindexZdupsr2   r2   r3   r     s   r   zinput_dict,expectedr&   ro   r9   c                 C   s    t t| g}t|| d S r[   )r(   rI   r   r+   r  )Z
input_dictr1   ri   r2   r2   r3   test_numpy_array  s   	rm  c                  C   sJ   t ddg} tddg|  d}tddgtddgd}t|| d S )N)r  r   r   r9   ))ro   Nro  r   r9   r   rN   rn  rp  )r   r   r  r   r  r+   r=   )Zparam_indexr   r1   r2   r2   r3   test_index_ordered_dict_keys  s   rq  
input_listr   r   y      ?      ?y       @       @c                 C   s0   t | }t |j}|jdksJ t|| d S )NZ
complex128r(  )rr  r7   ri   r2   r2   r3   test_series_with_complex_nan  s   	
rs  )Dcollectionsr   collections.abcr   r   r   Zdateutil.tzr   numpyr(   r   rF   Zpandas._libsr   r	   Zpandas.compatr
   Zpandas.compat.numpyr   Zpandas.errorsr   Zpandas.util._test_decoratorsutilZ_test_decoratorsr  Zpandas.core.dtypes.dtypesr   Zpandasr]  r   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^  rg  r   r  r[  rI   r   r<   rm  rq  complexrs  r2   r2   r2   r3   <module>   sl    L                _(
