
    Owg                       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c 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ZD G d d      ZE G d d      ZF G d d      ZG G d d      ZHd ZI G d d      ZJ G d d      ZKy)    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                   V   e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zej                  j                  d
ddg      d        Zd Zej                  j                  dd d d d d d d d d d d g      d        Zej                  j                  dd d g      d        Zej                  j                  dg g ed        ed!      fg g g ed"       ed!      fd# d$D        g ed        ed!      fg      d%        Zd& Zd' Zd( Zd) Zd* Zej6                  ej                  j9                   e       d+,      d-               Zej6                  ej                  j9                   e       d+,      d.               Zd/ Z d0 Z!ej                  j                  d1d2i gd2d d3d4d5gd6i gg      d7        Z"d8 Z#d9 Z$d: Z%d; Z&d< Z'ej                  j                  d= e(jR                  d>ge*?       e(jR                  d"d@z  g      dAg e(jR                  dBge*?       e(jR                  dCg      d"d@z   d"z
  gg      dD        Z+ej                  j                  d= e(jR                  d ge(jX                  ?       e(jR                  d ge(jZ                  ?       e(jR                  d ge(j\                  ?       e(jX                  d       g e(jZ                  d       g e(j\                  d       gg      dE        Z/dF Z0dG Z1dH Z2dI Z3dJ Z4dK Z5dL Z6dM Z7ej                  j                  dNd"e(jp                  dOdPg      dQ        Z9ej                  j                  dRd"e(jp                  dO e:dS      g      dT        Z;ej                  j                  dRe(jp                  dO e:dS      g      dU        Z<dV Z=dW Z>dX Z?dY Z@dZ ZAd[ ZBd\ ZCd] ZDd^ ZEd_ ZFd` ZGda ZHdb ZIdc ZJdd ZKde ZLdf ZMdg ZNej                  j                  dhdi djfdk dlfdm dnfdo dpfg      dq        ZOdr ZPds ZQej                  j                  dt eRdu       eSd      f eTd!dvw       eUdxdy      f eVdzd{|       eWd}d{~      fg      d        ZXd ZYd ZZd Z[d Z\ej                  j                  d      d        Z^d Z_d Z`d Zaej                  j                  ddO eb ecd            ddge*e(j                  fdOdOddgdx e(j                  dx      fdO eb ecd            ddgef e(j                  d      fi dOd3d4gdOe(j                  fdd i eb ecd             ebd      ef e(j                  d      fg      d        Zgej                  j                  dg ddehj                  fg ddehj                  fg ddehj                  fg ddehj                  ff      d        Zmd Znd Zod Zpd Zqd Zrd Zsd Ztd Zud Zvd Zwd Zxej                  j                  d eVd      ggd eVd      igd eVd      gid eVd      j                  d      ig      d        Zzd Z{d Z|d Z}d Z~d Zd Zd Zd Zd Zd Zej                  j                  deeg      d        Zej                  j                  deeg      d        Zd Zd Zd Zd Zd Zd Zd Zej                  j                  dd$g fd$g fdd$d$gfdg g gfg g fg g gfd gd"gfd gd"ggfg dg dfg dg dgfg      d        ZdÄ ZdĄ Zdń ZdƄ ZdǄ ZdȄ ZdɄ Zdʄ Zd˄ Zej                  j                  dg d͢      d΄        Zdτ ZdЄ Zdф Zd҄ Zdӄ ZdԄ ZdՄ Zdք Zdׄ Zd؄ Zdل Zdڄ Zdۄ Zd܄ Zej                  j                  d e(jR                  dOdOdOdO ejT                         dOg       e(jR                  dOdO ejT                         dOg       e(jV                  dޫ      gdOgg e(jV                  dޫ      gehjX                  ggdOg e(jV                  dޫ      ggdOgehjX                  ggehjX                  g e(jV                  dޫ      ggehjX                  gdOggg      d߄        Zej                  j                  dg d      ej                  j                  dg d      d               Zej                  j                  dg d      ej                  j                  dg d      d               Zd Zd Zd Zd Zd Zej                  j                  d eg dg dgd e(jp                  g       eg dg dgdde(jp                  g       eg dg dge(jp                  dde(jp                  g       eg dg dge(jp                  dde(jp                  g       eg dg dge(jp                  d d"d"g      g      d        Zd Zd Zd Zd Zd Zd Zd Zd Zej                  j                  dej                  ej                  z   ej                  z   ej                  z         d        Zej                  j                  dej                  ej                  z   ej                  z         d        ZȐd  Zej                  j                  ej                  j                  dg d      d               Zːd Zej                  j                  d e ebd             ed e(jp                  e(jp                  e(jp                  g       e eTd!d        eTd dv      g       e ehj                  ddd            g      d	        ZҐd
 ZӐd ZԐd ZՐd Z֐d Zאd Zؐd Zِd Zej                  j                  dd d"gddg eb eېdd"d             eb eېdd"dd{             eTd!dvw      gg      d        Zܐd Zej                  j                  dddg      d        Zސd Zߐd  Zd! Zd" Zej                  j                  d#d gd"gg e(jR                  d gd"gg      f e(jR                  d gd"gg      d gd"ggf e(jR                  d gd"gg       e(jR                  d gd"gg      fg      d$        Zd% Zd& Zd' Zd( Zd) Zd* Zd+ ZyO(,  TestDataFrameConstructorsc                     t        j                  d      j                  dd      }t        |t              }t        |j                  t              t              }t        j                  ||       y )N         dtype)	nparangereshaper   strastypeobjecttmassert_frame_equal)selfarrdfexpecteds       [/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/frame/test_constructors.py,test_constructor_from_ndarray_with_str_dtypezFTestDataFrameConstructors.test_constructor_from_ndarray_with_str_dtypeP   sN     iim##Aq)s#&SZZ_F;
b(+    c                     t        ddd      }|j                  j                  dd      }t        |      }t        |d d df   |d d df   d	      }t	        j
                  ||       |s%t        |j                  j                        dk(  sJ y y )
N
2016-01-01   
US/Pacificperiodstzr;      r      r   rU   )	r$   _datar@   r   rD   rE   len_mgrblocks)rF   using_array_managerdtidtarH   rI   s         rJ   &test_constructor_from_2d_datetimearrayz@TestDataFrameConstructors.test_constructor_from_2d_datetimearrayX   s    q\Bii1%s^QTs1a4y9:
b(+"rww~~&!+++ #rL   c                 ,   t        d      j                  d      }|j                  d      }t        d|idg      }t        d|gi      }t	        j
                  ||       t        |dgd      }t        |gdgd      }t	        j
                  ||       y )	Nz2019-11-03 01:00:00-0700zAmerica/Los_Angelesnsdtr   indexrU   )ra   value)r"   
tz_convertas_unitr   rD   rE   )rF   ra   rH   rI   s       rJ   )test_constructor_dict_with_tzaware_scalarzCTestDataFrameConstructors.test_constructor_dict_with_tzaware_scalarc   s    12==>STZZbz!-dRD\*
b(+ bA3/0RDA378
b(+rL   c                 V   t        j                  dt         j                  gddgg      }d}t        j                  t
        |      5  t        |d       d d d        t        j                  t
        |      5  t        |d   dd	       d d d        y # 1 sw Y   ?xY w# 1 sw Y   y xY w)
NrU   rT   r;   9Cannot convert non-finite values \(NA or inf\) to integermatchi8r<   r   r=   name)r>   arraynanpytestraisesr   r   r    )rF   rG   msgs      rJ   -test_construct_ndarray_with_nas_and_int_dtypezGTestDataFrameConstructors.test_construct_ndarray_with_nas_and_int_dtypeq   s    hhBFFaV,-J]]-S9 	'c&	' ]]-S9 	/3q6A.	/ 	/		' 	'	/ 	/s   B8BBB(c                     t        t        j                         t        j                         g      }|d   j                  t	        j                  d      k(  sJ y )Nr   M8[ns])r   r
   nowr=   r>   rF   rH   s     rJ   %test_construct_from_list_of_datetimesz?TestDataFrameConstructors.test_construct_from_list_of_datetimes|   s<    78!u{{bhhx0000rL   c                    t        ddgd      }|j                  d      }t        t        j                  |j                         d      d      }|j                  |j                  k(  sJ t        |      }t        j                  ||       y )Nz2013-1-1 13:00z2013-1-2 14:00Brn   rP   rC   r<   )	r   tz_localizer    r>   ro   tolistr=   rD   assert_series_equal)rF   naiveidxrI   results        rJ   +test_constructor_from_tzaware_datetimeindexzETestDataFrameConstructors.test_constructor_from_tzaware_datetimeindex   su     /1ABM-"((3::<x@sK~~*** 
vx0rL   c                 x    d}t        dddg|ddgi      }|j                  d      }dd|didd|dig}||k(  sJ y )	N_barU   rT   r;   r:   recordsorientr   to_dict)rF   col_underscorerH   dref_ds        rJ   6test_columns_with_leading_underscore_work_with_to_dictzPTestDataFrameConstructors.test_columns_with_leading_underscore_work_with_to_dict   sZ    aV^aV<=JJiJ(q.!,sA~q.IJzzrL   c                 x    d}t        dddg|ddgi      }|j                  d      }dd|didd|dig}||k(  sJ y )	N1_br   rU   rT   r;   r:   r   r   r   )rF   col_with_numrH   r   r   s        rJ   Atest_columns_with_leading_number_and_underscore_work_with_to_dictz[TestDataFrameConstructors.test_columns_with_leading_number_and_underscore_work_with_to_dict   sZ    aV\Aq6:;JJiJ(q,*S!\1,EFzzrL   c                    t        j                  dd      }t        j                  |gt              }|t        u r|j                  dd      }d}t        j                  t        |      5   ||d       d d d        y # 1 sw Y   y xY w)NNaTr`   r<   rU   =Invalid type for timedelta scalar: <class 'numpy.datetime64'>rj   m8[ns])	r>   
datetime64ro   rC   r   r@   rq   rr   	TypeError)rF   frame_or_seriesnatrG   rs   s        rJ   ,test_array_of_dt64_nat_with_td64dtype_raiseszFTestDataFrameConstructors.test_array_of_dt64_nat_with_td64dtype_raises   sn    mmE4(hhuF+i'++a#CM]]9C0 	1Cx0	1 	1 	1s   *A>>BkindmMc                    |dk(  r	d}t         }nd}t        }t        j                  dd      j	                  |      j                  dd      }|t        u r	|d d d	f   } ||t              }|j                  j                  d	   j                  t        k(  sJ t        |j                  j                  d	   j                         d	   |      sJ  | ||      t              }|j                  j                  d	   j                  t        k(  sJ t        |j                  j                  d	   j                         d	   |      sJ  | ||      t        t                    }|j                  j                  d	   j                  t        k(  sJ t        |j                  j                  d	   j                         d	   |      sJ |t        u r|D cg c]  }t        |       }} ||t              }|j                  j                  d	   j                  t        k(  sJ t        |j                  j                  d	   j                         d	   |      sJ y y c c}w )
Nr   rv   r   rO   rl   r<   r;   rT   r   )r"   r!   r>   r?   viewr@   r    rC   rY   arraysr=   
isinstanceravelr   r   )	rF   r   r   r=   scalar_typerG   objxserss	            rJ   *test_datetimelike_values_with_object_dtypezDTestDataFrameConstructors.test_datetimelike_values_with_object_dtype   s    3;E#KE#Kii&++E2::1a@f$ad)Cc0xxq!''6111#((//!,224Q7EEE oc2&Axxq!''6111#((//!,224Q7EEEoc2,v:NOxxq!''6111#((//!,224Q7EEEi''*+!F1I+D+!$f5C88??1%++v555chhooa0668;[III (+s   Ic                 $   t        t        d      d      }t        t        d      d      }t        |dg      }t        g dg      }t        j                  ||       t        |dg      }t        g dg      }t        j                  ||       y )N   rU   r|   r   columns)r    ranger   rD   rE   )rF   r   yr   rI   s        rJ   )test_series_with_name_not_matching_columnzCTestDataFrameConstructors.test_series_with_name_not_matching_column   sz    58!$58!$1qc*R!-
fh/1qc*R!-
fh/rL   constructorc                      t               S Nr    rL   rJ   <lambda>z"TestDataFrameConstructors.<lambda>   s    IK rL   c                      t        d       S r   r   r   rL   rJ   r   z"TestDataFrameConstructors.<lambda>   s
    IdO rL   c                      t        d      S Nr   r   r   rL   rJ   r   z"TestDataFrameConstructors.<lambda>   
    IbM rL   c                      t        g       S r   r   r   rL   rJ   r   z"TestDataFrameConstructors.<lambda>   r   rL   c                  &    t        d dD              S )Nc              3       K   | ]  }|  y wr   r   .0_s     rJ   	<genexpr>z5TestDataFrameConstructors.<lambda>.<locals>.<genexpr>   s     _Aa_   r   r   r   rL   rJ   r   z"TestDataFrameConstructors.<lambda>   s    I__, rL   c                  *    t        t        d            S Nr   r   r   r   rL   rJ   r   z"TestDataFrameConstructors.<lambda>   s    IeAh' rL   c                      t        d       S Ndatar   r   rL   rJ   r   z"TestDataFrameConstructors.<lambda>   s    I4( rL   c                      t        d      S )Nr   r   r   r   rL   rJ   r   z"TestDataFrameConstructors.<lambda>       I2& rL   c                      t        g       S r   r   r   rL   rJ   r   z"TestDataFrameConstructors.<lambda>   r   rL   c                  (    t        d dD              S )Nc              3       K   | ]  }|  y wr   r   r   s     rJ   r   z5TestDataFrameConstructors.<lambda>.<locals>.<genexpr>   s     ?!A?r   r   r   r   r   rL   rJ   r   z"TestDataFrameConstructors.<lambda>   s    I?r?3 rL   c                  ,    t        t        d            S )Nr   r   r   r   rL   rJ   r   z"TestDataFrameConstructors.<lambda>   s    I58, rL   c                     t               } |       }t        |j                        dk(  sJ t        |j                        dk(  sJ t	        j
                  ||       y r   )r   rX   rc   r   rD   rE   rF   r   rI   r   s       rJ   test_empty_constructorz0TestDataFrameConstructors.test_empty_constructor   sP    " ;6<< A%%%6>>"a'''
fh/rL   c                      t        i       S r   r   r   rL   rJ   r   z"TestDataFrameConstructors.<lambda>   r   rL   c                      t        i       S r   r   r   rL   rJ   r   z"TestDataFrameConstructors.<lambda>   r   rL   c                     t        t        d      t        d            } |       }t        |j                        dk(  sJ t        |j                        dk(  sJ t        j                  ||d       y )Nr   rc   r   T)check_index_type)r   r   rX   rc   r   rD   rE   r   s       rJ   #test_empty_constructor_object_indexz=TestDataFrameConstructors.test_empty_constructor_object_index   s_     :a=*Q-H6<< A%%%6>>"a'''
fhFrL   z)emptylike,expected_index,expected_columnsrU   r   rT   c              #       K   | ]  }|  y wr   r   r   s     rJ   r   z#TestDataFrameConstructors.<genexpr>  s     oQqor   r   c                 `    t        ||      }t        |      }t        j                  ||       y )Nr   r   rD   rE   )rF   	emptylikeexpected_indexexpected_columnsrI   r   s         rJ   test_emptylike_constructorz4TestDataFrameConstructors.test_emptylike_constructor   s+     >;KL9%
fh/rL   c                 T    |rdnt         j                  }|d   j                  |k(  sJ y )Nstringfoo)r>   object_r=   )rF   float_string_frameusing_infer_stringr=   s       rJ   test_constructor_mixedz0TestDataFrameConstructors.test_constructor_mixed  s(    .BJJ!%(..%777rL   c                    d}t        j                  t        |      5  t        dg dit        j
                         d d d        t        t	        j                  d            }t	        j                  d      j                         |d<   d}t        j                  t        |      5  t	        j                  d      |d	<   d d d        t	        j                  d      j                         |d
<   y # 1 sw Y   xY w# 1 sw Y   <xY w)Nz!could not convert string to floatrj   r   r   bcr<   )r:   rT   r   z5Expected a 1D array, got an array with shape \(4, 2\)testfoo2)rq   rr   
ValueErrorr   r>   r-   onesr~   )rF   rs   rH   s      rJ   test_constructor_cast_failurez7TestDataFrameConstructors.test_constructor_cast_failure  s     2]]:S1 	@sO,BJJ?	@ rwwv' GGFO**,5	 H]]:S1 	)BvJ	) WWV_++-6
	@ 	@	) 	)s    C/'C;/C8;Dc                 p    t        dgdgdgd      }t        |t        d      }d|d<   |d   d	   dk(  sJ y )
N      ?       @      @)col1col2col3T)r=   copyg      i@r   r   )r   float)rF   orig_dfnew_dfs      rJ   test_constructor_dtype_copyz5TestDataFrameConstructors.test_constructor_dtype_copy$  sG    cUSEC5IJ7%d;vvq!S(((rL   c                 :   t        ddgg      }t        ||d   j                        }|r$d|j                  d<   |j                  d   dk(  sJ y t	        j
                  |      5  d|j                  d<   d d d        |j                  d   dk(  sJ y # 1 sw Y   xY w)NrU   rT   r   r<   c   r   r   )r   r=   ilocvaluesrD   assert_cow_warning)rF   using_copy_on_writewarn_copy_on_writerH   should_be_views        rJ   ,test_constructor_dtype_nocast_view_dataframezFTestDataFrameConstructors.test_constructor_dtype_nocast_view_dataframe,  s     Ax "2RU[[9(*N%99T?a'''&&'9: /,.##D)/99T?b(((/ /s   $BBc                 h   t        ddgddggd      }|sJ|sHt        |j                  |d   j                        }d|j                  d	<   |j                  d	   dk(  sJ y t        |j                  |d   j                        }|j                  j
                  d   j                  j                  sJ y )
NrU   rT   r;   r:   r5   r<   r   a   r   )r   r   r=   r   rY   r   flagsc_contiguous)rF   r[   r  r  rH   r  df2s          rJ   +test_constructor_dtype_nocast_view_2d_arrayzETestDataFrameConstructors.test_constructor_dtype_nocast_view_2d_array9  s     AA'w7"+>&ryy1DN )+N%99T?b((( BIIRU[[9C88??1%++8888rL   zconversion copiesreasonc                     t        j                  ddgd      }t        |d      }t        j                  |j                  |      sJ y )Nr   r   rC   r<   Fr   r>   ro   r   shares_memoryr   rF   rG   rH   s      rJ   "test_1d_object_array_does_not_copyz<TestDataFrameConstructors.test_1d_object_array_does_not_copyI  s>     hhSz2s'		3///rL   c                     t        j                  ddgddggd      }t        |d      }t        j                  |j                  |      sJ y )	Nr   r   r   r   rC   r<   Fr  r  r  s      rJ   "test_2d_object_array_does_not_copyz<TestDataFrameConstructors.test_2d_object_array_does_not_copyQ  sG     hhc
S#J/x@s'		3///rL   c                 |    t        ddgd dggt              }|j                  d   J |j                  d   dk(  sJ y )NrU   2r   r<   rU   r   rV   )r   rC   locrx   s     rJ    test_constructor_dtype_list_dataz:TestDataFrameConstructors.test_constructor_dtype_list_dataY  sE    C4+.f=vvd|###vvd|s"""rL   c                    t               }t        j                  d      }t        j                  t
        d      5  t        |g       d d d        t        j                  t
        d      5  t        |g       d d d        t        dddgi      }t        j                  t
        d      5  t        ||g       d d d        y # 1 sw Y   zxY w# 1 sw Y   VxY w# 1 sw Y   y xY w)Nr   zshape=\(1, 0, 0\)rj   ArU   rT   zshape=\(2, 2, 1\))r   r>   emptyrq   rr   r   )rF   r   r   s      rJ   "test_constructor_list_of_2d_raisesz<TestDataFrameConstructors.test_constructor_list_of_2d_raises^  s    KHHV]]:-AB 	qcN	 ]]:-AB 	qcN	 sQFm$]]:-AB 	q!f	 		 		 		 	s#   C+C*CC
