o
    �¨Êhã ã                   @   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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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9 d dl:m;Z< d dl=m>Z>m?Z?m@Z@mAZAmBZB g d¢ZCg d¢ZDG dd„ dƒZEG dd„ dƒZFG dd„ dƒZGG dd„ dƒZHdd„ ZIG dd„ dƒZJG dd„ dƒZKdS ) é    N)ÚOrderedDictÚabcÚdefaultdictÚ
namedtuple)ÚIterator)Úmake_dataclass)ÚdateÚdatetimeÚ	timedelta)Úma)Úmrecords)Úusing_pyarrow_string_dtype)Ú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ejjeƒ d@dA�dBdC„ ƒƒZejejjeƒ d@dA�dDdE„ ƒƒZdFdG„ Z dHdI„ Z!ej dJdKi gdKd.dLdMdNœgdOi gg¡dPdQ„ ƒZ"dRdS„ Z#dTdU„ Z$dVdW„ Z%dXdY„ Z&dZd[„ Z'ej d\e(j)d]ge*d^�e( )d0d_ g¡d`ge(j)dage*d^�e( )dbg¡d0d_  d0 gg¡dcdd„ ƒZ+ej d\e(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¡dedf„ ƒZ/dgdh„ Z0didj„ Z1dkdl„ Z2dmdn„ Z3dodp„ Z4dqdr„ Z5dsdt„ Z6dudv„ Z7ej dwd0e(j8dxdyg¡dzd{„ ƒZ9ej d|d0e(j8dxe:d}ƒg¡d~d„ ƒZ;ej d|e(j8dxe:d}ƒg¡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¡„ ZLd¢d£„ ZMd¤d¥„ ZNej d¦d§d„ d¨fd©d„ dªfd«d„ d¬fd­d„ d®fg¡d¯d°„ ƒZOd±d²„ ZPd³d´„ ZQej dµeRd¶ƒeSdƒfeTd/d·d¸�eUd¹dºƒfeVd»d¼d½�eWd¾d¼d¿�fg¡dÀdÁ„ ƒZXdÂdÃ„ ZYdÄdÅ„ ZZdÆdÇ„ Z[dÈdÉ„ Z\ej ]dÊ¡dËdÌ„ ƒZ^dÍdÎ„ Z_dÏdÐ„ Z`dÑdÒ„ Zaej dÓdxebecdÔƒƒdÕdÖge*e(jdfdxdxdÕdÖgd¹e( ed¹¡fdxebecdÔƒƒdÕdÖgefe( ed×¡fi dxdLdMgdxe(jdfdÖd.iebecdÔƒƒebdØƒefe( ed×¡fg¡dÙdÚ„ ƒZgej dÛg dÜ¢dÝehjifg dÞ¢dßehjjfg dà¢dáehjkfg dâ¢dãehjlff¡dädå„ ƒZmdædç„ Zndèdé„ Zodêdë„ Zpdìdí„ Zqdîdï„ Zrdðdñ„ Zsdòdó„ Ztdôdõ„ Zudöd÷„ Zvdødù„ Zwdúdû„ Zxej düeVdýƒggdþeVdýƒigdþeVdýƒgidþeVdýƒ ydÿ¡ig¡�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‚�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/�d0„ Z‘�d1�d2„ Z’�d3�d4„ Z“�d5�d6„ Z”�d7�d8„ Z•�d9�d:„ Z–�d;�d<„ Z—�d=�d>„ Z˜�d?�d@„ Z™ej �dAg �dB¢¡�dC�dD„ ƒZš�dE�dF„ Z›�dG�dH„ Zœ�dI�dJ„ Z��dK�dL„ Zž�dM�dN„ ZŸ�dO�dP„ Z �dQ�dR„ Z¡�dS�dT„ Z¢�dU�dV„ Z£�dW�dX„ Z¤�dY�dZ„ Z¥�d[�d\„ Z¦�d]�d^„ Z§�d_�d`„ Z¨ej �dae( )dxdxdxdxe© ª¡ dxg¡e( )dxdxe© ª¡ dxg¡e( «�db¡gdxgge( «�db¡gehj¬ggdxge( «�db¡ggdxgehj¬ggehj¬ge( «�db¡ggehj¬gdxggg¡�dc�dd„ ƒZ­ej �deg �df¢¡ej �dgg �dh¢¡�di�dj„ ƒƒZ®ej �deg �df¢¡ej �dgg �dk¢¡�dl�dm„ ƒƒZ¯�dn�do„ Z°�dp�dq„ Z±�dr�ds„ Z²�dt�du„ Z³�dv�dw„ Z´ej �dxeµg �d+¢g �d,¢gd.e(j8g�dy�eµg �d+¢g �d,¢g�dz�d{e(j8g�d|�eµg �d}¢g �d~¢ge(j8�dz�d{e(j8g�d|�eµg �d¢g �d~¢ge(j8�dz�d{e(j8g�d|�eµg �d¢g �d~¢ge(j8d.d0d0g�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¾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Íeb�dŸƒƒeÎd.e(j8e(j8e(j8gƒeÏeTd/d.ƒeTd.d·ƒgƒeÐehjÑ�d �d¡d�d¢�ƒg¡�d£�d¤„ ƒZÒ�d¥�d¦„ ZÓ�d§�d¨„ ZÔ�d©�dª„ ZÕ�d«�d¬„ ZÖ�d­�d®„ Z×�d¯�d°„ ZØ�d±�d²„ ZÙ�d³�d´„ ZÚej �dµd.d0g�d¶�d·gebeÛ�d¸d0�d¹�dº�ƒebeÛ�d¸d0�d¹d¼�d»�ƒeTd/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êdxS (Þ  ÚTestDataFrameConstructorsc                 C   s@   t  d¡ dd¡}t|td�}t| t¡td�}t ||¡ d S )Né   é   é   ©Údtype)	ÚnpÚarangeÚreshaper   ÚstrÚastypeÚobjectÚtmÚassert_frame_equal)ÚselfÚarrÚdfÚexpected© rG   úV/var/www/html/env/lib/python3.10/site-packages/pandas/tests/frame/test_constructors.pyÚ,test_constructor_from_ndarray_with_str_dtypeP   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Útzr8   é   r   é   ©r   rQ   )	r#   Ú_datar=   r   rA   rB   ÚlenÚ_mgrÚblocks)rC   Úusing_array_managerÚdtiÚdtarE   rF   rG   rG   rH   Ú&test_constructor_from_2d_datetimearrayX   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   ©ÚindexrQ   )r\   Úvalue)r!   Ú
tz_convertÚas_unitr   rA   rB   )rC   r\   rE   rF   rG   rG   rH   Ú)test_constructor_dict_with_tzaware_scalarc   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 )
NrQ   rP   r8   ú9Cannot convert non-finite values \(NA or inf\) to integer©ÚmatchÚi8r9   r   ©r:   Úname)r;   ÚarrayÚnanÚpytestÚraisesr   r   r   )rC   rD   ÚmsgrG   rG   rH   Ú-test_construct_ndarray_with_nas_and_int_dtypeq   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	   Únowr:   r;   ©rC   rE   rG   rG   rH   Ú%test_construct_from_list_of_datetimes|   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©rh   rL   r@   r9   )	r   Útz_localizer   r;   ri   Útolistr:   rA   Úassert_series_equal)rC   ÚnaiveÚidxrF   ÚresultrG   rG   rH   Ú+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ÚarQ   rP   r8   r7   Úrecords©Úorient©r   Úto_dict)rC   Úcol_underscorerE   ÚdÚref_drG   rG   rH   Ú6test_columns_with_leading_underscore_work_with_to_dict�   ó
   zPTestDataFrameConstructors.test_columns_with_leading_underscore_work_with_to_dictc                 C   r|   )	NÚ1_br~   rQ   rP   r8   r7   r   r€   r‚   )rC   Úcol_with_numrE   r…   r†   rG   rG   rH   Ú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ÚNaTr[   r9   rQ   ú=Invalid type for timedelta scalar: <class 'numpy.datetime64'>rd   úm8[ns])	r;   Ú
