o
    Û­jÂç ã                   @   sÊ  d dl Z d dlmZmZmZmZ d dlmZ d dlm	Z	 d dl
mZm
Z
mZ d dlZd dlZd dlZd dlmZ d dlmZ d dlZd dl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"m#Z#m$Z$m%Z%m&Z& d dl'Z(d dl'm)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 d dl8m9Z: d dl;m<Z<m=Z=m>Z>m?Z?m@Z@ g d¢ZAg d¢ZBG dd„ dƒZCG dd„ dƒZDG dd„ dƒZEG dd„ dƒZFdd„ ZGG dd„ dƒZHG dd„ dƒZIdS )é    N)ÚOrderedDictÚabcÚdefaultdictÚ
namedtuple)ÚIterator)Úmake_dataclass)ÚdateÚdatetimeÚ	timedelta)Úma)Úmrecords)Úlib)Únp_version_gt2)ÚIntCastingNaNError)Úis_integer_dtype)ÚDatetimeTZDtypeÚIntervalDtypeÚNumpyEADtypeÚPeriodDtype)ÚCategoricalÚCategoricalIndexÚ	DataFrameÚDatetimeIndexÚIndexÚIntervalÚ
MultiIndexÚPeriodÚ
RangeIndexÚSeriesÚ	TimedeltaÚ	TimestampÚcutÚ
date_rangeÚisna)ÚDatetimeArrayÚIntervalArrayÚPeriodArrayÚSparseArrayÚTimedeltaArray)Úfloat16Úfloat32Úfloat64)Úuint8Úuint16Úuint32Úuint64Úint8Úint16Úint32Úint64c                   @   sÄ  e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zej dddg¡dd„ ƒZ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¡d'd(„ ƒZej dd)d„ d*d„ g¡d+d,„ ƒZej d-g ged.ƒed/ƒfg g ged0ƒed/ƒfd1d2„ d3D ƒged.ƒed/ƒfg¡d4d5„ ƒZd6d7„ Zd8d9„ Zd:d;„ Zd<d=„ Zd>d?„ Zejd@dA„ ƒZejdBdC„ ƒZdDdE„ ZdFdG„ Zej dHdIi gdId.dJdKdLœgdMi gg¡dNdO„ ƒZ dPdQ„ Z!dRdS„ Z"dTdU„ Z#dVdW„ Z$dXdY„ Z%ej dZe&j'd[ge(d\�e& 'd0d] g¡d^ge&j'd_ge(d\�e& 'd`g¡d0d]  d0 gg¡dadb„ ƒZ)ej dZe&j'd.ge&j*d\�e&j'd.ge&j+d\�e&j'd.ge&j,d\�e& *d.¡ge& +d.¡ge& ,d.¡gg¡dcdd„ ƒZ-dedf„ Z.dgdh„ Z/didj„ Z0dkdl„ Z1dmdn„ Z2dodp„ Z3dqdr„ Z4dsdt„ Z5ej dud0e&j6dvdwg¡dxdy„ ƒZ7ej dzd0e&j6dve8d{ƒg¡d|d}„ ƒZ9ej dze&j6dve8d{ƒg¡d~d„ ƒZ:d€d�„ Z;d‚dƒ„ Z<d„d…„ Z=d†d‡„ Z>dˆd‰„ Z?dŠd‹„ Z@dŒd�„ ZAdŽd�„ ZBd�d‘„ ZCd’d“„ ZDd”d•„ ZEd–d—„ ZFd˜d™„ ZGdšd›„ ZHdœd�„ ZIdždŸ„ ZJd d¡„ ZKd¢d£„ ZLej d¤d¥d„ d¦fd§d„ d¨fd©d„ dªfd«d„ d¬fg¡d­d®„ ƒZMd¯d°„ ZNd±d²„ ZOej d³ePd´ƒeQdƒfeRd/dµd¶�eSd·d¸ƒfeTd¹dºd»�eUd¼dºd½�fg¡d¾d¿„ ƒZVdÀdÁ„ ZWdÂdÃ„ ZXdÄdÅ„ ZYdÆdÇ„ ZZej [dÈ¡dÉdÊ„ ƒZ\dËdÌ„ Z]dÍdÎ„ Z^dÏdÐ„ Z_ej dÑdve`eadÒƒƒdÓdÔge(e&jbfdvdvdÓdÔgd·e& cd·¡fdve`eadÒƒƒdÓdÔgede& cdÕ¡fi dvdJdKgdve&jbfdÔd.ie`eadÒƒƒe`dÖƒede& cdÕ¡fg¡d×dØ„ ƒZeej dÙg dÚ¢dÛefjgfg dÜ¢dÝefjhfg dÞ¢dßefjifg dà¢dáefjjff¡dâdã„ ƒZkdädå„ Zldædç„ Zmdèdé„ Zndêdë„ Zodìdí„ Zpdîdï„ Zqdðdñ„ Zrdòdó„ Zsdôdõ„ Ztdöd÷„ Zudødù„ Zvej dúeTdûƒggdüeTdûƒigdüeTdûƒgidüeTdûƒ wdý¡ig¡dþdÿ„ ƒZx�d �d„ Zy�d�d„ Zz�d�d„ Z{�d�d„ Z|�d�d	„ Z}�d
�d„ Z~�d�d„ Z�d�d„ Z€�d�d„ Z��d�d„ Z‚ej �deƒe„g¡�d�d„ ƒZ…ej �deƒe„g¡�d�d„ ƒZ†�d�d„ Z‡�d�d„ Zˆ�d�d„ Z‰�d�d „ ZŠ�d!�d"„ Z‹�d#�d$„ ZŒ�d%�d&„ Z�ej �d'd3g fd3g f�d(d3d3gf�d(g g gfg g fg g gfd.gd0gfd.gd0ggfg �d)¢g �d*¢fg �d)¢g �d*¢gfg¡�d+�d,„ ƒZŽ�d-�d.„ Z��d/�d0„ Z��d1�d2„ Z‘�d3�d4„ Z’�d5�d6„ Z“�d7�d8„ Z”�d9�d:„ Z•�d;�d<„ Z–�d=�d>„ Z—ej �d?g �d@¢¡�dA�dB„ ƒZ˜�dC�dD„ Z™�dE�dF„ Zš�dG�dH„ Z›�dI�dJ„ Zœ�dK�dL„ Z��dM�dN„ Zž�dO�dP„ ZŸ�dQ�dR„ Z �dS�dT„ Z¡�dU�dV„ Z¢�dW�dX„ Z£�dY�dZ„ Z¤�d[�d\„ Z¥�d]�d^„ Z¦ej �d_e& 'dvdvdvdve§ ¨¡ dvg¡e& 'dvdve§ ¨¡ dvg¡e& ©�d`¡gdvgge& ©�d`¡gefjªggdvge& ©�d`¡ggdvgefjªggefjªge& ©�d`¡ggefjªgdvggg¡�da�db„ ƒZ«ej �dcg �dd¢¡ej �deg �df¢¡�dg�dh„ ƒƒZ¬ej �dcg �dd¢¡ej �deg �di¢¡�dj�dk„ ƒƒZ­�dl�dm„ Z®�dn�do„ Z¯�dp�dq„ Z°�dr�ds„ Z±�dt�du„ Z²ej �dve³g �d)¢g �d*¢gd.e&j6g�dw�e³g �d)¢g �d*¢g�dx�dye&j6g�dz�e³g �d{¢g �d|¢ge&j6�dx�dye&j6g�dz�e³g �d}¢g �d|¢ge&j6�dx�dye&j6g�dz�e³g �d}¢g �d|¢ge&j6d.d0d0g�dz�g¡�d~�d„ ƒZ´�d€�d�„ Zµ�d‚�dƒ„ Z¶�d„�d…„ Z·�d†�d‡„ Z¸�dˆ�d‰„ Z¹�dŠ�d‹„ Zº�dŒ�d�„ Z»�dŽ�d�„ Z¼ej �d�e½j¾e½j¿ e½jÀ e½jÁ ¡�d‘�d’„ ƒZÂej �d�e½jÃe½jÄ e½jÅ ¡�d“�d”„ ƒZÆ�d•�d–„ ZÇejjÈej �d�g �d—¢¡�d˜�d™„ ƒƒZÉ�dš�d›„ ZÊej �dœeËe`�d�ƒƒeÌd.e&j6e&j6e&j6gƒeÍeRd/d.ƒeRd.dµƒgƒeÎefjÏ�dž�dŸd�d �ƒg¡�d¡�d¢„ ƒZÐ�d£�d¤„ ZÑ�d¥�d¦„ ZÒej [�d§¡�d¨�d©„ ƒZÓ�dª�d«„ ZÔ�d¬�d­„ ZÕ�d®�d¯„ ZÖ�d°�d±„ Z×�d²�d³„ ZØej �d´d.d0g�dµ�d¶ge`eÙ�d·d0�d¸�d¹�ƒe`eÙ�d·d0�d¸dº�dº�ƒeRd/dµd¶�gg¡�d»�d¼„ ƒZÚ�d½�d¾„ ZÛej �d¿�dÀ�dÁg¡�dÂ�dÃ„ ƒZÜ�dÄ�dÅ„ ZÝ�dÆ�dÇ„ ZÞ�dÈ�dÉ„ Zß�dÊ�dË„ Zàej �dÌd.gd0gge& 'd.gd0gg¡fe& 'd.gd0gg¡d.gd0ggfe& 'd.gd0gg¡e& 'd.gd0gg¡fg¡�dÍ�dÎ„ ƒZá�dÏ�dÐ„ Zâ�dÑ�dÒ„ Zã�dÓ�dÔ„ Zä�dÕ�dÖ„ Zå�d×�dØ„ Zæ�dÙ�dÚ„ Zç�dÛ�dÜ„ ZèdvS (Ý  ÚTestDataFrameConstructorsc                 C   s@   t  d¡ dd¡}t|td�}t| t¡dd�}t ||¡ d S )Né   é   é   ©ÚdtypeÚstr)ÚnpÚarangeÚreshaper   r:   ÚastypeÚtmÚassert_frame_equal)ÚselfÚarrÚdfÚexpected© rE   úa/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pandas/tests/frame/test_constructors.pyÚ,test_constructor_from_ndarray_with_str_dtypeN   s   zFTestDataFrameConstructors.test_constructor_from_ndarray_with_str_dtypec                 C   sv   t dddd�}|j dd¡}t|ƒ}t|d d …df |d d …df d	œƒ}t ||¡ |s7t|jjƒdks9J ‚d S d S )
Nú
2016-01-01é   ú
US/Pacific©ÚperiodsÚtzr7   é   r   é   ©r   rO   )	r"   Ú_datar=   r   r?   r@   ÚlenÚ_mgrÚblocks)rA   Úusing_array_managerÚdtiÚdtarC   rD   rE   rE   rF   Ú&test_constructor_from_2d_datetimearrayV   s   &þz@TestDataFrameConstructors.test_constructor_from_2d_datetimearrayc                 C   sv   t dƒ d¡}| d¡}td|idgd�}td|giƒ}t ||¡ t|dgdœƒ}t|gdgdœƒ}t ||¡ d S )	Nz2019-11-03 01:00:00-0700zAmerica/Los_AngelesÚnsÚdtr   ©ÚindexrO   )rZ   Úvalue)r    Ú
tz_convertÚas_unitr   r?   r@   )rA   rZ   rC   rD   rE   rE   rF   Ú)test_constructor_dict_with_tzaware_scalara   s   
zCTestDataFrameConstructors.test_constructor_dict_with_tzaware_scalarc                 C   sœ   t  dt jgddgg¡}d}tjt|d�� t|dd� W d   ƒ n1 s&w   Y  tjt|d�� t|d ddd	� W d   ƒ d S 1 sGw   Y  d S )
NrO   rN   r7   ú9Cannot convert non-finite values \(NA or inf\) to integer©ÚmatchÚi8r8   r   ©r9   Úname)r;   ÚarrayÚnanÚpytestÚraisesr   r   r   )rA   rB   ÚmsgrE   rE   rF   Ú-test_construct_ndarray_with_nas_and_int_dtypeo   s   ÿ"ÿzGTestDataFrameConstructors.test_construct_ndarray_with_nas_and_int_dtypec                 C   s0   t t ¡ t ¡ gƒ}|d jt d¡ksJ ‚d S )Nr   úM8[ns])r   r	   Únowr9   r;   ©rA   rC   rE   rE   rF   Ú%test_construct_from_list_of_datetimesz   s   z?TestDataFrameConstructors.test_construct_from_list_of_datetimesc                 C   s\   t ddgdd�}| d¡}ttj| ¡ dd�dd�}|j|jks"J ‚t|ƒ}t ||¡ d S )Nz2013-1-1 13:00z2013-1-2 14:00ÚB©rf   rJ   Úobjectr8   )	r   Útz_localizer   r;   rg   Útolistr9   r?   Úassert_series_equal)rA   ÚnaiveÚidxrD   ÚresultrE   rE   rF   Ú+test_constructor_from_tzaware_datetimeindex~   s   
zETestDataFrameConstructors.test_constructor_from_tzaware_datetimeindexc                 C   óP   d}t dddg|ddgiƒ}|jdd�}dd|didd|dig}||ks&J ‚d S )	NÚ_bÚarO   rN   r7   r6   Úrecords©Úorient©r   Úto_dict)rA   Úcol_underscorerC   ÚdÚref_drE   rE   rF   Ú6test_columns_with_leading_underscore_work_with_to_dict‹   ó
   zPTestDataFrameConstructors.test_columns_with_leading_underscore_work_with_to_dictc                 C   r{   )	NÚ1_br}   rO   rN   r7   r6   r~   r   r�   )rA   Úcol_with_numrC   r„   r…   rE   rE   rF   ÚAtest_columns_with_leading_number_and_underscore_work_with_to_dict”   r‡   z[TestDataFrameConstructors.test_columns_with_leading_number_and_underscore_work_with_to_dictc                 C   st   t  dd¡}t j|gtd�}|tu r| dd¡}d}tjt|d�� ||dd� W d   ƒ d S 1 s3w   Y  d S )NÚNaTrY   r8   rO   ú=Invalid type for timedelta scalar: <class 'numpy.datetime64'>rb   úm8[ns])	r;   Ú
datetime64rg   rs   r   r=   ri   rj   Ú	TypeError)rA   Úframe_or_seriesÚnatrB   rk   rE   rE   rF   Ú,test_array_of_dt64_nat_with_td64dtype_raises�   s   "ÿzFTestDataFrameConstructors.test_array_of_dt64_nat_with_td64dtype_raisesÚkindÚmÚMc                 C   sx  |dkr	d}t }nd}t}tjddd� |¡ dd¡}|tu r'|d d …d	f }||td�}|jj	d	 j
tks8J ‚t|jj	d	  ¡ d	 |ƒsGJ ‚|||ƒtd�}|jj	d	 j
tksZJ ‚t|jj	d	  ¡ d	 |ƒsiJ ‚|||ƒttƒd�}|jj	d	 j
tks~J ‚t|jj	d	  ¡ d	 |ƒs�J ‚|tu r¸d
d„ |D ƒ}||td�}|jj	d	 j
tks©J ‚t|jj	d	  ¡ d	 |ƒsºJ ‚d S d S )Nr•   rm   r�   rI   rd   r8   r7   rN   r   c                 S   ó   g | ]}t |ƒ‘qS rE   ©r   ©Ú.0ÚxrE   rE   rF   Ú
<listcomp>Å   ó    zXTestDataFrameConstructors.test_datetimelike_values_with_object_dtype.<locals>.<listcomp>)r    r   r;   r<   Úviewr=   r   rs   rS   Úarraysr9   Ú
isinstanceÚravelr   r   )rA   r“   r�   r9   Úscalar_typerB   ÚobjÚsersrE   rE   rF   Ú*test_datetimelike_values_with_object_dtype¨   s0   ûzDTestDataFrameConstructors.test_datetimelike_values_with_object_dtypec                 C   st   t tdƒdd�}t tdƒdd�}t|dgd�}tg dgd�}t ||¡ t|dgd�}tg dgd�}t ||¡ d S )Né   rO   rr   r   ©Úcolumns)r   Úranger   r?   r@   )rA   rš   Úyry   rD   rE   rE   rF   Ú)test_series_with_name_not_matching_columnÊ   s   zCTestDataFrameConstructors.test_series_with_name_not_matching_columnÚconstructorc                   C   s   t ƒ S ©N©r   rE   rE   rE   rF   Ú<lambda>Ú   s    z"TestDataFrameConstructors.<lambda>c                   C   s   t d ƒS r¬   r­   rE   rE   rE   rF   r®   Û   ó    c                   C   s   t dƒS ©NrE   r­   rE   rE   rE   rF   r®   Ü   r¯   c                   C   s   t g ƒS r¬   r­   rE   rE   rE   rF   r®   Ý   r¯   c                   C   s   t dd„ dD ƒƒS )Nc                 s   ó   � | ]}|V  qd S r¬   rE   ©r™   Ú_rE   rE   rF   Ú	<genexpr>Þ   ó   € ú5TestDataFrameConstructors.<lambda>.<locals>.<genexpr>rE   r­   rE   rE   rE   rF   r®   Þ   s    c                   C   s   t tdƒƒS ©Nr   ©r   r¨   rE   rE   rE   rF   r®   ß   ó    c                   C   s
   t d d�S ©N©Údatar­   rE   rE   rE   rF   r®   à   ó   
 c                   C   s
   t dd�S )NrE   r»   r­   rE   rE   rE   rF   r®   á   r½   c                   C   s
   t g d�S rº   r­   rE   rE   rE   rF   r®   â   r½   c                   C   s   t dd„ dD ƒd�S )Nc                 s   r±   r¬   rE   r²   rE   rE   rF   r´   ã   rµ   r¶   rE   r»   r­   rE   rE   rE   rF   r®   ã   rœ   c                   C   s   t tdƒd�S )Nr   r»   r¸   rE   rE   rE   rF   r®   ä   s    c                 C   s@   t ƒ }|ƒ }t|jƒdksJ ‚t|jƒdksJ ‚t ||¡ d S r·   )r   rR   r\   r§   r?   r@   ©rA   r«   rD   ry   rE   rE   rF   Útest_empty_constructor×   s
   z0TestDataFrameConstructors.test_empty_constructorc                   C   s   t i ƒS r¬   r­   rE   rE   rE   rF   r®   ñ   r¯   c                   C   s
   t i d�S rº   r­   rE   rE   rE   rF   r®   ò   r½   c                 C   sR   t tdƒtdƒd�}|ƒ }t|jƒdksJ ‚t|jƒdksJ ‚tj||dd� d S )Nr   ©r\   r§   T)Úcheck_index_type)r   r   rR   r\   r§   r?   r@   r¾   rE   rE   rF   Ú#test_empty_constructor_object_indexî   s
   z=TestDataFrameConstructors.test_empty_constructor_object_indexz)emptylike,expected_index,expected_columnsrO   r   rN   c                 c   r±   r¬   rE   r²   rE   rE   rF   r´     rµ   z#TestDataFrameConstructors.<genexpr>rE   c                 C   s$   t ||d�}t |ƒ}t ||¡ d S )NrÀ   ©r   r?   r@   )rA   Ú	emptylikeÚexpected_indexÚexpected_columnsrD   ry   rE   rE   rF   Útest_emptylike_constructorü   s   	z4TestDataFrameConstructors.test_emptylike_constructorc                 C   s$   |rdnt j}|d j|ksJ ‚d S )Nr:   Úfoo)r;   Úobject_r9   )rA   Úfloat_string_frameÚusing_infer_stringr9   rE   rE   rF   Útest_constructor_mixed	  s   z0TestDataFrameConstructors.test_constructor_mixedc                 C   s¾   d}t jt|d�� tdg d¢itjd� W d   ƒ n1 sw   Y  tt d¡ƒ}t d¡ ¡ |d< d}t jt|d�� t d¡|d	< W d   ƒ n1 sOw   Y  t d¡ ¡ |d