CC"ztyp, adr   r   barr  r{   Cintc           	         |dk(  rWt         }|D cg c]E  }t        j                  t        j                  j	                  d      j                  d      |      G }}n]|dk(  rXt
        }|D cg c]G  }t        j                  t        j                  j	                  d      j                  dd      |      I }}t              D ]  \  }}|j                  |k(  rJ  |j                  t        t        ||                   t        |      }t
        t         z   }|D ]  }||v s|j                  |   |k(  rJ  y c c}w c c}w )Nr"  rT   
   r<   r   )size)MIXED_INT_DTYPESr>   ro   randomdefault_rngMIXED_FLOAT_DTYPESintegerszipr=   updatedictr   dtypes)rF   typadr.  r   r   r   rH   s           rJ   test_constructor_mixed_dtypesz7TestDataFrameConstructors.test_constructor_mixed_dtypesl  s4    %<%FPVKL..q188<AFF  G^'F   ..q1::2B:GqQF 
 ' 	 DAq77a<<	 
		$s66*+,r]#&66 	)ABwyy|q(((	)!
s   A
D<,AEc                    t         j                  j                  d      j                  d      j                  t         j                        }t         j                  j                  d      j                  d      j                  t         j
                        }t        ||d      }|j                  |j                  j                  k(  sJ |j                  |j                  j                  k(  sJ y )NrT   r$  r   r   )
r>   r'  r(  rB   	complex64
complex128r   r=   r   r   rF   r   r   rH   s       rJ   test_constructor_complex_dtypesz9TestDataFrameConstructors.test_constructor_complex_dtypes  s    II!!!$++B/66r||DII!!!$++B/66r}}EQQ'(ww"$$**$$$ww"$$**$$$rL   c                 8   t        ddd gi|      }|j                         }t        dddgi      }t        j                  ||       |j                  d   J t        ddt
        j                  gi|      }t        j                  |j                  d         sJ y )Nr  r   r<   FTr  )r   r%   rD   rE   r   r>   rp   isnan)rF   string_dtyperH   r   rI   s        rJ   $test_constructor_dtype_str_na_valuesz>TestDataFrameConstructors.test_constructor_dtype_str_na_values  s    c4[)>cE4=12
fh/wwt}$$$c266]+<@xx&&&rL   c                    |j                  d      }t        |j                  j                        d d d   |j                  _        |j                  }t        |      }t        j                  |j                  t        |j                  j                               t        ||      }t        j                  |j                  t        |j                  j                               t        j                  |j                  |       t        j                  t        |            d d d   }t        ||ddg      }t        ||      j                  ddg      }t        j                  ||       y )NFrb   r!  r{   r   r   )
to_recordslistr=   namesrc   r   rD   assert_index_equalr   r   r>   r?   rX   reindexrE   )	rF   float_framerecrc   rH   r
  rngdf3rI   s	            rJ   test_constructor_recz.TestDataFrameConstructors.test_constructor_rec  s	   $$5$1syy/"5		!!s^
bjj%		*@A5)
ckk5+AB
cii/ iiC!$B$'3c
;S,44c3Z4H
c8,rL   c                     t        t        j                  dt              t        j                  dt              d      }|j
                  j                  t        j                  k(  sJ y )Nr$  r<   rV   )r   r>   r   boolzerosr   r=   bool_rx   s     rJ   test_constructor_boolz/TestDataFrameConstructors.test_constructor_bool  sA    2772T2rxx$7OPQyy"((***rL   c                    t        j                  t        dd      D cg c]  }d|z
  	 c}t         j                        }t	        d|i      }|d   j
                  t         j                  k(  sJ g d}ddg}t        j                  t        |      f|      }||d d  t	        |      }|d	   j
                  t         j                  k(  sJ y c c}w )
NrU   r$              r<   r   ))l   Y2<   )l   FJLW]L*    )l   M:M^ -   )l   8Ma i  )l   r*R3_PvN rO  )uidu8)scorerS  rR  )r>   ro   r   r1   r   r=   rJ  rX   )rF   ir   r   data_scoresr=   r   	df_crawlss           rJ   test_constructor_overflow_int64z9TestDataFrameConstructors.test_constructor_overflow_int64  s    eArl;519;299MC=)c{  BII---
 0xx[)+59QdO	%%222# <s   Cr   rN  r<   A   l           l        l        c                 n    |d   }t        |      }|d   j                  t        k(  sJ |d   d   |k(  sJ y r   )r   r=   rC   rF   r   rd   r   s       rJ   test_constructor_int_overflowz7TestDataFrameConstructors.test_constructor_int_overflow  sC     q	6"ay&(((ay|u$$$rL   c                 z    |d   }t        |      }|d   j                  |j                  k(  sJ |d   d   |k(  sJ y r   r   r=   r[  s       rJ   test_constructor_numpy_uintsz6TestDataFrameConstructors.test_constructor_numpy_uints  sG     q	6"ay%++---ay|u$$$rL   c           	      6   d}t        t        |            }t        j                  j	                  d      j                  |       |D cg c]  }d|d
 }}t        t        t        |dgg|z                    }|t        |j                        k(  sJ y c c}w )Nd   rT   r  r   r   )
r?  r   r>   r'  r(  shuffler   r   r+  r   )rF   nitemsnumsrU  rI   rH   s         rJ   test_constructor_ordereddictz6TestDataFrameConstructors.test_constructor_ordereddict  s    E&M"
		a ((.'+,!a!uI,,{3x1##@AB4

++++ -s   	Bc                 L   t        t        j                  dt        j                        t	        dd            }|dd  }t        ||d      }t        |      dk(  sJ t        |      dk(  sJ t        j                  |d	   |j                  d	             t        t        j                  t        j                  gdz  |j                  g      |j                  d
      }t        j                  ||d
          t        ||dg d      }t        |      t        |      k(  sJ d	|vsJ t        |d         j                         sJ t        t                     dk(  sJ d}t!        j"                  t$        |      5  t        dddg dd       d d d        y # 1 sw Y   y xY w)N   r<   
2020-01-01rR   rb   r   r   r      r   r   rc   rn   )r   r   col4r   r   r   <Mixing dicts with non-Series may lead to ambiguous ordering.rj   r   r   r3  r   r  r{   )r    r>   r?   r-   r$   r   rX   rD   r   renameconcatenaterp   r   rc   r%   allrq   rr   r   )rF   datetime_seriesdatetime_series_shortframeexprs   s         rJ   test_constructor_dictz/TestDataFrameConstructors.test_constructor_dict  s    IIb

+:lTV3W
 !0 3?<QRS ?#r)))()R///