datetime64ri   r@   r   r=   rk   rl   Ú	TypeError)rC   Úframe_or_seriesÚnatrD   rm   rG   rG   rH   Ú,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–   ro   rŽ   rK   rf   r9   r8   rP   r   c                 S   ó   g | ]}t |ƒ‘qS rG   ©r   ©Ú.0ÚxrG   rG   rH   Ú
<listcomp>Ç   ó    zXTestDataFrameConstructors.test_datetimelike_values_with_object_dtype.<locals>.<listcomp>)r!   r    r;   r<   Úviewr=   r   r@   rU   Úarraysr:   Ú
isinstanceÚravelr   r   )rC   r”   r‘   r:   Úscalar_typerD   ÚobjÚsersrG   rG   rH   Ú*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é   rQ   rt   r   ©Úcolumns)r   Úranger   rA   rB   )rC   r›   Úyrz   rF   rG   rG   rH   Ú)test_series_with_name_not_matching_columnÌ   s   zCTestDataFrameConstructors.test_series_with_name_not_matching_columnÚconstructorc                   C   s   t ƒ S ©N©r   rG   rG   rG   rH   Ú<lambda>Ü   s    z"TestDataFrameConstructors.<lambda>c                   C   s   t d ƒS r­   r®   rG   rG   rG   rH   r¯   Ý   ó    c                   C   s   t dƒS ©NrG   r®   rG   rG   rG   rH   r¯   Þ   r°   c                   C   s   t g ƒS r­   r®   rG   rG   rG   rH   r¯   ß   r°   c                   C   s   t dd„ dD ƒƒS )Nc                 s   ó   � | ]}|V  qd S r­   rG   ©rš   Ú_rG   rG   rH   Ú	<genexpr>à   ó   € ú5TestDataFrameConstructors.<lambda>.<locals>.<genexpr>rG   r®   rG   rG   rG   rH   r¯   à   s    c                   C   s   t tdƒƒS ©Nr   ©r   r©   rG   rG   rG   rH   r¯   á   ó    c                   C   s
   t d d�S ©N©Údatar®   rG   rG   rG   rH   r¯   â   ó   
 c                   C   s
   t dd�S )NrG   r¼   r®   rG   rG   rG   rH   r¯   ã   r¾   c                   C   s
   t g d�S r»   r®   rG   rG   rG   rH   r¯   ä   r¾   c                   C   s   t dd„ dD ƒd�S )Nc                 s   r²   r­   rG   r³   rG   rG   rH   rµ   å   r¶   r·   rG   r¼   r®   rG   rG   rG   rH   r¯   å   r�   c                   C   s   t tdƒd�S )Nr   r¼   r¹   rG   rG   rG   rH   r¯   æ   s    c                 C   s@   t ƒ }|ƒ }t|jƒdksJ ‚t|jƒdksJ ‚t ||¡ d S r¸   )r   rT   r^   r¨   rA   rB   ©rC   r¬   rF   rz   rG   rG   rH   Útest_empty_constructorÙ   s
   z0TestDataFrameConstructors.test_empty_constructorc                   C   s   t i ƒS r­   r®   rG   rG   rG   rH   r¯   ó   r°   c                   C   s
   t i d�S r»   r®   rG   rG   rG   rH   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   rT   r^   r¨   rA   rB   r¿   rG   rG   rH   Ú#test_empty_constructor_object_indexð   s
   z=TestDataFrameConstructors.test_empty_constructor_object_indexz)emptylike,expected_index,expected_columnsrQ   r   rP   c                 c   r²   r­   rG   r³   rG   rG   rH   rµ     r¶   z#TestDataFrameConstructors.<genexpr>rG   c                 C   s$   t ||d�}t |ƒ}t ||¡ d S )NrÁ   ©r   rA   rB   )rC   Ú	emptylikeÚexpected_indexÚexpected_columnsrF   rz   rG   rG   rH   Útest_emptylike_constructorþ   s   	z4TestDataFrameConstructors.test_emptylike_constructorc                 C   s$   |rdnt j}|d j|ksJ ‚d S )NÚstringÚfoo)r;   Úobject_r:   )rC   Úfloat_string_frameÚusing_infer_stringr:   rG   rG   rH   Ú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 floatrd   r~   ©r~   ÚbÚcr9   )r7   rP   rÊ   z5Expected a 1D array, got an array with shape \(4, 2\)ÚtestÚfoo2)rk   rl   Ú
ValueErrorr   r;   r,   Úonesrv   )rC   rm   rE   rG   rG   rH   Ú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)r:   Úcopyg      i@rÚ   r   )r   Úfloat)rC   Úorig_dfÚnew_dfrG   rG   rH   Ú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 )NrQ   rP   r   r9   éc   ©r   r   )r   r:   ÚilocÚvaluesrA   Úassert_cow_warning)rC   Úusing_copy_on_writeÚwarn_copy_on_writerE   Úshould_be_viewrG   rG   rH   Ú,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 )
NrQ   rP   r8   r7   r4   r9   r   éa   rã   )r   rå   r:   rä   rU   rŸ   ÚflagsÚc_contiguous)rC   rW   rç   rè   rE   ré   Údf2rG   rG   rH   Ú+test_constructor_dtype_nocast_view_2d_array9  s   
zETestDataFrameConstructors.test_constructor_dtype_nocast_view_2d_arrayzconversion copies©Úreasonc                 C   s4   t jddgdd�}t|dd�}t  |j|¡sJ ‚d S )Nr~   rÐ   r@   r9   F©rÝ   ©r;   ri   r   Úshares_memoryrå   ©rC   rD   rE   rG   rG   rH   Ú"test_1d_object_array_does_not_copyI  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�}t  |j|¡sJ ‚d S )	Nr~   rÐ   rÑ   r…   r@   r9   Frò   ró   rõ   rG   rG   rH   Ú"test_2d_object_array_does_not_copyQ  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 )NrQ   Ú2r~   r9   ©rQ   r   rR   )r   r@   Úlocrq   rG   rG   rH   Ú test_constructor_dtype_list_dataY  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\)rd   ÚArQ   rP   zshape=\(2, 2, 1\))r   r;   Úemptyrk   rl   rÔ   )rC   r~   rÐ   rG   rG   rH   Ú"test_constructor_list_of_2d_raises^  s   
ÿÿ"ÿz<TestDataFrameConstructors.test_constructor_list_of_2d_raisesztyp, adrÞ   rÊ   Úbar©rü   rs   Ú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 )rP   é
   r9   )r;   ri   ÚrandomÚdefault_rng©rš   r…   rG   rG   rH   rœ   z  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 )rP   r  )Úsizer9   )r;   ri   r  r  Úintegersr  rG   rG   rH   rœ     s    ÿÿ)ÚMIXED_INT_DTYPESÚMIXED_FLOAT_DTYPESÚzipr:   ÚupdateÚdictr   Údtypes)rC   ÚtypÚadr  rŸ   r…   r~   rE   rG   rG   rH   Útest_constructor_mixed_dtypesl  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 )NrP   r  ©r~   rÐ   )