< d S )Nz!could not convert string to floatrb   r}   ©r}   ÚbÚcr8   )r6   rN   rÈ   z5Expected a 1D array, got an array with shape \(4, 2\)ÚtestÚfoo2)ri   rj   Ú
ValueErrorr   r;   r+   Úonesru   )rA   rk   rC   rE   rE   rF   Útest_constructor_cast_failure  s   ÿÿz7TestDataFrameConstructors.test_constructor_cast_failurec                 C   sD   t dgdgdgdœƒ}t |tdd�}d|d< |d d	 dks J ‚d S )
Nç      ð?ç       @ç      @)Úcol1Úcol2Úcol3T©r9   Úcopyg      i@rØ   r   )r   Úfloat)rA   Úorig_dfÚnew_dfrE   rE   rF   Útest_constructor_dtype_copy"  s   z5TestDataFrameConstructors.test_constructor_dtype_copyc                 C   sŽ   t ddggƒ}t ||d jd�}|r"d|jd< |jd dks J ‚d S t |¡� d|jd< W d   ƒ n1 s7w   Y  |jd dksEJ ‚d S )NrO   rN   r   r8   éc   ©r   r   )r   r9   ÚilocÚvaluesr?   Úassert_cow_warning)rA   Úusing_copy_on_writeÚwarn_copy_on_writerC   Úshould_be_viewrE   rE   rF   Ú,test_constructor_dtype_nocast_view_dataframe*  s   
ÿzFTestDataFrameConstructors.test_constructor_dtype_nocast_view_dataframec                 C   s€   t ddgddggdd�}|s*|s*t |j|d jd�}d|jd	< |jd	 dks(J ‚d S t |j|d jd�}|jjd jjs>J ‚d S )
NrO   rN   r7   r6   r3   r8   r   éa   râ   )r   rä   r9   rã   rS   rž   ÚflagsÚc_contiguous)rA   rU   ræ   rç   rC   rè   Údf2rE   rE   rF   Ú+test_constructor_dtype_nocast_view_2d_array7  s   
zETestDataFrameConstructors.test_constructor_dtype_nocast_view_2d_arrayc                 C   s„   t jddgdd�}t|dd�}|r'|d jjdkrnt  |d  ¡ |¡s&J ‚n	t  |j|¡s0J ‚t|tdd	�}t  |j|¡s@J ‚d S )
Nr}   rÎ   rs   r8   F©rÜ   r   ÚpyarrowrÛ   ©	r;   rg   r   r9   ÚstorageÚshares_memoryÚto_numpyrä   rs   ©rA   rË   rB   rC   rE   rE   rF   Ú"test_1d_object_array_does_not_copyG  s   z<TestDataFrameConstructors.test_1d_object_array_does_not_copyc                 C   sŒ   t jddgddggdd�}t|dd�}|r+|d	 jjd
krnt  |d	  ¡ |¡s*J ‚n	t  |j|¡s4J ‚t|tdd�}t  |j|¡sDJ ‚d S )Nr}   rÎ   rÏ   r„   rs   r8   Frï   r   rð   rÛ   rñ   rõ   rE   rE   rF   Ú"test_2d_object_array_does_not_copyY  s   z<TestDataFrameConstructors.test_2d_object_array_does_not_copyc                 C   s@   t ddgd dggtd�}|jd d u sJ ‚|jd dksJ ‚d S )NrO   Ú2r}   r8   ©rO   r   rP   )r   rs   Úlocro   rE   rE   rF   Ú test_constructor_dtype_list_datak  s   z:TestDataFrameConstructors.test_constructor_dtype_list_datac                 C   sÐ   t ƒ }t d¡}tjtdd�� t |gƒ W d   ƒ n1 sw   Y  tjtdd�� t |gƒ W d   ƒ n1 s;w   Y  t dddgiƒ}tjtdd�� t ||gƒ W d   ƒ d S 1 saw   Y  d S )Nrâ   zshape=\(1, 0, 0\)rb   ÚArO   rN   zshape=\(2, 2, 1\))r   r;   Úemptyri   rj   rÒ   )rA   r}   rÎ   rE   rE   rF   Ú"test_constructor_list_of_2d_raisesp  s   
ÿÿ"ÿz<TestDataFrameConstructors.test_constructor_list_of_2d_raisesztyp, adrÝ   rÈ   Úbar©rü   rq   ÚCÚintc                 C   s¤   |dkrt }dd„ |D ƒ}n|dkrt}dd„ |D ƒ}t||ƒD ]\}}|j|ks+J ‚q | tt||ƒƒ¡ t|ƒ}tt  }|D ]}||v rO|j| |ksOJ ‚q@d S )Nr  c                 S   s(   g | ]}t jt j d ¡ d¡|d�‘qS )rN   é
   r8   )r;   rg   ÚrandomÚdefault_rng©r™   r„   rE   rE   rF   r›   Œ  s    ÿzKTestDataFrameConstructors.test_constructor_mixed_dtypes.<locals>.<listcomp>rÝ   c                 S   s,   g | ]}t jt j d ¡jddd�|d�‘qS )rN   r  )Úsizer8   )r;   rg   r  r  Úintegersr  rE   rE   rF   r›   ‘  s    ÿÿ)ÚMIXED_INT_DTYPESÚMIXED_FLOAT_DTYPESÚzipr9   ÚupdateÚdictr   Údtypes)rA   ÚtypÚadr  rž   r„   r}   rC   rE   rE   rF   Útest_constructor_mixed_dtypes~  s(   ÿþ€þz7TestDataFrameConstructors.test_constructor_mixed_dtypesc                 C   sj   t j d¡ d¡ t j¡}t j d¡ d¡ t j¡}t||dœƒ}|j|jjks*J ‚|j|j	jks3J ‚d S )NrN   r  ©r}   rÎ   )
r;   r  r  r>   Ú	complex64Ú
complex128r   r9   r}   rÎ   ©rA   r}   rÎ   rC   rE   rE   rF   Útest_constructor_complex_dtypes   s
   z9TestDataFrameConstructors.test_constructor_complex_dtypesc                 C   sx   t ddd gi|d�}| ¡ }t dddgiƒ}t ||¡ |jd d u s%J ‚t ddtjgi|d�}t |jd ¡s:J ‚d S )Nrü   rš   r8   FTrù   )r   r#   r?   r@   rã   r;   rh   Úisnan)rA   Ústring_dtyperC   ry   rD   rE   rE   rF   Ú$test_constructor_dtype_str_na_values©  s   z>TestDataFrameConstructors.test_constructor_dtype_str_na_valuesc           	      C   sÌ   |j dd�}t|jjƒd d d… |j_|j}t|ƒ}t |jt	|jjƒ¡ t||d�}t |jt	|jjƒ¡ t |j|¡ t
 t|ƒ¡d d d… }t||ddgd�}t||d�jddgd�}t ||¡ d S )NFr[   éÿÿÿÿr  rq   rÀ   r¦   )Ú
to_recordsÚlistr9   Únamesr\   r   r?   Úassert_index_equalr§   r   r;   r<   rR   Úreindexr@   )	rA   Úfloat_frameÚrecr\   rC   rí   ÚrngÚdf3rD   rE   rE   rF   Útest_constructor_rec´  s   z.TestDataFrameConstructors.test_constructor_recc                 C   s8   t tjdtd�tjdtd�dœƒ}|jjtjksJ ‚d S )Nr  r8   rP   )r   r;   rÓ   ÚboolÚzerosrä   r9   Úbool_ro   rE   rE   rF   Útest_constructor_boolÇ  s   "z/TestDataFrameConstructors.test_constructor_boolc                 C   s�   t jdd„ tddƒD ƒt jd�}td|iƒ}|d jt jks J ‚g d¢}dd	g}t jt|ƒf|d�}||d d …< t|ƒ}|d
 jt jksFJ ‚d S )Nc                 S   s   g | ]}d | ‘qS )ì            rE   ©r™   ÚirE   rE   rF   r›   Í  rœ   zMTestDataFrameConstructors.test_constructor_overflow_int64.<locals>.<listcomp>rO   r  r8   r}   ))l   –Yª2­< é  )l   FJLW]L* é   )l   ´MÏ:M…^ é-   )l   8²€M�a i  )l   r*R3_PvN r,  )ÚuidÚu8)Úscorer0  r/  )r;   rg   r¨   r/   r   r9   r&  rR   )rA   rä   ry   Údata_scoresr9   r¼   Ú	df_crawlsrE   rE   rF   Útest_constructor_overflow_int64Ë  s    z9TestDataFrameConstructors.test_constructor_overflow_int64rä   r)  r8   éA   l           lûÿÿÿ        lûÿÿÿ        c                 C   s:   |d }t |ƒ}|d jtksJ ‚|d d |ksJ ‚d S r·   )r   r9   rs   ©rA   rä   r]   ry   rE   rE   rF   Útest_constructor_int_overflowà  s   z7TestDataFrameConstructors.test_constructor_int_overflowc                 C   s<   |d }t |ƒ}|d j|jksJ ‚|d d |ksJ ‚d S r·   ©r   r9   r6  rE   rE   rF   Útest_constructor_numpy_uintsó  s   z6TestDataFrameConstructors.test_constructor_numpy_uintsc                 C   s`   d}t t|ƒƒ}tj d¡ |¡ dd„ |D ƒ}ttt|dgg| ƒƒƒ}|t |j	ƒks.J ‚d S )Néd   rN   c                 S   s   g | ]}d |d›�‘qS )rü   r„   rE   r*  rE   rE   rF   r›   
  ó    zJTestDataFrameConstructors.test_constructor_ordereddict.<locals>.<listcomp>r   )
r  r¨   r;   r  r  Úshuffler   r   r  r§   )rA   ÚnitemsÚnumsrD   rC   rE   rE   rF   Útest_constructor_ordereddict  s   z6TestDataFrameConstructors.test_constructor_ordereddictc                 C   sP  t tjdtjd�tddd�d�}|dd … }t||dœƒ}t|ƒdks%J ‚t|ƒdks-J ‚t |d	 | 	d	¡¡ t t 
tjgd |jg¡|jd
d�}t ||d
 ¡ t||dœg d¢d�}t|ƒt|ƒksgJ ‚d	|vsmJ ‚t|d ƒ ¡ swJ ‚ttƒ ƒdks€J ‚d}tjt|d�� tdddœg d¢dœƒ W d   ƒ d S 1 s¡w   Y  d S )Né   r8   ú
2020-01-01©rL   r[   r¥   ©rØ   rÙ   é   rØ   rÙ   ©r\   rf   )rÙ   rÚ   Úcol4r¦   rÚ   r   ú<Mixing dicts with non-Series may lead to ambiguous ordering.rb   r}   rÎ   r  rÍ   ©rü   rq   )r   r;   r<   r+   r"   r   rR   r?   rv   ÚrenameÚconcatenaterh   rä   r\   r#   Úallri   rj   rÒ   )rA   Údatetime_seriesÚdatetime_series_shortÚframeÚexprk   rE   rE   rF   Útest_constructor_dict  s4   ÿýþ"ÿz/TestDataFrameConstructors.test_constructor_dictc                 C   s,   t ddddœiƒ}t |jtddgƒ¡ d S )Nrü   rO   rN   ©Ú1rø   rR  rø   )r   r?   r  r\   r   ©rA   rN  rE   rE   rF   Útest_constructor_dict_length16  s   z7TestDataFrameConstructors.test_constructor_dict_length1c                 C   s*   t g d¢ƒ}ti |d�}|j|u sJ ‚d S )N©r   rO   rN   r[   )r   r   r\   ©rA   rx   rN  rE   rE   rF   Ú test_constructor_dict_with_index;  s   z:TestDataFrameConstructors.test_constructor_dict_with_indexc                 C   sL   t g d¢ƒ}ti ||d�}|j|u sJ ‚|j|u sJ ‚t|jƒdks$J ‚d S )NrU  rÀ   r7   )r   r   r\   r§   rR   Ú_seriesrV  rE   rE   rF   Ú,test_constructor_dict_with_index_and_columnsA  s
   zFTestDataFrameConstructors.test_constructor_dict_with_index_and_columnsc                 C   s0   t g g dœddgd�}tj|jtdƒdd� d S )NrH  rü   rq   r¦   r   T©Úexact)r   r?   r  r\   r   rS  rE   rE   rF   Ú$test_constructor_dict_of_empty_listsI  s   z>TestDataFrameConstructors.test_constructor_dict_of_empty_listsc                 C   s^   t dd idgd�}t dd gidgd�}| dd¡d u sJ ‚| dd¡d u s'J ‚t ||¡ d S )Nr}   r   r[   )r   Ú
_get_valuer?   r@   )rA   Ú
frame_noneÚframe_none_listrE   rE   rF   Útest_constructor_dict_with_noneN  s
   z9TestDataFrameConstructors.test_constructor_dict_with_nonec                 C   s„   d}t jt|d�� tddiƒ W d   ƒ n1 sw   Y  t jt|d�� tddidgd� W d   ƒ d S 1 s;w   Y  d S )Nú2If using all scalar values, you must pass an indexrb   r}   gffffffæ?r¦   ©ri   rj   rÒ   r   ©rA   rk   rE   rE   rF   Útest_constructor_dict_errorsW  s   ÿ"ÿz6TestDataFrameConstructors.test_constructor_dict_errorsÚscalarNÚDc                 C   s.   t d|idgd�}t dgd�}t ||¡ d S )Nr}   rÎ   r¦   rÃ   )rA   re  ry   rD   rE   rE   rF   Ú%test_constructor_invalid_items_unuseda  s   z?TestDataFrameConstructors.test_constructor_invalid_items_unusedr]   rh   c                    sÆ   d|dg‰ d|g‰ddgddgddgg‰‡ ‡‡fdd	„t dƒD ƒ}t|ƒ d¡jddd
�}ttjddd� dd¡ˆˆ d�}t ||¡ t|ˆd�jddd
�}t ||¡ t|ˆˆ d�}t ||¡ d S )NrO   r7   r}   r   r6   rN   r¥   c                    ó"   i | ]}ˆ | t ˆ| ˆd �“qS ©r[   r—   ©r™   rÏ   ©Úcolsrx   rä   rE   rF   Ú
<dictcomp>n  ó   " zKTestDataFrameConstructors.test_constructor_dict_nan_key.<locals>.<dictcomp>©ÚaxisrI   r3   r8   rÀ   r[   )r¨   r   Úsort_valuesr;   r<   r=   r?   r@   ©rA   r]   r¼   ry   rD   rE   rk  rF   Útest_constructor_dict_nan_keyh  s   
ÿz7TestDataFrameConstructors.test_constructor_dict_nan_keyc                    sæ   t d|dfd|fgƒ‰ t d|f|dfgƒ‰ddgdd	gdd
gg‰‡ ‡‡fdd„tdƒD ƒ}t|ƒ d¡jd|fdd�}ttjddd� dd¡ˆˆ d�}t ||¡ t|ˆd�jd|fdd�}t ||¡ t|ˆˆ d�}t ||¡ d S )N)é   é   é   é   r}   rN   r   r7   rO   r6   r¥   c                    rh  ri  r—   rj  rk  rE   rF   rm  �  rn  zQTestDataFrameConstructors.test_constructor_dict_nan_tuple_key.<locals>.<dictcomp>ro  rI   r3   r8   rÀ   r[   )	r   r¨   r   rq  r;   r<   r=   r?   r@   rr  rE   rk  rF   Ú#test_constructor_dict_nan_tuple_key{  s   ÿz=TestDataFrameConstructors.test_constructor_dict_nan_tuple_keyc                 C   s`   t tjdtjd�tddd�d�}|d d… }||dœ}t|d�}t|td	ƒd
�}t ||¡ d S )Nr  r8   rA  rB  r[   r¥   ©rÎ   r}   r»   Úba©r¼   r§   )	r   r;   r<   r+   r"   r   r  r?   r@   )rA   rL  rM  r„   rN  rD   rE   rE   rF   Ú%test_constructor_dict_order_insertionŽ  s   ÿ

z?TestDataFrameConstructors.test_constructor_dict_order_insertionc                 C   sR   t tjddgdddgitjdgd�}t ddgddggtjdgd�}t ||¡ d S )NrO   rN   r7   r¦   )r   r;   rh   r?   r@   ©rA   ry   rD   rE   rE   rF   Ú)test_constructor_dict_nan_key_and_columns›  s   $zCTestDataFrameConstructors.test_constructor_dict_nan_key_and_columnsc                 C   sl   g d¢}t  |¡}t||d�}t|ƒj ¡  ¡ sJ ‚g d¢}t  |¡}t||d�}t|ƒj ¡  ¡ s4J ‚d S )N)©rN   r7   ©r7   r7   r€  rÀ   )r€  r  r€  )r   Úfrom_tuplesr   r#   rä   r    rK  )rA   ÚtuplesÚmirC   rE   rE   rF   Útest_constructor_multi_index¡  s   