uV}o.D.DV.LMNNRVVHqL*?*F*FGH!''

 	sE&M2$.CD,

 5zS!67777U"""E&M"&&((( 9;1$$$ M]]:S1 	I#C0GH	I 	I 	Is   =FF#c                 z    t        ddddi      }t        j                  |j                  t	        ddg             y )Nr  rU   rT   1r  rz  r  )r   rD   rA  rc   r   rF   ru  s     rJ   test_constructor_dict_length1z7TestDataFrameConstructors.test_constructor_dict_length1$  s3    3aa 012
ekk5#s+<=rL   c                 X    t        g d      }t        i |      }|j                  |u sJ y )Nr   rU   rT   rb   )r   r   rc   rF   r   ru  s      rJ    test_constructor_dict_with_indexz:TestDataFrameConstructors.test_constructor_dict_with_index)  s*    I"C({{c!!!rL   c                     t        g d      }t        i ||      }|j                  |u sJ |j                  |u sJ t	        |j
                        dk(  sJ y )Nr~  r   r;   )r   r   rc   r   rX   _seriesr  s      rJ   ,test_constructor_dict_with_index_and_columnszFTestDataFrameConstructors.test_constructor_dict_with_index_and_columns/  sU    I"C5{{c!!!}}###5==!Q&&&rL   c                 ~    t        g g dddg      }t        j                  |j                  t	        d      d       y )Nro  r  r{   r   r   Texact)r   rD   rA  rc   r   r{  s     rJ   $test_constructor_dict_of_empty_listsz>TestDataFrameConstructors.test_constructor_dict_of_empty_lists7  s1    ,sCjA
ekk:a=ErL   c                     t        dd idg      }t        dd gidg      }|j                  dd      J |j                  dd      J t        j                  ||       y )Nr   r   rb   )r   
_get_valuerD   rE   )rF   
frame_noneframe_none_lists      rJ   test_constructor_dict_with_nonez9TestDataFrameConstructors.test_constructor_dict_with_none<  sl     T{1#6
#S4&M!=$$Q,444))!S1999
j/:rL   c                    d}t        j                  t        |      5  t        ddi       d d d        t        j                  t        |      5  t        ddidg       d d d        y # 1 sw Y   >xY w# 1 sw Y   y xY w)N2If using all scalar values, you must pass an indexrj   r   gffffff?r   rq   rr   r   r   rF   rs   s     rJ   test_constructor_dict_errorsz6TestDataFrameConstructors.test_constructor_dict_errorsE  ss     C]]:S1 	"sCj!	" ]]:S1 	1sCj3%0	1 	1	" 	"	1 	1s   A)A5)A25A>scalarNDc                 j    t        d|idg      }t        dg      }t        j                  ||       y )Nr   r   r   r   )rF   r  r   rI   s       rJ   %test_constructor_invalid_items_unusedz?TestDataFrameConstructors.test_constructor_invalid_items_unusedO  s2     C=3%8cU+
fh/rL   rd   rp   c                 "   d|dg}d|g}ddgddgddgg}t        d      D ci c]  }||   t        ||   |       }}t        |      j                  d      j                  dd	      }t        t	        j
                  d
d      j                  dd      ||      }t        j                  ||       t        ||      j                  dd	      }t        j                  ||       t        |||      }t        j                  ||       y c c}w )NrU   r;   r   r   r:   rT   r   rb   axisrO   r5   r<   r   )	r   r    r   sort_valuesr>   r?   r@   rD   rE   	rF   rd   colsr   r   r   r   r   rI   s	            rJ   test_constructor_dict_nan_keyz7TestDataFrameConstructors.test_constructor_dict_nan_keyV  s
    5!}Ela&1a&1a&)?DQxH!Qq	55HH4,,Q/;;Ca;HIIaw'//15S$
 	fh/4s+77!7D
fh/4sD9
fh/ Is   Dc                 ^   t        d|dfd|fg      }t        d|f|dfg      }ddgdd	gdd
gg}t        d      D ci c]  }||   t        ||   |       }}t        |      j	                  d      j	                  d|fd      }t        t        j                  dd      j                  dd      ||      }t        j                  ||       t        ||      j	                  d|fd      }t        j                  ||       t        |||      }t        j                  ||       y c c}w )N)            r   rT   r   r;   rU   r:   r   rb   r  rO   r5   r<   r   )
r   r   r    r   r  r>   r?   r@   rD   rE   r  s	            rJ   #test_constructor_dict_nan_tuple_keyz=TestDataFrameConstructors.test_constructor_dict_nan_tuple_keyi  s/    hb%[9:c5\E1:./a&1a&1a&)?DQxH!Qq	55HH4,,X6BBC<VWBXIIaw'//15S$
 	fh/4s+77e17M
fh/4sD9
fh/ Is   D*c                     t        t        j                  dt        j                        t	        dd            }|d d }||d}t        |      }t        |t        d	      
      }t        j                  ||       y )Nr$  r<   rh  ri  rb   r   r   r   r   bar   r   )	r    r>   r?   r-   r$   r   r?  rD   rE   )rF   rs  rt  r   ru  rI   s         rJ   %test_constructor_dict_order_insertionz?TestDataFrameConstructors.test_constructor_dict_order_insertion|  sm     IIb

+:lTV3W
 !0 3 (o>q!!T$Z8
eX.rL   c                     t        t        j                  ddgdddgit        j                  dg      }t        ddgddggt        j                  dg      }t        j                  ||       y )NrU   rT   r;   r   )r   r>   rp   rD   rE   rF   r   rI   s      rJ   )test_constructor_dict_nan_key_and_columnszCTestDataFrameConstructors.test_constructor_dict_nan_key_and_columns  s\    BFFQFA1v6Lq!fq!f-{C
fh/rL   c                 h   g d}t        j                  |      }t        ||      }t        |      j                  j                         j                         sJ g d}t        j                  |      }t        ||      }t        |      j                  j                         j                         sJ y )N)rT   r;   r;   r;   r  r   )r  r  r  )r   from_tuplesr   r%   r   r   rr  )rF   tuplesmirH   s       rJ   test_constructor_multi_indexz6TestDataFrameConstructors.test_constructor_multi_index  s     *##F+R,Bx$$&**,,,)##F+R,Bx$$&**,,,rL   c                 f   t        dggdggddg      }t        ddgt        ddgd      t        dggdgg            }t        j                  ||       t        dggdggddgg      }t        ddgt        ddggddgg      t        dggdgg            }t        j                  ||       y )	NrU   rT   r   rc   r5   r<   r   )levelscodesr   )r   r   r   rD   rE   rF   rH   rI   s      rJ   test_constructor_2d_indexz3TestDataFrameConstructors.test_constructor_2d_index  s     useAq6:FAg.seQC59

 	b(+useQF8<FaVHaVH=seQC59

 	b(+rL   c           	      4   d}t        j                  t        |      5  t        t	        j
                  d      dg       d d d        d}t        j                  t        |      5  t        ddd	g d
d       d d d        d}t        j                  t        |      5  t        t	        j                  d      j                  d      g dt        dd             d d d        t	        j                  g dg      }d}t        j                  t        |      5  t        dgt        d      |       d d d        t	        j                  g d      }d}t        j                  t        |      5  t        dgt        d      |       d d d        t        j                  t        d      5  t        t	        j                  d      g ddg       d d d        d}t        j                  t        |      5  t        t        j                  j                  d      j                  d      g ddg       d d d        d}t        j                  t        |      5  t        t        j                  j                  d      j                  d      d d!gddg       d d d        d"}t        j                  t        |      5  t        t        d#      t        d#d$      fd%&       d d d        d'}t        j                  t        |      5  t        d(d)d	       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   [xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   9xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)*Nz)Empty data passed with indices specified.rj   r   rU   rb   rn  r   r   r3  r   ro  z:Shape of passed values is \(4, 3\), indices imply \(3, 3\)r9   )r:   r;   r   r  baz
2000-01-01r;   ri  r  r:   r   rO   z:Shape of passed values is \(1, 3\), indices imply \(1, 4\)r:   rc   r   r   z:Shape of passed values is \(3, 1\), indices imply \(1, 4\)Must pass 2-d inputr;   r;   r;   r   :Shape of passed values is \(2, 3\), indices imply \(1, 3\)rT   r  :Shape of passed values is \(2, 3\), indices imply \(2, 2\)r  r{   z,2 columns passed, passed data had 10 columnsr$     )r   twosr   r  FT)rq   rr   r   r   r>   r  r?   r@   r$   ro   r   rJ  r'  r(  )rF   rs   rG   s      rJ   test_constructor_error_msgsz5TestDataFrameConstructors.test_constructor_error_msgs  s   9]]:S1 	.bhhqk!-	. M]]:S1 	I#C0GH	I L]]:S1 			"%%f-- q9	 hh	{#K]]:S1 	=QCq<	= hhy!K]]:S1 	=QCq<	= ]]:-BC 	Obhhy)?1#N	O L]]:S1 			%%a(//7'c	 L]]:S1 			%%a(//7c
!f	 =]]:S1 	LuRy%B-0:JK	L C]]:S1 	/E-.	/ 	/m	. 	.
	I 	I
	 		= 	=
	= 	=	O 	O
	 		 		L 	L	/ 	/sw   "L%L(>L5M.M*%M4>M)?M6;#NNL%(L25L?MMM&)M36M?NNc                     |d t        d      D               |d t        d      D              d}t        |      }t        |j                         D ci c]  \  }}|t        |j                               ! c}}      }t	        j
                  ||        ||j                               }t        |      }t	        j
                  ||       y c c}}w )Nc              3   *   K   | ]  }|d |z  f  yw)g      $@Nr   r   r   s     rJ   r   zKTestDataFrameConstructors.test_constructor_subclass_dict.<locals>.<genexpr>       !CA1dQh-!C   r$  c              3   *   K   | ]  }|d |z  f  yw)g      4@Nr   r  s     rJ   r   zKTestDataFrameConstructors.test_constructor_subclass_dict.<locals>.<genexpr>  r  r  rj  )r   r   itemsr-  rD   rE   )rF   dict_subclassr   rH   colvalrefdfs          rJ   test_constructor_subclass_dictz8TestDataFrameConstructors.test_constructor_subclass_dict  s     "!Cr!CC!!Cr!CC
 t_$**,Ohc33SYY[ 11OP
eR(TZZ\*t_
eR( Ps   $C
c                 t   i }t         j                  |j                  d |j                  d   df<   |j	                         D ]8  \  }}t        t              }|j                  |j                                |||<   : t        |      }|j                  |j                        }t        j                  ||       y )Nr$  r{   rb   )r>   rp   r  rc   r  r   r-  r,  r   r   rB  rD   rE   )rF   rC  r   kvdctru  rI   s           rJ   test_constructor_defaultdictz6TestDataFrameConstructors.test_constructor_defaultdict  s    8:/+++B//45%%' 	DAqd#CJJqyy{#DG	 $=={'8'8=9
k84rL   c                     t        j                  g dg      }t        dgdgdgdgdg d      }t        j                  |j
                  |       y )N)      @r   r   r   r  r   r   r   )r   r   r   r   r   )r>   ro   r   rD   assert_numpy_array_equalr   rF   rI   rH   s      rJ   test_constructor_dict_blockz5TestDataFrameConstructors.test_constructor_dict_block  sK    88123%se3%se<(
 	##BIIx8rL   c                    dddddddd}t        |t        	      }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 |s"|d   j                  t        j                  k(  sJ 	 |d   j                  t        j
                  k(  sJ y )NrU   rT   ry  rz  r  3)rz  r  r  ro  r<   r;   r{   r  )r   r   rX   r=   r>   r-   r   )rF   r   	test_dataru  s       rJ   test_constructor_dict_castz4TestDataFrameConstructors.test_constructor_dict_cast  s     !*s31OP	)515zQSz2::---Sz2::---)$5zQ5GuSz2::-UUXSz2::---rL   c           
         t        t        t        d      t        d      D cg c]  }d| 	 c}            t        t        t        d      t        j                  j                  d      j                  d                  d}t        j                  t        d      5  t        |t               d d d        y c c}w # 1 sw Y   y xY w)	Nr  word_   rT   ro  zcould not convert stringrj   r<   )r-  r+  r   r>   r'  r(  standard_normalrq   rr   r   r   r   )rF   rU  r  s      rJ   test_constructor_dict_cast2z5TestDataFrameConstructors.test_constructor_dict_cast2  s     c%)59%EaaSk%EFGc%)RYY%:%:1%=%M%Mb%QRS
	 ]]:-GH 	.iu-	. 	. &F	. 	.s   B:B??Cc                 t    ddt         j                  di}t        |      }t        |d   d   t              sJ y )NCol1zA String)Row1Row2r  )r>   rp   r   r   r   )rF   r   rH   s      rJ   !test_constructor_dict_dont_upcastz;TestDataFrameConstructors.test_constructor_dict_dont_upcast$  s7    j"&&9:q\"V*V,e444rL   c                 d    t        ddgddggddgddg      }t        |d   d   t              sJ y )NrU   rT   r   r   r   )r   r   r"  )rF   dms     rJ   "test_constructor_dict_dont_upcast2z<TestDataFrameConstructors.test_constructor_dict_dont_upcast2)  s=    Ac
+Aq6Aq6J"Q%(C(((rL   c           
          ddd}t        |      }t        |j                         D ci c]  \  }}|t        |       c}}      }t        j                  ||d       y c c}}w )NrU   rT   r;   r  r3  Fcheck_dtype)r   r  r?  rD   rE   )rF   r   r   r  r  rI   s         rJ   test_constructor_dict_of_tuplesz9TestDataFrameConstructors.test_constructor_dict_of_tuples-  sT    Y/4TZZ\BTQaajBC
fhEB Cs   A 
c                     t        d      t        dd      d}t        |      }t        g dg dd      }t        j                  ||       y )Nr;   rO   r3  r~  )r;   r:   r   )r   r   rD   rE   rF   r   r   rI   s       rJ   test_constructor_dict_of_rangesz9TestDataFrameConstructors.test_constructor_dict_of_ranges5  s>    1XE!QK0499=>
fh/rL   c                     t        t        d            t        t        d            d}t        |      }t        g dg dd      }t	        j
                  ||       y )Nr;   r3  r~  rT   rU   r   )iterr   reversedr   rD   rE   r  s       rJ   "test_constructor_dict_of_iteratorsz<TestDataFrameConstructors.test_constructor_dict_of_iterators=  sE    %(^(58*<=499=>
fh/rL   c                     d t        d      D        d t        t        d            D        d}t        |      }t        g dg dd      }t        j                  ||       y )Nc              3       K   | ]  }|  y wr   r   r   rU  s     rJ   r   zPTestDataFrameConstructors.test_constructor_dict_of_generators.<locals>.<genexpr>G  s     ,Aa,r   r;   c              3       K   | ]  }|  y wr   r   r  s     rJ   r   zPTestDataFrameConstructors.test_constructor_dict_of_generators.<locals>.<genexpr>G  s     3R!A3Rr   r3  r~  r  )r   r  r   rD   rE   r  s       rJ   #test_constructor_dict_of_generatorsz=TestDataFrameConstructors.test_constructor_dict_of_generatorsE  sL    ,%(,3Rxa?Q3RS499=>
fh/rL   c           
      6   dddddddddd	d
dd}t        |j                               }t        |      }t        |D cg c]  }|d   	 c}t        j                  |D cg c]  }|d   	 c}            j
                  }t        j                  |j                        |_        t        j                  ||       ddddd|d<   |j                  dd|d   f       t        |D cg c]  }|d   	 c}t        |D cg c]  }|d   	 c}d            j
                  }t        |j                  d      |_        t        |      }|j                  |j                  |j                        }t        j                  ||       y c c}w c c}w c c}w c c}w )Nr   rU   rT   )rU  rU  rU  jr  rU  rO   r   r:         	   ))r   r   r  )r   r   rb   g     ^@o   )r   r  r   r  zF)tupleize_colsr  )sortedr  r   r   r  Trc   rD   rE   insertr   rB  r   )rF   r   _drH   r   rI   s         rJ    test_constructor_dict_multiindexz:TestDataFrameConstructors.test_constructor_dict_multiindexL  sm   %&A1E%&A1E%&A1E

 AGGIq\aQqTj&<&<B=Oqad=O&P

! 	 $//?
	

 #3CP#
		!c1S6]#aQqTe2,>aQqT,>e&T

! 	 x~~UCq\ZZ 0 0ZG
b(+! =O ,>s    F!F'F>Fc           
        
 g d

fd} |t         j                        } |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 cg c]  }t        |       c}	      }t        |      }t        |      }t        |      }	t	        j
                  ||       t	        j
                  ||       t	        j
                  |	|       y c c}w )
N)z
1984-02-19z
1988-11-06z
1989-12-03z
1990-03-15c                 d    t              D ci c]  \  }}| | |      d|z  i c}}S c c}}w )NrT   )	enumerate)r   rU  sdates_as_strs      rJ   create_datazUTestDataFrameConstructors.test_constructor_dict_datetime64_index.<locals>.create_datak  s2    ;D\;RS41aAAA..SSSs   ,c                 .    t        j                  | d      S )Nz%Y-%m-%d)r
   strptimer   s    rJ   r   zRTestDataFrameConstructors.test_constructor_dict_datetime64_index.<locals>.<lambda>o  s    h.?.?:.N rL   r   r   rU   rT   r;   rT   r:   rO   rb   )r>   r   r"   r   rD   rE   )rF   r  data_datetime64data_datetimedata_Timestampra   rI   result_datetime64result_datetimeresult_Timestampr  s             @rJ   &test_constructor_dict_datetime64_indexz@TestDataFrameConstructors.test_constructor_dict_datetime64_indexg  s    O	T &bmm4#$NO$Y/$4D1Q4D1TaD1Tdq1	 ,88R9R=8
 &o6#M2$^4
/:
ox8
.9 9s   C
z
klass,namec                 .    t        j                  | d      S Nr  )r>   timedelta64r  s    rJ   r   z"TestDataFrameConstructors.<lambda>  s    r~~a- rL   r!  c                     t        |       S )N)days)r   r  s    rJ   r   z"TestDataFrameConstructors.<lambda>  s    ya( rL   pytimedeltac                     t        | d      S r   )r!   r  s    rJ   r   z"TestDataFrameConstructors.<lambda>  s    yC( rL   zTimedelta[ns]c                 8    t        | d      j                  d      S )Nr  r  )r!   rf   r  s    rJ   r   z"TestDataFrameConstructors.<lambda>  s    yC(005 rL   zTimedelta[s]c           
      0   g d}t        |      D ci c]  \  }}| ||      d|z  i }}}t        dd d d dd dd d dd d dd dd d d ddg|D cg c]  }t        |d       c}      }t        |      }	t        j                  |	|       y c c}}w c c}w )	NrU   rT   r;   r:   rT   r   r  r:   rO   r  rb   )r  r   r!   rD   rE   )
rF   klassrn   	td_as_intrU  r  r   tdrI   r   s
             rJ   'test_constructor_dict_timedelta64_indexzATestDataFrameConstructors.test_constructor_dict_timedelta64_index  s     !	1:91EFAE!Ha!e$$FF$4D1Q4D1TaD1Tdq1	 1::"9R%:
 4
fh/ G ;s   BB
c                    t        j                  g dd      }t        j                  g dd      }t        ||d      }|d   j                  |j                  k(  sJ |d   j                  |j                  k(  sJ t        |j	                  t
              j                         |j	                  t
              j                         d      }|d   j                  |j                  k(  sJ |d   j                  |j                  k(  sJ y )	N)z2012-01r   z2012-04r   freq)z
2012-02-01z
2012-03-01r   r  r3  r   r   )pdPeriodIndexr   r=   rB   rC   r~   r6  s       rJ   test_constructor_period_dictz6TestDataFrameConstructors.test_constructor_period_dict  s    NN8sCNN>SIQQ'(#w}}'''#w}}''' QXXf-446QXXf=M=T=T=VWX#w}}'''#w}}'''rL   c                     |\  }}t        d|idg      }|d   j                  |k(  sJ t        dgdg|      }t        j                  ||       y )Nr   r   rb   r  )r   r=   rD   rE   )rF   ea_scalar_and_dtype	ea_scalarea_dtyperH   rI   s         rJ   &test_constructor_dict_extension_scalarz@TestDataFrameConstructors.test_constructor_dict_extension_scalar  sW    1	8Y's3#w}}(((A3IF
b(+rL   z
data,dtypez2020-01r   )leftrightr5   r9  z
2011-01-01
US/EasternrS   r  )unitrS   c                     t        ddgddg|      }|d   j                  |k(  sJ |d   j                  |k(  sJ t        j                  |gdz  |      }t        ||d      }t	        j
                  ||       y )	Nr   rU   r   r   r  rT   r<   r3  )r   r=   r0  ro   rD   rE   )rF   r   r=   rH   rG   rI   s         rJ   &test_constructor_extension_scalar_dataz@TestDataFrameConstructors.test_constructor_extension_scalar_data  s{     aVc3ZdC#w}}%%%#w}}%%%hhvz/3S12
b(+rL   c                 h   t        j                  dd      }t        t        j                  j                  d      j                  d      |      }i }|j                  D ]8  }|j                  D ]'  }|j                  ||      |j                  |i       |<   ) : t        ||      }t        j                  ||       i }|j                  D ]8  }|j                  D ]'  }|j                  ||      |j                  |i       |<   ) : t        ||      j                  }t        j                  ||       y )Nz1/1/2000r   ri  rT   r$  r   r   rb   )r0  period_ranger   r>   r'  r(  r  r   rc   r  
setdefaultrD   rE   r
  )rF   rE  rH   r   r  rowr   s          rJ   "test_nested_dict_frame_constructorz<TestDataFrameConstructors.test_nested_dict_frame_constructor  s   ooj!4ryy,,Q/??HRUV:: 	HCxx H02c30GR(-H	H 4-
fb):: 	HCxx H02c30GR(-H	H 4s+--
fb)rL   c                     |dt               }t        |g dddg      }t        |j                        dk(  sJ t        |j                        dk(  sJ t         |d      d	gg d
      }t        |j                        dk(  sJ t        |j                        dk(  sJ |t
        j                  urHd}t        j                  t        |      5  t        |g dddgt
        j                         d d d        y t        |g dddgt
        j                        }|j                  j                  t
        j                  k(  sJ d}t        j                  t        |      5  t        |g ddg       d d d        d}t        j                  t        |      5  t        |d	dgddg       d d d        t        j                  t        d      5  t         |d      g ddg       d d d        t        |      }t        j                  |j                  t!        t#        d            d       t        j                  |j                  t!        t#        d            d       t        |ddg      }t        j                  |j                  t!        t#        d            d       t        |g d      }t        j                  |j                  t!        t#        d            d       t         |d            }t        |j                        dk(  sJ t         |d            }t        |j                        dk(  sJ y # 1 sw Y   y xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w)Nr  r<   r   rU   rT   r  r;   )r;   r  r  ri   rj   r   rc   r=   r  r  r{   r  r  Tr  rb   r   )r   r;   r   )r;   r   )r   r   rX   rc   r   r>   r   rq   rr   r   r5   r   r=   r   rD   rA  r   r   )rF   r  matru  rs   s        rJ   _check_basic_constructorz2TestDataFrameConstructors._check_basic_constructor  s    F%(#q!fE5;;1$$$5==!Q&&& %+uIF5;;1$$$5==!Q&&&NC1= V#q!fBHHUV_QF"((E <<%%111 L]]:S1 	?c?1#>	?K]]:S1 	=cC:aV<	= ]]:-BC 	LeI&sK	L #
ekk5q?$G
emmU58_DI#aV,
emmU58_DI#7
ekk5q?$G %-(5;;1$$$%-(5==!Q&&&KV	? 	?	= 	=	L 	Ls0   "L>!M
MM$>M
MM!$M.c                     | j                  t        j                         t        ddgddgdg      }t	        |      dk(  sJ y )Nr   r  r   rU   r  r   rT   )rH  r>   r   r   rX   r{  s     rJ   test_constructor_ndarrayz2TestDataFrameConstructors.test_constructor_ndarray  s<    %%bgg.5%.AF5zQrL   c                    | j                  t        j                         t        j                  dt              }d|d<   d|d<   t	        |g ddd	g
      }d|d   d   k(  sJ d|d   d	   k(  sJ t        j                  dt              }t	        |g ddd	g
      }t        j                  t        j                  ||k(               sJ y )Nr  r<   r   r   r   rU   rT   r   rU   rT   r  r  r!  )rH  r   
masked_allr   r   r>   rr  asarray)rF   rG  ru  s      rJ   test_constructor_maskedarrayz6TestDataFrameConstructors.test_constructor_maskedarray  s    %%bmm4 mmF%0D	D	#q!fEeCjm###eCjm### mmF%0#q!fEvvrzz%5.11222rL   z7ignore:elementwise comparison failed:DeprecationWarningc                    t        j                  dt              }t        |g dddg      }t	        |j
                        dk(  sJ t	        |j                        dk(  sJ t        j                  t        j                  ||k(               sJ t        |g dddgt        j                        }|j                  j                  t        j                  k(  sJ t        j                  |      }d|d	<   d|d
<   t        |g dddg      }d|d   d   k(  sJ d|d   d   k(  sJ t        j                  dd      }t        |g dddg      }t	        |j
                        dk(  sJ t	        |j                        dk(  sJ t        |      j                  j                         sJ d}t        j                   t"        |      5  t        |g dddgt        j$                         d d d        t        j                  |      }d|d	<   d|d
<   t        |g dddg      }d|d   j'                  d      d   k(  sJ d|d   j'                  d      d   k(  sJ t        j                  dt(              }t        |g dddg      }t	        |j
                        dk(  sJ t	        |j                        dk(  sJ t        j                  t        j                  ||k(               sJ t        |g dddgt*              }|j                  j                  t*        k(  sJ t        j                  |      }d|d	<   d|d
<   t        |g dddg      }|d   d   du sJ |d   d   du sJ y # 1 sw Y   xY w)Nr  r<   r   rU   rT   r  r;   rF  r   rL  r  r!  rv   z8datetime64\[ns\] values and dtype=int64 is not supportedrj   rl   TF)r   rM  r"  r   rX   rc   r   r>   rr  rN  r-   r   r=   r   r%   rq   rr   r   r5   rB   rI  rC   )rF   rG  ru  mat2rs   s        rJ   %test_constructor_maskedarray_nonfloatz?TestDataFrameConstructors.test_constructor_maskedarray_nonfloat/  s6   
 mmF#.#q!fE5;;1$$$5==!Q&&&vvrzz%5.11222 #q!fBJJW||!!RZZ/// wws|T
T
$1vFE#JqM!!!E#JqM!!! mmF(3#q!fE5;;1$$$5==!Q&&&E{!!%%''' J]]9C0 	Rc?1a&Q	R wws|T
T
$1vFE#J%%d+A....E#J%%d+A.... mmF$/#q!fE5;;1$$$5==!Q&&&vvrzz%5.11222 #q!fFS||!!V+++ wws|T
T
$1vFSz!}$$$Sz!}%%%=	R 	Rs   "M&&M0c                 0   t        j                  dt              j                         }t	        |ddgddg      }t	        t
        j                  t
        j                  gt
        j                  t
        j                  gdddgddgt        	      }t        j                  ||       t        j                  dt              j                         }t	        |ddgddg      }t	        d
d
gd
d
gdddgddgt        	      }t        j                  ||       y )N)rT   rT   r<   r  r{   rU   rT   r  ro  rF  r   )
r   rM  r   harden_maskr   r>   rp   rD   rE   r   )rF   mat_hardr   rI   s       rJ   %test_constructor_maskedarray_hardenedz?TestDataFrameConstructors.test_constructor_maskedarray_hardeneds  s    ==u5AAC8c3Z1vF66266""&&"&&)9:#Ja&	
 	fh/776/;;=8c3Z1vF*C:.#Ja&	
 	fh/rL   c                 P   t         j                  j                  t         j                  j                  dddg      dgdz        }|j	                  t
        j                        }t        j                  t        d      5  t        |t               d d d        y # 1 sw Y   y xY w)	Nr   )r	   <f8)pricerX  r<   F)maskzPass \{name: data\[name\]rj   )r>   r   ro   rJ  r   r   	mrecarrayrq   rr   r   r   r"  rF   r   s     rJ   %test_constructor_maskedrecarray_dtypez?TestDataFrameConstructors.test_constructor_maskedrecarray_dtype  s    uu{{EEKK/3C!DKEUGVWK  
 yy++,]]9,HI 	'd#&	' 	' 	's   BB%c                 R    t        g       }|j                  j                  dk(  sJ y )Nrb   r   )r   r   shaperx   s     rJ   test_constructor_corner_shapez7TestDataFrameConstructors.test_constructor_corner_shape  s"    R yy&(((rL   z%data, index, columns, dtype, expectedr$  r   r   r-   r   c                 V    t        ||||      }|j                  j                  |k(  sJ y r   )r   r   r=   )rF   r   rc   r   r=   rI   rH   s          rJ   test_constructor_dtypez0TestDataFrameConstructors.test_constructor_dtype  s*     tUGU3yy(***rL   zdata,input_dtype,expected_dtype)TFNbooleanr   r   NFloat64)rU   rT   NInt64r   r   c                 T    t        d|i|      }|d   j                   |       k(  sJ y )Nr   r<   r^  )rF   r   input_dtypeexpected_dtyperH   s        rJ   0test_constructor_dtype_nullable_extension_arrayszJTestDataFrameConstructors.test_constructor_dtype_nullable_extension_arrays  s-     T{+6#w}} 0000rL   c                    dddddd}t        |t        j                  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(  sJ |s"|d   j                  t        j                  k(  sJ y y )NrU   Tr   y              @r   )r"  rI  r   complexrC   r$  rb   r"  rI  r   rl  rC   )	r   r>   r?   r=   r5   rK  r-   r5  r   )rF   r   r   rH   s       rJ   !test_constructor_scalar_inferencez;TestDataFrameConstructors.test_constructor_scalar_inference  s    $uUt299R=1%y"((***&z288+++'{  BJJ...)}""bmm3337Ir(|!!RZZ/WWx/rL   c                 ^   t        t        j                  j                  d      j	                  d      dd      }t        |d   j
                  dgdz  d      }t        j                  ||       t        j                  t        d      5  t        ddd       d d d        y # 1 sw Y   y xY w)	NrT   r$  Tr3  r   zmust pass an indexrj   F)r   r>   r'  r(  r  r   rD   rE   rq   rr   r   )rF   rH   rv  s      rJ   #test_constructor_arrays_and_scalarsz=TestDataFrameConstructors.test_constructor_arrays_and_scalars  s    RYY2215EEbIPTUVbgnnD6B;?@
b#&]]:-AB 	/E-.	/ 	/ 	/s   B##B,c                     t        |      }t        j                  ||       t        |t        j                        }|j
                  j                  t        j                  k(  sJ y Nr<   )r   rD   rE   r>   r5   r   r=   )rF   rC  rH   	df_casteds       rJ   test_constructor_DataFramez4TestDataFrameConstructors.test_constructor_DataFrame  sJ    {#
b+.k:	%%111rL   c                 t    t        t               d      }t        g d      }t        j                  ||       y )NrC   r<   r   )rF   actualrI   s      rJ    test_constructor_empty_dataframez:TestDataFrameConstructors.test_constructor_empty_dataframe  s,    9;h7Rx0
fh/rL   c                    t         j                  j                  d      j                  d      }t	        |dgt        j
                  d            }|j                  j                  dk(  sJ t         j                  j                  d      j                  d      }t	        |      }|j                  j                  dk(  sJ |j                  j                  dk(  sJ t	        ddgt        j
                  d            }|j                  j                  dk(  sJ t	        ddg      }|j                  j                  d	k(  sJ t	        t        j
                  d      
      }|j                  j                  dk(  sJ t        j                  ddgt              j                  dd      }d}t        j                  t        |      5  t	        |ddgdgt               d d d        t	        t	        |j                               }t#        j$                  ||       t	        t        j&                  dt(              t        j&                  dt         j*                        dt        j
                  d      
      }t-        |j.                        dk(  sJ |j                  j0                  t         j*                  k(  sJ y # 1 sw Y   xY w)NrT   r$  r  r  r   r{   r$  rT   r   )r   rT   rb   )r$  r   r   r  r<   rU   z(could not convert string to float: 'foo'rj   rc   r   r=   ro  )r>   r'  r(  r  r   r?   r   ndimr_  ro   rC   r@   rq   rr   r   r   r  rD   rE   r   r"  r-   rX   r   r=   )rF   rC  rG   r  rG  rs   s         rJ   test_constructor_morez/TestDataFrameConstructors.test_constructor_more  s   ii##A&66r:sSE2?yy~~"""ii##A&66q9s^yy~~"""yy~~""" Sz2?yy')))Sz*yy&(((RYYr]+yy'))) hhu~V4<<QB8]]:S1 	Cc!Q!EB	C y!4!456