r;   r  r  r?   Ú	complex64Ú
complex128r   r:   r~   rÐ   ©rC   r~   rÐ   rE   rG   rG   rH   Ú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›   r9   FTrù   )r   r$   rA   rB   rä   r;   rj   Úisnan)rC   Ústring_dtyperE   rz   rF   rG   rG   rH   Ú$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  rs   rÁ   r§   )Ú
to_recordsÚlistr:   Únamesr^   r   rA   Úassert_index_equalr¨   r   r;   r<   rT   ÚreindexrB   )	rC   Úfloat_frameÚrecr^   rE   rî   ÚrngÚdf3rF   rG   rG   rH   Ú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  r9   rR   )r   r;   rÕ   ÚboolÚzerosrå   r:   Úbool_rq   rG   rG   rH   Ú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 )ì            rG   ©rš   ÚirG   rG   rH   rœ   »  r�   zMTestDataFrameConstructors.test_constructor_overflow_int64.<locals>.<listcomp>rQ   r  r9   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;   ri   r©   r0   r   r:   r&  rT   )rC   rå   rz   Údata_scoresr:   r½   Ú	df_crawlsrG   rG   rH   Útest_constructor_overflow_int64¹  s    z9TestDataFrameConstructors.test_constructor_overflow_int64rå   r)  r9   éA   l           lûÿÿÿ        lûÿÿÿ        c                 C   s:   |d }t |ƒ}|d jtksJ ‚|d d |ksJ ‚d S r¸   )r   r:   r@   ©rC   rå   r_   rz   rG   rG   rH   Ú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   r:   r6  rG   rG   rH   Ú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   rP   c                 S   s   g | ]}d |d›�‘qS )rü   r…   rG   r*  rG   rG   rH   rœ   ø  ó    zJTestDataFrameConstructors.test_constructor_ordereddict.<locals>.<listcomp>r   )
r  r©   r;   r  r  Úshuffler   r   r  r¨   )rC   ÚnitemsÚnumsrF   rE   rG   rG   rH   Ú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é   r9   ú
2020-01-01©rN   r]   r¦   ©rÚ   rÛ   é   rÚ   rÛ   ©r^   rh   )rÛ   rÜ   Úcol4r§   rÜ   r   ú<Mixing dicts with non-Series may lead to ambiguous ordering.rd   r~   rÐ   r  rÏ   ©rü   rs   )r   r;   r<   r,   r#   r   rT   rA   rw   ÚrenameÚconcatenaterj   rå   r^   r$   Úallrk   rl   rÔ   )rC   Údatetime_seriesÚdatetime_series_shortÚframeÚexprm   rG   rG   rH   Ú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ü   rQ   rP   ©Ú1rø   rR  rø   )r   rA   r  r^   r   ©rC   rN  rG   rG   rH   Útest_constructor_dict_length1$  s   z7TestDataFrameConstructors.test_constructor_dict_length1c                 C   s*   t g d¢ƒ}ti |d�}|j|u sJ ‚d S )N©r   rQ   rP   r]   )r   r   r^   ©rC   ry   rN  rG   rG   rH   Ú 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Á   r8   )r   r   r^   r¨   rT   Ú_seriesrV  rG   rG   rH   Ú,test_constructor_dict_with_index_and_columns/  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ü   rs   r§   r   T©Úexact)r   rA   r  r^   r   rS  rG   rG   rH   Ú$test_constructor_dict_of_empty_lists7  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_valuerA   rB   )rC   Ú
frame_noneÚframe_none_listrG   rG   rH   Útest_constructor_dict_with_none<  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 indexrd   r~   gffffffæ?r§   ©rk   rl   rÔ   r   ©rC   rm   rG   rG   rH   Útest_constructor_dict_errorsE  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Ä   )rC   re  rz   rF   rG   rG   rH   Ú%test_constructor_invalid_items_unusedO  s   z?TestDataFrameConstructors.test_constructor_invalid_items_unusedr_   rj   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 )NrQ   r8   r~   r   r7   rP   r¦   c                    ó"   i | ]}ˆ | t ˆ| ˆd �“qS ©r]   r˜   ©rš   rÑ   ©Úcolsry   rå   rG   rH   Ú
<dictcomp>\  ó   " zKTestDataFrameConstructors.test_constructor_dict_nan_key.<locals>.<dictcomp>©ÚaxisrK   r4   r9   rÁ   r]   )r©   r   Úsort_valuesr;   r<   r=   rA   rB   ©rC   r_   r½   rz   rF   rG   rk  rH   Útest_constructor_dict_nan_keyV  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~   rP   r   r8   rQ   r7   r¦   c                    rh  ri  r˜   rj  rk  rG   rH   rm  o  rn  zQTestDataFrameConstructors.test_constructor_dict_nan_tuple_key.<locals>.<dictcomp>ro  rK   r4   r9   rÁ   r]   )	r   r©   r   rq  r;   r<   r=   rA   rB   rr  rG   rk  rH   Ú#test_constructor_dict_nan_tuple_keyi  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  r9   rA  rB  r]   r¦   ©rÐ   r~   r¼   Úba©r½   r¨   )	r   r;   r<   r,   r#   r   r  rA   rB   )rC   rL  rM  r…   rN  rF   rG   rG   rH   Ú%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 )NrQ   rP   r8   r§   )r   r;   rj   rA   rB   ©rC   rz   rF   rG   rG   rH   Ú)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)©rP   r8   ©r8   r8   r€  rÁ   )r€  r  r€  )r   Úfrom_tuplesr   r$   rå   r¡   rK  )rC   ÚtuplesÚmirE   rG   rG   rH   Ú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 )	NrQ   rP   ©r¨   r^   r4   r9   r   )ÚlevelsÚcodesrÁ   )r   r   r   rA   rB   ©rC   rE   rF   rG   rG   rH   Ú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.rd   r   rQ   r]   rG  r~   rÐ   r  rÏ   rH  z:Shape of passed values is \(4, 3\), indices imply \(3, 3\)r6   )r7   r8   ©rÊ   rÿ   Úbazú
2000-01-01r8   rB  r…  ©r7   r¦   rK   z:Shape of passed values is \(1, 3\), indices imply \(1, 4\)r7   ©r^   r¨   r½   z:Shape of passed values is \(3, 1\), indices imply \(1, 4\)úMust pass 2-d input©r8   r8   r8   r   ú:Shape of passed values is \(2, 3\), indices imply \(1, 3\)rP   r  ú:Shape of passed values is \(2, 3\), indices imply \(2, 2\)rü   rs   z,2 columns passed, passed data had 10 columnsr  é   )rÕ   Útwosr§   ra  FT)rk   rl   rÔ   r   r;   rý   r<   r=   r#   ri   r©   r&  r  r  )rC   rm   rD   rG   rG   rH   Ú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      $@NrG   r™   rG   rG   rH   rµ   î  ó   € zKTestDataFrameConstructors.test_constructor_subclass_dict.<locals>.<genexpr>r  c                 s   r–  )g      4@NrG   r™   rG   rG   rH   rµ   ï  r—  rC  c                 S   s   i | ]\}}|t | ¡ ƒ“qS rG   )r  Úitems)rš   ÚcolÚvalrG   rG   rH   rm  ò  s    zLTestDataFrameConstructors.test_constructor_subclass_dict.<locals>.<dictcomp>)r©   r   r˜  rA   rB   )rC   Údict_subclassr½   rE   ÚrefdfrG   rG   rH   Ú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  rs   r]   )r;   rj   rú   r^   r˜  r   r  r  rƒ   r   r  rA   rB   )rC   r   r½   ÚkÚvÚdctrN  rF   rG   rG   rH   Ú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;   ri   r   rA   Úassert_numpy_array_equalrå   ©rC   rF   rE   rG   rG   rH   Ú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 )NrQ   rP   rQ  rR  rø   Ú3)rR  rø   r¦  rH  r9   r8   rs   rü   )r   rÞ   rT   r:   r;   r,   rË   )rC   rÍ   Ú	test_datarN  rG   rG   rH   Ú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_rG   r*  rG   rG   rH   rœ     ó    zITestDataFrameConstructors.test_constructor_dict_cast2.<locals>.<listcomp>é   rP   rH  zcould not convert stringrd   r9   )r  r  r©   r;   r  r  Ústandard_normalrk   rl   rÔ   r   rÞ   )rC   r§  rG   rG   rH   Ú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;   rj   r   r    rÞ   )rC   r…   rE   rG   rG   rH   Ú!test_constructor_dict_dont_upcast$  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 )NrQ   rP   r~   rÐ   rÁ   )r   r    r  )rC   ÚdmrG   rG   rH   Ú"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©rQ   rP   r8   r�  r  c                 S   s   i | ]	\}}|t |ƒ“qS rG   )r  )rš   rž  rŸ  rG   rG   rH   rm  2  s    zMTestDataFrameConstructors.test_constructor_dict_of_tuples.<locals>.<dictcomp>F©Úcheck_dtype)r   r˜  rA   rB   ©rC   r½   rz   rF   rG   rG   rH   Ú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 )Nr8   rK   r  rU  )r8   r7   r¦   ©r©   r   rA   rB   r·  rG   rG   rH   Útest_constructor_dict_of_ranges5  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 )Nr8   r  rU  ©rP   rQ   r   )Úiterr©   Úreversedr   rA   rB   r·  rG   rG   rH   Ú"test_constructor_dict_of_iterators=  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­   rG   r*  rG   rG   rH   rµ   G  r¶   zPTestDataFrameConstructors.test_constructor_dict_of_generators.<locals>.<genexpr>r8   r  rU  r»  )r©   r½  r   rA   rB   r·  rG   rG   rH   Ú#test_constructor_dict_of_generatorsE  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   rQ   rP   )©r+  r+  ©r+  Új©rÂ  r+  rK   r¦   r7   é   é   é	   ))r~   r~   ry  )rÐ   rÑ   c                 S   ó   g | ]}|d  ‘qS ©rQ   rG   r™   rG   rG   rH   rœ   U  r�   zNTestDataFrameConstructors.test_constructor_dict_multiindex.<locals>.<listcomp>c                 S   rÇ  ©r   rG   r™   rG   rG   rH   rœ   U  r�   r]   g     À^@éo   )rª   rÀ  rÁ  rÃ  Úzc                 S   rÇ  rÈ  rG   r™   rG   rG   rH   rœ   `  r�   c                 S   rÇ  rÉ  rG   r™   rG   rG   rH   rœ   `  r�   F)Útupleize_colsr…  )Úsortedr˜  r   r   r�  ÚTr^   rA   rB   Úinsertr   r  r¨   )rC   r…   Ú_drE   rF   rG   rG   rH   Ú test_constructor_dict_multiindexL  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 ©rP   rG   ©rš   r+  Ús©r¬   rG   rH   rm  l  rn  ziTestDataFrameConstructors.test_constructor_dict_datetime64_index.<locals>.create_data.<locals>.<dictcomp>)Ú	enumeraterÖ  ©Údates_as_strrÖ  rH   Úcreate_datak  s   zUTestDataFrameConstructors.test_constructor_dict_datetime64_index.<locals>.create_datac                 S   ó   t  | d¡S )Nz%Y-%m-%d)r	   Ústrptime©r›   rG   rG   rH   r¯   o  rº   zRTestDataFrameConstructors.test_constructor_dict_datetime64_index.<locals>.<lambda>r   ©r   rQ   rP   r8   rP   r7   rK   c                 S   r—   rG   )r!   )rš   r\   rG   rG   rH   rœ   y  r�   zTTestDataFrameConstructors.test_constructor_dict_datetime64_index.<locals>.<listcomp>r]   )r;   r�   r!   r   rA   rB   )	rC   rÚ  Údata_datetime64Údata_datetimeÚdata_TimestamprF   Úresult_datetime64Úresult_datetimeÚresult_TimestamprG   rØ  rH   Ú&test_constructor_dict_datetime64_indexg  s&   
üù
z@TestDataFrameConstructors.test_constructor_dict_datetime64_indexz
klass,namec                 C   rÛ  ©Nrf  )r;   Útimedelta64rÝ  rG   rG   rH   r¯   †  rº   rç  c                 C   s
   t | d�S )N)Údays)r
   rÝ  rG   rG   rH   r¯   ‡  r¾   Úpytimedeltac                 C   s
   t | dƒS ræ  ©r    rÝ  rG   rG   rH   r¯   ˆ  r¾   zTimedelta[ns]c                 C   s   t | dƒ d¡S )Nrf  rÕ  )r    ra   rÝ  rG   rG   rH   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©rQ   rP   r8   r7   c                    rÒ  rÓ  rG   rÔ  ©ÚklassrG   rH   rm  �  rn  zUTestDataFrameConstructors.test_constructor_dict_timedelta64_index.<locals>.<dictcomp>r   rÞ  rP   r7   rK   c                 S   s   g | ]}t |d ƒ‘qS )rf  rê  )rš   ÚtdrG   rG   rH   rœ   ™  rª  zUTestDataFrameConstructors.test_constructor_dict_timedelta64_index.<locals>.<listcomp>r]   )r×  r   rA   rB   )rC   rí  rh   Ú	td_as_intr½   rF   rz   rG   rì  rH   Ú'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   r:   r?   r@   rv   r  rG   rG   rH   Ú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   r:   rA   rB   )rC   Úea_scalar_and_dtypeÚ	ea_scalarÚea_dtyperE   rF   rG   rG   rH   Ú&test_constructor_dict_extension_scalar­  s
   z@TestDataFrameConstructors.test_constructor_dict_extension_scalarz