z6TestDataFrameConstructors.test_constructor_multi_indexc                 C   s¶   t dggdggddgd�}t ddgtddgdd�tdggdggd�d�}t ||¡ t dggdggddggd�}t ddgtddggddggd�tdggdggd�d�}t ||¡ d S )	NrO   rN   ©r§   r\   r3   r8   r   )ÚlevelsÚcodesrÀ   )r   r   r   r?   r@   ©rA   rC   rD   rE   rE   rF   Útest_constructor_2d_index®  s   ýýz3TestDataFrameConstructors.test_constructor_2d_indexc                 C   s  d}t jt|d�� tt d¡dgd� W d   ƒ n1 sw   Y  d}t jt|d�� tddd	œg d
¢dœƒ W d   ƒ n1 sCw   Y  d}t jt|d�� tt d¡ d¡g d¢tddd�d� W d   ƒ n1 sow   Y  t 	g d¢g¡}d}t jt|d�� tdgt
dƒ|d� W d   ƒ n1 sšw   Y  t 	g d¢¡}d}t jt|d�� tdgt
dƒ|d� W d   ƒ n1 sÄw   Y  t jtdd�� tt d¡g d¢dgd� W d   ƒ n1 sèw   Y  d}t jt|d�� ttj d¡ d¡g d¢dgd� W d   ƒ n	1 �sw   Y  d}t jt|d�� ttj d¡ d¡d d!gddgd� W d   ƒ n	1 �s?w   Y  d"}t jt|d�� tt
d#ƒt
d#d$ƒfd%d&� W d   ƒ n	1 �sfw   Y  d'}t jt|d�� td(d)d	œƒ W d   ƒ d S 1 �sˆw   Y  d S )*Nz)Empty data passed with indices specified.rb   r   rO   r[   rG  r}   rÎ   r  rÍ   rH  z:Shape of passed values is \(4, 3\), indices imply \(3, 3\)r5   )r6   r7   ©rÈ   rÿ   Úbazú
2000-01-01r7   rB  r…  ©r6   r¥   rI   z:Shape of passed values is \(1, 3\), indices imply \(1, 4\)r6   ©r\   r§   r¼   z:Shape of passed values is \(3, 1\), indices imply \(1, 4\)úMust pass 2-d input©r7   r7   r7   r   ú:Shape of passed values is \(2, 3\), indices imply \(1, 3\)rN   r  ú:Shape of passed values is \(2, 3\), indices imply \(2, 2\)rü   rq   z,2 columns passed, passed data had 10 columnsr  é   )rÓ   Útwosr¦   ra  FT)ri   rj   rÒ   r   r;   rý   r<   r=   r"   rg   r¨   r&  r  r  )rA   rk   rB   rE   rE   rF   Útest_constructor_error_msgsÁ  sj   ÿÿ
ýÿÿÿÿýÿýÿÿ$ÿz5TestDataFrameConstructors.test_constructor_error_msgsc                 C   s|   |dd„ t dƒD ƒƒ|dd„ t dƒD ƒƒdœ}t|ƒ}tdd„ | ¡ D ƒƒ}t ||¡ || ¡ ƒ}t|ƒ}t ||¡ d S )Nc                 s   ó   � | ]	}|d | fV  qdS )g      $@NrE   r˜   rE   rE   rF   r´      ó   € zKTestDataFrameConstructors.test_constructor_subclass_dict.<locals>.<genexpr>r  c                 s   r–  )g      4@NrE   r˜   rE   rE   rF   r´     r—  rC  c                 S   s   i | ]\}}|t | ¡ ƒ“qS rE   )r  Úitems)r™   ÚcolÚvalrE   rE   rF   rm    s    zLTestDataFrameConstructors.test_constructor_subclass_dict.<locals>.<dictcomp>)r¨   r   r˜  r?   r@   )rA   Údict_subclassr¼   rC   ÚrefdfrE   rE   rF   Útest_constructor_subclass_dictý  s   þz8TestDataFrameConstructors.test_constructor_subclass_dictc                 C   st   i }t j|jd |jd …df< | ¡ D ]\}}ttƒ}| | ¡ ¡ |||< qt	|ƒ}|j
|jd�}t ||¡ d S )Nr  rq   r[   )r;   rh   rú   r\   r˜  r   r  r  r‚   r   r  r?   r@   )rA   r   r¼   ÚkÚvÚdctrN  rD   rE   rE   rF   Útest_constructor_defaultdict  s   
z6TestDataFrameConstructors.test_constructor_defaultdictc                 C   sD   t  g d¢g¡}tdgdgdgdgdœg d¢d�}t |j|¡ d S )N)ç      @r×   rÖ   rÕ   r¢  r×   rÖ   rÕ   )r„   rÏ   rÎ   r}   r¦   )r;   rg   r   r?   Úassert_numpy_array_equalrä   )rA   rD   rC   rE   rE   rF   Útest_constructor_dict_block  s   þz5TestDataFrameConstructors.test_constructor_dict_blockc                 C   s¦   dddœddddœdœ}t |td	�}t|ƒd
ksJ ‚|d jtjks$J ‚|d jtjks.J ‚t |ƒ}t|ƒd
ks:J ‚|sF|d jtjksGJ ‚	 |d jtjksQJ ‚d S )NrO   rN   rQ  rR  rø   Ú3)rR  rø   r¥  rH  r8   r7   rq   rü   )r   rÝ   rR   r9   r;   r+   rÉ   )rA   rË   Ú	test_datarN  rE   rE   rF   Útest_constructor_dict_cast   s   z4TestDataFrameConstructors.test_constructor_dict_castc                 C   s‚   t ttdƒdd„ tdƒD ƒƒƒt ttdƒtj d¡ d¡ƒƒdœ}tjt	dd�� t
|td	� W d   ƒ d S 1 s:w   Y  d S )
Nr“  c                 S   s   g | ]}d |› �‘qS )Úword_rE   r*  rE   rE   rF   r›   0  ó    zITestDataFrameConstructors.test_constructor_dict_cast2.<locals>.<listcomp>é   rN   rH  zcould not convert stringrb   r8   )r  r  r¨   r;   r  r  Ústandard_normalri   rj   rÒ   r   rÝ   )rA   r¦  rE   rE   rF   Útest_constructor_dict_cast2-  s   þ"ÿz5TestDataFrameConstructors.test_constructor_dict_cast2c                 C   s2   ddt jdœi}t|ƒ}t|d d tƒsJ ‚d S )NÚCol1zA String)ÚRow1ÚRow2r¯  )r;   rh   r   rŸ   rÝ   )rA   r„   rC   rE   rE   rF   Ú!test_constructor_dict_dont_upcast6  s   z;TestDataFrameConstructors.test_constructor_dict_dont_upcastc                 C   s<   t ddgddggddgddgd�}t|d d tƒsJ ‚d S )NrO   rN   r}   rÎ   rÀ   )r   rŸ   r  )rA   ÚdmrE   rE   rF   Ú"test_constructor_dict_dont_upcast2;  s   "z<TestDataFrameConstructors.test_constructor_dict_dont_upcast2c                 C   s<   dddœ}t |ƒ}t dd„ | ¡ D ƒƒ}tj||dd� d S )N©rO   rN   r7   r�  r  c                 S   s   i | ]	\}}|t |ƒ“qS rE   )r  )r™   rž  rŸ  rE   rE   rF   rm  D  s    zMTestDataFrameConstructors.test_constructor_dict_of_tuples.<locals>.<dictcomp>F©Úcheck_dtype)r   r˜  r?   r@   ©rA   r¼   ry   rD   rE   rE   rF   Útest_constructor_dict_of_tuples?  s   
z9TestDataFrameConstructors.test_constructor_dict_of_tuplesc                 C   sB   t dƒt ddƒdœ}t|ƒ}tg d¢g d¢dœƒ}t ||¡ d S )Nr7   rI   r  rU  )r7   r6   r¥   ©r¨   r   r?   r@   r¶  rE   rE   rF   Útest_constructor_dict_of_rangesG  s   z9TestDataFrameConstructors.test_constructor_dict_of_rangesc                 C   sH   t tdƒƒttdƒƒdœ}t|ƒ}tg d¢g d¢dœƒ}t ||¡ d S )Nr7   r  rU  ©rN   rO   r   )Úiterr¨   Úreversedr   r?   r@   r¶  rE   rE   rF   Ú"test_constructor_dict_of_iteratorsO  s   z<TestDataFrameConstructors.test_constructor_dict_of_iteratorsc                 C   sX   dd„ t dƒD ƒdd„ tt dƒƒD ƒdœ}t|ƒ}tg d¢g d¢dœƒ}t ||¡ d S )Nc                 s   r±   r¬   rE   r*  rE   rE   rF   r´   Y  rµ   zPTestDataFrameConstructors.test_constructor_dict_of_generators.<locals>.<genexpr>r7   r  rU  rº  )r¨   r¼  r   r?   r@   r¶  rE   rE   rF   Ú#test_constructor_dict_of_generatorsW  s   *z=TestDataFrameConstructors.test_constructor_dict_of_generatorsc                 C   s  ddddœddddœdd	d
dœdœ}t | ¡ ƒ}t|ƒ}tdd„ |D ƒt dd„ |D ƒ¡d�j}t |j¡|_t ||¡ dddddœ|d< | 	dd|d f¡ tdd„ |D ƒt
dd„ |D ƒdd�d�j}t
|jdd�|_t|ƒ}|j|j|jd�}t ||¡ d S )Nr   rO   rN   )©r+  r+  ©r+  Új©rÁ  r+  rI   r¥   r6   é   é   é	   ))r}   r}   ry  )rÎ   rÏ   c                 S   ó   g | ]}|d  ‘qS ©rO   rE   r˜   rE   rE   rF   r›   g  rœ   zNTestDataFrameConstructors.test_constructor_dict_multiindex.<locals>.<listcomp>c                 S   rÆ  ©r   rE   r˜   rE   rE   rF   r›   g  rœ   r[   g     À^@éo   )r©   r¿  rÀ  rÂ  Úzc                 S   rÆ  rÇ  rE   r˜   rE   rE   rF   r›   r  rœ   c                 S   rÆ  rÈ  rE   r˜   rE   rE   rF   r›   r  rœ   F)Útupleize_colsr…  )Úsortedr˜  r   r   r�  ÚTr\   r?   r@   Úinsertr   r  r§   )rA   r„   Ú_drC   rD   rE   rE   rF   Ú test_constructor_dict_multiindex^  s6   


ýÿþþ ÿþz:TestDataFrameConstructors.test_constructor_dict_multiindexc           	   	      s¸   g d¢‰ ‡ fdd„}|t jƒ}|dd„ ƒ}|tƒ}tdd d d dœd dd d dœd d d	d dœd d d d
dœgdd„ ˆ D ƒd�}t|ƒ}t|ƒ}t|ƒ}t ||¡ t ||¡ t ||¡ d S )N)z
1984-02-19z
1988-11-06z
1989-12-03z
1990-03-15c                    s   ‡ fdd„t ˆƒD ƒS )Nc                    ó"   i | ]\}}|ˆ |ƒd | i“qS ©rN   rE   ©r™   r+  Ús©r«   rE   rF   rm  ~  rn  ziTestDataFrameConstructors.test_constructor_dict_datetime64_index.<locals>.create_data.<locals>.<dictcomp>)Ú	enumeraterÕ  ©Údates_as_strrÕ  rF   Úcreate_data}  s   zUTestDataFrameConstructors.test_constructor_dict_datetime64_index.<locals>.create_datac                 S   ó   t  | d¡S )Nz%Y-%m-%d)r	   Ústrptime©rš   rE   rE   rF   r®   �  r¹   zRTestDataFrameConstructors.test_constructor_dict_datetime64_index.<locals>.<lambda>r   ©r   rO   rN   r7   rN   r6   rI   c                 S   r–   rE   )r    )r™   rZ   rE   rE   rF   r›   ‹  rœ   zTTestDataFrameConstructors.test_constructor_dict_datetime64_index.<locals>.<listcomp>r[   )r;   rŽ   r    r   r?   r@   )	rA   rÙ  Údata_datetime64Údata_datetimeÚdata_TimestamprD   Úresult_datetime64Úresult_datetimeÚresult_TimestamprE   r×  rF   Ú&test_constructor_dict_datetime64_indexy  s&   
üù
z@TestDataFrameConstructors.test_constructor_dict_datetime64_indexz
klass,namec                 C   rÚ  ©Nrf  )r;   Útimedelta64rÜ  rE   rE   rF   r®   ˜  r¹   ræ  c                 C   s
   t | d�S )N)Údays)r
   rÜ  rE   rE   rF   r®   ™  r½   Úpytimedeltac                 C   s
   t | dƒS rå  ©r   rÜ  rE   rE   rF   r®   š  r½   zTimedelta[ns]c                 C   s   t | dƒ d¡S )Nrf  rÔ  )r   r_   rÜ  rE   rE   rF   r®   ›  s    zTimedelta[s]c              	      s|   g d¢}‡ fdd„t |ƒD ƒ}tdd d d dœd dd d dœd d dd dœd d d ddœgd	d
„ |D ƒd�}t|ƒ}t ||¡ d S )N©rO   rN   r7   r6   c                    rÑ  rÒ  rE   rÓ  ©ÚklassrE   rF   rm  ¢  rn  zUTestDataFrameConstructors.test_constructor_dict_timedelta64_index.<locals>.<dictcomp>r   rÝ  rN   r6   rI   c                 S   s   g | ]}t |d ƒ‘qS )rf  ré  )r™   ÚtdrE   rE   rF   r›   «  r©  zUTestDataFrameConstructors.test_constructor_dict_timedelta64_index.<locals>.<listcomp>r[   )rÖ  r   r?   r@   )rA   rì  rf   Ú	td_as_intr¼   rD   ry   rE   rë  rF   Ú'test_constructor_dict_timedelta64_index•  s   üù
zATestDataFrameConstructors.test_constructor_dict_timedelta64_indexc                 C   s¨   t jg d¢dd�}t jg d¢dd�}t||dœƒ}|d j|jks#J ‚|d j|jks-J ‚t| t¡ ¡ | t¡ ¡ dœƒ}|d j|jksHJ ‚|d j|jksRJ ‚d S )	N)z2012-01r‹   z2012-04r•   ©Úfreq)z
2012-02-01z
2012-03-01r‹   rf  r  r}   rÎ   )ÚpdÚPeriodIndexr   r9   r>   rs   ru   r  rE   rE   rF   Útest_constructor_period_dict²  s   "z6TestDataFrameConstructors.test_constructor_period_dictc                 C   sN   |\}}t d|idgd�}|d j|ksJ ‚t dgdg|d�}t ||¡ d S )Nr}   r   r[   rŽ  )r   r9   r?   r@   )rA   Úea_scalar_and_dtypeÚ	ea_scalarÚea_dtyperC   rD   rE   rE   rF   Ú&test_constructor_dict_extension_scalar¿  s
   z@TestDataFrameConstructors.test_constructor_dict_extension_scalarz
data,dtypez2020-01r¥   )ÚleftÚrightr3   rú  z
2011-01-01ú
US/Eastern©rM   rÔ  )ÚunitrM   c                 C   sl   t ddgddg|d�}|d j|ksJ ‚|d j|ksJ ‚tj|gd |d�}t ||dœƒ}t ||¡ d S )	Nr   rO   r}   rÎ   rŽ  rN   r8   r  )r   r9   rò  rg   r?   r@   )rA   r¼   r9   rC   rB   rD   rE   rE   rF   Ú&test_constructor_extension_scalar_dataÈ  s   z@TestDataFrameConstructors.test_constructor_extension_scalar_datac                 C   sÆ   t jddd�}ttj d¡ d¡|d�}i }|jD ]}|jD ]}| 	||¡| 
|i ¡|< qqt||d�}t ||¡ i }|jD ]}|jD ]}| 	||¡| 
|i ¡|< qDq?t||d�j}t ||¡ d S )Nz1/1/2000r¥   rB  rN   ©r  r¥   r¦   r[   )rò  Úperiod_ranger   r;   r  r  r«  r§   r\   r]  Ú
setdefaultr?   r@   rÍ  )rA   r"  rC   r¼   r™  Úrowry   rE   rE   rF   Ú"test_nested_dict_frame_constructorß  s    

ÿ

ÿz<TestDataFrameConstructors.test_nested_dict_frame_constructorc                 C   s²  |dt d�}t|g d¢ddgd�}t|jƒdksJ ‚t|jƒdks#J ‚t|dƒd	gg d
¢d�}t|jƒdks8J ‚t|jƒdksAJ ‚|tjurod}tjt	|d�� t|g d¢ddgtj
d� W d   ƒ d S 1 shw   Y  d S t|g d¢ddgtj
d�}|jjtj
ks…J ‚d}tjt|d�� t|g d¢dgd� W d   ƒ n1 s£w   Y  d}tjt|d�� t|d	dgddgd� W d   ƒ n1 sÇw   Y  tjtdd�� t|dƒg d¢dgd� W d   ƒ n1 sêw   Y  t|ƒ}tj|jttdƒƒdd� tj|jttdƒƒdd� t|ddgd�}tj|jttdƒƒdd� t|g d¢d�}tj|jttdƒƒdd� t|dƒƒ}t|jƒdk�sGJ ‚t|dƒƒ}t|jƒdk�sWJ ‚d S )Nr  r8   r   rO   rN   r…  r7   )r7   rü   r³  ra   rb   ©r§   r\   r9   r‘  r’  rq   r�  r�  TrZ  r[   r¦   )r   r7   r   )r7   r   )rÝ   r   rR   r\   r§   r;   rÓ   ri   rj   r   r3   rä   r9   rÒ   r?   r  r   r¨   )rA   rý   ÚmatrN  rk   rE   rE   rF   Ú_check_basic_constructoró  sR   

ÿþÿÿÿÿz2TestDataFrameConstructors._check_basic_constructorc                 C   s8   |   tj¡ tddgddgdgd�}t|ƒdksJ ‚d S )NrÈ   rÿ   r   rO   rü   rÀ   rN   )r  r;   rÓ   r   rR   rS  rE   rE   rF   Útest_constructor_ndarray+  s   z2TestDataFrameConstructors.test_constructor_ndarrayc                 C   sª   |   tj¡ tjdtd�}d|d< d|d< t|g d¢dd	gd
�}d|d d ks*J ‚d|d d	 ks4J ‚tjdtd�}t|g d¢dd	gd
�}t t ||k¡ ¡sSJ ‚d S )Nr  r8   rÕ   râ   rÖ   ©rO   rN   r   rO   rN   r…  rü   r  )r  r   Ú
masked_allrÝ   r   r;   rK  Úasarray)rA   r  rN  rE   rE   rF   Útest_constructor_maskedarray1  s   z6TestDataFrameConstructors.test_constructor_maskedarrayz7ignore:elementwise comparison failed:DeprecationWarningc                 C   sâ  t jdtd�}t|g d¢ddgd�}t|jƒdksJ ‚t|jƒdks$J ‚t t 	||k¡ ¡s1J ‚t|g d¢ddgtj
d�}|jjtj
ksGJ ‚t  |¡}d|d	< d|d
< t|g d¢ddgd�}d|d d ksiJ ‚d|d d kssJ ‚t jddd�}t|g d¢ddgd�}t|jƒdksŽJ ‚t|jƒdks—J ‚t|ƒj ¡ s J ‚d}tjt|d�� t|g d¢ddgtjd� W d   ƒ n1 sÁw   Y  t  |¡}d|d	< d|d
< t|g d¢ddgd�}d|d  d¡d ksëJ ‚d|d  d¡d ksøJ ‚t jdtd�}t|g d¢ddgd�}t|jƒdk�sJ ‚t|jƒdk�sJ ‚t t 	||k¡ ¡�s,J ‚t|g d¢ddgtd�}|jjtk�sAJ ‚t  |¡}d|d	< d|d
< t|g d¢ddgd�}|d d du �sdJ ‚|d d du �soJ ‚d S )Nr  r8   r   rO   rN   r…  r7   r  râ   r  rü   r  rm   z8datetime64\[ns\] values and dtype=int64 is not supportedrb   rd   TF)r   r	  r  r   rR   r\   r§   r;   rK  r
  r+   rä   r9   rÜ   r#   ri   rj   r�   r3   r>   r%  rs   )rA   r  rN  Úmat2rk   rE   rE   rF   Ú%test_constructor_maskedarray_nonfloatA  sR   