b+. ''"C(rwwr/LM))B-

 2::!###yy"**,,,	C 	Cs   J;;Kc                 $   t        g g       }t        g       }t        j                  ||       t        g ddg      }t        i ddg      }t        j                  ||       d }t         |       ddg      }t        j                  ||       y )Nrb   r  r{   r   c               3   $   K   dE d {    y 7 wr   r   r   rL   rJ   	empty_genzHTestDataFrameConstructors.test_constructor_empty_list.<locals>.empty_gen  s     MMs   r   )rF   rH   rI   r~  s       rJ   test_constructor_empty_listz5TestDataFrameConstructors.test_constructor_empty_list  s    r$2&
b(+ rC:.R#s4
b(+	 y{S#J7
b(+rL   c                 z   t        ddgddggddg      }t        |d         sJ |s"|d   j                  t        j                  k(  sJ 	 t        dt        j
                  d	      i      }t        d	      D cg c]  }t        j                  |       }}t        |      }t        j                  ||       y c c}w )
NrU   r   rT   r   numrA   r  r   r$  )
r   r   r=   r>   r   r?   r   ro   rD   rE   )rF   r   rH   rI   r   r   r   s          rJ   test_constructor_list_of_listsz8TestDataFrameConstructors.test_constructor_list_of_lists  s    aX3x05%.I5	***4Fr%y"**,TTH a2/0%*2Y///4
fh/ 0s   8B8c                 X   t        ddg      }t        j                  d d gt              }||d<   |dz  |d<   t	        |      }t	        t        j                  |            }t        j                  ||       |j                  dk(  sJ t        j                  |d   j                  |       y )NrU   rT   r<   r   )rT   rU   )r    r>   ro   rC   r   r0  rD   rE   r_  r  r   )rF   serrG   rH   rI   s        rJ   .test_nested_pandasarray_matches_nested_ndarrayzHTestDataFrameConstructors.test_nested_pandasarray_matches_nested_ndarray  s    aVnhhd|62AqAs^RXXc]+
b(+xx6!!!
##BqELL#6rL   c                     t        d      t        d      g}t        g dg dg|      }t        j                  |      }t        g dg dg|      }t	        j
                  ||       y )Nabcdcdefr(  r:   r   rO   r  r   )r?  r   r   from_arraysrD   rE   )rF   r   r   r  rI   s        rJ   2test_constructor_list_like_data_nested_list_columnzLTestDataFrameConstructors.test_constructor_list_like_data_nested_list_column&  sV    v,V-L,7H##F+lL92F