data,dtypez2020-01r¦   )ÚleftÚrightr4   rû  z
2011-01-01ú
US/Eastern©rO   rÕ  )ÚunitrO   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   rQ   r~   rÐ   rŽ  rP   r9   r  )r   r:   ró  ri   rA   rB   )rC   r½   r:   rE   rD   rF   rG   rG   rH   Ú&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  rP   ©r  r¦   r§   r]   )ró  Úperiod_ranger   r;   r  r  r¬  r¨   r^   r]  Ú
setdefaultrA   rB   rÎ  )rC   r"  rE   r½   r™  Úrowrz   rG   rG   rH   Ú"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  r9   r   rQ   rP   r…  r8   )r8   rü   r´  rc   rd   ©r¨   r^   r:   r‘  r’  rs   r�  r�  TrZ  r]   r§   )r   r8   r   )r8   r   )rÞ   r   rT   r^   r¨   r;   rÕ   rk   rl   r   r4   rå   r:   rÔ   rA   r  r   r©   )rC   rý   ÚmatrN  rm   rG   rG   rH   Ú_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   rQ   rü   rÁ   rP   )r  r;   rÕ   r   rT   rS  rG   rG   rH   Ú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  r9   r×   rã   rØ   ©rQ   rP   r   rQ   rP   r…  rü   r  )r  r   Ú
masked_allrÞ   r   r;   rK  Úasarray)rC   r  rN  rG   rG   rH   Útest_constructor_maskedarray  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  r9   r   rQ   rP   r…  r8   r  rã   r	  rü   r  ro   z8datetime64\[ns\] values and dtype=int64 is not supportedrd   rf   TF)r   r
  r  r   rT   r^   r¨   r;   rK  r  r,   rå   r:   rÝ   r$   rk   rl   r�   r4   r?   r%  r@   )rC   r  rN  Úmat2rm   rG   rG   rH   Ú%test_constructor_maskedarray_nonfloat/  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)rP   rP   r9   rü   rs   rQ   rP   r…  rH  r  r×   )
r   r
  rÞ   Úharden_maskr   r;   rj   rA   rB   rÕ   )rC   Úmat_hardrz   rF   rG   rG   rH   Ú%test_constructor_maskedarray_hardeneds  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  r9   F)ÚmaskzPass \{name: data\[name\]rd   )r;   r   ri   r&  rž   r   Ú	mrecarrayrk   rl   r�   r   r  ©rC   r½   rG   rG   rH   Ú%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å   Úshaperq   rG   rG   rH   Ú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å   r:   )rC   r½   r^   r¨   r:   rF   rE   rG   rG   rH   Útest_constructor_dtype—  s   z0TestDataFrameConstructors.test_constructor_dtypezdata,input_dtype,expected_dtype)TFNÚboolean©r×   rØ   NÚFloat64)rQ   rP   NÚInt64rÏ   rÉ   c                 C   s(   t d|i|d�}|d j|ƒ ksJ ‚d S )Nr~   r9   r8  )rC   r½   Úinput_dtypeÚexpected_dtyperE   rG   rG   rH   Ú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 )NrQ   TrÙ   y              @rÊ   )r  r%  rÞ   Úcomplexr@   r  r]   r  r%  rÞ   r"  r@   )	r   r;   r<   r:   r4   r'  r,   r  rË   )rC   rÍ   r½   rE   rG   rG   rH   Ú!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 )	NrP   r  Tr  r~   zmust pass an indexrd   F)r   r;   r  r  r¬  rå   rA   rB   rk   rl   rÔ   )rC   rE   rO  rG   rG   rH   Ú#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 ©Nr9   )r   rA   rB   r;   r4   rå   r:   )rC   r   rE   Ú	df_castedrG   rG   rH   Útest_constructor_DataFrameÆ  s   z4TestDataFrameConstructors.test_constructor_DataFramec                 C   s*   t t ƒ dd�}t g dd�}t ||¡ d S )Nr@   r9   rÄ   )rC   ÚactualrF   rG   rG   rH   Ú 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 )NrP   r  rü   r…  r   rs   ©r  rP   r§   )r   rP   r]   )r  r   rÊ   rÿ   r9   rQ   z(could not convert string to float: 'foo'rd   ©r^   r¨   r:   rH  )r;   r  r  r¬  r   r<   rå   Úndimr  ri   r@   r=   rk   rl   rÔ   rÞ   rX  rA   rB   rÕ   r  r,   rT   r¨   r:   )rC   r   rD   r²  r  rm   rG   rG   rH   Ú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ü   rs   r§   c                   s   s   � dE d H  d S r±   rG   rG   rG   rG   rH   Ú	empty_gen  s   €zHTestDataFrameConstructors.test_constructor_empty_list.<locals>.empty_genrÄ   )rC   rE   rF   r.  rG   rG   rH   Ú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 )NrQ   r~   rP   rÐ   Únumr>   r{  rÉ   r   r  c                 S   ó   g | ]}t  |¡‘qS rG   ©r;   ri   r™   rG   rG   rH   rœ     rª  zLTestDataFrameConstructors.test_constructor_list_of_lists.<locals>.<listcomp>)	r   r   r:   r;   rË   r<   r©   rA   rB   )rC   rÍ   rE   rF   r½   rz   rG   rG   rH   Ú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 )NrQ   rP   r9   r   )rP   rQ   )r   r;   ri   r@   r   ró  rA   rB   r  r£  rå   )rC   ÚserrD   rE   rF   rG   rG   rH   Ú.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ë  ©r7   r¦   rK   rÄ  r§   )r  r   r   Úfrom_arraysrA   rB   )rC   rŸ   rz   rƒ  rF   rG   rG   rH   Ú2test_constructor_list_like_data_nested_list_column&  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 4rd   rë  r8  r§   ©r  rk   rl   rÔ   r   ©rC   rŸ   rm   rG   rG   rH   Ú0test_constructor_wrong_length_nested_list_column0  s
   "ÿzJTestDataFrameConstructors.test_constructor_wrong_length_nested_list_columnc                 C   r;  )Nr6  r<  zall arrays must be same lengthrd   rë  r8  r§   r=  r>  rG   rG   rH   Ú2test_constructor_unequal_length_nested_list_column8  s
   "ÿzLTestDataFrameConstructors.test_constructor_unequal_length_nested_list_columnr½   ú
2021-01-01r›   r[   c                 C   s:   t |g d¢dgd�}t dtdƒgd iƒ}t ||¡ d S )NrU  r›   rÁ   rA  r8   )r   r!   rA   rB   r·  rG   rG   rH   Ú&test_constructor_one_element_data_listA  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)rC   ÚlstrG   rG   rH   Ú__init__U  ó   
zYTestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainer.__init__c                 S   s   | j  |¡S r­   )rD  Ú__getitem__)rC   ÚnrG   rG   rH   rH  X  s   z\TestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainer.__getitem__c                 S   s
   | j  ¡ S r­   )rD  Ú__len__)rC   rG   rG   rH   rJ  [  rG  zXTestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainer.__len__)rC  N)Ú__name__Ú