ÿ

z?TestDataFrameConstructors.test_constructor_maskedarray_nonfloatc                 C   sÀ   t jdtd� ¡ }t|ddgddgd�}ttjtjgtjtjgdœddgddgtd	�}t ||¡ t j	dtd� ¡ }t|ddgddgd�}td
d
gd
d
gdœddgddgtd	�}t ||¡ d S )N)rN   rN   r8   rü   rq   rO   rN   r…  rH  r  rÕ   )
r   r	  rÝ   Úharden_maskr   r;   rh   r?   r@   rÓ   )rA   Úmat_hardry   rD   rE   rE   rF   Ú%test_constructor_maskedarray_hardened…  s$   üüz?TestDataFrameConstructors.test_constructor_maskedarray_hardenedc                 C   sr   t jjt jjdddgd�dgd d�}| tj¡}tjt	dd�� t
|td� W d   ƒ d S 1 s2w   Y  d S )	Nr¥   )r   ú<f8)Úpricer  r8   F)ÚmaskzPass \{name: data\[name\]rb   )r;   r   rg   r&  r�   r   Ú	mrecarrayri   rj   r�   r   r  ©rA   r¼   rE   rE   rF   Ú%test_constructor_maskedrecarray_dtype›  s   ÿ"þz?TestDataFrameConstructors.test_constructor_maskedrecarray_dtypec                 C   s   t g d�}|jjdksJ ‚d S )Nr[   râ   )r   rä   Úshapero   rE   rE   rF   Útest_constructor_corner_shape¥  s   
z7TestDataFrameConstructors.test_constructor_corner_shapez%data, index, columns, dtype, expectedr  r}   rÎ   r+   r   c                 C   s"   t ||||ƒ}|jj|ksJ ‚d S r¬   )r   rä   r9   )rA   r¼   r\   r§   r9   rD   rC   rE   rE   rF   Útest_constructor_dtype©  s   z0TestDataFrameConstructors.test_constructor_dtypezdata,input_dtype,expected_dtype)TFNÚboolean©rÕ   rÖ   NÚFloat64)rO   rN   NÚInt64rÍ   Ústringc                 C   s(   t d|i|d�}|d j|ƒ ksJ ‚d S )Nr}   r8   r8  )rA   r¼   Úinput_dtypeÚexpected_dtyperC   rE   rE   rF   Ú0test_constructor_dtype_nullable_extension_arrays·  s   zJTestDataFrameConstructors.test_constructor_dtype_nullable_extension_arraysc                 C   s’   ddddddœ}t |t d¡d�}|d	 jtjksJ ‚|d
 jtjks%J ‚|d jtjks/J ‚|d jtjks9J ‚|sE|d jtjksGJ ‚d S d S )NrO   Tr×   y              @rÈ   )r  r%  rÝ   Úcomplexrs   r  r[   r  r%  rÝ   r"  rs   )	r   r;   r<   r9   r3   r'  r+   r  rÉ   )rA   rË   r¼   rC   rE   rE   rF   Ú!test_constructor_scalar_inferenceÆ  s    z;TestDataFrameConstructors.test_constructor_scalar_inferencec                 C   s„   t tj d¡ d¡ddœƒ}t |d jdgd dœƒ}t ||¡ tj	t
dd�� t dddœƒ W d   ƒ d S 1 s;w   Y  d S )	NrN   r  Tr  r}   zmust pass an indexrb   F)r   r;   r  r  r«  rä   r?   r@   ri   rj   rÒ   )rA   rC   rO  rE   rE   rF   Ú#test_constructor_arrays_and_scalarsÐ  s   "ÿz=TestDataFrameConstructors.test_constructor_arrays_and_scalarsc                 C   s8   t |ƒ}t ||¡ t |tjd�}|jjtjksJ ‚d S ©Nr8   )r   r?   r@   r;   r3   rä   r9   )rA   r   rC   Ú	df_castedrE   rE   rF   Útest_constructor_DataFrameØ  s   z4TestDataFrameConstructors.test_constructor_DataFramec                 C   s*   t t ƒ dd�}t g dd�}t ||¡ d S )Nrs   r8   rÃ   )rA   ÚactualrD   rE   rE   rF   Ú test_constructor_empty_dataframeß  s   z:TestDataFrameConstructors.test_constructor_empty_dataframec                 C   s¨  t j d¡ d¡}t|dgt  d¡d�}|jjdksJ ‚t j d¡ d¡}t|ƒ}|jjdks1J ‚|jjdks9J ‚tddgt  d¡d�}|jjdksLJ ‚tddgd�}|jjd	ks[J ‚tt  d¡d
�}|jjdkskJ ‚t j	ddgt
d� dd¡}d}tjt|d�� t|ddgdgtd� W d   ƒ n1 s—w   Y  tt|jƒƒ}t ||¡ tt jdtd�t jdt jd�dœt  d¡d
�}t|jƒdksÉJ ‚|jjt jksÒJ ‚d S )NrN   r  rü   r…  r   rq   ©r  rN   r¦   )r   rN   r[   )r  r   rÈ   rÿ   r8   rO   z(could not convert string to float: 'foo'rb   ©r\   r§   r9   rH  )r;   r  r  r«  r   r<   rä   Úndimr  rg   rs   r=   ri   rj   rÒ   rÝ   rX  r?   r@   rÓ   r  r+   rR   r§   r9   )rA   r   rB   r±  r  rk   rE   rE   rF   Útest_constructor_moreå  s4   ÿþz/TestDataFrameConstructors.test_constructor_morec                 C   sx   t g g d�}t g d�}t ||¡ t g ddgd�}t i ddgd�}t ||¡ dd„ }t |ƒ ddgd�}t ||¡ d S )Nr[   rü   rq   r¦   c                   s   s   � dE d H  d S r°   rE   rE   rE   rE   rF   Ú	empty_gen  s   €zHTestDataFrameConstructors.test_constructor_empty_list.<locals>.empty_genrÃ   )rA   rC   rD   r.  rE   rE   rF   Útest_constructor_empty_list  s   
z5TestDataFrameConstructors.test_constructor_empty_listc                 C   s‚   t ddgddggddgd�}t|d ƒsJ ‚|s"|d jtjks#J ‚	 t dt d	¡iƒ}d
d„ td	ƒD ƒ}t |ƒ}t ||¡ d S )NrO   r}   rN   rÎ   Únumr:   r{  r   r  c                 S   ó   g | ]}t  |¡‘qS rE   ©r;   rg   r˜   rE   rE   rF   r›   &  r©  zLTestDataFrameConstructors.test_constructor_list_of_lists.<locals>.<listcomp>)	r   r   r9   r;   rÉ   r<   r¨   r?   r@   )rA   rË   rC   rD   r¼   ry   rE   rE   rF   Útest_constructor_list_of_lists  s   z8TestDataFrameConstructors.test_constructor_list_of_listsc                 C   sx   t ddgƒ}tjd d gtd�}||d< |d |d< t|ƒ}tt |¡ƒ}t ||¡ |jdks1J ‚t 	|d j
|¡ d S )NrO   rN   r8   r   )rN   rO   )r   r;   rg   rs   r   rò  r?   r@   r  r£  rä   )rA   ÚserrB   rC   rD   rE   rE   rF   Ú.test_nested_pandasarray_matches_nested_ndarray*  s   zHTestDataFrameConstructors.test_nested_pandasarray_matches_nested_ndarrayc                 C   sZ   t dƒt dƒg}tg d¢g d¢g|d�}t |¡}tg d¢g d¢g|d�}t ||¡ d S )NÚabcdÚcdefrê  ©r6   r¥   rI   rÃ  r¦   )r  r   r   Úfrom_arraysr?   r@   )rA   rž   ry   rƒ  rD   rE   rE   rF   Ú2test_constructor_list_like_data_nested_list_column8  s
   