fh/rL   c                     t        d      t        d      g}d}t        j                  t        |      5  t	        g dg dg|       d d d        y # 1 sw Y   y xY w)Nr   cdez#3 columns passed, passed data had 4rj   r(  r  r   r?  rq   rr   r   r   rF   r   rs   s      rJ   0test_constructor_wrong_length_nested_list_columnzJTestDataFrameConstructors.test_constructor_wrong_length_nested_list_column0  sO    u+tE{+3]]:S1 	D|\2FC	D 	D 	D   AAc                     t        d      t        d      g}d}t        j                  t        |      5  t	        g dg dg|       d d d        y # 1 sw Y   y xY w)Nr  r  zall arrays must be same lengthrj   r(  r  r   r  r  s      rJ   2test_constructor_unequal_length_nested_list_columnzLTestDataFrameConstructors.test_constructor_unequal_length_nested_list_column8  sQ    v,U, /]]:S1 	D|\2FC	D 	D 	Dr  r   
2021-01-01r   r`   c                     t        |g ddg      }t        dt        d      gdz  i      }t        j                  ||       y )Nr~  r   r   r  r;   )r   r"   rD   rE   r  s       rJ   &test_constructor_one_element_data_listz@TestDataFrameConstructors.test_constructor_one_element_data_listA  s@     4y3%@cIl$;#<q#@AB
fh/rL   c                      G d dt         j                        } |ddg       |ddg      g}ddg}t        ||	      }t        ddgddgg|	      }t        j                  ||d
       y )Nc                   &    e Zd ZddZd ZdefdZy)PTestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainerreturnNc                     || _         y r   )_lst)rF   lsts     rJ   __init__zYTestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainer.__init__U  s	    	rL   c                 8    | j                   j                  |      S r   )r  __getitem__)rF   ns     rJ   r  z\TestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainer.__getitem__X  s    yy,,Q//rL   c                 6    | j                   j                         S r   )r  __len__)rF   s    rJ   r  zXTestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainer.__len__[  s    yy((**rL   )r  N)__name__
__module____qualname__r  r  r"  r  r   rL   rJ   DummyContainerr  T  s     0+ +rL   r  rU   r   rT   r   r  rA   r   Fr  )r   Sequencer   rD   rE   )rF   r  lst_containersr   r   rI   s         rJ   test_constructor_sequence_likez8TestDataFrameConstructors.test_constructor_sequence_likeP  sp    	+S\\ 	+ )!S2NAs84LM%.>7;q#hC17C
fhEBrL   c           	         t        dt        j                  dt        d            i      }t        dt        t        d            i      }t	        j
                  ||d       t        t        t        d            t        t        d            g      }t        t        j                  dt        d            t        j                  dt        d            g      }t	        j
                  ||d       y )Nr  rU  r$  Fr  )r   ro   r   r?  rD   rE   r  s      rJ   test_constructor_stdlib_arrayz7TestDataFrameConstructors.test_constructor_stdlib_arrayd  s     CS%)!<=>c4b	?34
fhEBd59otE"I?@EKKU2Y7S%PR)9TUV
fhEBrL   c                     t        t        d            }t        t        t        d                  }t        j                  ||       y Nr$  r   r   r?  rD   rE   r  s      rJ   test_constructor_rangez0TestDataFrameConstructors.test_constructor_rangeo  s2    59%T%)_-
fh/rL   c                     t        t        d      t        d      g      }t        t        t        d            t        t        d            g      }t        j                  ||       y r  r  r  s      rJ   test_constructor_list_of_rangesz9TestDataFrameConstructors.test_constructor_list_of_rangesu  sH    E"IuRy12d59otE"I?@
fh/rL   c                      G d d      }t        g dgdz        }t         |             }t        j                  ||       y )Nc                       e Zd ZdefdZy)ATestDataFrameConstructors.test_constructor_iterable.<locals>.Iterr  c              3   8   K   t        d      D ]  }g d 
 y w)Nr$  r  )r   )rF   rU  s     rJ   __iter__zJTestDataFrameConstructors.test_constructor_iterable.<locals>.Iter.__iter__}  s     r $A#O$s   N)r  r  r  r   r  r   rL   rJ   Iterr  |  s    $( $rL   r  r  r$  r   )rF   r  rI   r   s       rJ   test_constructor_iterablez3TestDataFrameConstructors.test_constructor_iterablez  s;    	$ 	$
 i[2-.46"
fh/rL   c                     t        t        t        d                  }t        t        t        d                  }t	        j
                  ||       y r  r   r  r   r?  rD   rE   r  s      rJ   test_constructor_iteratorz3TestDataFrameConstructors.test_constructor_iterator  s6    4b	?+T%)_-
fh/rL   c                     t        t        t        d            t        t        d            g      }t        t        t        d            t        t        d            g      }t	        j
                  ||       y r  r  r  s      rJ   "test_constructor_list_of_iteratorsz<TestDataFrameConstructors.test_constructor_list_of_iterators  sP    DrOT%)_=>d59otE"I?@
fh/rL   c                    d t        d      D        }d t        d      D        }t        t        t        d            t        t        d            g      }t        ||g      }t        j                  ||       d t        d      D        }t        |      }t        t        d      dd      }t        j                  ||d       y )	Nc              3       K   | ]  }|  y wr   r   r  s     rJ   r   zGTestDataFrameConstructors.test_constructor_generator.<locals>.<genexpr>       %a%r   r$  c              3       K   | ]  }|  y wr   r   r  s     rJ   r   zGTestDataFrameConstructors.test_constructor_generator.<locals>.<genexpr>  r  r   c              3   $   K   | ]  }|d g 
 yw)r   Nr   r  s     rJ   r   zGTestDataFrameConstructors.test_constructor_generator.<locals>.<genexpr>  s     +A3x+s   r   rV   Fr  )r   r   r?  rD   rE   )rF   gen1gen2rI   r   gens         rJ   test_constructor_generatorz4TestDataFrameConstructors.test_constructor_generator  s     &59%%59%d59otE"I?@D$<(
fh/+r+3rs34
fhEBrL   c                 t    t        i g      }t        t        d      g       }t        j                  ||       y )NrU   r   )r   r   rD   rE   r  s      rJ   test_constructor_list_of_dictsz8TestDataFrameConstructors.test_constructor_list_of_dicts  s-    B4:a="=
fh/rL   c                     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      }t        j                  ||       y )N)r   rU   )r   rT   )r   rT   )r   r   r   r   rU   rT   r   )r   r   r   r   )r   rc   )r   r   rD   rE   )rF   nested1nested2r   r   rI   s         rJ   3test_constructor_ordered_dict_nested_preserve_orderzMTestDataFrameConstructors.test_constructor_ordered_dict_nested_preserve_order  st    x23x23VW-/@AB4AA/$sCj9
fh/rL   	dict_typec                     t        ddggddg      } |       }dg|d<   dg|d<   t        |      }t        j                  ||        |       }d|d<   d|d<   t        |g      }t        j                  ||       y )NrT   rU   r   r   r   r   )rF   r  rI   r   r   s        rJ   ,test_constructor_ordered_dict_preserve_orderzFTestDataFrameConstructors.test_constructor_ordered_dict_preserve_order  s     q!fXSz:{CS	CS	4
fh/{S	S	D6"
fh/rL   c                 :    |       }d|d<   d|d<    |       }d|d<   d|d<   ddd}t        ddgddggddg      }t        ||g      }t        j                  ||       t        ddgddgddggddg      }t        |||g      }t        j                  ||       y )NrT   r   rU   r   r  r   r   )rF   r  row_onerow_two	row_threerI   r   s          rJ   0test_constructor_ordered_dict_conflicting_orderszJTestDataFrameConstructors.test_constructor_ordered_dict_conflicting_orders  s     ++!$	q!fq!f-SzBGW-.
fh/q!fq!fq!f5SzJGWi89
fh/rL   c           
          t        d      D cg c]  }t        |g dt        |             }}t        |      }t        g dg dg ddg dg d      }t	        j
                  ||       y c c}w )Nr;   )r   r   r   rl  r~  )0rz  r  r  )r   r    rA   r   rD   rE   )rF   rU  seriesr   rI   s        rJ   -test_constructor_list_of_series_aligned_indexzGTestDataFrameConstructors.test_constructor_list_of_series_aligned_index  sb    INqRA&/A?RR6"))<#!

 	fh/ Ss    A.c                      G d dt               }ddd} ||      g}|g}t        |      }t        |      }t        j                  ||       y )Nc                       e Zd Zy)TTestDataFrameConstructors.test_constructor_list_of_derived_dicts.<locals>.CustomDictNr  r  r  r   rL   rJ   
CustomDictr        rL   r        ?r;   r3  )r-  r   rD   rE   )rF   r  r   data_customr   result_customr   s          rJ   &test_constructor_list_of_derived_dictsz@TestDataFrameConstructors.test_constructor_list_of_derived_dicts  sO    	 	 A!!}os!+.4
fm4rL   c                 4   t         j                  j                  d      j                  d      t         j                  j                  d      j                  d      d}t	        j
                  t        d      5  t        |       d d d        y # 1 sw Y   y xY w)NrT   r$  r  ro  z%All arrays must be of the same lengthrj   )r>   r'  r(  r  rq   rr   r   r   r\  s     rJ   test_constructor_raggedz1TestDataFrameConstructors.test_constructor_ragged  sp    &&q)99"=&&q)99!<
 ]]:-TU 	dO	 	 	s   9BBc                     t        t        d            }t        ddi|      }t        dg di|      }t        j                  ||d       y )Nr;   r   r   rb   )r   r   r   Fr  )r   r   r   rD   rE   )rF   r   rH   rI   s       rJ   test_constructor_scalarz1TestDataFrameConstructors.test_constructor_scalar  sB    E!HoQxs+c9-S9
b(>rL   c                 \    t        |d   |j                  dg      }|j                          y )Nr  r   )r   rc   r   )rF   rC  rH   s      rJ    test_constructor_Series_copy_bugz:TestDataFrameConstructors.test_constructor_Series_copy_bug  s&    {3'{/@/@3%P
	rL   c                    i }dddd|d<   t        g dg d      |d	<   t        |      }|j                  j                  sJ t	        j
                  t        d
      5  t        ddgdddd       d d d        t        ddgt        ddgddg      d      }t        ddgddgdddg      }t        j                  ||       y # 1 sw Y   UxY w)NrU   rT   r;   r  r  )r:   r;   rT   rU   )r  quxr  r   rb   r{   zambiguous orderingrj   r   r   r3  ro  )	r    r   rc   is_monotonic_increasingrq   rr   r   rD   rE   r  s       rJ   &test_constructor_mixed_dict_and_Seriesz@TestDataFrameConstructors.test_constructor_mixed_dict_and_Series  s    a2S	</KLS	4||3333 ]]:-AB 	DS#J3S-ABC	D #s&#sCQT:2VWXC:S#J?SzR
fh/	D 	Ds   CCc                 t    ddgdg}t        |      }t        ddgddgg      }t        j                  ||       y )NrU   rT   r;   r:   r;   r:   r   r  s       rJ    test_constructor_mixed_type_rowsz:TestDataFrameConstructors.test_constructor_mixed_type_rows  s@    A4q!fq!f-.
fh/rL   ztuples,lists)r   r   r  r  c                 \    t        |      }t        |      }t        j                  ||       y r   r   )rF   r  listsr   rI   s        rJ   test_constructor_tuplez0TestDataFrameConstructors.test_constructor_tuple  s(     6"U#
fh/rL   c                 ~    t        dddgi      }t        dt        ddg      i      }t        j                  ||       y )Nr  rL  r  r   r    rD   rE   r  s      rJ   test_constructor_list_of_tuplesz9TestDataFrameConstructors.test_constructor_list_of_tuples)  s?    C&&!123c666*:#;<=
fh/rL   c                 &   t        dt        d            } |dd       |dd      g}t        ddgddgd      }t        |      }t        j                  ||       t        ddgddgd      }t        |d	d
g      }t        j                  ||       y )NPandasabrU   r;   rT   r:   r3  )r   r  r   r  r   )r   r?  r   rD   rE   )rF   named_tupler  rI   r   s        rJ   $test_constructor_list_of_namedtuplesz>TestDataFrameConstructors.test_constructor_list_of_namedtuples.  s     4:6a#[A%67Aq6A786"
fh/ Aq6A786C:6
fh/rL   c                     t        ddt        fdt        fg      } |dd       |dd      g}t        ddgddgd      }t        |      }t        j                  ||       y )NPointr   r   r   r;   rU   r   r   )r   r"  r   rD   rE   )rF   r  r   rI   r   s        rJ   $test_constructor_list_of_dataclassesz>TestDataFrameConstructors.test_constructor_list_of_dataclasses;  sa    w#sc3Z(@AaU1a[)Aq6A784
fh/rL   c                 f   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        j                  ||       y )Nr  r   r   HLinex0x1r   r;   rU   )r   r   r  r  )r   r"  r   r>   rp   rD   rE   )rF   r  r  r   rI   r   s         rJ   7test_constructor_list_of_dataclasses_with_varying_typeszQTestDataFrameConstructors.test_constructor_list_of_dataclasses_with_varying_typesD  s     w#sc3Z(@Aw$tSkC:(NOaU1a^,bff+QF2661+bffa[Q
 4
fh/rL   c                     t        ddt        fdt        fg      }d}t        j                  t        t        j                  |            5  t         |dd      dddg       d d d        y # 1 sw Y   y xY w)	Nr  r   r   z0asdict() should be called on dataclass instancesrj   r   rU   r  )r   r"  rq   rr   r   reescaper   )rF   r  rs   s      rJ   1test_constructor_list_of_dataclasses_error_thrownzKTestDataFrameConstructors.test_constructor_list_of_dataclasses_error_thrownR  sf    w#sc3Z(@A A]]9BIIcN; 	7uQ{!!$456	7 	7 	7s   A,,A5c           	          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        j                  ||       y )NrU   r:   r  r$  )FirstSecondThirdFourthr   rT   r  r  )r  r
  r  r  rO   r;   r9   r     r  )r  r
  r  r  YYYXXXr  r  )r  r  r  )r$  r  r9   )NNr  )NNr  )r
  r  r  r  r  r  r   )rF   r   rI   r   s       rJ   #test_constructor_list_of_dict_orderz=TestDataFrameConstructors.test_constructor_list_of_dict_order[  sr     1qB?1Q?1QrRTU

 "#"&''	
 4
fh/rL   c                    t        g dg dd      }t        |      }|j                  d   dk(  sJ t        j                  |j
                  |j
                         t        j                  j                  d      j                  d      }t        |d      }t        |      }t        d|i      }t        j                  ||       t        |t        d	d
            }t        |      }t        d|i      }t        j                  ||       d}t        j                  t        |      5  t        |ddg       d d d        t        g dt              }t        |      }|j                  d   dk(  sJ t        |d      }t        ||g      j                   }t        ||dddg      }t        j                  ||       t        ||g      j                   }t        ||dddg      }t        j                  ||       y # 1 sw Y   xY w)Nr  r   r   rl  r   rT   r$  r|   r;   r  rb   z<Shape of passed values is \(10, 1\), indices imply \(10, 2\)rj   rU   r   rn   r=   )r   	Unnamed 0r  r  )r    r   r   rD   rA  rc   r>   r'  r(  r  rE   r   rq   rr   r   rC   r
  )rF   r   rH   rG   r  rI   rs   s1s           rJ   test_constructor_Series_namedz7TestDataFrameConstructors.test_constructor_Series_namedo  s   9O#>q\zz!}###
bhh0 ii##A&66r:3S!q\c1X&
b(+3eArl+q\aV$
b(+M]]:S1 	)a!Q(	) 2Cv.q\zz!}### Cc"Cy!##2C83BTU
b(+ Ry!##_q!f=
b(+#	) 	)s   'G<<Hc                    t        t        d      d      }t        t        d      d      }t        j                  t	        |dg      |j                                t        j                  t	        |dg      |j                                t	        |dg      j                  sJ t	        |dg      j                  sJ y )Nr   r   r|   rU   r   )r    r   rD   rE   r   to_framer  )rF   s0r  s      rJ   )test_constructor_Series_named_and_columnszCTestDataFrameConstructors.test_constructor_Series_named_and_columns  s     E!H1%E!H1% 	iQC8"++-H
iQC8"++-H aS)////aS)////rL   c                    t        g dg dd      }t        g dg d      }t        ddg      }t        ||      }t        |j                  |            }|j                  d   dk(  sJ t        j                  ||       t        ||      }t        |j                  |            }|j                  d   dk(  sJ t        j                  |j                  |       t        j                  ||       y )	Nr  r   r   rl  rb   r   r   r   )	r    r   r   rB  r   rD   rE   rA  rc   )rF   r  s2other_indexdf1exp1r
  exp2s           rJ   +test_constructor_Series_differently_indexedzETestDataFrameConstructors.test_constructor_Series_differently_indexed  s    I_3? I_5S#J'+.K01{{1~$$$
c4(+.K01{{1~"""
cii5
c4(rL   z#name_in1,name_in2,name_in3,name_out))r   r   r   r   )r   r   NN)r   NNN)idx1idx2NN)r"  r"  r#  N)r"  r#  idx3N)NNNNc           	         t        g d|      t        g d|      t        g d|      g}t        |g d      D ci c]  \  }}|t        g d|       }}}t        |      }	t        g 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|
      }t        j                  |	|       y c c}}w )Nr   r|   )r   r   r   )r   r   e)r   r   r  r~  rb   r   r   r   r   r&  r   rU   rT   )r   r+  r    r   r>   rp   rD   rE   )rF   name_in1name_in2name_in3name_outindicesrU  r   r  r   exp_indrI   s               rJ   test_constructor_index_namesz6TestDataFrameConstructors.test_constructor_index_names  s     /1/1/1
 7:'?6S
.2aAviq))
 
 6"1AArvvrvv.ffaArvv.ffbffaA.
 
 	fh/
s   D c                    t        |j                  d d       }t        |j                  d d       }d}t        j                  t
        |d      5  t        |j                  ||      }d d d        t        j                  j                  t        |             t        j                  |j                  t        |             y # 1 sw Y   \xY w)Nr   r;   z#Passing a BlockManager to DataFrameF)rk   check_stacklevelr   )
r?  rc   r   rD   assert_produces_warningDeprecationWarningr   rY   rA  r   )rF   rC  rc   r   rs   r   s         rJ   test_constructor_manager_resizez9TestDataFrameConstructors.test_constructor_manager_resize  s    [&&r*+{**2A./3''cE
 	O {//ugNF	O 	fllE%L9
fnneGn=	O 	Os   CCc                 <   t        |d   t        |d         dddg      }t        j                  ||j                  d d ddgf          d}t        j                  t        |      5  t        |d   t        |d         d d d       d d d        y # 1 sw Y   y xY w)Nr  r{   ro  r   zdoes not match index lengthrj   )r   r?  rD   rE   r  rq   rr   r   )rF   rC  rH   rs   s       rJ   %test_constructor_mix_series_nonseriesz?TestDataFrameConstructors.test_constructor_mix_series_nonseries  s    c"k#.>)?@3PS*
 	b+//!c3Z-"@A+]]:S1 	QK,4C8H3I#23NOP	Q 	Q 	Qs   (!BBc                     d}t        j                  t        |      5  t        t        j
                  dgddggt        j                         d d d        y # 1 sw Y   y xY w)Nri   rj   rU   r   r<   )rq   rr   r   r   r>   rp   r5   r  s     rJ   %test_constructor_miscast_na_int_dtypez?TestDataFrameConstructors.test_constructor_miscast_na_int_dtype  sJ    J]]-S9 	={QF+288<	= 	= 	=s   0AA c                     t        ddggddg      }t        ddgg      }ddg|_        t        j                  ||       t        j                  dgddg      }t        j                  ||       y )Nr  r   r   r   )r  r   )r   r   rD   rE   from_records)rF   rH   edfidfs       rJ   "test_constructor_column_duplicatesz<TestDataFrameConstructors.test_constructor_column_duplicates  sk    Ax#s4!Q!Cj
b#&$$fXSzB
c3'rL   c                 D   t        ddgddgt              }t        ddgddgt              }t        j                  ||       t        ddgddgt
        j                        }t        j                  ||       t        ddgddgd      }t        j                  ||       y )Nr   rU   ry  U5)r   rC   rA   rD   rE   r>   str_r  s      rJ   (test_constructor_empty_with_string_dtypezBTestDataFrameConstructors.test_constructor_empty_with_string_dtype  s    Aq6Aq6HaVaV3?
b(+aVaV277C
b(+aVaV4@
b(+rL   c                 h    t        dg|      }t        dg|      }t        j                  ||       y )Nc1r   r=   r   )rF   nullable_string_dtyperI   rH   s       rJ   ,test_constructor_empty_with_string_extensionzFTestDataFrameConstructors.test_constructor_empty_with_string_extension  s0    dV3HIv-BC
b(+rL   c           
         t        dg dg d      }t        j                  |t        t        j                  |j
                        j                  d      |j                  |j                               t        dg dg d      }t        j                  |t        t        j                  |j
                        j                  d      |j                  |j                               t        dd	d
gddg      }t        j                  |t        t        j                  ddgddggt              d	d
gddg             d}t        j                  t        |      5  t        dd	d
g       d d d        t        j                  t        |      5  t        dddg       d d d        d}t        j                  t        |      5  t        dd	d
gddgt               d d d        y # 1 sw Y   yxY w# 1 sw Y   RxY w# 1 sw Y   y xY w)N        r  r   r   r-   r   r5   r   rU   rT   r   r<   z*DataFrame constructor not properly called!rj   r   zincompatible data and dtype)r   rD   rE   r>   rJ  r_  rB   rc   r   ro   rC   rq   rr   r   r   r   )rF   rH   rs   s      rJ   test_constructor_single_valuez7TestDataFrameConstructors.test_constructor_single_value  s   s)_E
	"((288,33I>"**U	
 q	?C
	"((288,33G<bhh

S	
 s1a&3*=
3*sCj1@!fc
	
 ;]]:S1 	#cAq6"	#]]:S1 	/cC:.	/ ,]]9C0 	6cAq6C:u5	6 	6	# 	#	/ 	/	6 	6s$   G"G.G:"G+.G7:Hc                    t        j                  t              j                  }t        j                  t         j                        j                  }t        j                  t         j
                        j                  }t        dddt        d      t        ddddd      dt        j                  d	      
      }|j                  }t        t        j                  d      g|st        j                  |      ndgdz  z   t        j                  d      t        j                  d      gz   t        d      
      }t        j                  ||       t        dddddd|t        j                  d|      |t        j                  d|      it        j                  d	      
      }|j                  }t        t        j                  d      gt        j                  d      gz   |st        j                  d      ndgz   t        j                  d      gz   t        j                  |      gz   ddd||g
      }t        j                  ||       t        dddddd|t        j                  dgd	z  |      |t        j                  dgd	z  |      it        j                  d	      
      }|j                  }t        t        j                  d      gt        j                  d      gz   |st        j                  d      ndgz   t        j                  d      gz   t        j                  |      gz   ddd||g
      }t        j                  ||       y )NrU   r   r  20010101  rT   r   )r  r{   r!  r  Er$  rb   r5   r   M8[s]M8[us]ABCDEr   r   r   r   r<   r-   rC   )r>   r=   r"  rn   r-   r   r   r"   r
   r?   r.  r    r?  rD   r   ro   )rF   r   intname	floatname
objectnamerH   r   rI   s           rJ   test_constructor_with_datetimesz9TestDataFrameConstructors.test_constructor_with_datetimes4  s   ((3-$$HHRZZ(--	XXbjj)..
 z*dAq!Q/ ))B-	
 XXg+=rxx
#8LqPQxx "((8"456 w-	
 	vx0 SQU288Cy9!73 ))B-	
 XXi !xx !");rxx!JK xx	"#$ xx !	"
 S)W5
 	vx0 SQU288SEBJi@1#(': ))B-	
 XXi !xx !");rxx!JK xx	"#$ xx !	"
 S)W5
 	vx0rL   c                     t        ddd      }|D cg c]  }|j                          }}t        |      }|j                  dk(  sJ y c c}w )Nr  r  r$  startr/  rR   rv   )r$   to_pydatetimer    r=   )rF   indts	datetimes
datetime_ss        rJ    test_constructor_with_datetimes1z:TestDataFrameConstructors.test_constructor_with_datetimes1z  sO    |#rB256BR%%'6	6I&
8+++ 7s   A	c                    t        ddd      }|D cg c]  }|j                          }}|D cg c]  }|j                          }}t        |dg      }||d<   |j                  }t        t        j                  d      t        j                  d	      gddg
      }t        j                  ||       y c c}w c c}w )Nr  r  r$  rV  r[  r   datesdatetime64[ns]rC   rb   )
r$   rX  r	   r   r.  r    r>   r=   rD   r   )rF   rY  rZ  r[  r_  rH   r   rI   s           rJ    test_constructor_with_datetimes2z:TestDataFrameConstructors.test_constructor_with_datetimes2  s    |#rB256BR%%'6	6%()r))y;-87XX&'();<(
 	vx0 7)s
   B6B;c                    t        j                  d      }|j                  t        ddd            }t	        d|idg      }|j
                  d   |k(  sJ t        j                  |j                  t        ddit        	             t	        d|ig      }|j
                  d   |k(  sJ t        j                  |j                  t        dd
it        	             y )Nr:    rU   zEnd Dater   rb   r   zdatetime64[us, US/Eastern]r<   datetime64[ns, US/Eastern])pytztimezonelocalizer
   r   iatrD   r   r.  r    rC   )rF   rS   ra   rH   s       rJ    test_constructor_with_datetimes3z:TestDataFrameConstructors.test_constructor_with_datetimes3  s     ]]<([[$1-.
B's3vvd|r!!!
IIvz+GHPVW	
 R()*vvd|r!!!
IIvz+GHPVW	
rL   c                 v   t        dd      }t        d|i      }|j                  d   j                  J t        ddd      }t        d|i      }t	        |j                  d   j                        dk(  sJ t        ddd      }t        d|i      }t	        |j                  d   j                        dk(  sJ y )	N20130101r;   ri  rd   r   UTCrQ   r:  )r$   r   rh  rS   rA   )rF   drrH   s      rJ    test_constructor_with_datetimes4z:TestDataFrameConstructors.test_constructor_with_datetimes4  s     
A.}%vvd|&&&
A%8}%266$<??#u,,,
A,?}%266$<??#|333rL   c                    t        dddd      }t        d|j                         j                  d      i      }t               }||d<   t	        j
                  ||       t        d|i      }t	        j
                  ||       y )	N1/1/2011r   10sr:  rR   r/  rS   r   Tdropr$   r   	to_seriesreset_indexrD   rE   )rF   rU  rI   rH   s       rJ    test_constructor_with_datetimes5z:TestDataFrameConstructors.test_constructor_with_datetimes5  su     z15\Jc1;;=#<#<$#<#GHI[3
b(+Qx 
b(+rL   c                     t        dddd      }t        ddd      }t        ||d      }t        |j                         j                  d	      |d      }t	        j
                  ||       y )
Nrp  r   rq  r:  rr  rR   r/  r3  Trs  ru  )rF   rU  i_no_tzrH   rI   s        rJ    test_constructor_with_datetimes6z:TestDataFrameConstructors.test_constructor_with_datetimes6  sb    z15\JZ?QW-.1;;=#<#<$#<#GgVW
b(+rL   rG   r   c                     t        |      j                  }t        t        j                  d      g      }t        j                  ||       y )Nr`  )r   r.  r    r>   r=   rD   r   )rF   rG   r   rI   s       rJ   %test_constructor_datetimes_with_nullsz?TestDataFrameConstructors.test_constructor_datetimes_with_nulls  s:     3&&288$4567
vx0rL   order)Kr  r!  Fr<  )r   r  hr   r  msusr`   c                    d| d}t        j                  g dg dg||      }t        |      }t        |j                  d            }|dv rGt	        j
                  t        d	      5  |j                  |       d d d        |j                  d
      }n|j                  |      }t        j                  ||       y # 1 sw Y   DxY w)Nzdatetime64[])z
2015-01-01z
2015-01-02z
2015-01-03)z
2017-01-01z
2017-01-02z
2017-02-03r=   r  rv   )r   r  r  r   Cannot castrj   zdatetime64[s]r<   )	r>   ro   r   rB   rq   rr   r   rD   rE   )rF   r  r<  r=   narH   rI   s          rJ   !test_constructor_datetimes_non_nsz;TestDataFrameConstructors.test_constructor_datetimes_non_ns  s     dV1%XX:: 
 r]RYYx01''y> '&'  7HU3H
b(+' 's   )B>>C)r  r  r   r  r  r  r`   c                    d| d}t        j                  t        j                  dd      t        j                  dd      gt        j                  dd      t        j                  dd      gg||      }t        |      }|d	v rd
}n|}t        j                  d| d      }t        t        dd      t        dd      gt        dd      t        dd      gg|      }t        j                  ||       y )Nztimedelta64[r  rU   r  rT   r:   r   r  )r  r  r   r  zm8[r<   )r>   ro   r!  r   r=   r!   rD   rE   )	rF   r  r<  r=   r  rH   exp_unit	exp_dtyperI   s	            rJ   !test_constructor_timedelta_non_nsz;TestDataFrameConstructors.test_constructor_timedelta_non_ns  s     tfA&XX3'3)?@3'3)?@ 
 r]?"HHHHs8*A./	1c"Ia$561c"Ia$56 
 	b(+rL   c                    t        t        d      D cg c]  }t        j                  d       c}      }|j                  }t        t        j                  d      gdz        }t        j                  ||       t        t        d      D cg c],  }t        j                  t        j                  d      d      . c}      }|j                  }t        t        j                  d      gdz        }t        j                  ||       t        dddgi      }|j                  j                  d   t        j                  d	      k(  sJ t        d
dg      }|j                  j                  d   t        j                  d	      k(  sJ t        ddg      }|j                  j                  d   t        j                  d      k(  sJ t        dd
dgi      }|j                  j                  d   t        j                  d	      k(  sJ t        dddgi      }|j                  j                  d   t        j                  d      k(  sJ t        dd
it        d            }|j                  j                  d   t        j                  d	      k(  sJ t        ddit        d            }|j                  j                  d   t        j                  d      k(  sJ t        g dg dt        d      t        d      D cg c]  }t        dd
d
       c}g dd      }|j                  }t        t        j                  d	      t        j                  d      |st        j                  d      ndt        j                  d      t        j                  d      gt        d            }t        j                  ||       y c c}w c c}w c c}w )Nr   r"  r4   r<   r   l        l       r   r5   rU   rT   r   r   r-   r;   rb   )rU   rT   r:   r  )g333333?gffffff@gffffff@g333333@r  r:     )r   rT   r  r  r'  rC   r   r`  abcde)r   r   r>   r?   r.  r    r=   rD   r   ro   r   r?  r
   )rF   r   r   rH   r   rI   rU  s          rJ   %test_constructor_for_list_with_dtypesz?TestDataFrameConstructors.test_constructor_for_list_with_dtypes  s   eAh7		!78288E?+a/0
vx0uQxP!1W=PQ288G,-12
vx0 eY/01yy~~a BHHW$5555 1vyy~~a BHHW$5555Sz"yy~~a BHHY$7777aV}%yy~~a BHHW$5555c3Z()yy~~a BHHY$7777QxuQx0yy~~a BHHW$5555Szq2yy~~a BHHY$7777 !)&\49!H=qhtQ*=%
 !#*<"()*# w-	
 	vx0o 8
 QF >s   N91N>8Oc                     t        |d      }d|d<   |d   dk(  j                         sJ |d   dk(  j                         rJ y )NTr  r   r  )r   rr  )rF   rC  cops      rJ   test_constructor_frame_copyz5TestDataFrameConstructors.test_constructor_frame_copyV  sP    $/CCA""$$$$)..0000rL   c                     |j                         }t        |      }|j                  |j                  usJ t        j                  t        |            |_        t        j                  ||       y r   )	r   r   rY   r>   r?   rX   rc   rD   rE   )rF   rC  origr  s       rJ   #test_constructor_frame_shallow_copyz=TestDataFrameConstructors.test_constructor_frame_shallow_copy\  sX     !$xx{/////IIc#h'	
k40rL   c                    |s|j                   j                         }t        |      }d|d<   |r"|j                   d   dk(  j                         r$J |j                   d   dk(  j                         sJ t        |d      }d|d<   |j                   d   dk(  j                         rJ y |j                   j                         }t        |      }|j                  j
                  d   j                  j                  sJ d|d<   |j                  d   dk7  sJ t        |d      }|j                  j
                  d   j                  j                  rJ d	|d<   |j                  d   d	k(  sJ y )