__module__Ú__qualname__rF  rH  r  rJ  rG   rG   rG   rH   ÚDummyContainerT  s    
rN  rQ   r~   rP   rÐ   r0  r>   r§   Frµ  )r   ÚSequencer   rA   rB   )rC   rN  Úlst_containersr¨   rz   rF   rG   rG   rH   Útest_constructor_sequence_likeP  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   ri   r©   r  rA   rB   r}  rG   rG   rH   Útest_constructor_stdlib_arrayd  s   $z7TestDataFrameConstructors.test_constructor_stdlib_arrayc                 C   s,   t tdƒƒ}t ttdƒƒƒ}t ||¡ d S ©Nr  ©r   r©   r  rA   rB   r}  rG   rG   rH   Útest_constructor_rangeo  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}  rG   rG   rH   Útest_constructor_list_of_rangesu  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©   )rC   r+  rG   rG   rH   Ú__iter__}  s   €ÿzJTestDataFrameConstructors.test_constructor_iterable.<locals>.Iter.__iter__N)rK  rL  rM  r   rW  rG   rG   rG   rH   ÚIter|  s    rX  r´  r  rÄ   )rC   rX  rF   rz   rG   rG   rH   Útest_constructor_iterablez  s   
z3TestDataFrameConstructors.test_constructor_iterablec                 C   s0   t ttdƒƒƒ}t ttdƒƒƒ}t ||¡ d S rS  ©r   r¼  r©   r  rA   rB   r}  rG   rG   rH   Ú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}  rG   rG   rH   Ú"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­   rG   r*  rG   rG   rH   rµ   ’  r¶   zGTestDataFrameConstructors.test_constructor_generator.<locals>.<genexpr>r  c                 s   r²   r­   rG   r*  rG   rG   rH   rµ   “  r¶   c                 s   s   � | ]}|d gV  qdS )r~   NrG   r*  rG   rG   rH   rµ   ™  ó   € r~   rR   Frµ  )r©   r   r  rA   rB   )rC   Úgen1Úgen2rF   rz   ÚgenrG   rG   rH   Útest_constructor_generator�  s   z4TestDataFrameConstructors.test_constructor_generatorc                 C   s*   t i gƒ}t tdƒg d�}t ||¡ d S )NrQ   rÁ   )r   r   rA   rB   r}  rG   rG   rH   Ú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Ð   rQ   )r~   rP   )rÐ   rP   )r~   r¦   rÛ   rÚ   rQ   rP   r¦   )rÛ   rÚ   rÐ   r~   )r½   r^   )r   r   rA   rB   )rC   Únested1Únested2r½   rz   rF   rG   rG   rH   Ú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 )NrP   rQ   rÐ   r~   r§   rÄ   )rC   rf  rF   r½   rz   rG   rG   rH   Ú,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 )NrP   rÐ   rQ   r~   ry  r§   rÄ   )rC   rf  Úrow_oneÚrow_twoÚ	row_threerF   rz   rG   rG   rH   Ú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*  rG   rG   rH   rœ   ×  rn  z[TestDataFrameConstructors.test_constructor_list_of_series_aligned_index.<locals>.<listcomp>r8   rU  rl  )Ú0rR  rø   r…  r¹  )rC   Úseriesrz   rF   rG   rG   rH   Ú-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  rG   rG   rG   rH   Ú
CustomDictá  ó    rr  ç      ø?r8   r  )r  r   rA   rB   )rC   rr  r…   Údata_customr½   Úresult_customrz   rG   rG   rH   Ú&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 )NrP   r  rÅ  rH  z%All arrays must be of the same lengthrd   )r;   r  r  r¬  rk   rl   rÔ   r   r  rG   rG   rH   Ú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 )Nr8   r~   r   r]   )r   r   r   Frµ  )r   r©   r   rA   rB   )rC   ry   rE   rF   rG   rG   rH   Útest_constructor_scalarõ  s   z1TestDataFrameConstructors.test_constructor_scalarc                 C   s"   t |d |jdgd�}| ¡  d S )Nrü   rÁ   )r   r^   rÝ   )rC   r   rE   rG   rG   rH   Ú 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 )NrQ   rP   r8   rŠ  rü   )r7   r8   rP   rQ   )rÿ   Úquxr‹  rÊ   r]   rs   zambiguous orderingrd   r~   rÐ   r  rH  )	r   r   r^   Úis_monotonic_increasingrk   rl   rÔ   rA   rB   r·  rG   rG   rH   Ú&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 )NrQ   rP   ©r8   r7   r8   r7   rÄ   r·  rG   rG   rH   Ú test_constructor_mixed_type_rows  s   z:TestDataFrameConstructors.test_constructor_mixed_type_rowsztuples,lists)rG   rG   r´  r�  c                 C   s    t |ƒ}t |ƒ}t ||¡ d S r­   rÄ   )rC   r‚  Úlistsrz   rF   rG   rG   rH   Ú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   rA   rB   r}  rG   rG   rH   Ú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ÚabrQ   r8   rP   r7   r  )rª   rË  rª   rË  r§   )r   r  r   rA   rB   )rC   Únamed_tupler‚  rF   rz   rG   rG   rH   Ú$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   r8   rQ   ©r›   rª   )r   r  r   rA   rB   )rC   rˆ  r½   rF   rz   rG   rG   rH   Ú$test_constructor_list_of_dataclasses;  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   r8   rQ   )r›   rª   rŒ  r�  )r   r  r   r;   rj   rA   rB   )rC   rˆ  r‹  r½   rF   rz   rG   rG   rH   Ú7test_constructor_list_of_dataclasses_with_varying_typesD  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 instancesrd   r   rQ   r‰  )r   r  rk   rl   r�   ÚreÚescaper   )rC   rˆ  rm   rG   rG   rH   Ú1test_constructor_list_of_dataclasses_error_thrownR  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 )NrQ   r7   rÄ  r  )ÚFirstÚSecondÚThirdÚFourthr¦   rP   rt  rÅ  )r“  r’  r•  r”  rK   r8   r6   rÆ  é   rw  )r“  r’  r•  r”  ÚYYYÚXXXr´  r�  )rÄ  rÅ  rÆ  )r  rt  r6   )NNr–  )NNrw  )r’  r“  r”  r•  r—  r˜  rÄ   )rC   r½   rF   rz   rG   rG   rH   Ú#test_constructor_list_of_dict_order[  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   rP   r  rt   r8   rw  r]   z<Shape of passed values is \(10, 1\), indices imply \(10, 2\)rd   rQ   r§   ©rh   r:   )r›   ú	Unnamed 0r›  rù   )r   r   r¨   rA   r  r^   r;   r  r  r¬  rB   r©   rk   rl   rÔ   r@   rÎ  )rC   r~   rE   rD   rÕ  rF   rm   Ús1rG   rG   rH   Útest_constructor_Series_namedo  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   rt   rQ   r§   )r   r©   rA   rB   r   Úto_framerý   )rC   Ús0rœ  rG   rG   rH   Ú)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¨   rA   rB   r  r^   )rC   rœ  Ús2Úother_indexÚdf1Úexp1rî   Úexp2rG   rG   rH   Ú+test_constructor_Series_differently_indexed£  s   zETestDataFrameConstructors.test_constructor_Series_differently_indexedz#name_in1,name_in2,name_in3,name_out))ry   ry   ry   ry   )ry   ry   NN)ry   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Ï   rt   )rÐ   rÑ   r…   )rÑ   r…   Úec                 S   s"   i | ]\}}|t g d ¢|d�“qS )rU  r]   r˜   )rš   r+  rÑ   rG   rG   rH   rm  Ê  s    ÿzJTestDataFrameConstructors.test_constructor_index_names.<locals>.<dictcomp>)r›   rª   rË  ©r~   rÐ   rÑ   r…   rª  r   rQ   rP   r]   )r   r  r   r;   rj   rA   rB   )
rC   Úname_in1Úname_in2Úname_in3Úname_outÚindicesrn  rz   Úexp_indrF   rG   rG   rH   Ú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¦   r8   z#Passing a BlockManager to DataFrameF)re   Úcheck_stacklevelrÁ   )
r  r^   r¨   rA   Úassert_produces_warningÚDeprecationWarningr   rU   r  r   )rC   r   r^   r¨   rm   rz   rG   rG   rH   Ú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ü   rs   rH  r§   zdoes not match index lengthrd   éþÿÿÿ)r   r  rA   rB   rú   rk   rl   rÔ   )rC   r   rE   rm   rG   rG   rH   Ú%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 )Nrc   rd   rQ   r   r9   )rk   rl   r   r   r;   rj   r4   rc  rG   rG   rH   Ú%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¨   rA   rB   Úfrom_records)rC   rE   ÚedfÚidfrG   rG   rH   Ú"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d�}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   rQ   r+  ÚU5)r   r@   r>   rA   rB   r;   Ústr_r¤  rG   rG   rH   Ú(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¨   r:   rÄ   )rC   Únullable_string_dtyperF   rE   rG   rG   rH   Ú,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   r4   r~   rQ   rP   rÑ   r9   z*DataFrame constructor not properly called!rd   r§   zincompatible data and dtype)r   rA   rB   r;   r&  r  r?   r^   r¨   ri   r@   rk   rl   rÔ   r�   rÞ   )rC   rE   rm   rG   rG   rH   Ú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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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dg t  d¡g t  |¡g ddd||gd
�}t ||¡ d S )NrQ   rÊ   rÿ   Ú20010101éÑ  rP   r   )rü   rs   r  rf  ÚEr  r]   r4   rÉ   úM8[s]úM8[us]ÚABCDEr~   r×   rÐ   rÑ   r9   r,   r@   )r;   r:   r  rh   r,   rË   r   r!   r	   r<   r  r   r  rA   rw   ri   )rC   rÍ   ÚintnameÚ	floatnameÚ
objectnamerE   rz   rF   rG   rG   rH   Útest_constructor_with_datetimes4  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ò  rN   c                 S   ó   g | ]}|  ¡ ‘qS rG   ©Úto_pydatetime©rš   ÚtsrG   rG   rH   rœ   }  r�   zNTestDataFrameConstructors.test_constructor_with_datetimes1.<locals>.<listcomp>ro   )r#   r   r:   )rC   ÚindÚ	datetimesÚ
datetime_srG   rG   rH   Ú test_constructor_with_datetimes1z  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Ó  rG   rÔ  rÖ  rG   rG   rH   rœ   „  r�   zNTestDataFrameConstructors.test_constructor_with_datetimes2.<locals>.<listcomp>c                 S   rÓ  rG   )r   rÖ  rG   rG   rH   rœ   …  r�   rÙ  r§   Údatesúdatetime64[ns]r@   r]   )r#   r   r  r   r;   r:   rA   rw   )rC   rØ  rÙ  rÜ  rE   rz   rF   rG   rG   rH   Ú 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ü  éÜ  rQ   zEnd Dater   r]   rã   zdatetime64[us, US/Eastern]r9   údatetime64[ns, US/Eastern])ÚpytzÚtimezoneÚlocalizer	   r   ÚiatrA   rw   r  r   r@   )rC   rO   r\   rE   rG   rG   rH   Ú 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Ú20130101r8   rB  r_   rã   ÚUTCrM   rü  )r#   r   rä  rO   r>   )rC   ÚdrrE   rG   rG   rH   Ú 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ü  ©rN   rò  rO   r~   T©Údrop©r#   r   Ú	to_seriesÚreset_indexrA   rB   )rC   r+  rF   rE   rG   rG   rH   Ú 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ì  ©rN   rò  r  Trí  rï  )rC   r+  Úi_no_tzrE   rF   rG   rG   rH   Ú test_constructor_with_datetimes6»  s
   z:TestDataFrameConstructors.test_constructor_with_datetimes6rD   rŒ   c                 C   s*   t |ƒj}tt d¡gƒ}t ||¡ d S )NrÝ  )r   r  r   r;   r:   rA   rw   )rC   rD   rz   rF   rG   rG   rH   Ú%test_constructor_datetimes_with_nullsÃ  s   