zLTestDataFrameConstructors.test_constructor_list_like_data_nested_list_columnc                 C   ó`   t dƒt dƒg}d}tjt|d�� tg d¢g d¢g|d� W d   ƒ d S 1 s)w   Y  d S )Nr   Úcdez#3 columns passed, passed data had 4rb   rê  r8  r¦   ©r  ri   rj   rÒ   r   ©rA   rž   rk   rE   rE   rF   Ú0test_constructor_wrong_length_nested_list_columnB  s
   "ÿzJTestDataFrameConstructors.test_constructor_wrong_length_nested_list_columnc                 C   r;  )Nr6  r<  zall arrays must be same lengthrb   rê  r8  r¦   r=  r>  rE   rE   rF   Ú2test_constructor_unequal_length_nested_list_columnJ  s
   "ÿzLTestDataFrameConstructors.test_constructor_unequal_length_nested_list_columnr¼   ú
2021-01-01rš   rY   c                 C   s:   t |g d¢dgd�}t dtdƒgd iƒ}t ||¡ d S )NrU  rš   rÀ   rA  r7   )r   r    r?   r@   r¶  rE   rE   rF   Ú&test_constructor_one_element_data_listS  s   z@TestDataFrameConstructors.test_constructor_one_element_data_listc                 C   sj   G dd„ dt jƒ}|ddgƒ|ddgƒg}ddg}t||d	�}tddgddgg|d	�}tj||d
d� d S )Nc                   @   s,   e Zd Zd	dd„Zdd„ Zdefdd„ZdS )
zPTestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainerÚreturnNc                 S   s
   || _ d S r¬   )Ú_lst)rA   ÚlstrE   rE   rF   Ú__init__g  ó   
zYTestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainer.__init__c                 S   s   | j  |¡S r¬   )rD  Ú__getitem__)rA   ÚnrE   rE   rF   rH  j  s   z\TestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainer.__getitem__c                 S   s
   | j  ¡ S r¬   )rD  Ú__len__)rA   rE   rE   rF   rJ  m  rG  zXTestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainer.__len__)rC  N)Ú__name__Ú
__module__Ú__qualname__rF  rH  r  rJ  rE   rE   rE   rF   ÚDummyContainerf  s    
rN  rO   r}   rN   rÎ   r0  r:   r¦   Fr´  )r   ÚSequencer   r?   r@   )rA   rN  Úlst_containersr§   ry   rD   rE   rE   rF   Útest_constructor_sequence_likeb  s   
z8TestDataFrameConstructors.test_constructor_sequence_likec                 C   s�   t dt dtdƒ¡iƒ}t dttdƒƒiƒ}tj||dd� t ttdƒƒttdƒƒgƒ}t t dtdƒ¡t dtdƒ¡gƒ}tj||dd� d S )Nrü   r+  r  Fr´  )r   rg   r¨   r  r?   r@   r}  rE   rE   rF   Útest_constructor_stdlib_arrayv  s   $z7TestDataFrameConstructors.test_constructor_stdlib_arrayc                 C   s,   t tdƒƒ}t ttdƒƒƒ}t ||¡ d S ©Nr  ©r   r¨   r  r?   r@   r}  rE   rE   rF   Útest_constructor_range�  s   z0TestDataFrameConstructors.test_constructor_rangec                 C   s@   t tdƒtdƒgƒ}t ttdƒƒttdƒƒgƒ}t ||¡ d S rS  rT  r}  rE   rE   rF   Útest_constructor_list_of_ranges‡  s   z9TestDataFrameConstructors.test_constructor_list_of_rangesc                 C   s:   G dd„ dƒ}t g d¢gd ƒ}t |ƒ ƒ}t ||¡ d S )Nc                   @   s   e Zd Zdefdd„ZdS )zATestDataFrameConstructors.test_constructor_iterable.<locals>.IterrC  c                 s   s   � t dƒD ]}g d¢V  qd S )Nr  r³  )r¨   )rA   r+  rE   rE   rF   Ú__iter__�  s   €ÿzJTestDataFrameConstructors.test_constructor_iterable.<locals>.Iter.__iter__N)rK  rL  rM  r   rW  rE   rE   rE   rF   ÚIterŽ  s    rX  r³  r  rÃ   )rA   rX  rD   ry   rE   rE   rF   Útest_constructor_iterableŒ  s   
z3TestDataFrameConstructors.test_constructor_iterablec                 C   s0   t ttdƒƒƒ}t ttdƒƒƒ}t ||¡ d S rS  ©r   r»  r¨   r  r?   r@   r}  rE   rE   rF   Útest_constructor_iterator—  s   z3TestDataFrameConstructors.test_constructor_iteratorc                 C   sH   t ttdƒƒttdƒƒgƒ}t ttdƒƒttdƒƒgƒ}t ||¡ d S rS  rZ  r}  rE   rE   rF   Ú"test_constructor_list_of_iteratorsœ  s   z<TestDataFrameConstructors.test_constructor_list_of_iteratorsc                 C   s˜   dd„ t dƒD ƒ}dd„ t dƒD ƒ}ttt dƒƒtt dƒƒgƒ}t||gƒ}t ||¡ dd„ t dƒD ƒ}t|ƒ}tt dƒddœƒ}tj||dd	� d S )
Nc                 s   r±   r¬   rE   r*  rE   rE   rF   r´   ¤  rµ   zGTestDataFrameConstructors.test_constructor_generator.<locals>.<genexpr>r  c                 s   r±   r¬   rE   r*  rE   rE   rF   r´   ¥  rµ   c                 s   s   � | ]}|d gV  qdS )r}   NrE   r*  rE   rE   rF   r´   «  ó   € r}   rP   Fr´  )r¨   r   r  r?   r@   )rA   Úgen1Úgen2rD   ry   ÚgenrE   rE   rF   Útest_constructor_generator¡  s   z4TestDataFrameConstructors.test_constructor_generatorc                 C   s*   t i gƒ}t tdƒg d�}t ||¡ d S )NrO   rÀ   )r   r   r?   r@   r}  rE   rE   rF   Útest_constructor_list_of_dicts°  s   
z8TestDataFrameConstructors.test_constructor_list_of_dictsc                 C   sf   t ddgƒ}t ddgƒ}t d|fd|fgƒ}t|ƒ}ddgdd	gd
œ}t|ddgd�}t ||¡ d S )N)rÎ   rO   )r}   rN   )rÎ   rN   )r}   r¥   rÙ   rØ   rO   rN   r¥   )rÙ   rØ   rÎ   r}   )r¼   r\   )r   r   r?   r@   )rA   Únested1Únested2r¼   ry   rD   rE   rE   rF   Ú3test_constructor_ordered_dict_nested_preserve_orderµ  s   zMTestDataFrameConstructors.test_constructor_ordered_dict_nested_preserve_orderÚ	dict_typec                 C   st   t ddggddgd�}|ƒ }dg|d< dg|d< t |ƒ}t ||¡ |ƒ }d|d< d|d< t |gƒ}t ||¡ d S )NrN   rO   rÎ   r}   r¦   rÃ   )rA   rf  rD   r¼   ry   rE   rE   rF   Ú,test_constructor_ordered_dict_preserve_order¿  s   


zFTestDataFrameConstructors.test_constructor_ordered_dict_preserve_orderc                 C   sª   |ƒ }d|d< d|d< |ƒ }d|d< d|d< dddœ}t ddgddggddgd�}t ||gƒ}t ||¡ t ddgddgddggddgd�}t |||gƒ}t ||¡ d S )NrN   rÎ   rO   r}   ry  r¦   rÃ   )rA   rf  Úrow_oneÚrow_twoÚ	row_threerD   ry   rE   rE   rF   Ú0test_constructor_ordered_dict_conflicting_ordersÒ  s   
"zJTestDataFrameConstructors.test_constructor_ordered_dict_conflicting_ordersc                 C   sT   dd„ t dƒD ƒ}t|ƒ}tg d¢g d¢g d¢dœg d¢g d¢d�}t ||¡ d S )Nc                 S   s"   g | ]}t |g d ¢t|ƒd�‘qS )©rÎ   r}   rÏ   rE  )r   r:   r*  rE   rE   rF   r›   é  rn  z[TestDataFrameConstructors.test_constructor_list_of_series_aligned_index.<locals>.<listcomp>r7   rU  rl  )Ú0rR  rø   r…  r¸  )rA   Úseriesry   rD   rE   rE   rF   Ú-test_constructor_list_of_series_aligned_indexè  s   ýzGTestDataFrameConstructors.test_constructor_list_of_series_aligned_indexc                 C   sJ   G dd„ dt ƒ}dddœ}||ƒg}|g}t|ƒ}t|ƒ}t ||¡ d S )Nc                   @   ó   e Zd ZdS )zTTestDataFrameConstructors.test_constructor_list_of_derived_dicts.<locals>.CustomDictN©rK  rL  rM  rE   rE   rE   rF   Ú
CustomDictó  ó    rr  ç      ø?r7   r  )r  r   r?   r@   )rA   rr  r„   Údata_customr¼   Úresult_customry   rE   rE   rF   Ú&test_constructor_list_of_derived_dictsò  s   

z@TestDataFrameConstructors.test_constructor_list_of_derived_dictsc                 C   sb   t j d¡ d¡t j d¡ d¡dœ}tjtdd�� t|ƒ W d   ƒ d S 1 s*w   Y  d S )NrN   r  rÄ  rH  z%All arrays must be of the same lengthrb   )r;   r  r  r«  ri   rj   rÒ   r   r  rE   rE   rF   Útest_constructor_raggedÿ  s   þ
"ÿz1TestDataFrameConstructors.test_constructor_raggedc                 C   sD   t tdƒƒ}tddi|d�}tdg d¢i|d�}tj||dd� d S )Nr7   r}   r   r[   )r   r   r   Fr´  )r   r¨   r   r?   r@   )rA   rx   rC   rD   rE   rE   rF   Útest_constructor_scalar  s   z1TestDataFrameConstructors.test_constructor_scalarc                 C   s"   t |d |jdgd�}| ¡  d S )Nrü   rÀ   )r   r\   rÜ   )rA   r   rC   rE   rE   rF   Ú test_constructor_Series_copy_bug  s   z:TestDataFrameConstructors.test_constructor_Series_copy_bugc                 C   sÖ   i }ddddœ|d< t g d¢g d¢d�|d	< t|ƒ}|jjs J ‚tjtd
d�� tddgdddœdœƒ W d   ƒ n1 s>w   Y  tddgt ddgddgd�dœƒ}tddgddgdœddgd�}t ||¡ d S )NrO   rN   r7   rŠ  rü   )r6   r7   rN   rO   )rÿ   Úquxr‹  rÈ   r[   rq   zambiguous orderingrb   r}   rÎ   r  rH  )	r   r   r\   Úis_monotonic_increasingri   rj   rÒ   r?   r@   r¶  rE   rE   rF   Ú&test_constructor_mixed_dict_and_Series  s   ÿ"z@TestDataFrameConstructors.test_constructor_mixed_dict_and_Seriesc                 C   s8   ddgdg}t |ƒ}t ddgddggƒ}t ||¡ d S )NrO   rN   ©r7   r6   r7   r6   rÃ   r¶  rE   rE   rF   Ú test_constructor_mixed_type_rows"  s   z:TestDataFrameConstructors.test_constructor_mixed_type_rowsztuples,lists)rE   rE   r³  r�  c                 C   s    t |ƒ}t |ƒ}t ||¡ d S r¬   rÃ   )rA   r‚  Úlistsry   rD   rE   rE   rF   Útest_constructor_tuple)  s   z0TestDataFrameConstructors.test_constructor_tuplec                 C   s4   t dddgiƒ}t dtddgƒiƒ}t ||¡ d S )Nrü   r  r~  ©r   r   r?   r@   r}  rE   rE   rF   Útest_constructor_list_of_tuples;  s   z9TestDataFrameConstructors.test_constructor_list_of_tuplesc                 C   s‚   t dtdƒƒ}|ddƒ|ddƒg}tddgddgdœƒ}t|ƒ}t ||¡ tddgddgdœƒ}t|d	d
gd�}t ||¡ d S )NÚPandasÚabrO   r7   rN   r6   r  )r©   rÊ  r©   rÊ  r¦   )r   r  r   r?   r@   )rA   Únamed_tupler‚  rD   ry   rE   rE   rF   Ú$test_constructor_list_of_namedtuples@  s   z>TestDataFrameConstructors.test_constructor_list_of_namedtuplesc                 C   sX   t ddtfdtfgƒ}|ddƒ|ddƒg}tddgddgdœƒ}t|ƒ}t ||¡ d S )NÚPointrš   r©   r   r7   rO   ©rš   r©   )r   r  r   r?   r@   )rA   rˆ  r¼   rD   ry   rE   rE   rF   Ú$test_constructor_list_of_dataclassesM  s
   z>TestDataFrameConstructors.test_constructor_list_of_dataclassesc                 C   sˆ   t ddtfdtfgƒ}t ddtfdtfdtfgƒ}|ddƒ|d	ddƒg}tdtjgddgtjd	gtjdgd
œƒ}t|ƒ}t ||¡ d S )Nrˆ  rš   r©   ÚHLineÚx0Úx1r   r7   rO   )rš   r©   rŒ  r�  )r   r  r   r;   rh   r?   r@   )rA   rˆ  r‹  r¼   rD   ry   rE   rE   rF   Ú7test_constructor_list_of_dataclasses_with_varying_typesV  s   "ÿzQTestDataFrameConstructors.test_constructor_list_of_dataclasses_with_varying_typesc                 C   sl   t ddtfdtfgƒ}d}tjtt |¡d�� t|ddƒdddœgƒ W d   ƒ d S 1 s/w   Y  d S )	Nrˆ  rš   r©   z0asdict() should be called on dataclass instancesrb   r   rO   r‰  )r   r  ri   rj   r�   ÚreÚescaper   )rA   rˆ  rk   rE   rE   rF   Ú1test_constructor_list_of_dataclasses_error_thrownd  s
   "ÿzKTestDataFrameConstructors.test_constructor_list_of_dataclasses_error_thrownc              	   C   sr   dddddœdddd	d
œdddddddœg}t g d¢g d¢g d¢g d¢g d¢g d¢dœƒ}t |ƒ}t ||¡ d S )NrO   r6   rÃ  r  )ÚFirstÚSecondÚThirdÚFourthr¥   rN   rt  rÄ  )r“  r’  r•  r”  rI   r7   r5   rÅ  é   rw  )r“  r’  r•  r”  ÚYYYÚXXXr³  r�  )rÃ  rÄ  rÅ  )r  rt  r5   )NNr–  )NNrw  )r’  r“  r”  r•  r—  r˜  rÃ   )rA   r¼   rD   ry   rE   rE   rF   Ú#test_constructor_list_of_dict_orderm  s   ýúÿ
z=TestDataFrameConstructors.test_constructor_list_of_dict_orderc                 C   sŠ  t g d¢g d¢dd�}t|ƒ}|jd dksJ ‚t |j|j¡ tj d¡ 	d¡}t |dd�}t|ƒ}td|iƒ}t 
||¡ t |td	d
ƒd�}t|ƒ}td|iƒ}t 
||¡ d}tjt|d�� t|ddgd� W d   ƒ n1 stw   Y  t g dtd�}t|ƒ}|jd dks�J ‚t |dd�}t||gƒj}t||dœddgd�}t 
||¡ t||gƒj}t||dœddgd�}t 
||¡ d S )Nr³  rÍ   rš   rE  r   rN   r  rr   r7   rw  r[   z<Shape of passed values is \(10, 1\), indices imply \(10, 2\)rb   rO   r¦   ©rf   r9   )rš   ú	Unnamed 0r›  rù   )r   r   r§   r?   r  r\   r;   r  r  r«  r@   r¨   ri   rj   rÒ   rs   rÍ  )rA   r}   rC   rB   rÔ  rD   rk   Ús1rE   rE   rF   Útest_constructor_Series_named�  s6   ÿz7TestDataFrameConstructors.test_constructor_Series_namedc                 C   s€   t tdƒdd�}t tdƒdd�}t t|dgd�| ¡ ¡ t t|dgd�| ¡ ¡ t|dgd�js4J ‚t|dgd�js>J ‚d S )Nr¥   r   rr   rO   r¦   )r   r¨   r?   r@   r   Úto_framerý   )rA   Ús0rœ  rE   rE   rF   Ú)test_constructor_Series_named_and_columns§  s   zCTestDataFrameConstructors.test_constructor_Series_named_and_columnsc                 C   s¸   t g d¢g d¢dd�}t g d¢g d¢d�}tddgƒ}t||d�}t| |¡ƒ}|jd dks1J ‚t ||¡ t||d�}t| |¡ƒ}|jd dksMJ ‚t |j|¡ t ||¡ d S )	Nr³  rÍ   rš   rE  r[   r}   rÎ   r   )	r   r   r   r  r§   r?   r@   r  r\   )rA   rœ  Ús2Úother_indexÚdf1Úexp1rí   Úexp2rE   rE   rF   Ú+test_constructor_Series_differently_indexedµ  s   zETestDataFrameConstructors.test_constructor_Series_differently_indexedz#name_in1,name_in2,name_in3,name_out))rx   rx   rx   rx   )rx   rx   NN)rx   NNN)Úidx1Úidx2NN)r§  r§  r¨  N)r§  r¨  Úidx3N)NNNNc           
      C   s¬   t g d¢|d�t g d¢|d�t g d¢|d�g}dd„ t|g d¢ƒD ƒ}t|ƒ}t g d¢|d�}td	d
dtjtjgtjd	d
dtjgtjtjd	d
dgdœ|d�}	t ||	¡ d S )NrÍ   rr   )rÎ   rÏ   r„   )rÏ   r„   Úec                 S   s"   i | ]\}}|t g d ¢|d�“qS )rU  r[   r—   )r™   r+  rÏ   rE   rE   rF   rm  Ü  s    ÿzJTestDataFrameConstructors.test_constructor_index_names.<locals>.<dictcomp>)rš   r©   rÊ  ©r}   rÎ   rÏ   r„   rª  r   rO   rN   r[   )r   r  r   r;   rh   r?   r@   )
rA   Úname_in1Úname_in2Úname_in3Úname_outÚindicesrn  ry   Úexp_indrD   rE   rE   rF   Útest_constructor_index_namesÉ  s"   ýÿýú	z6TestDataFrameConstructors.test_constructor_index_namesc                 C   s�   t |jd d… ƒ}t |jd d… ƒ}d}tjt|dd�� t|j||d�}W d   ƒ n1 s/w   Y  t |jt	|ƒ¡ t |jt	|ƒ¡ d S )Nr¥   r7   z#Passing a BlockManager to DataFrameF)rc   Úcheck_stacklevelrÀ   )
r  r\   r§   r?   Úassert_produces_warningÚDeprecationWarningr   rS   r  r   )rA   r   r\   r§   rk   ry   rE   rE   rF   Útest_constructor_manager_resizeí  s   ÿýz9TestDataFrameConstructors.test_constructor_manager_resizec                 C   sš   t |d t|d ƒdœddgd�}t ||jd d …ddgf ¡ d}tjt|d�� t |d t|d ƒd d… dœƒ W d   ƒ d S 1 sFw   Y  d S )Nrü   rq   rH  r¦   zdoes not match index lengthrb   éþÿÿÿ)r   r  r?   r@   rú   ri   rj   rÒ   )rA   r   rC   rk   rE   rE   rF   Ú%test_constructor_mix_series_nonseriesù  s   ÿ$"ÿz?TestDataFrameConstructors.test_constructor_mix_series_nonseriesc                 C   sT   d}t jt|d�� ttjdgddggtjd� W d   ƒ d S 1 s#w   Y  d S )Nra   rb   rO   r   r8   )ri   rj   r   r   r;   rh   r3   rc  rE   rE   rF   Ú%test_constructor_miscast_na_int_dtype  s   "ÿz?TestDataFrameConstructors.test_constructor_miscast_na_int_dtypec                 C   s^   t ddggddgd�}t ddggƒ}ddg|_t ||¡ t jdgddgd�}t ||¡ d S )NrÄ  r¥   r}   r¦   )rÄ  r¥   )r   r§   r?   r@   Úfrom_records)rA   rC   ÚedfÚidfrE   rE   rF   Ú"test_constructor_column_duplicates	  s   
z<TestDataFrameConstructors.test_constructor_column_duplicatesc                 C   s´   t ddgddgtd�}t ddgddgtjtjd�d�}t ddgddgtd�}|r/t ||¡ nt ||¡ t ddgddgtj	d�}t ||¡ t ddgddgdd�}t ||¡ d S )Nr   rO   r+  ©Úna_valueÚU5)
r   rs   rò  ÚStringDtyper;   rh   r:   r?   r@   Ústr_)rA   rË   rD   Úexpected_strrC   rE   rE   rF   Ú(test_constructor_empty_with_string_dtype  s   ÿzBTestDataFrameConstructors.test_constructor_empty_with_string_dtypec                 C   s,   t dg|d�}t dg|d�}t ||¡ d S )NÚc1©r§   r9   rÃ   )rA   Únullable_string_dtyperD   rC   rE   rE   rF   Ú,test_constructor_empty_with_string_extension&  s   zFTestDataFrameConstructors.test_constructor_empty_with_string_extensionc                 C   sŽ  t dg d¢g d¢d�}t |t t |j¡ d¡|j|jƒ¡ t dg d¢g d¢d�}t |t t |j¡ d¡|j|jƒ¡ t dd	d
gddgd�}t |t tj	ddgddggt
d�d	d
gddgd�¡ d}tjt|d�� t dd	d
gƒ W d   ƒ n1 s|w   Y  tjt|d�� t dddgd� W d   ƒ n1 s›w   Y  d}tjt|d�� t dd	d
gddgtƒ W d   ƒ d S 1 sÀw   Y  d S )Nç        r³  rÍ   rÀ   r+   r   r3   r}   rO   rN   rÏ   r8   z*DataFrame constructor not properly called!rb   r¦   zincompatible data and dtype)r   r?   r@   r;   r&  r  r>   r\   r§   rg   rs   ri   rj   rÒ   r�   rÝ   )rA   rC   rk   rE   rE   rF   Útest_constructor_single_value,  s8   ÿÿýþ	ÿÿ"ÿz7TestDataFrameConstructors.test_constructor_single_valuec                 C   s  t  t¡j}t  t j¡j}t  t j¡j}tdddtdƒtdddddƒdœt  	d	¡d
�}|j
}tt  d¡g|s;t  |¡ntjt jd�gd  t  d¡t  d¡g tdƒd
�}t ||¡ tdddddd|t jd|d�|t jd|d�it  	d	¡d
�}|j
}tt  d¡gt  d¡g |sŽt  d¡ntjt jd�g t  d¡g t  |¡g ddd||gd
�}t ||¡ tdddddd|t jdgd	 |d�|t jdgd	 |d�it  	d	¡d
�}|j
}tt  d¡gt  d¡g |sêt  d¡ntjt jd�g t  d¡g t  |¡g ddd||gd
�}t ||¡ d S )NrO   rÈ   rÿ   Ú20010101éÑ  rN   r   )rü   rq   r  rf  ÚEr  r[   r3   r¾  úM8[s]úM8[us]ÚABCDEr}   rÕ   rÎ   rÏ   r8   r+   rs   )r;   r9   r  rf   r+   rÉ   r   r    r	   r<   r  r   rò  rÁ  rh   r  r?   rv   rg   )rA   rË   ÚintnameÚ	floatnameÚ
objectnamerC   ry   rD   rE   rE   rF   Útest_constructor_with_datetimesL  sž   ûø

ÿýûÿù÷ûø


ÿÿýþ
ù
ø	öûø


ÿÿýþ
ù
ø	öz9TestDataFrameConstructors.test_constructor_with_datetimesc                 C   s6   t dddd�}dd„ |D ƒ}t|ƒ}|jdksJ ‚d S )NrŒ  rf  r  ©Ústartrñ  rL   c                 S   ó   g | ]}|  ¡ ‘qS rE   ©Úto_pydatetime©r™   ÚtsrE   rE   rF   r›   ¢  rœ   zNTestDataFrameConstructors.test_constructor_with_datetimes1.<locals>.<listcomp>rm   )r"   r   r9   )rA   ÚindÚ	datetimesÚ
datetime_srE   rE   rF   Ú test_constructor_with_datetimes1Ÿ  s   z:TestDataFrameConstructors.test_constructor_with_datetimes1c                 C   sv   t dddd�}dd„ |D ƒ}dd„ |D ƒ}t|dgd	�}||d
< |j}tt d¡t d¡gdd
gd�}t ||¡ d S )NrŒ  rf  r  rÕ  c                 S   r×  rE   rØ  rÚ  rE   rE   rF   r›   ©  rœ   zNTestDataFrameConstructors.test_constructor_with_datetimes2.<locals>.<listcomp>c                 S   r×  rE   )r   rÚ  rE   rE   rF   r›   ª  rœ   rÝ  r¦   Údatesúdatetime64[ns]rs   r[   )r"   r   r  r   r;   r9   r?   rv   )rA   rÜ  rÝ  rà  rC   ry   rD   rE   rE   rF   Ú test_constructor_with_datetimes2¦  s   þz:TestDataFrameConstructors.test_constructor_with_datetimes2c                 C   s˜   t  d¡}| tdddƒ¡}td|idgd�}|jd |ks J ‚t |jt	ddit
d	�¡ td|igƒ}|jd |ks=J ‚t |jt	dd
it
d	�¡ d S )Nrû  éÜ  rO   zEnd Dater   r[   râ   zdatetime64[us, US/Eastern]r8   údatetime64[ns, US/Eastern])ÚpytzÚtimezoneÚlocalizer	   r   Úiatr?   rv   r  r   rs   )rA   rM   rZ   rC   rE   rE   rF   Ú test_constructor_with_datetimes3´  s   
ÿÿz:TestDataFrameConstructors.test_constructor_with_datetimes3c                 C   s”   t ddd�}td|iƒ}|jd jd u sJ ‚t dddd�}td|iƒ}t|jd jƒdks/J ‚t dddd�}td|iƒ}t|jd jƒdksHJ ‚d S )	NÚ20130101r7   rB  r]   râ   ÚUTCrK   rû  )r"   r   rè  rM   r:   )rA   ÚdrrC   rE   rE   rF   Ú test_constructor_with_datetimes4Æ  s   z:TestDataFrameConstructors.test_constructor_with_datetimes4c                 C   s^   t ddddd�}td| ¡ jdd�iƒ}tƒ }||d< t ||¡ td|iƒ}t ||¡ d S )	Nú1/1/2011r¥   Ú10srû  ©rL   rñ  rM   r}   T©Údrop©r"   r   Ú	to_seriesÚreset_indexr?   r@   )rA   r+  rD   rC   rE   rE   rF   Ú test_constructor_with_datetimes5Ó  s   z:TestDataFrameConstructors.test_constructor_with_datetimes5c                 C   sV   t ddddd�}t dddd�}t||dœƒ}t| ¡ jdd	�|dœƒ}t ||¡ d S )
Nrî  r¥   rï  rû  rð  ©rL   rñ  r  Trñ  ró  )rA   r+  Úi_no_tzrC   rD   rE   rE   rF   Ú test_constructor_with_datetimes6à  s
   z:TestDataFrameConstructors.test_constructor_with_datetimes6rB   r‹   c                 C   s*   t |ƒj}tt d¡gƒ}t ||¡ d S )Nrá  )r   r  r   r;   r9   r?   rv   )rA   rB   ry   rD   rE   rE   rF   Ú%test_constructor_datetimes_with_nullsè  s   
z?TestDataFrameConstructors.test_constructor_datetimes_with_nullsÚorder)ÚKrü   r  ÚFrý  )r•   rf  Úhr”   rÔ  ÚmsÚusrY   c                 C   s¦   d|› d�}t jg d¢g d¢g||d�}t|ƒ}t| d¡ƒ}|dv rEtjtdd	�� | |¡ W d   ƒ n1 s:w   Y  | d
¡}n|j|d�}t ||¡ d S )Nzdatetime64[ú])z
2015-01-01z
2015-01-02z
2015-01-03)z
2017-01-01z
2017-01-02z
2017-02-03©r9   rû  rm   )r•   rf  rþ  r”   úCannot castrb   zdatetime64[s]r8   )	r;   rg   r   r>   ri   rj   r�   r?   r@   )rA   rû  rý  r9   ÚnarC   rD   rE   rE   rF   Ú!test_constructor_datetimes_non_nsû  s"   þúÿz;TestDataFrameConstructors.test_constructor_datetimes_non_ns)rf  rþ  r”   rÔ  rÿ  r   rY   c           	      C   s´   d|› d�}t jt  dd¡t  dd¡gt  dd¡t  dd¡gg||d�}t|ƒ}|d	v r/d
}n|}t  d|› d�¡}ttddƒtddƒgtddƒtddƒgg|d�}t ||¡ d S )Nztimedelta64[r  rO   rf  rN   r6   r¥   r  )rf  rþ  r”   rÔ  zm8[r8   )r;   rg   ræ  r   r9   r   r?   r@   )	rA   rû  rý  r9   r  rC   Úexp_unitÚ	exp_dtyperD   rE   rE   rF   Ú!test_constructor_timedelta_non_ns  s(   þúþû	z;TestDataFrameConstructors.test_constructor_timedelta_non_nsc                 C   s0  t dd„ tdƒD ƒƒ}|j}tt d¡gd ƒ}t ||¡ t dd„ tdƒD ƒƒ}|j}tt d¡gd ƒ}t ||¡ t ddd	giƒ}|jjd
 t d¡ksQJ ‚t ddgƒ}|jjd
 t d¡ksdJ ‚t ddgƒ}|jjd
 t d¡kswJ ‚t dddgiƒ}|jjd
 t d¡ksŒJ ‚t dddgiƒ}|jjd
 t d¡ks¡J ‚t dditdƒd�}|jjd
 t d¡ks¸J ‚t dditdƒd�}|jjd
 t d¡ksÏJ ‚t g d¢g d¢t	dƒdd„ tdƒD ƒg d¢dœƒ}|j}tt d¡t d¡|sût d¡nt
jtjd�t d¡t d¡gt	dƒd�}t ||¡ d S )Nc                 S   s   g | ]}t  d ¡‘qS )r¥   )r;   r<   r˜   rE   rE   rF   r›   B  r©  zSTestDataFrameConstructors.test_constructor_for_list_with_dtypes.<locals>.<listcomp>r¥   r  c                 S   s    g | ]}t jt  d ¡dd�‘qS )r¥   r2   r8   )r;   rg   r<   r˜   rE   rE   rF   r›   G  s     r2   r}   l        l       r   r3   rO   rN   rÕ   rÖ   r+   r7   r[   )rO   rN   r6   rÃ  )g333333ó?gffffff@gffffff@g333333@r6  c                 S   s   g | ]}t d ddƒ‘qS )éÐ  rO   )r	   r*  rE   rE   rF   r›   j  r;  r6   )rÕ   rN   r¢  rÃ  r«  rs   r¾  rá  Úabcde)r   r¨   r  r   r;   r9   r?   rv   rã   r  rò  rÁ  rh   )rA   rË   rC   ry   rD   rE   rE   rF   Ú%test_constructor_for_list_with_dtypes@  sV   ûÿ	ÿù	öz?TestDataFrameConstructors.test_constructor_for_list_with_dtypesc                 C   s@   t |dd�}d|d< |d dk ¡ sJ ‚|d dk ¡ rJ ‚d S )NTrï   r¥   rü   )r   rK  )rA   r   ÚcoprE   rE   rF   Útest_constructor_frame_copy}  s   z5TestDataFrameConstructors.test_constructor_frame_copyc                 C   s@   |  ¡ }t|ƒ}|j|jusJ ‚t t|ƒ¡|_t ||¡ d S r¬   )	rÜ   r   rS   r;   r<   rR   r\   r?   r@   )rA   r   Úorigr  rE   rE   rF   Ú#test_constructor_frame_shallow_copyƒ  s
   z=TestDataFrameConstructors.test_constructor_frame_shallow_copyc                 C   sü   |s?|j  ¡ }t|ƒ}d|d< |r|j d dk ¡ rJ ‚n|j d dk ¡ s(J ‚t|dd�}d|d< |j d dk ¡ r=J ‚d S |j  ¡ }t|ƒ}|jjd jjsRJ ‚d|d< |jd dks_J ‚t|dd�}|jjd jjroJ ‚d	|d< |jd d	ks|J ‚d S )
Nr¥   Trï   rI   r   r:  râ   Fiè  )	rä   rÜ   r   rK  rS   rž   rë   rì   rã   )rA   r   rU   ræ   rB   rC   rE   rE   rF   Útest_constructor_ndarray_copyŽ  s&   

z7TestDataFrameConstructors.test_constructor_ndarray_copyc                 C   sP   |j }td|d idd�}d|j|jd |jd …df< |d dk ¡ r&J ‚d S )Nrü   Trï   r¥   r   r  )rX  r   rú   r\   rK  )rA   r   rn  rC   rE   rE   rF   Útest_constructor_series_copy¬  s   z6TestDataFrameConstructors.test_constructor_series_copyrC   r[   gš™™™™™ñ?gš™™™™™@r¦   rÝ  r8  )rÉ  rO   rN   r×   c                 C   s   t t|jƒƒD ]}|jd d …|f  qt t|jƒ¡t|jƒ }t|ƒdkrJtjt	dd�� |j
d d …tjf  W d   ƒ d S 1 sCw   Y  d S t|ƒdkrit |jd d …|d f |j
d d …tjf ¡ d S t |jd d …|f |j
d d …tjf ¡ d S )Nr   z^nan$rb   rO   )r¨   rR   r§   rã   r;   r<   r#   ri   rj   ÚKeyErrorrú   rh   r?   rv   r@   )rA   rC   r+  ÚindexerrE   rE   rF   Útest_constructor_with_nas¶  s   "ÿ2.z3TestDataFrameConstructors.test_constructor_with_nasc                 C   s:   t dtjdgiƒ}|d jtjksJ ‚|d d rJ ‚d S )Nr}   FrO   )r   r;   rh   r9   rÉ   )rA   r„   rE   rE   rF   Ú&test_constructor_lists_to_object_dtype×  s   z@TestDataFrameConstructors.test_constructor_lists_to_object_dtypec                 C   sZ   t g d¢ƒ}t |¡ dd¡}t |d¡}t||jd�}t||||dœƒ}t ||¡ d S )Nr   r  rO   r~  r8   rÝ  )	r   r;   rg   r=   Úbroadcast_tor   r9   r?   r@   )rA   ÚcatrB   ry   rD   rE   rE   rF   Ú*test_constructor_ndarray_categorical_dtypeÝ  s   zDTestDataFrameConstructors.test_constructor_ndarray_categorical_dtypec                 C   sÔ   t dtdƒidd�}ttdƒddd�}t |d |¡ ttdƒdd�}| ¡ }ttdƒddd�}t |d |¡ |jdd�}ttdƒddd�}t |d |¡ t tdƒdd�}ttdƒddd�}t |d |¡ d S )	Nrü   r   Úcategoryr8   re   r   rÈ   rr   )r   r  r   r?   rv   rž  )rA   rC   rD   rÔ  ry   rE   rE   rF   Útest_constructor_categoricalç  s   z6TestDataFrameConstructors.test_constructor_categoricalc                 C   s6   t tdƒƒ}t|gƒ}t| t¡gƒ}t ||¡ d S )Nr   )r   r  r   r>   rs   r?   r@   )rA   r  rC   rD   rE   rE   rF   Ú-test_construct_from_1item_list_of_categoricalý  s   
zGTestDataFrameConstructors.test_construct_from_1item_list_of_categoricalc                 C   s@   t ttdƒƒttdƒƒgƒ}t g d¢g d¢gƒ}t ||¡ d S )Nr   ÚabdrÍ   )r}   rÎ   r„   ©r   r   r  r?   r@   rˆ  rE   rE   rF   Ú(test_construct_from_list_of_categoricals	  s   zBTestDataFrameConstructors.test_construct_from_list_of_categoricalsc                 C   s<   t ttdƒƒtdƒgƒ}t g d¢g d¢gƒ}t ||¡ d S )Nr   ÚdefrÍ   ©r„   rª  Úfr  rˆ  rE   rE   rF   Ú%test_from_nested_listlike_mixed_types	  s   z?TestDataFrameConstructors.test_from_nested_listlike_mixed_typesc                 C   s@   t ttdƒƒttdƒƒgƒ}t tdƒtdƒgƒ}t ||¡ d S )Nr   Úabdefgr  rˆ  rE   rE   rF   Ú0test_construct_from_listlikes_mismatched_lengths	  s   zJTestDataFrameConstructors.test_construct_from_listlikes_mismatched_lengthsc                 C   sÆ   g d¢}t |ƒ d¡}t |dd�}t ||¡ g d¢}t |ƒ d¡}t |dd�}t ||¡ tddd�}t ttjtjtjgg d¢d	�ƒ}||_t	d
|iƒ}t	d
t g d¢dd�i|d�}t 
||¡ d S )N)rO   rN   r7   rO   r  r8   )r}   rÎ   rÏ   r}   Ú20000101r7   rB  rÍ   )rä   Ú
categoriesrš   r[   )r   r>   r?   rv   r"   r   r;   rh   r\   r   r@   )rA   r˜  rO  Úresr\   rD   rC   rE   rE   rF   Ú#test_constructor_categorical_series	  s    ÿz=TestDataFrameConstructors.test_constructor_categorical_seriesr9   c                 C   s,   t dddgidg|d�}|jj|ksJ ‚d S )Nr}   rO   rN   rÎ   rÆ  )r   rÎ   r9   )rA   r9   r¼   rE   rE   rF   Ú%test_check_dtype_empty_numeric_column2	  s   
z?TestDataFrameConstructors.test_check_dtype_empty_numeric_columnc                 C   sF   t dddgidg|d�}|r|tjv rt |¡ |jjjdks!J ‚d S )Nr}   rO   rN   rÎ   rÆ  rs   )r   r?   ÚBYTES_DTYPESrí  Ú&mark_array_manager_not_yet_implementedrÎ   r9   rf   )rA   Úrequestr9   rU   r¼   rE   rE   rF   Ú$test_check_dtype_empty_string_column@	  s   
z>TestDataFrameConstructors.test_check_dtype_empty_string_columnc                 C   sL   t dtd� ¡ j}t dtiƒ}t ||¡ tt dtd�ƒj}t ||¡ d S )Nr   rš  )r   rs   rž  r  r?   rv   r   r}  rE   rE   rF   Útest_to_frame_with_falsey_namesN	  s
   z9TestDataFrameConstructors.test_to_frame_with_falsey_names)Nr,   r  c                 C   s\   t dg d¢i|p	dd�}t tdƒdg|d�}t ||¡ t dtdƒi|d�}t ||¡ d S )Nrü   )r   rO   rN   r7   r6   r3   r8   r¥   rÆ  )r   r¨   r?   r@   )rA   r9   rD   ry   rE   rE   rF   Útest_constructor_range_dtypeW	  s
   z6TestDataFrameConstructors.test_constructor_range_dtypec                 C   sT   G dd„ dt ƒ}tg d¢g d¢gƒ}t||g d¢ƒ|g d¢ƒgƒƒ}t ||¡ d S )Nc                   @   rp  )zETestDataFrameConstructors.test_frame_from_list_subclass.<locals>.ListNrq  rE   rE   rE   rF   ÚListf	  rs  r0  r³  r�  )r  r   r?   r@   )rA   r0  rD   ry   rE   rE   rF   Útest_frame_from_list_subclassd	  s    z7TestDataFrameConstructors.test_frame_from_list_subclassÚextension_arrÚaabbcz1/1/2017z1/1/2018)rÖ  Úendrñ  c                 C   s$   t t|ƒƒ}t |ƒ}t ||¡ d S r¬   r‚  )rA   r2  rD   ry   rE   rE   rF   Ú%test_constructor_with_extension_arraym	  s   z?TestDataFrameConstructors.test_constructor_with_extension_arrayc                 C   s\   t  ¡ }||f}t|ttdƒtdƒd�i|gd�}tg d¢tt|gƒƒd�}t ||¡ d S )Nr7   r[   r¦   rU  )r   Útodayr   r   r¨   r   r?   r@   )rA   rŸ  Útupry   rD   rE   rE   rF   Ú*test_datetime_date_tuple_columns_from_dict|	  s
   "zDTestDataFrameConstructors.test_datetime_date_tuple_columns_from_dictc                 C   sx   t g d¢tg d¢ƒd�}t g d¢tg d¢ƒd�}t||gƒ}tt dddtjtjgg d	¢g¡g d
¢d�}t ||¡ d S )N)é'   rI   r6   )ÚfemaleÚmaleÚunknownr[   )rN   é˜   rN   éò   é–   )r!  r:  r”   r;  r<  r9  rI   r6   )g      c@g     @n@g     Àb@rÖ   rÖ   )r:  r;  r<  r!  r”   r¦   )r   r   r   r;   rg   rh   r?   r@   )rA   rœ  r¡  ry   rD   rE   rE   rF   Ú/test_construct_with_two_categoricalindex_series„	  s   
þþzITestDataFrameConstructors.test_construct_with_two_categoricalindex_seriesz7ignore:invalid value encountered in cast:RuntimeWarningc                 C   s  t tdƒƒ}t|dƒ ¡  d¡}t|dƒ ¡  d¡}t||dœƒ}ttdddd�tdd	dd�td	d
dd�td
ddd�tdddd�tdddd�tdddd�tdddd�tdddd�tdddd�g
dd�}tdgd t	j
gd  t	j
gd dgd  dœ|d�}t ||¡ d S )Nr:  r  r¥   rQ  gòÒMbX¹¿gÍÌÌÌÌÌ#@rú  )ÚclosedgÍÌÌÌÌÌ3@g33333³=@gÍÌÌÌÌÌC@g     ÀH@g33333³M@g33333SQ@gÍÌÌÌÌÌS@gfffffFV@rá   T)Úorderedr[   )r   r¨   r!   Úvalue_countsÚheadÚtailr   r   r   r;   rh   r?   r@   )rA   r4  Úser1Úser2ry   r\   rD   rE   rE   rF   Ú1test_constructor_series_nonexact_categoricalindex’	  s,   öó.ÿzKTestDataFrameConstructors.test_constructor_series_nonexact_categoricalindexc                 C   s®   t dddddƒt dddddƒfg}tj|ddgd	�}t|ƒ}|d
 d |d d ks,J ‚|d d |d d ks:J ‚t|d
 ƒ}t|d tƒsIJ ‚|d |d d ksUJ ‚d S )Nrã  rÅ  r   rÄ  rª  r  )ÚDaterÏ  )ÚForecastingrÏ  r8   rI  rJ  rO   )r	   r;   rg   r   r   rŸ   r    )rA   rà  rB   rC   rÔ  rE   rE   rF   Útest_from_M8_structured¯	  s   "z1TestDataFrameConstructors.test_from_M8_structuredc                 C   s>   G dd„ dt ƒ}td|dddddƒgiƒ}|j jdksJ ‚d S )Nc                   @   rp  )zOTestDataFrameConstructors.test_from_datetime_subclass.<locals>.DatetimeSubclassNrq  rE   rE   rE   rF   ÚDatetimeSubclass½	  rs  rL  r	   iä  rO   rá  )r	   r   r9   )rA   rL  r¼   rE   rE   rF   Útest_from_datetime_subclass»	  s   z5TestDataFrameConstructors.test_from_datetime_subclassc                 C   sV   t dddd�}d}tjt|d�� t|tdƒd� W d   ƒ d S 1 s$w   Y  d S )	NrH   r7   rJ   rK   z@Shape of passed values|Passed arrays should have the same lengthrb   r6   r[   )r"   ri   rj   rÒ   r   r¨   )rA   rV   rk   rE   rE   rF   Ú(test_with_mismatched_index_length_raisesÃ	  s
   "ÿzBTestDataFrameConstructors.test_with_mismatched_index_length_raisesc                 C   sX   t dddd�}t |¡}ttj d¡ t|ƒ¡|dœƒ}t |d j	t 	d¡¡s*J ‚d S )	Nz1/1/2000 00:00:00z1/1/2000 1:59:50rï  rð  rN   rH  rq   rm   )
r"   r;   r
  r   r  r  r«  rR   Ú
issubdtyper9   )rA   r"  rà  rC   rE   rE   rF   Ú!test_frame_ctor_datetime64_columnÊ	  s   
ÿ z;TestDataFrameConstructors.test_frame_ctor_datetime64_columnc                 C   s‚   g d¢g d¢g}t tj d¡ d¡dd„ |D ƒd�}t|jtƒs"J ‚t|jtƒr*J ‚t tj d¡ d¡|d�}t|jtƒs?J ‚d S )	N)r}   r}   rÎ   rÎ   )rš   r©   rš   r©   rN   )r6   r6   c                 S   r1  rE   r2  r˜   rE   rE   rF   r›   Ø	  r©  zYTestDataFrameConstructors.test_dataframe_constructor_infer_multiindex.<locals>.<listcomp>r[   r¦   )	r   r;   r  r  r«  rŸ   r\   r   r§   )rA   Úindex_listsÚmultirE   rE   rF   Ú+test_dataframe_constructor_infer_multiindexÓ	  s   þÿzETestDataFrameConstructors.test_dataframe_constructor_infer_multiindexÚ
input_valsrR  rø   rî  rþ  r÷  rð  c                 C   s6   t d|i|d�}t d|iƒ d|i¡}t ||¡ d S )Nrü   r8   )r   r>   r?   r@   )rA   rT  r  ry   rD   rE   rE   rF   Útest_constructor_list_strâ	  s   z3TestDataFrameConstructors.test_constructor_list_strc                 C   s8   t dg d¢i|d�}t dg d¢itd�}t ||¡ d S )Nrü   r  r8   )z1.0z2.0N)r   rs   r?   r@   )rA   r  ry   rD   rE   rE   rF   Útest_constructor_list_str_naõ	  s   z6TestDataFrameConstructors.test_constructor_list_str_narÜ   FTc           
         s&  |r|s|t jt j vrt |¡ tjddg|d�‰ tjddg|d�‰ˆjjdv r2t	 
ˆj› d�¡ tjddg|d�‰ˆ ¡ }tˆ ˆˆdœ|d	�‰d
d„ ‰ddtf‡ ‡‡‡‡fdd„}|s`|ƒ  t ˆjjd d¡rmd }	nt}	t j|	dd�� dˆjd< dˆjd< W d   ƒ n1 s‹w   Y  |s–|dƒ tjddgˆjd�ˆjd d …df< ˆjjd ˆjks²J ‚|sº|sº|dƒ |�rˆ jjdkrÞˆ d ˆ j dd¡ksÐJ ‚ˆd ˆj dd¡ksÝJ ‚nˆ d ˆ j d¡ksêJ ‚ˆd ˆj d¡ksöJ ‚ˆd |d k�sJ ‚d S |�sˆd dk�sJ ‚d S d S )NrO   rN   r8   r7   r6   )ÚSÚUz2 get cast, making the checks below more cumbersomerÍ   rï   c                 S   s,   t | tjƒr	| jS t | jtjƒr| jjS t‚r¬   )rŸ   r;   ÚndarrayÚbaser9   Ú_ndarrayr�   ©r¢   rE   rE   rF   Úget_base
  s
   z<TestDataFrameConstructors.test_dict_nocopy.<locals>.get_baseFÚc_onlyc                    sv   t ‡fdd„ˆjjD ƒƒdksJ ‚| rd S t ‡ ‡fdd„ˆjjD ƒƒdks'J ‚t ‡‡fdd„ˆjjD ƒƒdks9J ‚d S )Nc                 3   s   � | ]}|ˆ u V  qd S r¬   rE   r˜   )rÏ   rE   rF   r´   &
  r]  zRTestDataFrameConstructors.test_dict_nocopy.<locals>.check_views.<locals>.<genexpr>rO   c                 3   ó*   � | ]}t |jtjƒrˆ|ƒˆ u V  qd S r¬   ©rŸ   r9   r;   r˜   )r}   r]  rE   rF   r´   -
  ó   € ý