Nr   Tr  rO   r   ra  r   Fi  )	r   r   r   rr  rY   r   r  r	  r   )rF   rC  r[   r  rG   rH   s         rJ   test_constructor_ndarray_copyz7TestDataFrameConstructors.test_constructor_ndarray_copyg  sR    #$$))+C3BCF"IIaLA-22444		!)..0003T*BCF		!)..0000$$))+C3B77>>!$**7777CI774=C''' 3U+Bww~~a(..;;;;CI774=D(((rL   c                     |j                   }t        d|d   id      }d|j                  |j                  d   |j                  d   df<   |d   dk(  j	                         rJ y )Nr  Tr  r   r   r=  )r  r   r  rc   rr  )rF   rC  r  rH   s       rJ   test_constructor_series_copyz6TestDataFrameConstructors.test_constructor_series_copy  sj    $$VC[)5 34rxx{RXXb\)3./3K1$))++++rL   rH   rb   g?g@r   r  r  )rH  rU   rT   r   c                    t        t        |j                              D ]  }|j                  d d |f     t	        j
                  t        |j                              t        |j                           }t        |      dk(  rFt        j                  t        d      5  |j                  d d t        j                  f    d d d        y t        |      dk(  rJt        j                  |j                  d d |d   f   |j                  d d t        j                  f          y t        j                  |j                  d d |f   |j                  d d t        j                  f          y # 1 sw Y   y xY w)Nr   z^nan$rj   rU   )r   rX   r   r   r>   r?   r%   rq   rr   KeyErrorr  rp   rD   r   rE   )rF   rH   rU  indexers       rJ   test_constructor_with_nasz3TestDataFrameConstructors.test_constructor_with_nas  s   " s2::' 	AGGAqDM	 ))C

O,T"**-=> w<1xw7 "q"&&y!" " \Q""2771gaj=#9266!RVV);LM !!"''!W*"5rvvai7HI" "s   "E((E1c                     t        dt        j                  dgi      }|d   j                  t        j                  k(  sJ |d   d   rJ y )Nr   FrU   )r   r>   rp   r=   r   )rF   r   s     rJ   &test_constructor_lists_to_object_dtypez@TestDataFrameConstructors.test_constructor_lists_to_object_dtype  sE    sRVVUO,-v||rzz)))S6!9}9rL   c                    t        g d      }t        j                  |      j                  dd      }t        j                  |d      }t        ||j                        }t        ||||d      }t        j                  ||       y )Nr   r=  rU   r  r<   r  )	r   r>   ro   r@   broadcast_tor   r=   rD   rE   )rF   catrG   r   rI   s        rJ   *test_constructor_ndarray_categorical_dtypezDTestDataFrameConstructors.test_constructor_ndarray_categorical_dtype  si    /*hhsm##B*ooc6*3cii0=>
fh/rL   c                 P   t        dt        d      id      }t        t        d      dd      }t        j                  |d   |       t        t        d      d      }|j                         }t        t        d      dd      }t        j                  |d   |       |j                  d      }t        t        d      dd      }t        j                  |d   |       t        t        d      d      }t        t        d      dd      }t        j                  |d   |       y )	Nr  r   categoryr<   rm   r   r   r|   )r   r?  r    rD   r   r  )rF   rH   rI   r  r   s        rJ   test_constructor_categoricalz6TestDataFrameConstructors.test_constructor_categorical  s     T%[)<$u+ZcB
r#w1 4;j1$u+Za@
vay(3'$u+ZeD
ve}h7 tE{*5$u+Za@
r!uh/rL   c                     t        t        d            }t        |g      }t        |j                  t              g      }t        j                  ||       y )Nr   )r   r?  r   rB   rC   rD   rE   )rF   r  rH   rI   s       rJ   -test_construct_from_1item_list_of_categoricalzGTestDataFrameConstructors.test_construct_from_1item_list_of_categorical  sD     $u+&ucjj012
b(+rL   c                     t        t        t        d            t        t        d            g      }t        g dg dg      }t        j                  ||       y )Nr   abdr   )r   r   r   r   r   r?  rD   rE   r  s      rJ   (test_construct_from_list_of_categoricalszBTestDataFrameConstructors.test_construct_from_list_of_categoricals  sD     DK0+d5k2JKLo?@
b(+rL   c                     t        t        t        d            t        d      g      }t        g dg dg      }t        j                  ||       y )Nr   defr   r   r&  fr  r  s      rJ   %test_from_nested_listlike_mixed_typesz?TestDataFrameConstructors.test_from_nested_listlike_mixed_types  s?     DK0$u+>?o?@
b(+rL   c                     t        t        t        d            t        t        d            g      }t        t        d      t        d      g      }t        j                  ||       y )Nr   abdefgr  r  s      rJ   0test_construct_from_listlikes_mismatched_lengthszJTestDataFrameConstructors.test_construct_from_listlikes_mismatched_lengths  sJ    DK0+d8n2MNOd5k4>:;
b(+rL   c                 8   g d}t        |      j                  d      }t        |d      }t        j                  ||       g d}t        |      j                  d      }t        |d      }t        j                  ||       t	        dd      }t        t        t        j                  t        j                  t        j                  gg d	            }||_        t        d
|i      }t        d
t        g dd      i|      }t        j                  ||       y )N)rU   rT   r;   rU   r  r<   )r   r   r   r   20000101r;   ri  r   )r   
categoriesr   rb   )r    rB   rD   r   r$   r   r>   rp   rc   r   rE   )rF   r  rv  resrc   rI   rH   s          rJ   #test_constructor_categorical_seriesz=TestDataFrameConstructors.test_constructor_categorical_series  s    Um"":.U*-
sC($Um"":.U*-
sC( :q17OT
 c8_-VO:FGuU
b(+rL   r=   c                 `    t        dddgidg|      }|j                  j                  |k(  sJ y )Nr   rU   rT   r   rD  )r   r   r=   )rF   r=   r   s      rJ   %test_check_dtype_empty_numeric_columnz?TestDataFrameConstructors.test_check_dtype_empty_numeric_column	  s2     #1vUCvv||u$$$rL   c                     t        dddgidg|      }|r'|t        j                  v rt        j                  |       |j
                  j                  j                  dk(  sJ y )Nr   rU   rT   r   rD  rC   )r   rD   BYTES_DTYPESr+  &mark_array_manager_not_yet_implementedr   r=   rn   )rF   requestr=   r[   r   s        rJ   $test_check_dtype_empty_string_columnz>TestDataFrameConstructors.test_check_dtype_empty_string_column	  sT     #1vUC5BOO#;55g>vv||  H,,,rL   c                    t        dt              j                         j                  }t        dt        i      }t	        j
                  ||       t        t        dt                    j                  }t	        j
                  ||       y )Nr   r  )r    rC   r  r.  rD   r   r   r  s      rJ   test_to_frame_with_falsey_namesz9TestDataFrameConstructors.test_to_frame_with_falsey_names'	  sb    Qf-668??1f+&
vx06q78??
vx0rL   )Nr.   r  c                     t        dg di|xs d      }t        t        d      dg|      }t        j                  ||       t        dt        d      i|      }t        j                  ||       y )Nr  )r   rU   rT   r;   r:   r5   r<   r   rD  )r   r   rD   rE   )rF   r=   rI   r   s       rJ   test_constructor_range_dtypez6TestDataFrameConstructors.test_constructor_range_dtype0	  sf     c?35;KGL 58cU%@
fh/ Cq?%8
fh/rL   c           	           G d dt               }t        g dg dg      }t         | |g d       |g d      g            }t        j                  ||       y )Nc                       e Zd Zy)ETestDataFrameConstructors.test_frame_from_list_subclass.<locals>.ListNr  r   rL   rJ   Listr  ?	  r  rL   r  r  r  )r?  r   rD   rE   )rF   r  rI   r   s       rJ   test_frame_from_list_subclassz7TestDataFrameConstructors.test_frame_from_list_subclass=	  sK    	4 	 i344i$y/ BCD
fh/rL   extension_arraabbcz1/1/2017z1/1/2018)rW  endr/  c                 n    t        t        |            }t        |      }t        j                  ||       y r   r  )rF   r  rI   r   s       rJ   %test_constructor_with_extension_arrayz?TestDataFrameConstructors.test_constructor_with_extension_arrayF	  s-     VM23=)
fh/rL   c           	          t        j                         }||f}t        |t        t	        d      t	        d            i|g      }t        g dt        t        |g                  }t        j                  ||       y )Nr;   rb   r   r~  )r	   todayr   r    r   r   rD   rE   )rF   r  tupr   rI   s        rJ   *test_datetime_date_tuple_columns_from_dictzDTestDataFrameConstructors.test_datetime_date_tuple_columns_from_dictU	  s_    JJLdCaa!ABSERYfcUm0DE
fh/rL   c           	      @   t        g dt        g d            }t        g dt        g d            }t        ||g      }t        t        j                  dddt        j
                  t        j
                  gg d	g      g d
      }t        j                  ||       y )N)'   rO   r:   )femalemaleunknownrb   )rT      rT         )r  r  r   r  r  r  rO   r:   )g      c@g     @n@g     b@r   r   )r  r  r  r  r   r   )r    r   r   r>   ro   rp   rD   rE   )rF   r  r  r   rI   s        rJ   /test_construct_with_two_categoricalindex_serieszITestDataFrameConstructors.test_construct_with_two_categoricalindex_series]	  s    J&67T&UV!"#JK
 B8$HHr1a02QRS;
 	fh/rL   c                    t        t        d            }t        |d      j                         j	                  d      }t        |d      j                         j                  d      }t        ||d      }t        t        ddd      t        dd	d      t        d	d
d      t        d
dd      t        ddd      t        ddd      t        ddd      t        ddd      t        ddd      t        ddd      g
d      }t        dgdz  t        j                  gdz  z   t        j                  gdz  dgdz  z   d|      }t        j                  ||       y )Nra  r$  r   ry  gMbXg#@r9  )closedg3@g33333=@gC@g     H@g33333M@g33333SQ@gS@gfffffFV@r   T)orderedrb   )r    r   r#   value_countsheadtailr   r   r   r>   rp   rD   rE   )rF   r  ser1ser2r   rc   rI   s          rJ   1test_constructor_series_nonexact_categoricalindexzKTestDataFrameConstructors.test_constructor_series_nonexact_categoricalindexk	  s<   U3Z 3|((*//23|((*//2D12 W5d73tG4tG4tG4tG4tG4tG4tG4r'2 
 $(bffX\)1tax0GHPU
 	h/rL   c                 <   t        ddddd      t        ddddd      fg}t        j                  |ddg	      }t        |      }|d
   d   |d   d   k(  sJ |d   d   |d   d   k(  sJ t	        |d
         }t        |d   t              sJ |d   |d   d   k(  sJ y )Nrc  r  r   r  r  r$  )DaterO  )ForecastingrO  r<   r  r  rU   )r
   r>   ro   r   r    r   r"   )rF   r_  rG   rH   r  s        rJ   test_from_M8_structuredz1TestDataFrameConstructors.test_from_M8_structured	  s    4Aq!,htQ2r.JKLhhu%79R$STs^&z!}a+++- #uQx{2223v;!A$	***tuQx{"""rL   c           
           G d dt               }t        d |ddddd      gi      }|j                   j                  dk(  sJ y )Nc                       e Zd Zy)OTestDataFrameConstructors.test_from_datetime_subclass.<locals>.DatetimeSubclassNr  r   rL   rJ   DatetimeSubclassr  	  r  rL   r  r
   i  rU   r`  )r
   r   r=   )rF   r  r   s      rJ   test_from_datetime_subclassz5TestDataFrameConstructors.test_from_datetime_subclass	  sI    	x 	 *'7aAq'I&JKL}}""&6666rL   c                     t        ddd      }d}t        j                  t        |      5  t	        |t        d             d d d        y # 1 sw Y   y xY w)	NrN   r;   rP   rQ   z@Shape of passed values|Passed arrays should have the same lengthrj   r:   rb   )r$   rq   rr   r   r   r   )rF   r\   rs   s      rJ   (test_with_mismatched_index_length_raiseszBTestDataFrameConstructors.test_with_mismatched_index_length_raises	  sF    q\BP]]:S1 	+cq*	+ 	+ 	+s   AAc                 @   t        ddd      }t        j                  |      }t        t        j                  j                  d      j                  t        |            |d      }t        j                  |d   j                  t        j                  d            sJ y )	Nz1/1/2000 00:00:00z1/1/2000 1:59:50rq  r.  rT   ro  r{   rv   )
r$   r>   rN  r   r'  r(  r  rX   
issubdtyper=   )rF   rE  r_  rH   s       rJ   !test_frame_ctor_datetime64_columnz;TestDataFrameConstructors.test_frame_ctor_datetime64_column	  sv    ,.@uM

3))''*::3s8D5Q
 }}RW]]BHHX,>???rL   c           	         g dg dg}t        t        j                  j                  d      j	                  d      |D cg c]  }t        j
                  |       c}      }t        |j                  t              sJ t        |j                  t              rJ t        t        j                  j                  d      j	                  d      |      }t        |j                  t              sJ y c c}w )N)r   r   r   r   )r   r   r   r   rT   )r:   r:   rb   r   )
r   r>   r'  r(  r  ro   r   rc   r   r   )rF   index_listsr   multis       rJ   +test_dataframe_constructor_infer_multiindexzETestDataFrameConstructors.test_dataframe_constructor_infer_multiindex	  s    +-ABII!!!$44V<(341288A;4
 %++z222emmZ888II!!!$44V<k
 %--444 5s   C1

input_valsrz  r  rp  r  rz  rr  c                     t        d|i|      }t        d|i      j                  d|i      }t        j                  ||       y )Nr  r<   )r   rB   rD   rE   )rF   r  r:  r   rI   s        rJ   test_constructor_list_strz3TestDataFrameConstructors.test_constructor_list_str	  sD     C,LAc:./66\7JK
fh/rL   c                 |    t        dg di|      }t        dg dit              }t        j                  ||       y )Nr  rd  r<   )z1.0z2.0N)r   rC   rD   rE   )rF   r:  r   rI   s       rJ   test_constructor_list_str_naz6TestDataFrameConstructors.test_constructor_list_str_na	  s6    C!12,Gc#78G
fh/rL   r   FTc                 z  
 |r:|s8|t         j                  t         j                  z   vrt        j                  |       t        j                  ddg|      
t        j                  ddg|      j                  j                  dv r"t        j                  j                   d       t        j                  ddg|      j                         }t        
d|	      d
 ddt        f
fd}|s |        t        j                   j"                  j$                  d   d      rd }	nt&        }	t        j(                  |	d      5  dj$                  d<   dj$                  d<   d d d        |s |d       t        j                  ddgj                        j$                  d d df<   j"                  j$                  d   j                  k(  sJ |s
|s |d       |r
j                  j                  dk(  rH
d   
j                  j+                  dd      k(  sJ d   j                  j+                  dd      k(  sHJ 
d   
j                  j+                  d      k(  sJ d   j                  j+                  d      k(  sJ d   |d   k(  sJ y |sd   dk(  sJ y y # 1 sw Y   AxY w)NrU   rT   r<   r;   r:   )SUz2 get cast, making the checks below more cumbersomer   r  c                     t        | t        j                        r| j                  S t        | j                  t        j                        r| j
                  j                  S t        r   )r   r>   ndarraybaser=   _ndarrayr   r   s    rJ   get_basez<TestDataFrameConstructors.test_dict_nocopy.<locals>.get_base	  s@    #rzz*xxCIIrxx0||(((rL   c_onlyc                    t        fdj                  j                  D              dk(  sJ | ry t        fdj                  j                  D              dk(  sJ t        fdj                  j                  D              dk(  sJ y )Nc              3   &   K   | ]  }|u  
 y wr   r   )r   r   r   s     rJ   r   zRTestDataFrameConstructors.test_dict_nocopy.<locals>.check_views.<locals>.<genexpr>	  s     6!qAv6s   rU   c              3   z   K   | ]2  }t        |j                  t        j                        r |      u  4 y wr   r   r=   r>   )r   r   r   r  s     rJ   r   zRTestDataFrameConstructors.test_dict_nocopy.<locals>.check_views.<locals>.<genexpr>
  4      !!''2884 QK1$   8;c              3   z   K   | ]2  }t        |j                  t        j                        r |      u  4 y wr   r  )r   r   r   r  s     rJ   r   zRTestDataFrameConstructors.test_dict_nocopy.<locals>.check_views.<locals>.<genexpr>
  r  r  )sumrY   r   )r  r   r   r   rH   r  s    rJ   check_viewsz?TestDataFrameConstructors.test_dict_nocopy.<locals>.check_views	  s     6rww~~66!;;;   WW^^ 
   WW^^ 
 rL   r   fciuOzincompatible dtyperj   r   rV   TrQ  .   r   r`   )F)rD   STRING_DTYPESr  r+  r  r>   ro   r=   r   rq   skipr0  r   r   rI  r   is_np_dtyper.  r   FutureWarningr1  type)rF   r  r   any_numeric_ea_dtypeany_numpy_dtyper[   r  c_origr  warnr   r   r   rH   r  s             @@@@@rJ   test_dict_nocopyz*TestDataFrameConstructors.test_dict_nocopy	  s]     r'7'7"//'II 55g>HHaV?3HHaV?377<<:%KK177)#UVWHHaV#78QQQ/d;	 	 	 	< M ??299>>!,g6D D''4HI 	BGGDMBGGDM	  "b91yy~~a AGG+++/ww||s"tqww||At4444tqww||At4444tqww||A...tqww||A...Q46!9$$$$ Q42:: %-	 	s   J00J:c                     t        g dd      }t        d|i      }t        j                  |j                  j
                  |d   j                  j
                        rJ y )Nr  rf  r<   r   )r    r   r>   r  r   rW   )rF   r  rH   s      rJ   "test_construct_from_dict_ea_seriesz<TestDataFrameConstructors.test_construct_from_dict_ea_series9
  sO     Yg.Sz"##CJJ$4$4bgnn6J6JKKKKrL   c                 |    t        t        dd      dg      }t        dg      }t        j                  ||       y )NrU   r   r|   r  r   r  r  s      rJ   'test_from_series_with_name_with_columnszATestDataFrameConstructors.test_from_series_with_name_with_columns@
  s3    6!%05'BeW-
fh/rL   c                     t        g dg dgg dg dg      }t        g dg dgt        j                  g d            }t        j                  ||       y )Nr  r  )r  r  r  r   r   ))r  r   )r  r   )r  r   )r   r   r  rD   rE   r  s      rJ   test_nested_list_columnsz2TestDataFrameConstructors.test_nested_list_columnsF
  sP    	"_o,N
 	"**+OP
 	fh/rL   c                 t   t        j                  dd      }|j                  j                  t              j                  dd      }t        |      }|j                  dk(  sJ |j                  |j                  k(  j                         sJ ||k(  j                         j                         sJ t         j                  j                  g d      }|j                  j                  t              j                  dd      }t        |      }|j                  dk(  sJ |j                  |j                  k(  j                         sJ ||k(  j                         j                         sJ t        j                  ||||f   j                  }t        |      }t        ||||d      }	t!        j"                  ||	       y )	Nz