z?TestDataFrameConstructors.test_constructor_datetimes_with_nullsÚorder)ÚKrü   r  ÚFrþ  )r–   rf  Úhr•   rÕ  ÚmsÚusr[   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©r:   r÷  ro   )r–   rf  rú  r•   úCannot castrd   zdatetime64[s]r9   )	r;   ri   r   r?   rk   rl   r�   rA   rB   )rC   r÷  rþ  r:   ÚnarE   rF   rG   rG   rH   Ú!test_constructor_datetimes_non_nsÖ  s"   þúÿz;TestDataFrameConstructors.test_constructor_datetimes_non_ns)rf  rú  r•   rÕ  rû  rü  r[   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ý  rQ   rf  rP   r7   r¦   rþ  )rf  rú  r•   rÕ  zm8[r9   )r;   ri   rç  r   r:   r    rA   rB   )	rC   r÷  rþ  r:   r   rE   Úexp_unitÚ	exp_dtyperF   rG   rG   rH   Ú!test_constructor_timedelta_non_nsò  s(   þúþû	z;TestDataFrameConstructors.test_constructor_timedelta_non_nsc                 C   s&  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dt d¡t d¡gt	dƒd�}t ||¡ d S )Nc                 S   s   g | ]}t  d ¡‘qS )r¦   )r;   r<   r™   rG   rG   rH   rœ     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¦   r3   r9   )r;   ri   r<   r™   rG   rG   rH   rœ   "  s     r3   r~   l        l       r   r4   rQ   rP   r×   rØ   r,   r8   r]   )rQ   rP   r7   rÄ  )g333333ó?gffffff@gffffff@g333333@r6  c                 S   s   g | ]}t d ddƒ‘qS )éÐ  rQ   )r	   r*  rG   rG   rH   rœ   E  r;  r7   )r×   rP   r¢  rÄ  r«  r@   rÉ   rÝ  Úabcde)
r   r©   r  r   r;   r:   rA   rw   rä   r  )rC   rÍ   rE   rz   rF   rG   rG   rH   Ú%test_constructor_for_list_with_dtypes  sR   ûÿ	ûø
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  )rC   r   ÚcoprG   rG   rH   Útest_constructor_frame_copyV  s   z5TestDataFrameConstructors.test_constructor_frame_copyc                 C   s@   |  ¡ }t|ƒ}|j|jusJ ‚t t|ƒ¡|_t ||¡ d S r­   )	rÝ   r   rU   r;   r<   rT   r^   rA   rB   )rC   r   Úorigr  rG   rG   rH   Ú#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ò   rK   r   r:  rã   Fiè  )	rå   rÝ   r   rK  rU   rŸ   rì   rí   rä   )rC   r   rW   rç   rD   rE   rG   rG   rH   Útest_constructor_ndarray_copyg  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  )rC   r   rn  rE   rG   rG   rH   Útest_constructor_series_copy…  s   z6TestDataFrameConstructors.test_constructor_series_copyrE   r]   gš™™™™™ñ?gš™™™™™@r§   rÞ  r8  )rÅ  rQ   rP   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$rd   rQ   )r©   rT   r¨   rä   r;   r<   r$   rk   rl   ÚKeyErrorrú   rj   rA   rw   rB   )rC   rE   r+  ÚindexerrG   rG   rH   Ú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~   FrQ   )r   r;   rj   r:   rË   )rC   r…   rG   rG   rH   Ú&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  rQ   r~  r9   rÞ  )	r   r;   ri   r=   Úbroadcast_tor   r:   rA   rB   )rC   ÚcatrD   rz   rF   rG   rG   rH   Ú*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   Úcategoryr9   rg   r   rÊ   rt   )r   r  r   rA   rw   rž  )rC   rE   rF   rÕ  rz   rG   rG   rH   Ú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?   r@   rA   rB   )rC   r  rE   rF   rG   rG   rH   Ú-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  rA   rB   rˆ  rG   rG   rH   Ú(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ˆ  rG   rG   rH   Ú%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ˆ  rG   rG   rH   Ú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)rQ   rP   r8   rQ   r  r9   )r~   rÐ   rÑ   r~   Ú20000101r8   rB  rÏ   )rå   Ú
categoriesr›   r]   )r   r?   rA   rw   r#   r   r;   rj   r^   r   rB   )rC   r˜  rO  Úresr^   rF   rE   rG   rG   rH   Ú#test_constructor_categorical_seriesô  s    ÿz=TestDataFrameConstructors.test_constructor_categorical_seriesr:   c                 C   s,   t dddgidg|d�}|jj|ksJ ‚d S )Nr~   rQ   rP   rÐ   rÂ  )r   rÐ   r:   )rC   r:   r½   rG   rG   rH   Ú%test_check_dtype_empty_numeric_column	  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~   rQ   rP   rÐ   rÂ  r@   )r   rA   ÚBYTES_DTYPESrî  Ú&mark_array_manager_not_yet_implementedrÐ   r:   rh   )rC   Úrequestr:   rW   r½   rG   rG   rH   Ú$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   r@   rž  r  rA   rw   r   r}  rG   rG   rH   Útest_to_frame_with_falsey_names'	  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   rQ   rP   r8   r7   r4   r9   r¦   rÂ  )r   r©   rA   rB   )rC   r:   rF   rz   rG   rG   rH   Útest_constructor_range_dtype0	  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  rG   rG   rG   rH   ÚList?	  rs  r,  r´  r�  )r  r   rA   rB   )rC   r,  rF   rz   rG   rG   rH   Útest_frame_from_list_subclass=	  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‚  )rC   r.  rF   rz   rG   rG   rH   Ú%test_constructor_with_extension_arrayF	  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 )Nr8   r]   r§   rU  )r   Útodayr   r   r©   r   rA   rB   )rC   rŸ  Útuprz   rF   rG   rG   rH   Ú*test_datetime_date_tuple_columns_from_dictU	  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)é'   rK   r7   )ÚfemaleÚmaleÚunknownr]   )rP   é˜   rP   éò   é–   )r  r6  r•   r7  r8  r5  rK   r7   )g      c@g     @n@g     Àb@rØ   rØ   )r6  r7  r8  r  r•   r§   )r   r   r   r;   ri   rj   rA   rB   )rC   rœ  r¡  rz   rF   rG   rG   rH   Ú/test_construct_with_two_categoricalindex_series]	  s   
þþzITestDataFrameConstructors.test_construct_with_two_categoricalindex_seriesc                 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;   rj   rA   rB   )rC   r4  Úser1Úser2rz   r^   rF   rG   rG   rH   Ú1test_constructor_series_nonexact_categoricalindexk	  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Ë  r9   rE  rF  rQ   )r	   r;   ri   r   r   r    r!   )rC   rÜ  rD   rE   rÕ  rG   rG   rH   Ú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  rG   rG   rG   rH   ÚDatetimeSubclass“	  rs  rH  r	   iä  rQ   rÝ  )r	   r   r:   )rC   rH  r½   rG   rG   rH   Ú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 )	NrJ   r8   rL   rM   z@Shape of passed values|Passed arrays should have the same lengthrd   r7   r]   )r#   rk   rl   rÔ   r   r©   )rC   rX   rm   rG   rG   rH   Ú(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ñ  rP   rH  rs   ro   )
r#   r;   r  r   r  r  r¬  rT   Ú
issubdtyper:   )rC   r"  rÜ  rE   rG   rG   rH   Ú!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ª   rP   )r7   r7   c                 S   r1  rG   r2  r™   rG   rG   rH   rœ   ®	  rª  zYTestDataFrameConstructors.test_dataframe_constructor_infer_multiindex.<locals>.<listcomp>r]   r§   )	r   r;   r  r  r¬  r    r^   r   r¨   )rC   Úindex_listsÚmultirG   rG   rH   Ú+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ü   r9   )r   r?   rA   rB   )rC   rP  r  rz   rF   rG   rG   rH   Ú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  r9   )z1.0z2.0N)r   r@   rA   rB   )rC   r  rz   rF   rG   rG   rH   Ú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 )NrQ   rP   r9   r8   r7   )Ú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Úbaser:   Ú_ndarrayr�   ©r£   rG   rG   rH   Ú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­   rG   r™   )rÑ   rG   rH   rµ   ü	  r]  zRTestDataFrameConstructors.test_dict_nocopy.<locals>.check_views.<locals>.<genexpr>rQ   c                 3   ó*   � | ]}t |jtjƒrˆ|ƒˆ u V  qd S r­   ©r    r:   r;   r™   )r~   rY  rG   rH   rµ   
  ó   € ý