ÿc                 3   r_  r¬   r`  r˜   )rÎ   r]  rE   rF   r´   5
  ra  )ÚsumrS   rž   )r^  ©r}   rÎ   rÏ   rC   r]  rE   rF   Úcheck_views
  s   "þûþûz?TestDataFrameConstructors.test_dict_nocopy.<locals>.check_viewsr   ÚfciuOzincompatible dtyperb   râ   rP   Tr.  é.   r•   rY   )F)r?   ÚSTRING_DTYPESr*  rí  r+  r;   rg   r9   r“   ri   Úskiprò  rÜ   r   r%  r   Úis_np_dtyper  rã   ÚFutureWarningr´  Útype)
rA   r,  rÜ   Úany_numeric_ea_dtypeÚany_numpy_dtyperU   ræ   Úc_origrd  ÚwarnrE   rc  rF   Útest_dict_nocopyú	  sR   ÿþ
	
þ"ýz*TestDataFrameConstructors.test_dict_nocopyc                 C   s<   t g d¢dd�}td|iƒ}t |jj|d jj¡rJ ‚d S )Nr³  r  r8   r}   )r   r   r;   ró   rä   rQ   )rA   r4  rC   rE   rE   rF   Ú"test_construct_from_dict_ea_seriesc
  s    z<TestDataFrameConstructors.test_construct_from_dict_ea_seriesc                 C   s2   t tddd�dgd�}t dgd�}t ||¡ d S )NrO   rÈ   rr   rÿ   r¦   r‚  r}  rE   rE   rF   Ú'test_from_series_with_name_with_columnsj
  s   zATestDataFrameConstructors.test_from_series_with_name_with_columnsc                 C   sV   t g d¢g d¢gg d¢g d¢gd�}t g d¢g d¢gt g d¢¡d�}t ||¡ d S )Nr³  r�  )rü   rü   rü   rÍ   r¦   ))rü   r}   )rü   rÎ   )rü   rÏ   )r   r   r�  r?   r@   r}  rE   rE   rF   Útest_nested_list_columnsp
  s   ÿþz2TestDataFrameConstructors.test_nested_list_columnsc           
      C   s   t jddd�}|j t¡ dd¡}t|ƒ}|jdksJ ‚|j|j	k 
¡ s&J ‚||k 
¡  
¡ s0J ‚t j g d¢¡}|j t¡ dd¡}t|ƒ}|jdksMJ ‚|j|j	k 
¡ sWJ ‚||k 
¡  
¡ saJ ‚tj||||f j}t|ƒ}t||||dœƒ}	t ||	¡ d S )	Nz
2016-04-05r7   rB  rO   r  ©rO   r7   )r7   r6   r¥   rI   rÝ  )rò  r   rQ   r>   rs   r=   r   r  r  r9   rK  ÚIntervalIndexÚfrom_breaksr;   Úr_rÍ  r?   r@   )
rA   Úpir¼   rC   ÚiiÚdata2rí   Údata3r#  rD   rE   rE   rF   Ú1test_from_2d_object_array_of_periods_or_intervals{
  s    zKTestDataFrameConstructors.test_from_2d_object_array_of_periods_or_intervalszcol_a, col_bc                 C   sF   d}t jt|d�� t||dœƒ W d   ƒ d S 1 sw   Y  d S )Nz,Per-column arrays must each be 1-dimensionalrb   r  rb  )rA   Úcol_aÚcol_brk   rE   rE   rF   Útest_error_from_2darray‘
  s   	"ÿz1TestDataFrameConstructors.test_error_from_2darrayc                 C   sˆ   t g d¢g d¢dd�}t |d j|d j¡rJ ‚d|jd< t dtjtjgtjtjtjgtjtjtjgdœg d¢td	�}t ||¡ d S )
Nr³  rÍ   F)r\   r§   rÜ   r}   rÎ   r   râ   ©r\   r9   )	r   r;   ró   Ú_valuesrã   rh   rs   r?   r@   rˆ  rE   rE   rF   Ú&test_from_dict_with_missing_copy_falsež
  s   
ýù	z@TestDataFrameConstructors.test_from_dict_with_missing_copy_falsec                 C   sN   d}t jt|d�� tt g ¡ddgd� W d   ƒ d S 1 s w   Y  d S )Nz:Shape of passed values is \(0, 1\), indices imply \(0, 2\)rb   r}   rÎ   r{  )ri   rj   rÒ   r   r;   rg   rc  rE   rE   rF   Ú1test_construction_empty_array_multi_column_raises¯
  s   "ÿzKTestDataFrameConstructors.test_construction_empty_array_multi_column_raisesc                 C   s8   t g d¢dgdd�}t dg d¢idd�}t ||¡ d S )N)rR  rø   Nr}   r:   rÆ  r8   rÃ   rˆ  rE   rE   rF   Ú$test_construct_with_strings_and_noneµ
  s   z>TestDataFrameConstructors.test_construct_with_strings_and_nonec                 C   sÌ  t jtjd�}tdddgi|tdg|d�d�}t  dd¡� tdddgiƒ}W d   ƒ n1 s0w   Y  t ||¡ tdddgi|tdg|d�tdd	g|d�d
�}t  dd¡� tdddgidd	gd�}W d   ƒ n1 sow   Y  t ||¡ tdddgidtdg|d�d�}t  dd¡� tdddgiƒ}W d   ƒ n1 s£w   Y  t ||¡ tdddgidtdg|d�d�}t  dd¡� tdddgidd�}W d   ƒ n1 sÙw   Y  t ||¡ d S )Nr¾  r}   rÎ   r8   ©r9   r§   úfuture.infer_stringTrš   r©   )r9   r§   r\   r[   rO   rs   )	rò  rÁ  r;   rh   r   r   Úoption_contextr?   r@   ©rA   r9   rD   rC   rE   rE   rF   Útest_frame_string_inference»
  s@   ÿÿ
üÿÿÿÿÿz5TestDataFrameConstructors.test_frame_string_inferencec                 C   sn  t jtjd�}tdddgi|tdg|d�d�}t  dd¡� tdt ddg¡iƒ}W d   ƒ n1 s3w   Y  t 	||¡ tddgdd	gd
œ|d�}t  dd¡� tt ddgdd	gg¡ƒ}W d   ƒ n1 siw   Y  t 	||¡ tddgdd	gdœ|tddg|d�d�}t  dd¡� tt ddgdd	gg¡ddgd�}W d   ƒ n1 sªw   Y  t 	||¡ d S )Nr¾  r}   rÎ   r8   r…  r†  TrÏ   r„   rP   r  r¦   )
rò  rÁ  r;   rh   r   r   r‡  rg   r?   r@   rˆ  rE   rE   rF   Ú.test_frame_string_inference_array_string_dtypeÝ
  s,   ÿÿÿý$ÿzHTestDataFrameConstructors.test_frame_string_inference_array_string_dtypec                 C   s`   t  dd¡� tt ddgddgg¡ƒ}W d   ƒ n1 sw   Y  |jjd jdks.J ‚d S )Nr†  TÚhelloÚgoodbyeÚHellor   rN   )rò  r‡  r   r;   rg   rS   rT   r,  ro   rE   rE   rF   Ú%test_frame_string_inference_block_dimõ
  s   ÿz?TestDataFrameConstructors.test_frame_string_inference_block_dimc                 C   s  t tdƒgtd�}tjtdd�� t|dgd�}W d   ƒ n1 s"w   Y  |jjd t	j