2016-04-05r;   ri  rU   r=  rU   r;   )r;   r:   r   rO   r  )r0  rA  rW   rB   rC   r@   r   r_  r.  r=   rr  IntervalIndexfrom_breaksr>   r_r
  rD   rE   )
rF   pir   rH   iidata2r
  data3rF  rI   s
             rJ   1test_from_2d_object_array_of_periods_or_intervalszKTestDataFrameConstructors.test_from_2d_object_array_of_periods_or_intervalsQ
  sa   __\15xxv&..q"5t_xx6!!!		RXX%**,,,b~~##%%%)),7'//26yyF"""

bhh&++---r	 $$&&& dE4./11rb9:
c8,rL   zcol_a, col_bc                     d}t        j                  t        |      5  t        ||d       d d d        y # 1 sw Y   y xY w)Nz,Per-column arrays must each be 1-dimensionalrj   r3  r  )rF   col_acol_brs   s       rJ   test_error_from_2darrayz1TestDataFrameConstructors.test_error_from_2darrayg
  s9     =]]:S1 	0E./	0 	0 	0s   6?c                    t        g dg dd      }t        j                  |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        	      }t        j                  ||       y )
Nr  r   F)rc   r   r   r   r   r   r   rc   r=   )	r   r>   r  _valuesr   rp   rC   rD   rE   r  s      rJ   &test_from_dict_with_missing_copy_falsez@TestDataFrameConstructors.test_from_dict_with_missing_copy_falset
  s    YeL##BsGOORW__EEE(ffbffbff-ffbffbff-
 
 	b(+rL   c                     d}t        j                  t        |      5  t        t	        j
                  g       ddg       d d d        y # 1 sw Y   y xY w)Nz:Shape of passed values is \(0, 1\), indices imply \(0, 2\)rj   r   r   r  )rq   rr   r   r   r>   ro   r  s     rJ   1test_construction_empty_array_multi_column_raiseszKTestDataFrameConstructors.test_construction_empty_array_multi_column_raises
  s@    K]]:S1 	=288B<#s<	= 	= 	=s   #A

Ac                 t    t        g ddgd      }t        dg did      }t        j                  ||       y )N)rz  r  Nr   rA   rD  r<   r   r  s      rJ   $test_construct_with_strings_and_nonez>TestDataFrameConstructors.test_construct_with_strings_and_none
  s5    '#eDc#34EB
b(+rL   c           	         t        j                  d       d}t        dddgi|t        dg|            }t	        j
                  dd      5  t        dddgi      }d d d        t        j                  |       t        dddgi|t        dg|      t        d	d
g|            }t	        j
                  dd      5  t        dddgid	d
g      }d d d        t        j                  ||       t        dddgidt        dg|            }t	        j
                  dd      5  t        dddgi      }d d d        t        j                  ||       t        dddgidt        dg|            }t	        j
                  dd      5  t        dddgid      }d d d        t        j                  ||       y # 1 sw Y   [xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ExY w)Npyarrowstring[pyarrow_numpy]r   r   r<   r=   r   future.infer_stringTr   r   )r=   r   rc   rb   rU   rC   )rq   importorskipr   r   r0  option_contextrD   rE   rF   r=   rI   rH   s       rJ   test_frame_string_inferencez5TestDataFrameConstructors.test_frame_string_inference
  s   I&'3*UE3%u4M
 4d; 	.C#s,-B	.
b(+3*3%u-c
%0	
 4d; 	@C#s,S#J?B	@
b(+3(O8UC55N
 4d; 	,C#q?+B	,
b(+3*XucU%7P
 4d; 	>C#s,H=B	>
b(+5	. 	.	@ 	@	, 	,	> 	>s0   F5<G"GG5F?GGG#c                 >   t        j                  d       d}t        dddgi|t        dg|            }t	        j
                  dd      5  t        dt        j                  ddg      i      }d d d        t        j                  |       t        ddgd	d
gd|      }t	        j
                  dd      5  t        t        j                  dd	gdd
gg            }d d d        t        j                  ||       t        ddgd	d
gd|t        ddg|            }t	        j
                  dd      5  t        t        j                  dd	gdd
gg      ddg      }d d d        t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   9xY w)Nr;  r<  r   r   r<   r=  r>  Tr   r   rV   r3  r   )
rq   r?  r   r   r0  r@  r>   ro   rD   rE   rA  s       rJ   .test_frame_string_inference_array_string_dtypezHTestDataFrameConstructors.test_frame_string_inference_array_string_dtype
  s   I&'3*UE3%u4M
 4d; 	8C3*!567B	8
b(+#sc
;5I4d; 	?288c3Z#s$<=>B	?
b(+*C:.3*E2

 4d; 	S288c3Z#s$<=SzRB	S
b(+!	8 	8
	? 	?	S 	Ss$   #E:7%F2)F:FFFc                    t        j                  d       t        j                  dd      5  t	        t        j                  ddgddgg            }d d d        j                  j                  d   j                  dk(  sJ y # 1 sw Y   2xY w)	Nr;  r>  ThellogoodbyeHellor   rT   )
rq   r?  r0  r@  r   r>   ro   rY   rZ   rz  rx   s     rJ   %test_frame_string_inference_block_dimz?TestDataFrameConstructors.test_frame_string_inference_block_dim
  s}    I&4d; 	Q288gy%9GW;M$NOPB	Qww~~a %%***	Q 	Qs   %BBc                    t        t        d      gt              }t        j                  t
        d      5  t        |dg      }d d d        j                  j                  d   t        j                  k7  sJ t        d|i      }|j                  j                  d   t        j                  k(  sJ t        t        d      gt              }t        j                  t
        d      5  t        |dg      }d d d        |j                  j                  d   t        j                  k7  sJ t        d|i      }|j                  j                  d   t        j                  k(  sJ y # 1 sw Y   "xY w# 1 sw Y   |xY w)Nz
2019-12-31r<   zDtype inferencerj   r   r   r   )r   r"   rC   rD   r1  r  r   r.  r   r>   r   r    )rF   r   r   r  s       rJ    test_inference_on_pandas_objectsz:TestDataFrameConstructors.test_inference_on_pandas_objects
  s2   Y|,-V<''=NO 	3sSE2F	3}}!!!$

222C:&}}!!!$

222i-.f=''=NO 	3sSE2F	3}}!!!$

222C:&}}!!!$

222	3 	3	3 	3s   E&)E3&E03E<)r  r  r  rK   r^   rg   rt   ry   r   r   r   r   rq   markparametrizer   r   r   r   r   r   r   r   r   r  r  r+  skip_array_manager_invalid_testxfailr   r  r  r  r  r1  r7  r;  rG  rL  rX  r>   ro   rC   r\  r/   r0   r1   r_  re  rw  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  r  r  r,  r2  r7  r   r   r   r   r"   r   r>  rD  rH  rJ  rO  filterwarningsrR  rV  r]  r`  r?  r   r   r=   r"  rb  r0  BooleanDtypeFloat64Dtype
Int64DtypeStringDtyperj  rm  ro  rs  rv  r{  r  r  r  r  r  r  rf   r  r  r  r  r  r  r  r  r  r  r  r-  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r.  r3  r6  r8  r=  rA  rF  rI  rT  r]  ra  ri  rn  rx  r|  r
   rw   r   r   r~  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  rD   ALL_NUMERIC_DTYPESDATETIME64_DTYPESTIMEDELTA64_DTYPESBOOL_DTYPESr  r  r  OBJECT_DTYPESr  r  arm_slowr  r  r   r)   r'   r(   rA  r  r  r  r  r  r  r  r  r  r$   r  r  r  r  r!  r#  r-  r1  r5  r7  r9  rB  rD  rI  rK  r   rL   rJ   r7   r7   O   s   ,	,,	/11	1 [[Vc3Z0J 1JB0 [[#!!,'(&&3,	
 0! 0 [[!&	
GG [[3T:a=*Q-0"Xz!}jm4"o
1z!}=	
00
8.*))9  ''[[13<OP0 Q (0 ''[[13<OP0 Q (0#
 [[ bMAE67BK	

)
).%	'-&+3* [[BHHeWF+BHHaeWKBHHl^62BHHl^$"uX\N	

%
% [[BHHaS		*BHHaS		*BHHaS		*RYYq\NRYYq\NRYYq\N	

%
%,&IP>
"'F
;1 [[X2664'=>0 ?0 [[Wq"&&$e&EF0 G0$ [[WrvvtU5\&BC0 D0$/0-,&:/x)59..5
)C000,6:8 [[-}=(-8(/:5~F		
00((, [[IC 011A&gw(GH,<8S\:	


,

,*(6'p3  [[A?&?&B0,') [[/4b	?S#J

C4#sWhbhhw.?@4b	?S#JXRXXi5HIu~tRZZ81XtE"IUS("((9:MN	
	+	+ [[) )R__=y"//:7BMM2h7		
11X/20%-N,"070DD [[%&'9\*+,9\*+,)L)11$78		
00C(	C00
	00
0
C0
0 [[[4*=>0 ?0$ [[[4*=>0 ?0*05?0"0 [[H2JBx Bx "XBx cA3Z1#s$#i%;<	
000
00070($,L0)( [[-	
000
>Q=
(	,,6@D1L,1
$4,, [[BHHdD$lhllndCDBHHdD,(,,.$78bmmE"#dV,bmmE"#bffX.VmbmmE*+,VbffXffXe,-.ffXv		
11 [[W&:;[[3,	 <
,. [[W&:;[[	
, <,891v1	1)<, [[y),QK@y),sC6HI|\2RVVS#rvv<VW!<02663RVV:T '6Aq@QR	
JJ*00,,,,,
,. [[



	


	  ..	%% [[!!BOO3b6F6FF	-	-1 [[[[W&AB	0 C 	00 [[W&BFFBFFBFF348Aq>8Aq>:;jjsST		
000004
#7+@5 [[V3Z*Z=>*ZNOAQ'(	
	0	00
 [[VeT]3d 4dPL0	0-, [[cA3ZA3*-.RXXsQCj!QC!:.RXXsQCj!8288aS1#J#78	
00
,"=,!,F,2+3rL   r7   c                   t    e Zd Zd Zd Zej                  j                  ddddgdgdddgd	gg      d
        Zy)&TestDataFrameConstructorIndexInferencec                    t        j                  ddd      }t        t        j                  j                  d      j                  t        |            |      }t        j                  ddd      }t        t        j                  j                  d      j                  t        |            |      }t        ||d      }t        j                  ddd      }t        j                  |j                  |       y )	Nz1/1/19991/1/2012r   r.  rT   z1/1/1980z	12/1/2001)r  r  )r0  rA  r    r>   r'  r(  r  rX   r   rD   rA  rc   )rF   rng1r  rng2r  rH   rv  s          rJ   Atest_frame_from_dict_of_series_overlapping_monthly_period_indexeszhTestDataFrameConstructorIndexInference.test_frame_from_dict_of_series_overlapping_monthly_period_indexes
  s    z:C@BII))!,<<SYGNz;SABII))!,<<SYGNb+,ooj*3?
bhh,rL   c                 ~   t        dd      }t        t        d      |      }t        t        d      |j                  d            }t        t        d      |j                  d            }t        t        d            }t	        |||d      }t        t        |j                        t        |j                        z   t        |j                        z   t              }t        j                  |j                  |       t	        |||d	      }t        t        |j                        t        |j                        z   t        |j                        z   t              }	t        j                  |j                  |	       t	        |||d
      }
t        t        |j                        t        |j                        z   t        |j                        z   t              }	t        j                  |
j                  |	       t	        |||d      }t        t        |j                        t        |j                        z   t        |j                        z   t              }t        j                  |j                  |       d}t        j                  t        |      5  t	        ||||d       d d d        t        j                  t        |      5  t	        |||d       d d d        t        j                  t        |      5  t	        |||d       d d d        y # 1 sw Y   pxY w# 1 sw Y   IxY w# 1 sw Y   y xY w)NrN   r;   ri  rb   rl  z
US/Centralr   r<   )r  r!  r{   )r{   r  r!  )r!  r{   r  z0Cannot join tz-naive with tz-aware DatetimeIndexrj   )r  r{   r!  r  )r  r{   r  )r  r  r{   )r$   r    r   r}   r   r   r?  rc   rC   rD   rA  rq   rr   r   )rF   r\   r  r  ser3ser4r  	exp_indexr
  
exp_index3rF  df4
exp_index4rs   s                 rJ   /test_frame_from_dict_with_mixed_tzaware_indexeszVTestDataFrameConstructorIndexInference.test_frame_from_dict_with_mixed_tzaware_indexes
  su   q1eAhc*eAhcooe&<=eAhcool&CDeAh dD9:tDJJ//$tzz2BB&
	 	cii3dD9:tDJJ//$tzz2BB&

 	cii4dD9:tDJJ//$tzz2BB&

 	cii4dD9:tDJJ//$tzz2BB&

 	cii4 A]]9C0 	DDt$TBC	D]]9C0 	9Dt$78	9]]9C0 	9Dt$78	9 	9		D 	D	9 	9	9 	9s$   LL'L3L$'L03L<zkey_val, col_vals, col_typer  4utf8r;   r:   r2   c                     t        j                  d      }t        j                  j	                  |j                  ||j                  |j                          t        ||                               }t        |ddgi|      }t        dt        j                  gdt        j                  gg|      }|j                  d|j                  d d df   j                  t                     t!        j"                  ||       y )Nr;  )r  rU   rT   r   )rq   r?  r0  r   ArrowExtensionArrayro   
dictionaryr2   getattrr   r>   rp   isetitemr   rB   rC   rD   rE   )rF   key_valcol_valscol_typepar  r   rI   s           rJ   %test_dict_data_arrow_column_expansionzLTestDataFrameConstructorIndexInference.test_dict_data_arrow_column_expansion  s       +yy,,HHXBMM"'')=RWR=R=T$UHV
 GaV,d;q"&&kArvv;7F!X]]1a4077?@
fh/rL   N)	r  r  r  ra  ri  rq   rL  rM  ru  r   rL   rJ   r\  r\  
  sT    	-*9X [[%3*f%A	
	0	0rL   r\  c                       e Zd Zd Zy))TestDataFrameConstructorWithDtypeCoercionc                    t         j                  j                  d      j                  d      }d}t	        j
                  t        |      5  t        |d       d d d        t        |j                         d      }|j                  dk(  j                         sJ t         j                  |d<   d}t	        j
                  t        |      5  t        |d       d d d        t	        j
                  t        |      5  t        |d	   d       d d d        d}t	        j
                  t        |      5  t        |      j                  d       d d d        t	        j
                  t        |      5  t        |d	         j                  d       d d d        y # 1 sw Y   @xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   pxY w# 1 sw Y   y xY w)
NrT   r@  z)Trying to coerce float values to integersrj   rl   r<   r   ri   r   )r>   r'  r(  r  rq   rr   r   r   roundr.  rr  rp   r   r    rB   )rF   rG   rs   rH   s       rJ   "test_floating_values_integer_dtypezLTestDataFrameConstructorWithDtypeCoercion.test_floating_values_integer_dtype2  sw    ii##A&66w?
 :]]:S1 	'c&	' syy{$/		T!&&((( FFD	J]]-S9 	'c&	']]-S9 	'3q6&	' K]]-S9 	(cN!!$'	(]]-S9 	(3q6N!!$'	( 	(#	' 	'	' 	'	' 	'	( 	(	( 	(s<   FF%=F13F=1G	F"%F.1F:=G	GN)r  r  r  rz  r   rL   rJ   rw  rw  1  s    (rL   rw  c                      e Zd Zej                  j                  dddg      d        Zej                  j                  dddg      d        Zd	 Zd
 Z	d Z
d Zd Zd Zd Zd Zd Zej                  j                  deeg      d        Zd Zd Zd Zej                  j/                  e d      ej                  j                  dg dg dg ddg      d               Zy)&TestDataFrameConstructorWithDatetimeTZrS   r:  zdateutil/US/Easternc                 T   t        ddd      }|j                  |      }t        d|d|      }t        d|j                        }|d	   j
                  |k(  sJ |D cg c]  }|j                          }}|D cg c]  }|j                          }}t        d
|i      }||d<   ||d<   ||d<   |j                  }	t        t        j
                  d      t        |      t        j
                  d      t        |      gg d      }
t        j                  |	|
       y c c}w c c}w )N2011/1/12012/1/1W-FRIr.  r   ro  rb   r`   r{   rm  dr_tzdatetimes_naivedatetimes_with_tzr`  r;  )rm  r  r  r  )r$   r}   r   r   tzinfor=   rX  r.  r    r>   rD   r   )rF   rS   rm  r  rH   tz_expectedrZ  r  r  r   rI   s              rJ   *test_construction_preserves_tzaware_dtypeszQTestDataFrameConstructorWithDatetimeTZ.test_construction_preserves_tzaware_dtypesR  s!    
JW=r"U/r:%dELL9#w}}+++ 9;;"2++-;;:?@BR--/@@bz"7 /"3)*2&)*2&	 J
 	vx0! <@s   D ;D%pydtTFc                    |}t        d|      }|r|j                         }d}t        j                  t        |      5  t        d|gid       d d d        d}t        j                  t        |      5  t        d|idgd	       d d d        t        j                  t        |      5  t        |gd       d d d        t        j                  t        |      5  t        t        j                  |gt              d       d d d        t        j                  t        |      5  t        |dgdgd
       d d d        t        j                  t        |      5  t        t        |g      gd       d d d        t        j                  t        |      5  t        |ggdgd       d d d        y # 1 sw Y   exY w# 1 sw Y   ;xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ~xY w# 1 sw Y   y xY w)N2019r;  sCannot convert timezone-aware data to timezone-naive dtype. Use pd.Series\(values\).dt.tz_localize\(None\) instead.rj   r   r`  r<   /Cannot unbox tzaware Timestamp to tznaive dtyper3  ry  rD  )r"   rX  rq   rr   r   r   r   r>   ro   rC   r    )rF   tz_aware_fixturer  rS   rZ  rs   msg2s          rJ   'test_constructor_data_aware_dtype_naivezNTestDataFrameConstructorWithDatetimeTZ.test_constructor_data_aware_dtype_naiveo  s    v"%!!#BG 	 ]]:S1 	9q2$i'78	9 A]]9D1 	Bq"gaS0@A	B ]]:S1 	4rd"23	4 ]]:S1 	Lbhht62:JK	L ]]9D1 	JbaS8HI	J ]]:S1 	>vrd|n,<=	> ]]:S1 	Ctfqc1AB	C 	C'	9 	9	B 	B	4 	4	L 	L	J 	J	> 	>	C 	CsS   F35G *G(G'G&G2G>3F= G
GG#&G/2G;>Hc                 P   t        t        ddd      d      }t        dd      }t        ||d	      }|d
   j                  sJ d       |d
   j                  d