ÿc                 3   r[  r­   r\  r™   )rÐ   rY  rG   rH   rµ   
  r]  )ÚsumrU   rŸ   )rZ  ©r~   rÐ   rÑ   rE   rY  rG   rH   Úcheck_viewsõ	  s   "þûþûz?TestDataFrameConstructors.test_dict_nocopy.<locals>.check_viewsr   ÚfciuOzincompatible dtyperd   rã   rR   Tr.  é.   r–   r[   )F)rA   ÚSTRING_DTYPESr&  rî  r'  r;   ri   r:   r”   rk   Úskipró  rÝ   r   r%  r   Úis_np_dtyper  rä   ÚFutureWarningr´  Útype)
rC   r(  rÝ   Úany_numeric_ea_dtypeÚany_numpy_dtyperW   rç   Úc_origr`  ÚwarnrG   r_  rH   Ú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  r9   r~   )r   r   r;   rô   rå   rS   )rC   r4  rE   rG   rG   rH   Ú"test_construct_from_dict_ea_series9
  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 )NrQ   rÊ   rt   rÿ   r§   r‚  r}  rG   rG   rH   Ú'test_from_series_with_name_with_columns@
  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�  rA   rB   r}  rG   rG   rH   Útest_nested_list_columnsF
  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-05r8   rB  rQ   r  ©rQ   r8   )r8   r7   r¦   rK   rÞ  )ró  r  rS   r?   r@   r=   r   r  r  r:   rK  ÚIntervalIndexÚfrom_breaksr;   Úr_rÎ  rA   rB   )
rC   Úpir½   rE   ÚiiÚdata2rî   Údata3r#  rF   rG   rG   rH   Ú1test_from_2d_object_array_of_periods_or_intervalsQ
  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-dimensionalrd   r  rb  )rC   Úcol_aÚcol_brm   rG   rG   rH   Útest_error_from_2darrayg
  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^   r:   )	r   r;   rô   Ú_valuesrä   rj   r@   rA   rB   rˆ  rG   rG   rH   Ú&test_from_dict_with_missing_copy_falset
  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\)rd   r~   rÐ   r{  )rk   rl   rÔ   r   r;   ri   rc  rG   rG   rH   Ú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Â  r9   rÄ   rˆ  rG   rG   rH   Ú$test_construct_with_strings_and_none‹
  s   z>TestDataFrameConstructors.test_construct_with_strings_and_nonec                 C   sÌ  t  d¡ 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 )NÚpyarrowústring[pyarrow_numpy]r~   rÐ   r9   ©r:   r¨   úfuture.infer_stringTr›   rª   )r:   r¨   r^   r]   rQ   r@   )rk   Úimportorskipr   r   ró  Úoption_contextrA   rB   ©rC   r:   rF   rE   rG   rG   rH   Útest_frame_string_inference‘
  sB   
ÿÿ
üÿÿÿÿÿz5TestDataFrameConstructors.test_frame_string_inferencec                 C   sn  t  d¡ 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~   rÐ   r9   rƒ  r„  TrÑ   r…   rR   r  r§   )
rk   r…  r   r   ró  r†  r;   ri   rA   rB   r‡  rG   rG   rH   Ú.test_frame_string_inference_array_string_dtype´
  s.   
ÿÿÿý$ÿzHTestDataFrameConstructors.test_frame_string_inference_array_string_dtypec                 C   sj   t  d¡ 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s3J ‚d S )	Nr�  r„  TÚhelloÚgoodbyeÚHellor   rP   )
rk   r…  ró  r†  r   r;   ri   rU   rV   r,  rq   rG   rG   rH   Ú%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-31r9   zDtype inferencerd   r~   r§   r   )r   r!   r@   rA   r´  rf  r   r  rä   r;   rË   r   )rC   ry   rz   r4  rG   rG   rH   Ú test_inference_on_pandas_objectsÔ
  s   ÿÿz:TestDataFrameConstructors.test_inference_on_pandas_objects)ërK  rL  rM  rI   rZ   rb   rn   rr   r{   r‡   r‹   r“   rk   ÚmarkÚparametrizer¥   r«   rÀ   rÃ   r   rÈ   rÎ   rÖ   rá   rê   rï   rî  Úskip_array_manager_invalid_testÚxfailr   rö   r÷   rû   rþ   r  r  r  r$  r(  r4  r;   ri   r@   r7  r.   r/   r0   r9  r?  rP  rT  rW  rY  r\  r`  rd  rj   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Ë   r:   r  r  ró  ÚBooleanDtypeÚFloat64DtypeÚ
Int64DtypeÚStringDtyper!  r#  r$  r'  r)  r-  r/  r3  r5  r:  r?  r@  ra   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	   rp   r�   rŒ   rö  r  r  r  r	  r  r  r  r   r  r  r  r  r  r  r  r   r$  rA   ÚALL_NUMERIC_DTYPESÚDATETIME64_DTYPESÚTIMEDELTA64_DTYPESÚBOOL_DTYPESr%  rc  r&  ÚOBJECT_DTYPESr)  r*  Úarm_slowr+  r-  r   r(   r&   r'   r  r1  r4  r<  rD  rG  rI  rJ  rL  rO  r#   rQ  rR  rl  rm  rn  ro  rx  r{  r~  r  r€  rˆ  r‰  r�  rŽ  rG   rG   rG   rH   r5   O   sî   		
!õþ
þþ
ýþ
úþ
	
úþ



úþ
(	

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

üþ
	
'
	
üþ	

&ùþ		&þ
 Føþþþ;
"(,$ÿ&ùþ
	ÿþýþÿ		üþ		
ûþ
	h"ýþ#r5   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ñ  rP   z1/1/1980z	12/1/2001)rœ  r¡  )ró  r  r   r;   r  r  r¬  rT   r   rA   r  r^   )rC   Úrng1rœ  Úrng2r¡  rE   rO  rG   rG   rH   Ú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 )NrJ   r8   rB  r]   rç  z
US/Centralr   r9   )rü   r  rs   )rs   rü   r  )r  rs   rü   z0Cannot join tz-naive with tz-aware DatetimeIndexrd   )rü   rs   r  rf  )rü   rs   rf  )rf  rü   rs   )r#   r   r©   ru   r   r   r  r^   r@   rA   r  rk   rl   r�   )rC   rX   rB  rC  Úser3Úser4r£  Ú	exp_indexrî   Ú
exp_index3r#  Údf4Ú
exp_index4rm   rG   rG   rH   Ú/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Úutf8r8   r7   r1   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�  )rg  rQ   rP   r§   )rk   r…  ró  rŸ   ÚArrowExtensionArrayri   Ú
dictionaryr1   Úgetattrr   r;   rj   Úisetitemrä   r?   r@   rA   rB   )rC   Úkey_valÚcol_valsÚcol_typeÚparl  rz   rF   rG   rG   rH   Ú%test_dict_data_arrow_column_expansion  s   
	 ÿ zLTestDataFrameConstructorIndexInference.test_dict_data_arrow_column_expansionN)	rK  rL  rM  r¢  r©  rk   r�  r�  r´  rG   rG   rG   rH   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 )