ks2J ‚td|iƒ}|jjd t	j
ksCJ ‚ttdƒgtd�}tjtdd�� t|dgd�}W d   ƒ n1 sew   Y  |jjd t	j
ksuJ ‚td|iƒ}|jjd t	j
ks†J ‚d S )Nz
2019-12-31r8   zDtype inferencerb   r}   r¦   r   )r   r    rs   r?   r´  rj  r   r  rã   r;   rÉ   r   )rA   rx   ry   r4  rE   rE   rF   Ú test_inference_on_pandas_objectsû
  s   ÿÿz:TestDataFrameConstructors.test_inference_on_pandas_objects)érK  rL  rM  rG   rX   r`   rl   rp   rz   r†   rŠ   r’   ri   ÚmarkÚparametrizer¤   rª   r¿   rÂ   r   rÇ   rÌ   rÔ   rà   ré   rî   rí  Úskip_array_manager_invalid_teströ   r÷   rû   rþ   r  r  r  r$  r(  r4  r;   rg   rs   r7  r-   r.   r/   r9  r?  rP  rT  rW  rY  r\  r`  rd  rh   rg  rÝ   rs  rx  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É   r9   r  r  rò  ÚBooleanDtypeÚFloat64DtypeÚ
Int64DtyperÁ  r!  r#  r$  r'  r)  r-  r/  r3  r5  r:  r?  r@  r_   rB  rQ  rR  rU  rV  rY  r[  r\  ra  rb  re  r  r   rg  rk  ro  rw  rx  ry  rz  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	   rn   rŽ   r‹   rú  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r"  r$  r(  r?   ÚALL_NUMERIC_DTYPESÚDATETIME64_DTYPESÚTIMEDELTA64_DTYPESÚBOOL_DTYPESr)  rg  r*  ÚOBJECT_DTYPESr-  r.  Úarm_slowr/  r1  r   r'   r%   r&   r   r5  r8  r@  rH  rK  rM  rN  rP  rS  r"   rU  rV  rp  rq  rr  rs  r|  r  r‚  rƒ  r„  r‰  rŠ  rŽ  r�  rE   rE   rE   rF   r4   M   sð   		
!õþ
þþ
ýþ


úþ
	
úþ



úþ
(	



<	



üþ
		

þýþ
8ÿ
A
"ûþ

üþ
	
'
	
üþ
	

&ùþ		&þ
 Søþþþ=
"(,$ÿ&ùþ
	ÿþýþÿ		üþ	ÿ	
ûþ
	h"ýþ"r4   c                   @   sJ   e Zd Zdd„ Zdd„ Zej ddddgdgd	d	d
gdgg¡dd„ ƒZdS )Ú&TestDataFrameConstructorIndexInferencec                 C   sˆ   t jdddd�}ttj d¡ t|ƒ¡|ƒ}t jdddd�}ttj d¡ t|ƒ¡|ƒ}t||dœƒ}t jdddd�}t	 
|j|¡ d S )	Nz1/1/1999ú1/1/2012r•   rð  rN   z1/1/1980z	12/1/2001)rœ  r¡  )rò  r   r   r;   r  r  r«  rR   r   r?   r  r\   )rA   Úrng1rœ  Úrng2r¡  rC   rO  rE   rE   rF   ÚAtest_frame_from_dict_of_series_overlapping_monthly_period_indexes  s   zhTestDataFrameConstructorIndexInference.test_frame_from_dict_of_series_overlapping_monthly_period_indexesc                 C   s,  t ddd�}ttdƒ|d�}ttdƒ| d¡d�}ttdƒ| d¡d�}ttdƒƒ}t|||dœƒ}tt|jƒt|jƒ t|jƒ td�}t	 
|j|¡ t|||d	œƒ}tt|jƒt|jƒ t|jƒ td�}	t	 
|j|	¡ t|||d
œƒ}
tt|jƒt|jƒ t|jƒ td�}	t	 
|
j|	¡ t|||dœƒ}tt|jƒt|jƒ t|jƒ td�}t	 
|j|¡ d}tjt|d�� t||||dœƒ W d   ƒ n1 sÏw   Y  tjt|d�� t|||dœƒ W d   ƒ n1 sîw   Y  tjt|d�� t|||dœƒ W d   ƒ d S 1 �sw   Y  d S )NrH   r7   rB  r[   rë  z
US/Centralr   r8   )rü   r  rq   )rq   rü   r  )r  rq   rü   z0Cannot join tz-naive with tz-aware DatetimeIndexrb   )rü   rq   r  rf  )rü   rq   rf  )rf  rü   rq   )r"   r   r¨   rt   r   r   r  r\   rs   r?   r  ri   rj   r�   )rA   rV   rF  rG  Úser3Úser4r£  Ú	exp_indexrí   Ú
exp_index3r#  Údf4Ú
exp_index4rk   rE   rE   rF   Ú/test_frame_from_dict_with_mixed_tzaware_indexes  sF   ÿÿÿÿÿÿ$ÿzVTestDataFrameConstructorIndexInference.test_frame_from_dict_with_mixed_tzaware_indexeszkey_val, col_vals, col_typer¥  Ú4Úutf8r7   r6   r0   c              
   C   s”   t  d¡}tj |j|| | ¡ t||ƒƒ ¡d�¡}t	|ddgi|d�}t	dt
jgdt
jgg|d�}| d|jd d …df  t¡¡ t ||¡ d S )Nrð   )rk  rO   rN   r¦   )ri   Úimportorskiprò  rž   ÚArrowExtensionArrayrg   Ú
dictionaryr0   Úgetattrr   r;   rh   Úisetitemrã   r>   rs   r?   r@   )rA   Úkey_valÚcol_valsÚcol_typeÚparl  ry   rD   rE   rE   rF   Ú%test_dict_data_arrow_column_expansionE  s   
	 ÿ zLTestDataFrameConstructorIndexInference.test_dict_data_arrow_column_expansionN)	rK  rL  rM  r¡  r¨  ri   r�  r‘  r´  rE   rE   rE   rF   r�    s    ,þþr�  c                   @   s   e Zd Zdd„ ZdS )Ú)TestDataFrameConstructorWithDtypeCoercionc                 C   s~  t j d¡ d¡}d}tjt|d�� t|dd� W d   ƒ n1 s#w   Y  t| ¡ dd�}|j	dk 
¡ s9J ‚t j|d< d}tjt|d�� t|dd� W d   ƒ n1 sXw   Y  tjt|d�� t|d	 dd� W d   ƒ n1 sww   Y  d}tjt|d�� t|ƒ d¡ W d   ƒ n1 s—w   Y  tjt|d�� t|d	 ƒ d¡ W d   ƒ d S 1 s¸w   Y  d S )
NrN   rÿ  z)Trying to coerce float values to integersrb   rd   r8   râ   ra   r   )r;   r  r  r«  ri   rj   rÒ   r   Úroundr  rK  rh   r   r   r>   )rA   rB   rk   rC   rE   rE   rF   Ú"test_floating_values_integer_dtypeY  s,   ÿ
ÿÿÿ"ÿzLTestDataFrameConstructorWithDtypeCoercion.test_floating_values_integer_dtypeN)rK  rL  rM  r·  rE   rE   rE   rF   rµ  X  s    rµ  c                   @   sø   e Zd Zej dddg¡dd„ ƒZej dddg¡d	d
„ ƒZdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zej deeg¡dd„ ƒZd d!„ Zd"d#„ Zd$d%„ Zejje d&d'�ej d(g d)¢g d*¢g d+¢d)œg¡d,d-„ ƒƒZd.S )/Ú&TestDataFrameConstructorWithDatetimeTZrM   rû  zdateutil/US/Easternc           
      C   sÎ   t dddd�}| |¡}td|dœ|d�}td|jƒ}|d	 j|ks$J ‚d
d„ |D ƒ}dd„ |D ƒ}td|iƒ}||d< ||d< ||d< |j}tt d¡t|d�t d¡t|d�gg d¢d�}	t	 
||	¡ d S )Nú2011/1/1ú2012/1/1úW-FRIrð  rÈ   rH  r[   rY   rq   c                 S   r×  rE   rØ  rÚ  rE   rE   rF   r›   „  rœ   zeTestDataFrameConstructorWithDatetimeTZ.test_construction_preserves_tzaware_dtypes.<locals>.<listcomp>c                 S   r×  rE   rØ  rÚ  rE   rE   rF   r›   …  rœ   rì  Údr_tzÚdatetimes_naiveÚdatetimes_with_tzrá  rü  )rì  r¼  r½  r¾  )r"   rt   r   r   Útzinfor9   r  r   r;   r?   rv   )
rA   rM   rì  r¼  rC   Útz_expectedr½  r¾  ry   rD   rE   rE   rF   Ú*test_construction_preserves_tzaware_dtypesy  s*   
üù	zQTestDataFrameConstructorWithDatetimeTZ.test_construction_preserves_tzaware_dtypesÚpydtTFc                 C   sô  |}t d|d�}|r| ¡ }d}tjt|d�� td|gidd� W d   ƒ n1 s+w   Y  d}tjt|d�� td|idgdd	� W d   ƒ n1 sNw   Y  tjt|d�� t|gdd� W d   ƒ n1 slw   Y  tjt|d�� ttj|gt	d�dd� W d   ƒ n1 s�w   Y  tjt|d�� t|dgdgdd
� W d   ƒ n1 s°w   Y  tjt|d�� tt
|gƒgdd� W d   ƒ n1 sÑw   Y  tjt|d�� t|ggdgdd� W d   ƒ d S 1 sów   Y  d S )NÚ2019rü  úsCannot convert timezone-aware data to timezone-naive dtype. Use pd.Series\(values\).dt.tz_localize\(None\) instead.rb   r   rá  r8   ú/Cannot unbox tzaware Timestamp to tznaive dtyper€  r+  rÆ  )r    rÙ  ri   rj   rÒ   r   r�   r;   rg   rs   r   )rA   Útz_aware_fixturerÂ  rM   rÛ  rk   Úmsg2rE   rE   rF   Ú'test_constructor_data_aware_dtype_naive–  s8   ÿÿÿÿÿÿÿ"ÿzNTestDataFrameConstructorWithDatetimeTZ.test_constructor_data_aware_dtype_naivec                 C   sˆ   t tdddd�dd�}tddd�}t||d	œƒ}|d
 js!J dƒ‚|d
 jd