k(  sJ t        j                  |d
   t        |d
             t        j                  |d   t        |d             y )Nrk  r;   r:  rQ   r   r|   20130110ri  ro  r  zM8[ns, US/Easternr{   )r   r$   r   r=   rn   rD   r   r    )rF   r   rm  rH   s       rJ   test_from_dictz5TestDataFrameConstructorWithDatetimeTZ.test_from_dict  s     Jz1FUS
A. Sr*+#w}}111}#w||s"""
r#ws(=>
r#wr(<=rL   c                    t        dddd      }t        |      }t        j                  |d   t	        |d             t        t	        |            }t        j                  |d   t	        |d             t        ddd      }t        |      }t        j                  |d   t	        |d             t        t	        |            }t        j                  |d   t	        |d             y )	Nrk  r;   r:  r   )rR   rS   rn   r|   rQ   r   )r$   r   rD   r   r    )rF   r#  r
  s      rJ   test_from_indexz6TestDataFrameConstructorWithDatetimeTZ.test_from_index  s    *aLuMo
s5z6$U+CDt%
s5z6$U+CD*aLAo
s1vvd';<t%
s1vvd';<rL   c                     t        dd      }t        ||      }t        d|d|       t        d|j                  d|       y )Nr^  r$  ri  rb   r   r3  )r$   r    r   r   )rF   rm  r  s      rJ   +test_frame_dict_constructor_datetime64_1680zRTestDataFrameConstructorWithDatetimeTZ.test_frame_dict_constructor_datetime64_1680  s>    
B/2R  	A&b1AHH-R8rL   c                     t        ddd      }t        |      }t        d|d|      }|d   j                         j	                         sJ y )	Nr~  r  r  r.  r   ro  rb   r{   )r$   r    r   r%   rr  )rF   rm  rZ  r   s       rJ   +test_frame_datetime64_mixed_index_ctor_1681zRTestDataFrameConstructorWithDatetimeTZ.test_frame_datetime64_mixed_index_ctor_1681  sH    
JW=BZ E+26v{{}  """rL   c           	          t        dddd      }t        |dg      }t        dt        dd      t        d	d      t        d
d      gi      }t        j                  ||       y )Nz20130101T10:00:00r;   minr:  )rW  rR   r/  rS   
timestampsr   r;  z20130101T10:01:00z20130101T10:02:00)r$   r   r"   rD   rE   )rF   rm  r   rI   s       rJ   test_frame_timeseries_columnzCTestDataFrameConstructorWithDatetimeTZ.test_frame_timeseries_column  so    %qu
 2~61lC1lC1lC
 	fh/rL   c                     ddg}ddddddd	d
}t        |g d|      }t        ddt        j                  t        j                  fg|t        g d            }t	        j
                  ||       y )NNevadaOhio333333@333333@)rL    r  333333?@)r  rL  r  )r  r  )rL  r  i  r   )r  r  )r  r  r  )r   r>   rp   r   rD   rE   )rF   r   popr   rI   s        rJ   test_nested_dict_constructionzDTestDataFrameConstructorWithDatetimeTZ.test_nested_dict_construction  su    V$ ,c5
 3&8'Jbffbff%56*+

 	fh/rL   c                 N   t        ddd      }|j                  j                  t              j	                  dd      }t        |      }|j                  dk(  sJ |j                  |j                  k(  j                         sJ ||k(  j                         j                         sJ y )Nz2016-04-05 04:30r;   rl  rQ   rU   r=  r%  )
r$   rW   rB   rC   r@   r   r_  r.  r=   rr  )rF   r\   r   rH   s       rJ   test_from_tzaware_object_arrayzETestDataFrameConstructorWithDatetimeTZ.test_from_tzaware_object_array  s    +Q5Ayy'//26t_xx6!!!		SYY&++---c	 $$&&&rL   c           
         t        j                  t        d      t        d      t        d      gt        dd      t        j                  t        dd      gt        dd	      t        j                  t        d
d	      ggt
              j                  }t        |g d      }g d}|j                  |k(  j                         sJ y )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+0100r<   r   r   )r`  rd  zdatetime64[ns, CET])
r>   ro   r"   r0  r   rC   r
  r   r.  rr  )rF   rG   r  expected_dtypess       rJ   $test_from_tzaware_mixed_object_arrayzKTestDataFrameConstructorWithDatetimeTZ.test_from_tzaware_mixed_object_array  s    hh 343434 8\JFF8\J 8UCFF8UC" %
& !' 	( _5

 

o-22444rL   c                     t        j                  d      j                  d      }t        |d      }t        |      j	                  d      }t        j                  ||       y )Nr$  )r   rT   zdatetime64[ns, UTC]r<   )r>   r?   r@   r   rB   rD   rE   )rF   
array_dim2rH   rI   s       rJ   test_from_2d_ndarray_with_dtypezFTestDataFrameConstructorWithDatetimeTZ.test_from_2d_ndarray_with_dtype  sM    YYr]**62
z)>?Z(//0EF
b(+rL   r/  c                 (    |h d      }d|j                    d}t        j                  t        |      5  t	        d|i       d d d        t        j                  t        |      5  t        |       d d d        y # 1 sw Y   9xY w# 1 sw Y   y xY w)N>   rU   rT   r;   'z' type is unorderedrj   r   )r  rq   rr   r   r   r    )rF   r/  r   rs   s       rJ   !test_construction_from_set_raiseszHTestDataFrameConstructorWithDatetimeTZ.test_construction_from_set_raises  s     Y#,,23]]9C0 	%sFm$	% ]]9C0 	6N	 		% 	%	 	s   A<'B<BBc                     t        j                  ddd      j                  dd      }t        |      }t	        d |j
                  j                  D              sJ y )Nr   r9   r`  r<   r:   r;   c              3   <   K   | ]  }t        |t                y wr   )r   r&   )r   rG   s     rJ   r   zeTestDataFrameConstructorWithDatetimeTZ.test_construction_from_ndarray_datetimelike.<locals>.<genexpr>  s     Lc:c=1Ls   )r>   r?   r@   r   rr  rY   r   r  s      rJ   +test_construction_from_ndarray_datetimelikezRTestDataFrameConstructorWithDatetimeTZ.test_construction_from_ndarray_datetimelike  sI     ii2%56>>q!Ds^LRWW^^LLLLrL   c                    t         j                  j                  d      j                  d      }t	        j
                  dg      j                  }d}t        j                  t        |      5  t        |dg|       d d d        t	        j
                  g d      }t        j                  t        |      5  t        |dd	g
       d d d        y # 1 sw Y   TxY w# 1 sw Y   y xY w)NrT   rx  r   z'len\(arrays\) must match len\(columns\)rj   r   rD  )r   r   r  r  r   )r>   r'  r(  r  r0  ro   r=   rq   rr   r   r   )rF   rG   r=   rs   arr2s        rJ   >test_construction_from_ndarray_with_eadtype_mismatched_columnszeTestDataFrameConstructorWithDatetimeTZ.test_construction_from_ndarray_with_eadtype_mismatched_columns  s    ii##A&66w?#%%8]]:S1 	9cE7%8	9 xx(]]:S1 	4dUEN3	4 	4		9 	9	4 	4s   ,C6CCC$c                    g dg dg}t        j                  t        d      5  t        |ddh       d d d        t        j                  t        d      5  t        |h d	
       d d d        y # 1 sw Y   =xY w# 1 sw Y   y xY w)Nr  r  zindex cannot be a setrj   r   r   rb   zcolumns cannot be a set>   r   r   r   r   r  r\  s     rJ   "test_columns_indexes_raise_on_setszITestDataFrameConstructorWithDatetimeTZ.test_columns_indexes_raise_on_sets*  sq    9%]]:-DE 	.d3*-	.]]:-FG 	5dO4	5 	5	. 	.	5 	5s   A0A<0A9<Bz/StringDType only available in numpy 2 and abover  r   r   )r   r   r   r  c                     ddl m} t        j                  |d    |             |d<   t	        |      }|d   j
                  t        j                  k(  sJ |d   |d   k(  j                         sJ y )Nr   )StringDTyper   r<   )numpy.dtypesr  r>   ro   r   r=   r   rr  )rF   r   r  r  s       rJ    test_np_string_array_object_castzGTestDataFrameConstructorWithDatetimeTZ.test_np_string_array_object_cast3  sc     	-HHT#Ykm<S	o3x~~+++CDI%**,,,rL   N)r  r  r  rq   rL  rM  r  r  r  r  r  r  r  r  r  r  r  set	frozensetr  r  r  r  skipifr   r  r   rL   rJ   r|  r|  Q  s   [[TL2G#HI1 J18 [[VdE]3C 4CB>=9#0"0'5>, [[US)$45 6M	45 [[#T   [[!oN	
--rL   r|  c                 ^    t        | t              r| j                  d   S | j                  d   S )Nr   r   )r   r    r   r  s    rJ   get1r  E  s(    #vxx{xx~rL   c                      e Zd Z ej                  eedg      d        Zej                  d        Zej                  j                  dddg      d        Zd	 Zd
 Zd Zej                  j                  dej                   ej"                  g      d        Zej                  j                  deej                   g      d        Zej                  j*                  d        Zej                  j                  deej"                  g      d        Zej                  j*                  ej                  j                  dej                   ej"                  g      d               Zd Zy)TestFromScalarNparamsc                     |j                   S r   paramrF   r  s     rJ   boxzTestFromScalar.boxM      }}rL   c                     dt        d      it        u rdgd<   |t        j                  fi S |t        u rt
        u rfdS fdS t
        u rfdS fdS )	Nrc   rT   r  r   c                       | | dfi |S )NrV   r   r   kwargsextrar   s     rJ   r   z,TestFromScalar.constructor.<locals>.<lambda>\  s#    ?aL,$),-3, rL   c                      d| ifi |S Nr  r   r  s     rJ   r   z,TestFromScalar.constructor.<locals>.<lambda>`  s    ?C8+Wu+WPV+W rL   c                      | | gfi |S r   r   r  s     rJ   r   z,TestFromScalar.constructor.<locals>.<lambda>b  s    1v'Q'Q&'Q rL   c                 "     d| | gifi |S r  r   r  s     rJ   r   z,TestFromScalar.constructor.<locals>.<lambda>d  s    aV}'X'XQW'X rL   )r   r   	functoolspartialr-  r    )rF   r   r  r  s    ` @rJ   r   zTestFromScalar.constructorQ  sv    %(#i' #uE);$$_>>>D[&(  XW&QQXXrL   r=   rv   r   c                      |t         j                  |      }t        j                  |j                  |k(        sJ t        j                  |j                               sJ y rq  )r0  r   r>   rr  r.  r%   )rF   r=   r   r   s       rJ   test_from_nat_scalarz#TestFromScalar.test_from_nat_scalarf  sE    "&&.vvcjjE)***vvchhj!!!rL   c                 N    t        d      } ||d      }t        |      |k(  sJ y )NrU   r   r<   r!   r  )rF   r   r+  r   s       rJ   *test_from_timedelta_scalar_preserves_nanosz9TestFromScalar.test_from_timedelta_scalar_preserves_nanosl  s'    q\"H-CyBrL   c                 T    |t        d      z   } ||d      }t        |      |k(  sJ y )NrU   rv   r<   r  )rF   r   fixed_now_tsrZ  r   s        rJ   *test_from_timestamp_scalar_preserves_nanosz9TestFromScalar.test_from_timestamp_scalar_preserves_nanosr  s,    IaL("H-CyBrL   c                     t        d      } |j                         } ||t              }t        t	        |      t
        j                        sJ y )NrU   r<   )r!   to_timedelta64rC   r   r  r>   r!  )rF   r   r+  td64r   s        rJ   #test_from_timedelta64_scalar_objectz2TestFromScalar.test_from_timedelta64_scalar_objectx  s?    q\ r  "$f-$s)R^^444rL   clsc                     |dd      }t         j                  dt         j                  di|   }|t         j                  u rd}nd}dj                  d|g      }t	        j
                  t        |	      5   |||
       d d d         |dd      }t	        j
                  t        |	      5   |||
       d d d        y # 1 sw Y   AxY w# 1 sw Y   y xY w)Nr   r`   r   rv   r   z:<class 'numpy.timedelta64'> is not convertible to datetime|r  rj   r<   r:   )r>   r   r!  joinrq   rr   r   )rF   r   r  r  r=   msg1rs   s          rJ   (test_from_scalar_datetimelike_mismatchedz7TestFromScalar.test_from_scalar_datetimelike_mismatched  s    UD!"..(CCH"--RDODhht,-]]9C0 	-e,	- Q]]9C0 	-e,	- 	-		- 	-	- 	-s   4B?+C?CCc                    |t         u s|t        u r:|t        u r2t        j                  j                  dd      }|j                  |       t        ddd      }d}|t        j                  u rt        j                  |d      }d} ||      }	t        |	      }
t        j                  |	      }t        |
      t        u sJ |
j                  j                   |k(  sJ ||k(  sJ y )	NziTimestamp constructor has been updated to cast dt64 to non-nano, but DatetimeArray._from_sequence has notTr  strict'  rU   rO  r  rN  )r?  r    r-  rq   rL  rO  applymarkerr
   r>   r   r  rD   	get_dtyper  r"   asm8r=   rF   r   r  r  r  r   rL  r  r  r   itemr=   s               rJ   #test_from_out_of_bounds_ns_datetimez2TestFromScalar.test_from_out_of_bounds_ns_datetime  s    
 $;?f4;;$$E % D
 %$1%	"--]]63/FIV$F|V$DzY&&&yy)+++	!!!rL   c                 &   t        j                  t        j                  t         j                        j                  d      } ||      }t        |      }t        |      t         j                  u sJ t        j                  |      }|t        k(  sJ y r   )
r>   r   iinfor5   maxr  r  rD   r  rC   )rF   r   r  r   r  r=   s         rJ   test_out_of_s_bounds_datetime64z.TestFromScalar.test_out_of_s_bounds_datetime64  sh    rxx155s;V$F|DzR]]***V$rL   c                    |t         u s|t        u r:|t        u r2t        j                  j                  dd      }|j                  |       t        ddd      t        ddd      z
  }d}|t        j                  u rt        j                  |d      }d	} ||      }	t        |	      }
t        j                  |	      }t        |
      t        u sJ |
j                  j                   |k(  sJ ||k(  sJ y )
NzoTimedeltaArray constructor has been updated to cast td64 to non-nano, but TimedeltaArray._from_sequence has notTr  r  rU   i  zm8[us]r  zm8[s])r?  r    r-  rq   rL  rO  r  r
   r>   r!  r  rD   r  r  r!   r  r=   r  s               rJ   $test_from_out_of_bounds_ns_timedeltaz3TestFromScalar.test_from_out_of_bounds_ns_timedelta  s    
 $;?f4;;$$I % D
 %$1%q!(<<	".. ^^FC0FIV$F|V$DzY&&&yy)+++	!!!rL   c                      |t        j                  t         j                        j                  d      } ||      }t	        |      }t        |      |u sJ t        j                  |      }|t        k(  sJ y r   )	r>   r  r5   r  r  r  rD   r  rC   )rF   r   r  r  r   r  r=   s          rJ    test_out_of_s_bounds_timedelta64z/TestFromScalar.test_out_of_s_bounds_timedelta64  sb     RXXbhh'++S1V$F|DzS   V$rL   c                     d}t        d|      }||t        u r|t        u r	d}t        }nd}t        }t        j                  ||      5   ||d       d d d        y # 1 sw Y   y xY w)	Nr:  r  r;  r  r  rj   rv   r<   )r"   r   r-  r   r   rq   rr   )rF   r   r  r   rS   rZ  rs   errs           rJ   test_tzaware_data_tznaive_dtypez.TestFromScalar.test_tzaware_data_tznaive_dtype  sn    v"%;?i7C4KCCCK  C]]3c* 	,(+	, 	, 	,s   
AA')r  r  r  rq   fixturer?  r-  r  r   rL  rM  r  r  r  r  r>   r   r!  r  r
   r  
skip_ubsanr  r   r  r  r  r   rL   rJ   r  r  L  sq   V^^D$-. / ^^Y Y( [[Wx&:;" <"
5 [[UR]]BNN$CD- E-" [[UXr}}$=>" ?"6 [[  [[UY$?@" A"4 [[[[UR]]BNN$CD E ,rL   r  c                       e Zd Z ej                  ddg      d        Zej                  d        Zd Zd Zd Z	d	 Z
d
 Zy)TestAllowNonNanoTFr  c                     |j                   S r   r  r  s     rJ   as_tdzTestAllowNonNano.as_td  r  rL   c                    t        j                  d      j                  t         j                        j	                  d      }|r)||d   z
  }t        j                  ||j                        S t        j                  ||j                        S )Nr   rN  r   r<   )	r>   r?   rB   r5   r   r*   _simple_newr=   r&   )rF   r  r   s      rJ   rG   zTestAllowNonNano.arr  sh    1$$RXX.33G<fQi'F!--fFLLII ,,V6<<HHrL   c                 P    t        |      }|j                  |j                  k(  sJ y r   )r   r=   )rF   rG   r   s      rJ   test_index_allow_non_nanoz*TestAllowNonNano.test_index_allow_non_nano  s!    CjyyCII%%%rL   c                     |rt        j                  |      }nt        |      }|j                  |j                  k(  sJ y r   )r0  TimedeltaIndexr   r=   )rF   rG   r  r   s       rJ   test_dti_tdi_allow_non_nanoz,TestAllowNonNano.test_dti_tdi_allow_non_nano  s5    ##C(C$CyyCII%%%rL   c                 P    t        |      }|j                  |j                  k(  sJ y r   )r    r=   )rF   rG   r  s      rJ   test_series_allow_non_nanoz+TestAllowNonNano.test_series_allow_non_nano
  s!    SkyyCII%%%rL   c                 V    t        |      }|j                  d   |j                  k(  sJ y r   r   r.  r=   r  s      rJ   test_frame_allow_non_nanoz*TestAllowNonNano.test_frame_allow_non_nano  s%    s^yy|syy(((rL   c                 Z    t        d|i      }|j                  d   |j                  k(  sJ y r   r  r  s      rJ   #test_frame_from_dict_allow_non_nanoz4TestAllowNonNano.test_frame_from_dict_allow_non_nano  s*    3x yy|syy(((rL   N)r  r  r  rq   r  r  rG   r  r  r  r  r  r   rL   rJ   r  r    sX     V^^D%=) * ^^I I&&&))rL   r  )Lro   collectionsr   r   r   r   collections.abcr   dataclassesr   r
   r	   r   r  r  numpyr>   r   numpy.mar   rq   re  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   pandasr0  r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   pandas._testing_testingrD   pandas.arraysr&   r'   r(   r)   r*   r)  r&  r7   r\  rw  r|  r  r  r  r   rL   rJ   <module>r%     s      % & 
  	      5  . , ) ) 6      "   7 	 T*3 T*3nTH0 H0V( (@q- q-h^, ^,D&) &)rL   