NrP   r   z)Trying to coerce float values to integersrd   rf   r9   rã   rc   r   )r;   r  r  r¬  rk   rl   rÔ   r   Úroundr  rK  rj   r   r   r?   )rC   rD   rm   rE   rG   rG   rH   Ú"test_floating_values_integer_dtype2  s,   ÿ
ÿÿÿ"ÿzLTestDataFrameConstructorWithDtypeCoercion.test_floating_values_integer_dtypeN)rK  rL  rM  r·  rG   rG   rG   rH   rµ  1  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 )/Ú&TestDataFrameConstructorWithDatetimeTZrO   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]   r[   rs   c                 S   rÓ  rG   rÔ  rÖ  rG   rG   rH   rœ   ]  r�   zeTestDataFrameConstructorWithDatetimeTZ.test_construction_preserves_tzaware_dtypes.<locals>.<listcomp>c                 S   rÓ  rG   rÔ  rÖ  rG   rG   rH   rœ   ^  r�   rè  Údr_tzÚdatetimes_naiveÚdatetimes_with_tzrÝ  rý  )rè  r¼  r½  r¾  )r#   ru   r   r   Útzinfor:   r  r   r;   rA   rw   )
rC   rO   rè  r¼  rE   Útz_expectedr½  r¾  rz   rF   rG   rG   rH   Ú*test_construction_preserves_tzaware_dtypesR  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.rd   r   rÝ  r9   ú/Cannot unbox tzaware Timestamp to tznaive dtyper|  r+  rÂ  )r!   rÕ  rk   rl   rÔ   r   r�   r;   ri   r@   r   )rC   Útz_aware_fixturerÂ  rO   r×  rm   Úmsg2rG   rG   rH   Ú'test_constructor_data_aware_dtype_naiveo  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æ  r8   rü  rM   rÊ   rt   Ú20130110rB  rH  rü   zM8[ns, US/Easternrs   )r   r#   r   r:   rh   rA   rw   r   )rC   ry   rè  rE   rG   rG   rH   Ú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æ  r8   rü  rÊ   )rN   rO   rh   rt   rM   r   )r#   r   rA   rw   r   )rC   r¨  rî   rG   rG   rH   Ú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å   )rC   rè  rÕ  rG   rG   rH   Ú+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]   rs   )r#   r   r   r$   rK  )rC   rè  r×  r…   rG   rG   rH   Ú+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:00r8   Úminrü  )rÒ  rN   rò  rO   Ú
timestampsr§   rý  z20130101T10:01:00z20130101T10:02:00)r#   r   r!   rA   rB   )rC   rè  rz   rF   rG   rG   rH   Ú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;   rj   r   rA   rB   )rC   r¨   Úpoprz   rF   rG   rG   rH   Ú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:30r8   rç  rM   rQ   r  rp  )
r#   rS   r?   r@   r=   r   r  r  r:   rK  )rC   rX   r½   rE   rG   rG   rH   Ú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+0100r9   r   r§   )rÝ  rà  zdatetime64[ns, CET])
r;   ri   r!   ró  rŒ   r@   rÎ  r   r  rK  )rC   rD   r#  Úexpected_dtypesrG   rG   rH   Ú$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¦   rP   zdatetime64[ns, UTC]r9   )r;   r<   r=   r   r?   rA   rB   )rC   Ú
array_dim2rE   rF   rG   rG   rH   Ú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>   rQ   rP   r8   ú'z' type is unorderedrd   r~   )rK  rk   rl   r�   r   r   )rC   r  rå   rm   rG   rG   rH   Ú!test_construction_from_set_raises  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   r6   rÝ  r9   r7   r8   c                 s   s   � | ]}t |tƒV  qd S r­   )r    r%   )rš   rD   rG   rG   rH   rµ     s   € zeTestDataFrameConstructorWithDatetimeTZ.test_construction_from_ndarray_datetimelike.<locals>.<genexpr>)r;   r<   r=   r   rK  rU   rŸ   rõ   rG   rG   rH   Ú+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 )NrP   r*  rØ   z'len\(arrays\) must match len\(columns\)rd   rÊ   rÂ  )rØ   rÙ   r¢  rÿ   r§   )r;   r  r  r¬  ró  ri   r:   rk   rl   rÔ   r   )rC   rD   r:   rm   Úarr2rG   rG   rH   Ú>test_construction_from_ndarray_with_eadtype_mismatched_columns  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 setrd   r~   rÐ   r]   zcolumns cannot be a set>   r~   rÐ   rÑ   r§   rb  r  rG   rG   rH   Ú"test_columns_indexes_raise_on_sets*  s   ÿ"ÿzITestDataFrameConstructorWithDatetimeTZ.test_columns_indexes_raise_on_setsz/StringDType only available in numpy 2 and aboverð   r½   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~   r9   )Únumpy.dtypesræ  r;   ri   r   r:   rË   rK  )rC   r½   ræ  r#  rG   rG   rH   Ú test_np_string_array_object_cast3  s
   
zGTestDataFrameConstructorWithDatetimeTZ.test_np_string_array_object_castN)rK  rL  rM  rk   r�  r�  rÁ  rÈ  rÊ  rË  rÌ  rÍ  rÐ  rÙ  rÚ  rÝ  rß  ÚsetÚ	frozensetrá  râ  rä  rå  Úskipifr   rè  rG   rG   rG   rH   r¸  Q  s8    

!	

	ÿÿþr¸  c                 C   s   t | tƒr
| jd S | jd S )Nr   rã   )r    r   rä   rX  rG   rG   rH   Úget1E  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©rC   r(  rG   rG   rH   ÚboxM  ó   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^   rP   rü   r¨   c                    s   ˆ| | dœfi ˆ ¤|¤ŽS )NrR   rG   ©r›   Úkwargs©Úextrar‘   rG   rH   r¯   \  s    ÿÿÿz,TestFromScalar.constructor.<locals>.<lambda>c                    s   ˆd| ifi ˆ ¤|¤ŽS ©Nrü   rG   rö  rø  rG   rH   r¯   `  r;  c                    s   ˆ| | gfi ˆ ¤|¤ŽS r­   rG   rö  rø  rG   rH   r¯   b  r;  c                    s   ˆd| | gifi ˆ ¤|¤ŽS rú  rG   rö  rø  rG   rH   r¯   d  s    )r©   r   Ú	functoolsÚpartialr  r   )rC   r‘   rô  rG   rø  rH   r¬   Q  s   
zTestFromScalar.constructorr:   ro   rŽ   c                 C   s8   |t j|d�}t |j|k¡sJ ‚t | ¡ ¡sJ ‚d S r%  )ró  rŒ   r;   rK  r  r$   )rC   r:   r¬   r£   rG   rG   rH   Útest_from_nat_scalarf  s   z#TestFromScalar.test_from_nat_scalarc                 C   s(   t dƒ}||dd�}t|ƒ|ksJ ‚d S )NrQ   rŽ   r9   ©r    rì  )rC   r¬   rî  r£   rG   rG   rH   Ú*test_from_timedelta_scalar_preserves_nanosl  s   z9TestFromScalar.test_from_timedelta_scalar_preserves_nanosc                 C   s,   |t dƒ }||dd�}t|ƒ|ksJ ‚d S )NrQ   ro   r9   rþ  )rC   r¬   Úfixed_now_tsr×  r£   rG   rG   rH   Ú*test_from_timestamp_scalar_preserves_nanosr  s   z9TestFromScalar.test_from_timestamp_scalar_preserves_nanosc                 C   s4   t dƒ}| ¡ }||td�}tt|ƒtjƒsJ ‚d S )NrQ   r9   )r    Úto_timedelta64r@   r    rì  r;   rç  )rC   r¬   rî  Útd64r£   rG   rG   rH   Ú#test_from_timedelta64_scalar_objectx  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Œ   r[   rŽ   ro   r�   z:<class 'numpy.timedelta64'> is not convertible to datetimeú|rÿ  rd   r9   r7   )r;   r�   rç  Újoinrk   rl   r�   )rC   r¬   r  re  r:   Úmsg1rm   rG   rG   rH   Ú(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é'  rQ   rË  rf  rÊ  )r  r   r  rk   r�  r’  Úapplymarkerr	   r;   r�   rì  rA   Ú	get_dtyperg  r!   Úasm8r:   ©rC   r¬   r  r(  rô  r‘   r�  re  r  rz   Úitemr:   rG   rG   rH   Ú#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�   Úiinfor4   Úmaxrì  rg  rA   r  r@   )rC   r¬   re  rz   r  r:   rG   rG   rH   Ú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  rQ   i²  zm8[us]rf  zm8[s])r  r   r  rk   r�  r’  r  r	   r;   rç  rì  rA   r  rg  r    r  r:   r  rG   rG   rH   Ú$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  r4   r  rì  rg  rA   r  r@   )rC   r¬   r  re  rz   r  r:   rG   rG   rH   Ú 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Ä  rd   ro   r9   )r!   r   r  r�   rÔ   rk   rl   )rC   r¬   rô  r‘   rO   r×  rm   ÚerrrG   rG   rH   Útest_tzaware_data_tznaive_dtypeÛ  s   ÿ"ÿz.TestFromScalar.test_tzaware_data_tznaive_dtype)rK  rL  rM  rk   Úfixturer  r  rô  r¬   r�  r�  rý  rÿ  r  r  r;   r�   rç  r	  r	   r  Ú
skip_ubsanr  r
   r  r  r  rG   rG   rG   rH   rí  L  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ó  rG   rG   rH   Ú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   r9   )	r;   r<   r?   r4   rž   r)   Ú_simple_newr:   r%   )rC   r  rå   rG   rG   rH   rD   ö  s
   zTestAllowNonNano.arrc                 C   ó   t |ƒ}|j|jksJ ‚d S r­   )r   r:   )rC   rD   ry   rG   rG   rH   Ú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   r:   )rC   rD   r  ry   rG   rG   rH   Útest_dti_tdi_allow_non_nano  s   z,TestAllowNonNano.test_dti_tdi_allow_non_nanoc                 C   r  r­   )r   r:   )rC   rD   r4  rG   rG   rH   Útest_series_allow_non_nano
  r!  z+TestAllowNonNano.test_series_allow_non_nanoc                 C   s    t |ƒ}|jd |jksJ ‚d S r¸   ©r   r  r:   rõ   rG   rG   rH   Útest_frame_allow_non_nano  s   z*TestAllowNonNano.test_frame_allow_non_nanoc                 C   s$   t d|iƒ}|jd |jksJ ‚d S r¸   r%  rõ   rG   rG   rH   Ú#test_frame_from_dict_allow_non_nano  s   z4TestAllowNonNano.test_frame_from_dict_allow_non_nanoN)rK  rL  rM  rk   r  r  rD   r   r#  r$  r&  r'  rG   rG   rG   rH   r  î  s    

r  )Lri   Úcollectionsr   r   r   r   Úcollections.abcr   Údataclassesr   r	   r   r
   rû  r�  Únumpyr;   r   Únumpy.mar   rk   rá  Úpandas._configr   Ú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Ú_testingrA   Úpandas.arraysr%   r&   r'   r(   r)   r
  r	  r5   rž  rµ  r¸  rì  rí  r  rG   rG   rG   rH   Ú<module>   sn    D                     ,K  u #