ks*J ‚t |d
 t|d
d�¡ t |d t|dd�¡ d S )Nrê  r7   rû  rK   rÈ   rr   Ú20130110rB  rH  rü   zM8[ns, US/Easternrq   )r   r"   r   r9   rf   r?   rv   r   )rA   rx   rì  rC   rE   rE   rF   Útest_from_dict¸  s   z5TestDataFrameConstructorWithDatetimeTZ.test_from_dictc                 C   sª   t ddddd�}t|ƒ}t |d t|dd�¡ tt|ƒƒ}t |d t|dd�¡ t dddd�}t|ƒ}t |d t|dd�¡ tt|ƒƒ}t |d t|dd�¡ d S )	Nrê  r7   rû  rÈ   )rL   rM   rf   rr   rK   r   )r"   r   r?   rv   r   )rA   r¨  rí   rE   rE   rF   Útest_from_indexÆ  s   z6TestDataFrameConstructorWithDatetimeTZ.test_from_indexc                 C   sB   t ddd�}t||d�}td|dœ|d� td|jdœ|d� d S )Nrž  r  rB  r[   rÈ   r  )r"   r   r   rä   )rA   rì  rÔ  rE   rE   rF   Ú+test_frame_dict_constructor_datetime64_1680Ô  s   zRTestDataFrameConstructorWithDatetimeTZ.test_frame_dict_constructor_datetime64_1680c                 C   s@   t dddd�}t|ƒ}td|dœ|d�}|d  ¡  ¡ sJ ‚d S )	Nr¹  rº  r»  rð  rÈ   rH  r[   rq   )r"   r   r   r#   rK  )rA   rì  rÛ  r„   rE   rE   rF   Ú+test_frame_datetime64_mixed_index_ctor_1681Ü  s   zRTestDataFrameConstructorWithDatetimeTZ.test_frame_datetime64_mixed_index_ctor_1681c                 C   sX   t ddddd�}t|dgd�}tdtddd�td	dd�td
dd�giƒ}t ||¡ d S )Nz20130101T10:00:00r7   Úminrû  )rÖ  rL   rñ  rM   Ú
timestampsr¦   rü  z20130101T10:01:00z20130101T10:02:00)r"   r   r    r?   r@   )rA   rì  ry   rD   rE   rE   rF   Útest_frame_timeseries_columnä  s   ÿ


ýÿÿ	zCTestDataFrameConstructorWithDatetimeTZ.test_frame_timeseries_columnc                 C   sf   ddg}dddœdddd	œd
œ}t |g d¢|d�}t ddtjtjfg|tg d¢ƒd�}t ||¡ d S )NÚNevadaÚOhioç333333@ç333333@)rÌ  éÒ  rt  ç333333û?çÍÌÌÌÌÌ@)r	  rÌ  rÕ  )rÑ  rÒ  )rÌ  rÕ  iÓ  rÀ   )rÓ  rÖ  )rÔ  r×  r…  )r   r;   rh   r   r?   r@   )rA   r§   Úpopry   rD   rE   rE   rF   Útest_nested_dict_constructionõ  s   
þ
ýzDTestDataFrameConstructorWithDatetimeTZ.test_nested_dict_constructionc                 C   sd   t dddd�}|j t¡ dd¡}t|ƒ}|jdksJ ‚|j|jk 	¡ s&J ‚||k 	¡  	¡ s0J ‚d S )Nz2016-04-05 04:30r7   rë  rK   rO   r  rt  )
r"   rQ   r>   rs   r=   r   r  r  r9   rK  )rA   rV   r¼   rC   rE   rE   rF   Útest_from_tzaware_object_array  s   zETestDataFrameConstructorWithDatetimeTZ.test_from_tzaware_object_arrayc              	   C   s†   t jtdƒtdƒtdƒgtddd�tjtddd�gtdd	d�tjtd
d	d�ggtd�j}t|g d¢d�}g d¢}|j|k 	¡ sAJ ‚d S )Nz2013-01-01 00:00:00z2013-01-02 00:00:00z2013-01-03 00:00:00z2013-01-01 00:00:00-0500rû  rü  z2013-01-03 00:00:00-0500z2013-01-01 00:00:00+0100ÚCETz2013-01-03 00:00:00+0100r8   r   r¦   )rá  rä  zdatetime64[ns, CET])
r;   rg   r    rò  r‹   rs   rÍ  r   r  rK  )rA   rB   r'  Úexpected_dtypesrE   rE   rF   Ú$test_from_tzaware_mixed_object_array  s*   ý

ý

ýõîízKTestDataFrameConstructorWithDatetimeTZ.test_from_tzaware_mixed_object_arrayc                 C   s:   t  d¡ d¡}t|dd�}t|ƒ d¡}t ||¡ d S )Nr  )r¥   rN   zdatetime64[ns, UTC]r8   )r;   r<   r=   r   r>   r?   r@   )rA   Ú
array_dim2rC   rD   rE   rE   rF   Útest_from_2d_ndarray_with_dtype,  s   zFTestDataFrameConstructorWithDatetimeTZ.test_from_2d_ndarray_with_dtyper  c                 C   s�   |h d£ƒ}d|j › d�}tjt|d�� td|iƒ W d   ƒ n1 s%w   Y  tjt|d�� t|ƒ W d   ƒ d S 1 sAw   Y  d S )N>   rO   rN   r7   ú'z' type is unorderedrb   r}   )rK  ri   rj   r�   r   r   )rA   r  rä   rk   rE   rE   rF   Ú!test_construction_from_set_raises4  s   ÿ
"ÿzHTestDataFrameConstructorWithDatetimeTZ.test_construction_from_set_raisesc                 C   s>   t jdddd� dd¡}t|ƒ}tdd„ |jjD ƒƒsJ ‚d S )	Nr   r5   rá  r8   r6   r7   c                 s   s   � | ]}t |tƒV  qd S r¬   )rŸ   r$   )r™   rB   rE   rE   rF   r´   D  s   € zeTestDataFrameConstructorWithDatetimeTZ.test_construction_from_ndarray_datetimelike.<locals>.<genexpr>)r;   r<   r=   r   rK  rS   rž   ©rA   rB   rC   rE   rE   rF   Ú+test_construction_from_ndarray_datetimelike?  s   zRTestDataFrameConstructorWithDatetimeTZ.test_construction_from_ndarray_datetimelikec                 C   s´   t j d¡ d¡}t dg¡j}d}tjt	|d�� t
|dg|d� W d   ƒ n1 s,w   Y  t g d¢¡}tjt	|d�� t
|dd	gd
� W d   ƒ d S 1 sSw   Y  d S )NrN   r*  rÖ   z'len\(arrays\) must match len\(columns\)rb   rÈ   rÆ  )rÖ   r×   r¢  rÿ   r¦   )r;   r  r  r«  rò  rg   r9   ri   rj   rÒ   r   )rA   rB   r9   rk   Úarr2rE   rE   rF   Ú>test_construction_from_ndarray_with_eadtype_mismatched_columnsF  s   ÿ"ÿzeTestDataFrameConstructorWithDatetimeTZ.test_construction_from_ndarray_with_eadtype_mismatched_columnsc                 C   s’   g d¢g d¢g}t jtdd�� t|ddhd� W d   ƒ n1 s"w   Y  t jtdd�� t|h d	£d
� W d   ƒ d S 1 sBw   Y  d S )Nr³  r�  zindex cannot be a setrb   r}   rÎ   r[   zcolumns cannot be a set>   r}   rÎ   rÏ   r¦   rb  r  rE   rE   rF   Ú"test_columns_indexes_raise_on_setsQ  s   ÿ"ÿzITestDataFrameConstructorWithDatetimeTZ.test_columns_indexes_raise_on_setsz/StringDType only available in numpy 2 and above)Úreasonr¼   rÍ   )rÕ   rÖ   r×   r   c                 C   s\   ddl m} tj|d |ƒ d�|d< t|ƒ}|d jtjks J ‚|d |d k ¡ s,J ‚d S )Nr   )ÚStringDTyper}   r8   )Únumpy.dtypesrè  r;   rg   r   r9   rÉ   rK  )rA   r¼   rè  r'  rE   rE   rF   Ú test_np_string_array_object_castZ  s
   
zGTestDataFrameConstructorWithDatetimeTZ.test_np_string_array_object_castN)rK  rL  rM  ri   r�  r‘  rÁ  rÈ  rÊ  rË  rÌ  rÍ  rÐ  rÙ  rÚ  rÝ  rß  ÚsetÚ	frozensetrá  rã  rå  ræ  Úskipifr   rê  rE   rE   rE   rF   r¸  x  s8    

!	

	ÿÿþr¸  c                 C   s   t | tƒr
| jd S | jd S )Nr   râ   )rŸ   r   rã   r\  rE   rE   rF   Úget1l  s   


rî  c                   @   sú   e Zd Zejeedgd�dd„ ƒZejdd„ ƒZej	 
ddd	g¡d
d„ ƒZdd„ Zdd„ Zdd„ Zej	 
dejejg¡dd„ ƒZej	 
deejg¡dd„ ƒZej	jdd„ ƒZej	 
deejg¡dd„ ƒZej	jej	 
dejejg¡dd„ ƒƒZdd„ ZdS )ÚTestFromScalarN©Úparamsc                 C   ó   |j S r¬   ©Úparam©rA   r,  rE   rE   rF   Úboxt  ó   zTestFromScalar.boxc                    sˆ   dt dƒi‰ ˆtu rdgˆ d< |d u rtjˆfi ˆ ¤ŽS |tu r2ˆtu r+‡ ‡fdd„S ‡ ‡fdd„S ˆtu r=‡ ‡fdd„S ‡ ‡fd	d„S )
Nr\   rN   rü   r§   c                    s   ˆ| | dœfi ˆ ¤|¤ŽS )NrP   rE   ©rš   Úkwargs©Úextrar�   rE   rF   r®   ƒ  s    ÿÿÿz,TestFromScalar.constructor.<locals>.<lambda>c                    s   ˆd| ifi ˆ ¤|¤ŽS ©Nrü   rE   rø  rú  rE   rF   r®   ‡  r;  c                    s   ˆ| | gfi ˆ ¤|¤ŽS r¬   rE   rø  rú  rE   rF   r®   ‰  r;  c                    s   ˆd| | gifi ˆ ¤|¤ŽS rü  rE   rø  rú  rE   rF   r®   ‹  s    )r¨   r   Ú	functoolsÚpartialr  r   )rA   r�   rö  rE   rú  rF   r«   x  s   
zTestFromScalar.constructorr9   rm   r�   c                 C   s8   |t j|d�}t |j|k¡sJ ‚t | ¡ ¡sJ ‚d S r%  )rò  r‹   r;   rK  r  r#   )rA   r9   r«   r¢   rE   rE   rF   Útest_from_nat_scalar�  s   z#TestFromScalar.test_from_nat_scalarc                 C   s(   t dƒ}||dd�}t|ƒ|ksJ ‚d S )NrO   r�   r8   ©r   rî  )rA   r«   rí  r¢   rE   rE   rF   Ú*test_from_timedelta_scalar_preserves_nanos“  s   z9TestFromScalar.test_from_timedelta_scalar_preserves_nanosc                 C   s,   |t dƒ }||dd�}t|ƒ|ksJ ‚d S )NrO   rm   r8   r   )rA   r«   Úfixed_now_tsrÛ  r¢   rE   rE   rF   Ú*test_from_timestamp_scalar_preserves_nanos™  s   z9TestFromScalar.test_from_timestamp_scalar_preserves_nanosc                 C   s4   t dƒ}| ¡ }||td�}tt|ƒtjƒsJ ‚d S )NrO   r8   )r   Úto_timedelta64rs   rŸ   rî  r;   ræ  )rA   r«   rí  Útd64r¢   rE   rE   rF   Ú#test_from_timedelta64_scalar_objectŸ  s   z2TestFromScalar.test_from_timedelta64_scalar_objectÚclsc                 C   sÄ   |ddƒ}t jdt jdi| }|t ju rd}nd}d d|g¡}tjt|d	�� |||d
� W d   ƒ n1 s8w   Y  |ddƒ}tjt|d	�� |||d
� W d   ƒ d S 1 s[w   Y  d S )Nr‹   rY   r�   rm   rŒ   z:<class 'numpy.timedelta64'> is not convertible to datetimeú|r  rb   r8   r6   )r;   rŽ   ræ  Újoinri   rj   r�   )rA   r«   r  re  r9   Úmsg1rk   rE   rE   rF   Ú(test_from_scalar_datetimelike_mismatched¦  s   

ÿ
"ÿz7TestFromScalar.test_from_scalar_datetimelike_mismatchedc                 C   s¦   |t u s|tu r|tu rtjjddd�}| |¡ tdddƒ}d}|tj	u r.t 	|d¡}d}||ƒ}	t
|	ƒ}
t |	¡}t|
ƒtu sCJ ‚|
jj|ksKJ ‚||ksQJ ‚d S )	NziTimestamp constructor has been updated to cast dt64 to non-nano, but DatetimeArray._from_sequence has notT©rç  Ústricté'  rO   rÏ  rf  rÎ  )r  r   r  ri   r�  ÚxfailÚapplymarkerr	   r;   rŽ   rî  r?   Ú	get_dtyperk  r    Úasm8r9   ©rA   r«   r  r,  rö  r�   r�  re  r  ry   Úitemr9   rE   rE   rF   Ú#test_from_out_of_bounds_ns_datetime¸  s"   ý


z2TestFromScalar.test_from_out_of_bounds_ns_datetimec                 C   sR   t  t  t j¡jd¡}||ƒ}t|ƒ}t|ƒt ju sJ ‚t |¡}|t	ks'J ‚d S rå  )
r;   rŽ   Úiinfor3   Úmaxrî  rk  r?   r  rs   )rA   r«   re  ry   r  r9   rE   rE   rF   Útest_out_of_s_bounds_datetime64Ô  s   
z.TestFromScalar.test_out_of_s_bounds_datetime64c                 C   s²   |t u s|tu r|tu rtjjddd�}| |¡ tdddƒtdddƒ }d}|tj	u r4t 	|d¡}d	}||ƒ}	t
|	ƒ}
t |	¡}t|
ƒtu sIJ ‚|
jj|ksQJ ‚||ksWJ ‚d S )
NzoTimedeltaArray constructor has been updated to cast td64 to non-nano, but TimedeltaArray._from_sequence has notTr  r  rO   i²  zm8[us]rf  zm8[s])r  r   r  ri   r�  r  r  r	   r;   ræ  rî  r?   r  rk  r   r  r9   r  rE   rE   rF   Ú$test_from_out_of_bounds_ns_timedeltaÝ  s"   ý


z3TestFromScalar.test_from_out_of_bounds_ns_timedeltac                 C   sN   |t  t j¡jdƒ}||ƒ}t|ƒ}t|ƒ|u sJ ‚t |¡}|tks%J ‚d S rå  )	r;   r  r3   r  rî  rk  r?   r  rs   )rA   r«   r  re  ry   r  r9   rE   rE   rF   Ú test_out_of_s_bounds_timedelta64ø  s   
z/TestFromScalar.test_out_of_s_bounds_timedelta64c                 C   sz   d}t d|d�}|d u s|tu r|tu rd}t}nd}t}tj||d�� ||dd� W d   ƒ d S 1 s6w   Y  d S )	Nrû  rÃ  rü  rÅ  rÄ  rb   rm   r8   )r    r   r  r�   rÒ   ri   rj   )rA   r«   rö  r�   rM   rÛ  rk   ÚerrrE   rE   rF   Útest_tzaware_data_tznaive_dtype  s   ÿ"ÿz.TestFromScalar.test_tzaware_data_tznaive_dtype)rK  rL  rM  ri   Úfixturer  r  rö  r«   r�  r‘  rÿ  r  r  r  r;   rŽ   ræ  r  r	   r  Ú
skip_ubsanr  r
   r  r  r  rE   rE   rE   rF   rï  s  s,    






rï  c                   @   sZ   e Zd Zejddgd�dd„ ƒZejdd„ ƒZdd	„ Zd
d„ Zdd„ Z	dd„ Z
dd„ ZdS )ÚTestAllowNonNanoTFrð  c                 C   rò  r¬   ró  rõ  rE   rE   rF   Úas_td  r÷  zTestAllowNonNano.as_tdc                 C   sH   t  d¡ t j¡ d¡}|r||d  }tj||jd�S tj||jd�S )Nr¥   rÎ  r   r8   )	r;   r<   r>   r3   r�   r(   Ú_simple_newr9   r$   )rA   r   rä   rE   rE   rF   rB     s
   zTestAllowNonNano.arrc                 C   ó   t |ƒ}|j|jksJ ‚d S r¬   )r   r9   )rA   rB   rx   rE   rE   rF   Útest_index_allow_non_nano&  ó   z*TestAllowNonNano.test_index_allow_non_nanoc                 C   s,   |rt  |¡}nt|ƒ}|j|jksJ ‚d S r¬   )rò  ÚTimedeltaIndexr   r9   )rA   rB   r   rx   rE   rE   rF   Útest_dti_tdi_allow_non_nano*  s   z,TestAllowNonNano.test_dti_tdi_allow_non_nanoc                 C   r"  r¬   )r   r9   )rA   rB   r4  rE   rE   rF   Útest_series_allow_non_nano1  r$  z+TestAllowNonNano.test_series_allow_non_nanoc                 C   s    t |ƒ}|jd |jksJ ‚d S r·   ©r   r  r9   râ  rE   rE   rF   Útest_frame_allow_non_nano5  s   z*TestAllowNonNano.test_frame_allow_non_nanoc                 C   s$   t d|iƒ}|jd |jksJ ‚d S r·   r(  râ  rE   rE   rF   Ú#test_frame_from_dict_allow_non_nano9  s   z4TestAllowNonNano.test_frame_from_dict_allow_non_nanoN)rK  rL  rM  ri   r  r   rB   r#  r&  r'  r)  r*  rE   rE   rE   rF   r    s    

r  )Jrg   Úcollectionsr   r   r   r   Úcollections.abcr   Údataclassesr   r	   r   r
   rý  r�  Únumpyr;   r   Únumpy.mar   ri   rå  Úpandas._libsr   Úpandas.compat.numpyr   Úpandas.errorsr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsrí  Úpandas.core.dtypes.commonr   Úpandas.core.dtypes.dtypesr   r   r   r   Úpandasrò  r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   Úpandas._testingÚ_testingr?   Úpandas.arraysr$   r%   r&   r'   r(   r
  r	  r4   r�  rµ  r¸  rî  rï  r  rE   rE   rE   rF   Ú<module>   sl    D                     UK  u #