
    .i                       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Zd dlmZ d dlm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Zm Z m!Z!m"Z" d dl#Z$d dl#m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3 d dl4m5Z6 d dl7m8Z8m9Z9m:Z:m;Z;m<Z< g dZ=g dZ> G d d      Z? G d d      Z@ G d d      ZA G d d      ZBd ZC G d d      ZD G d d      ZEy)    N)OrderedDictabcdefaultdict
namedtuple)Iterator)make_dataclass)datedatetime	timedelta)ma)mrecords)lib)np_version_gt2)IntCastingNaNError)is_integer_dtype)DatetimeTZDtypeIntervalDtypeNumpyEADtypePeriodDtype)CategoricalCategoricalIndex	DataFrameDatetimeIndexIndexInterval
MultiIndexPeriod
RangeIndexSeries	Timedelta	Timestampcut
date_rangeisna)DatetimeArrayIntervalArrayPeriodArraySparseArrayTimedeltaArray)float16float32float64)uint8uint16uint32uint64int8int16int32int64c                   <   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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d) Zd* Zd+ Zd, Zej                  j                  d-d.i gd.dd/d0d1gd2i gg      d3        Zd4 Zd5 Z d6 Z!d7 Z"d8 Z#ej                  j                  d9 e$jJ                  d:ge&;       e$jJ                  d d<z  g      d=g e$jJ                  d>ge&;       e$jJ                  d?g      d d<z   d z
  gg      d@        Z'ej                  j                  d9 e$jJ                  dge$jP                  ;       e$jJ                  dge$jR                  ;       e$jJ                  dge$jT                  ;       e$jP                  d      g e$jR                  d      g e$jT                  d      gg      dA        Z+dB Z,dC Z-dD Z.dE Z/dF Z0dG Z1dH Z2dI Z3ej                  j                  dJd e$jh                  dKdLg      dM        Z5ej                  j                  dNdOe$jh                  dK e6dP      g      dQ        Z7ej                  j                  dNe$jh                  dK e6dP      g      dR        Z8dS Z9dT Z:ej                  j                  dUdKe$jh                  e;jx                  g      dV        Z=ej                  j                  dUdKe$jh                  e;jx                  g      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 djfdn dofg      dp        ZOdq ZPdr ZQej                  j                  ds eRdt       eSd      f eTdduv       eUdwdx      f eVdydz{      j                  d|       eXd|dz}      fg      d~        ZYd ZZd Z[d Z\d Z]ej                  j                  d      d        Z_d Z`d Zad Zbej                  j                  ddK ec edd            ddge&e$j                  fdKdKddgdw e$j                  dw      fdK ec edd            ddgeg e$j                  d      fi dKd/d0gdKe$j                  fddi ec edd             ecd      eg e$j                  d      fg      d        Zhej                  j                  dg dde;j                  fg dde;j                  fg dde;j                  fg dde;j                  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      ig      d        Zyd Zzd Z{d Z|d Z}d Z~d Zd 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dg 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$jJ                  dKdKdKdK ejR                         dKg       e$jJ                  dKdK ejR                         dKg       e$jT                  dݫ      gdKgg e$jT                  dݫ      ge;jV                  ggdKg e$jT                  dݫ      ggdKge;jV                  gge;jV                  g e$jT                  dݫ      gge;jV                  gdKg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$jh                  g       eg dg dgdde$jh                  g       eg dg dge$jh                  dde$jh                  g       eg dg dge$jh                  dde$jh                  g       eg dg dge$jh                  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        Zd Zej                  j                  ej                  j                  dg d       d               Zʐd Zej                  j                  d e ecd             ede$jh                  e$jh                  e$jh                  g       e eTdd       eTddu      g       e e;j                  ddd            g      d        Zѐd	 ZҐd
 Zej                  j                  d      d        ZԐd ZՐd Z֐d Zאd Zؐd Zej                  j                  ddd gddg ec eڐdd d             ec eڐdd ddz             eTdduv      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$jJ                  dgd gg      f e$jJ                  dgd gg      dgd ggf e$jJ                  dgd gg       e$jJ                  dgd gg      fg      d$        Zd% Zd& Zd' Zd( Zd) Zd* Zej                  j                  d+eeg      d,        Zd- Zej                  j                  d.eeeee;jJ                  e;j                  g      d/        Zd0 Zd1 ZyK(2  TestDataFrameConstructorsc                     t        j                  d      j                  dd      }t        |t              }t        |j                  t              d      }t        j                  ||       y )N         dtypestr)nparangereshaper   r=   astypetmassert_frame_equal)selfarrdfexpecteds       b/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/frame/test_constructors.py,test_constructor_from_ndarray_with_str_dtypezFTestDataFrameConstructors.test_constructor_from_ndarray_with_str_dtypeM   sN     iim##Aq)s#&SZZ_E:
b(+    c                    t        ddd      }|j                  j                  dd      }t        |      }t        |d d df   |d d df   d	      }t	        j
                  ||       t        |j                  j                        dk(  sJ y )
N
2016-01-01   
US/Pacificperiodstzr:      r      r   rS   )	r#   _datar@   r   rB   rC   len_mgrblocks)rD   dtidtarF   rG   s        rH   &test_constructor_from_2d_datetimearrayz@TestDataFrameConstructors.test_constructor_from_2d_datetimearrayU   sy    q\Bii1%s^QTs1a4y9:
b(+277>>"a'''rJ   c                 0   t        d      j                  d      }|j                  d      }t        d|idg      }t        d|gi      }t	        j
                  ||d       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   indexFcheck_index_typerS   )r^   value)r!   
tz_convertas_unitr   rB   rC   )rD   r^   rF   rG   s       rH   )test_constructor_dict_with_tzaware_scalarzCTestDataFrameConstructors.test_constructor_dict_with_tzaware_scalar_   s    12==>STZZbz!-dRD\*
b(UC bA3/0RDA378
b(+rJ   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)
NrS   rR   r:   9Cannot convert non-finite values \(NA or inf\) to integermatchi8r;   r   r<   name)r>   arraynanpytestraisesr   r   r   )rD   rE   msgs      rH   -test_construct_ndarray_with_nas_and_int_dtypezGTestDataFrameConstructors.test_construct_ndarray_with_nas_and_int_dtypem   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[us])r   r
   nowr<   r>   rD   rF   s     rH   %test_construct_from_list_of_datetimesz?TestDataFrameConstructors.test_construct_from_list_of_datetimesx   s<    78!u{{bhhx0000rJ   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rm   rN   objectr;   )	r   tz_localizer   r>   rn   tolistr<   rB   assert_series_equal)rD   naiveidxrG   results        rH   +test_constructor_from_tzaware_datetimeindexzETestDataFrameConstructors.test_constructor_from_tzaware_datetimeindex|   su     /1ABM-"((3::<x@sK~~*** 
vx0rJ   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arS   rR   r:   r9   recordsorientr   to_dict)rD   col_underscorerF   dref_ds        rH   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zrJ   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   rS   rR   r:   r9   r   r   r   )rD   col_with_numrF   r   r   s        rH   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zrJ   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;   rS   =Invalid type for timedelta scalar: <class 'numpy.datetime64'>ri   m8[ns])	r>   
datetime64rn   r|   r   r@   rp   rq   	TypeError)rD   frame_or_seriesnatrE   rr   s        rH   ,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                 T   |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                  j                  t        k(  sJ t        |j                  j                  d	   j                  j                         d	   |      sJ  | ||      t              }|j                  j                  d	   j                  j                  t        k(  sJ t        |j                  j                  d	   j                  j                         d	   |      sJ  | ||      t        t                    }|j                  j                  d	   j                  j                  t        k(  sJ t        |j                  j                  d	   j                  j                         d	   |      sJ |t        u r|D cg c]  }t        |       }} ||t              }|j                  j                  d	   j                  j                  t        k(  sJ t        |j                  j                  d	   j                  j                         d	   |      sJ y y c c}w )
Nr   M8[ns]r   rM   rk   r;   r:   rR   r   )r!   r    r>   r?   viewr@   r   r|   rW   rX   valuesr<   
isinstanceravelr   r   )	rD   r   r   r<   scalar_typerE   objxserss	            rH   *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!((..&888#((//!,3399;A>LLL oc2&Axxq!((..&888#((//!,3399;A>LLLoc2,v:NOxxq!((..&888#((//!,3399;A>LLLi''*+!F1I+D+!$f5C88??1%,,22f<<<chhooa077==?BKPPP (+s   J%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   rS   r{   r   columns)r   ranger   rB   rC   )rD   r   yr   rG   s        rH   )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/rJ   constructorc                      t               S Nr    rJ   rH   <lambda>z"TestDataFrameConstructors.<lambda>   s    IK rJ   c                      t        d       S r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   s
    IdO rJ   c                      t        d      S Nr   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   
    IbM rJ   c                      t        g       S r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   r   rJ   c                  &    t        d dD              S )Nc              3       K   | ]  }|  y wr   r   .0_s     rH   	<genexpr>z5TestDataFrameConstructors.<lambda>.<locals>.<genexpr>   s     _Aa_   r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   s    I__, rJ   c                  *    t        t        d            S Nr   r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   s    IeAh' rJ   c                      t        d       S Ndatar   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   s    I4( rJ   c                      t        d      S )Nr   r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>       I2& rJ   c                      t        g       S r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   r   rJ   c                  (    t        d dD              S )Nc              3       K   | ]  }|  y wr   r   r   s     rH   r   z5TestDataFrameConstructors.<lambda>.<locals>.<genexpr>   s     ?!A?r   r   r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   s    I?r?3 rJ   c                  ,    t        t        d            S )Nr   r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   s    I58, rJ   c                     t               } |       }t        |j                        dk(  sJ t        |j                        dk(  sJ t	        j
                  ||       y r   )r   rV   r`   r   rB   rC   )rD   r   rG   r   s       rH   test_empty_constructorz0TestDataFrameConstructors.test_empty_constructor   sP    " ;6<< A%%%6>>"a'''
fh/rJ   c                     t        t        d      t        d            }t        i       }t        |j                        dk(  sJ t        |j                        dk(  sJ t        j                  ||d       y )Nr   r`   r   Tra   )r   r   rV   r`   r   rB   rC   )rD   rG   r   s      rH   #test_empty_constructor_object_indexz=TestDataFrameConstructors.test_empty_constructor_object_index   s_    :a=*Q-H26<< A%%%6>>"a'''
fhFrJ   z)emptylike,expected_index,expected_columnsrS   r   rR   c              #       K   | ]  }|  y wr   r   r   s     rH   r   z#TestDataFrameConstructors.<genexpr>   s     oQqor   r   c                 `    t        ||      }t        |      }t        j                  ||       y )Nr   r   rB   rC   )rD   	emptylikeexpected_indexexpected_columnsrG   r   s         rH   test_emptylike_constructorz4TestDataFrameConstructors.test_emptylike_constructor   s+     >;KL9%
fh/rJ   c                 T    |rdnt         j                  }|d   j                  |k(  sJ y )Nr=   foo)r>   object_r<   )rD   float_string_frameusing_infer_stringr<   s       rH   test_constructor_mixedz0TestDataFrameConstructors.test_constructor_mixed   s(    +!%(..%777rJ   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 floatri   r   r   bcr;   )r9   rR   r   z5Expected a 1D array, got an array with shape \(4, 2\)testfoo2)rp   rq   
ValueErrorr   r>   r,   onesr~   )rD   rr   rF   s      rH   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)rD   orig_dfnew_dfs      rH   test_constructor_dtype_copyz5TestDataFrameConstructors.test_constructor_dtype_copy  sG    cUSEC5IJ7%d;vvq!S(((rJ   c                     t        ddgg      }t        ||d   j                        }d|j                  d<   |j                  d   dk(  sJ y )NrS   rR   r   r;   c   r   r   )r   r<   ilocr   )rD   rF   should_be_views      rH   ,test_constructor_dtype_nocast_view_dataframezFTestDataFrameConstructors.test_constructor_dtype_nocast_view_dataframe!  sL    Ax "2RU[[9$&D!yy!###rJ   c                     t        ddgddggd      }t        |j                  |d   j                        }|j                  j                  d   j                  j
                  j                  sJ y )NrS   rR   r:   r9   r4   r;   r   )r   r   r<   rW   rX   flagsc_contiguous)rD   rF   df2s      rH   +test_constructor_dtype_nocast_view_2d_arrayzETestDataFrameConstructors.test_constructor_dtype_nocast_view_2d_array'  s[    AA'w7		A5xxq!((..;;;;rJ   c                    t        j                  ddgd      }t        |d      }|rF|d   j                  j                  dk(  rnKt        j
                  |d   j                         |      s$J t        j
                  |j                  |      sJ t        |t        d	      }t        j
                  |j                  |      sJ y )
Nr   r   r|   r;   Fr   r   pyarrowr   	r>   rn   r   r<   storageshares_memoryto_numpyr   r|   rD   r   rE   rF   s       rH   "test_1d_object_array_does_not_copyz<TestDataFrameConstructors.test_1d_object_array_does_not_copy,  s    hhSz2s'!u{{""i/ ''1(8#>>>##BIIs333s&u5		3///rJ   c                    t        j                  ddgddggd      }t        |d      }|rF|d	   j                  j                  d
k(  rnKt        j
                  |d	   j                         |      s$J t        j
                  |j                  |      sJ t        |t        d      }t        j
                  |j                  |      sJ y )Nr   r   r   r   r|   r;   Fr  r   r  r   r  r  s       rH   "test_2d_object_array_does_not_copyz<TestDataFrameConstructors.test_2d_object_array_does_not_copy=  s    hhc
S#J/x@s'!u{{""i/ ''1(8#>>>##BIIs333s&u5		3///rJ   c                 |    t        ddgd dggt              }|j                  d   J |j                  d   dk(  sJ y )NrS   2r   r;   rS   r   rT   )r   r|   locrw   s     rH    test_constructor_dtype_list_dataz:TestDataFrameConstructors.test_constructor_dtype_list_dataN  sE    C4+.f=vvd|###vvd|s"""rJ   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\)ri   ArS   rR   zshape=\(2, 2, 1\))r   r>   emptyrp   rq   r   )rD   r   r   s      rH   "test_constructor_list_of_2d_raisesz<TestDataFrameConstructors.test_constructor_list_of_2d_raisesS  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  rz   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  rR   
   r;   r   )size)MIXED_INT_DTYPESr>   rn   randomdefault_rngMIXED_FLOAT_DTYPESintegerszipr<   updatedictr   dtypes)rD   typadr'  r   arraysr   rF   s           rH   test_constructor_mixed_dtypesz7TestDataFrameConstructors.test_constructor_mixed_dtypesa  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 )NrR   r  r   r   )
r>   r   r!  rA   	complex64
complex128r   r<   r   r   rD   r   r   rF   s       rH   test_constructor_complex_dtypesz9TestDataFrameConstructors.test_constructor_complex_dtypes  s    II!!!$++B/66r||DII!!!$++B/66r}}EQQ'(ww"$$**$$$ww"$$**$$$rJ   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$   rB   rC   r   r>   ro   isnan)rD   string_dtyperF   r   rG   s        rH   $test_constructor_dtype_str_na_valuesz>TestDataFrameConstructors.test_constructor_dtype_str_na_values  s    c4[)>cE4=12
fh/wwt}$$$c266]+<@xx&&&rJ   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 )NFr_   r  rz   r   r   )
to_recordslistr<   namesr`   r   rB   assert_index_equalr   r   r>   r?   rV   reindexrC   )	rD   float_framerecr`   rF   r  rngdf3rG   s	            rH   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,rJ   c                     t        t        j                  dt              t        j                  dt              d      }|j
                  j                  t        j                  k(  sJ y )Nr  r;   rT   )r   r>   r   boolzerosr   r<   bool_rw   s     rH   test_constructor_boolz/TestDataFrameConstructors.test_constructor_bool  sA    2772T2rxx$7OPQyy"((***rJ   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 )
NrS   r              r;   r   ))l   Y2<   )l   FJLW]L*    )l   M:M^ -   )l   8Ma i  )l   r*R3_PvN rI  )uidu8)scorerM  rL  )r>   rn   r   r0   r   r<   rD  rV   )rD   ir   r   data_scoresr<   r   	df_crawlss           rH   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   rH  r;   A   l           l        l        c                 n    |d   }t        |      }|d   j                  t        k(  sJ |d   d   |k(  sJ y r   )r   r<   r|   rD   r   rc   r   s       rH   test_constructor_int_overflowz7TestDataFrameConstructors.test_constructor_int_overflow  sC     q	6"ay&(((ay|u$$$rJ   c                 z    |d   }t        |      }|d   j                  |j                  k(  sJ |d   d   |k(  sJ y r   r   r<   rU  s       rH   test_constructor_numpy_uintsz6TestDataFrameConstructors.test_constructor_numpy_uints  sG     q	6"ay%++---ay|u$$$rJ   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   rR   r  r   r   )
r9  r   r>   r   r!  shuffler   r   r$  r   )rD   nitemsnumsrO  rG   rF   s         rH   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rP   r_   r   r   r      r   r   r`   rm   )r   r   col4r   r   r   <Mixing dicts with non-Series may lead to ambiguous ordering.ri   r   r   r-  r   r  rz   )r   r>   r?   r,   r#   r   rV   rB   r   renameconcatenatero   r   r`   r$   allrp   rq   r   )rD   datetime_seriesdatetime_series_shortframeexprr   s         rH   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  rS   rR   1r  rt  r  )r   rB   r;  r`   r   rD   ro  s     rH   test_constructor_dict_length1z7TestDataFrameConstructors.test_constructor_dict_length1  s3    3aa 012
ekk5#s+<=rJ   c                 X    t        g d      }t        i |      }|j                  |u sJ y )Nr   rS   rR   r_   )r   r   r`   rD   r   ro  s      rH    test_constructor_dict_with_indexz:TestDataFrameConstructors.test_constructor_dict_with_index  s*    I"C({{c!!!rJ   c                     t        g d      }t        i ||      }|j                  |u sJ |j                  |u sJ t	        |j
                        dk(  sJ y )Nrx  r   r:   )r   r   r`   r   rV   _seriesry  s      rH   ,test_constructor_dict_with_index_and_columnszFTestDataFrameConstructors.test_constructor_dict_with_index_and_columns$  sU    I"C5{{c!!!}}###5==!Q&&&rJ   c                 ~    t        g g dddg      }t        j                  |j                  t	        d      d       y )Nri  r  rz   r   r   Texact)r   rB   r;  r`   r   ru  s     rH   $test_constructor_dict_of_empty_listsz>TestDataFrameConstructors.test_constructor_dict_of_empty_lists,  s1    ,sCjA
ekk:a=ErJ   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   r_   )r   
_get_valuerB   rC   )rD   
frame_noneframe_none_lists      rH   test_constructor_dict_with_nonez9TestDataFrameConstructors.test_constructor_dict_with_none1  sl     T{1#6
#S4&M!=$$Q,444))!S1999
j/:rJ   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 indexri   r   gffffff?r   rp   rq   r   r   rD   rr   s     rH   test_constructor_dict_errorsz6TestDataFrameConstructors.test_constructor_dict_errors:  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   )rD   r  r   rG   s       rH   %test_constructor_invalid_items_unusedz?TestDataFrameConstructors.test_constructor_invalid_items_unusedD  s2     C=3%8cU+
fh/rJ   rc   r9   ro   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 )NrS   r:   r   r   r9   rR   r   r_   axisrM   r4   r;   r   )	r   r   r   sort_valuesr>   r?   r@   rB   rC   	rD   rc   colsr   r   r   r   r   rG   s	            rH   test_constructor_dict_nan_keyz7TestDataFrameConstructors.test_constructor_dict_nan_keyK  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   rR   r   r:   rS   r9   r   r_   r  rM   r4   r;   r   )
r   r   r   r   r  r>   r?   r@   rB   rC   r  s	            rH   #test_constructor_dict_nan_tuple_keyz=TestDataFrameConstructors.test_constructor_dict_nan_tuple_key^  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;   rb  rc  r_   r   r   r   r   bar   r   )	r   r>   r?   r,   r#   r   r9  rB   rC   )rD   rm  rn  r   ro  rG   s         rH   %test_constructor_dict_order_insertionz?TestDataFrameConstructors.test_constructor_dict_order_insertionq  sm     IIb

+:lTV3W
 !0 3 (o>q!!T$Z8
eX.rJ   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 )NrS   rR   r:   r   r   r>   ro   rB   rC   rD   r   rG   s      rH   )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/rJ   missing_valuec                     dd|didd|dig}t        |      }t        ddgddggd|rt        j                  n|g      }t        j                  ||       y )NcolArS   rR   r:   r9   r   r  rD   r  r   	dict_datar   rG   s         rH   -test_constructor_list_of_dict_with_str_na_keyzGTestDataFrameConstructors.test_constructor_list_of_dict_with_str_na_key  sl     Qq)Qq)
	 9%VaV'9RVV}M
 	fh/rJ   c                     ddd|dddii}t        |      }t        dg dit        d|rt        j                  n|dg            }t	        j
                  ||       y )	Ncolrow1rS   rR   row3r:   rS   rR   r:   r_   )r   r   r>   ro   rB   rC   r  s         rH   -test_constructor_dict_of_dict_with_str_na_keyzGTestDataFrameConstructors.test_constructor_dict_of_dict_with_str_na_key  sd    
 VQq&!DE	9%I#5=&Q
 	fh/rJ   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)rR   r:   r:   r:   r  r   )r  r  r  )r   from_tuplesr   r$   r   r   rl  )rD   tuplesmirF   s       rH   test_constructor_multi_indexz6TestDataFrameConstructors.test_constructor_multi_index  s     *##F+R,Bx$$&**,,,)##F+R,Bx$$&**,,,rJ   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 )	NrS   rR   r   r`   r4   r;   r   )levelscodesr   )r   r   r   rB   rC   rD   rF   rG   s      rH   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(+rJ   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.ri   r   rS   r_   rh  r   r   r-  r   ri  z:Shape of passed values is \(4, 3\), indices imply \(3, 3\)r8   )r9   r:   r   r  baz
2000-01-01r:   rc  r  r9   r   rM   z:Shape of passed values is \(1, 3\), indices imply \(1, 4\)r9   r`   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\)rR   r  :Shape of passed values is \(2, 3\), indices imply \(2, 2\)r  rz   z,2 columns passed, passed data had 10 columnsr     )r   twosr   r  FT)rp   rq   r   r   r>   r  r?   r@   r#   rn   r   rD  r   r!  )rD   rr   rE   s      rH   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     rH   r   zKTestDataFrameConstructors.test_constructor_subclass_dict.<locals>.<genexpr>       !CA1dQh-!C   r  c              3   *   K   | ]  }|d |z  f  yw)g      4@Nr   r  s     rH   r   zKTestDataFrameConstructors.test_constructor_subclass_dict.<locals>.<genexpr>  r  r  rd  )r   r   itemsr&  rB   rC   )rD   dict_subclassr   rF   r  valrefdfs          rH   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  rz   r_   )r>   ro   r  r`   r  r   r&  r%  r   r   r<  rB   rC   )rD   r=  r   kvdctro  rG   s           rH   test_constructor_defaultdictz6TestDataFrameConstructors.test_constructor_defaultdict  s    8:/+++B//45%%' 	DAqd#CJJqyy{#DG	 $=={'8'8=9
k84rJ   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>   rn   r   rB   assert_numpy_array_equalr   )rD   rG   rF   s      rH   test_constructor_dict_blockz5TestDataFrameConstructors.test_constructor_dict_block  sK    88123%se3%se<(
 	##BIIx8rJ   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 )NrS   rR   rs  rt  r  3)rt  r  r  ri  r;   r:   rz   r  )r   r   rV   r<   r>   r,   r   )rD   r   	test_dataro  s       rH   test_constructor_dict_castz4TestDataFrameConstructors.test_constructor_dict_cast#  s     !*s31OP	)515zQSz2::---Sz2::---)$5zQ5GuSz2::-RRUSz2::---rJ   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_   rR   ri  zcould not convert stringri   r;   )r&  r$  r   r>   r   r!  standard_normalrp   rq   r   r   r   )rD   rO  r  s      rH   test_constructor_dict_cast2z5TestDataFrameConstructors.test_constructor_dict_cast20  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>   ro   r   r   r   )rD   r   rF   s      rH   !test_constructor_dict_dont_upcastz;TestDataFrameConstructors.test_constructor_dict_dont_upcast9  s7    j"&&9:q\"V*V,e444rJ   c                 d    t        ddgddggddgddg      }t        |d   d   t              sJ y )NrS   rR   r   r   r   )r   r   r  )rD   dms     rH   "test_constructor_dict_dont_upcast2z<TestDataFrameConstructors.test_constructor_dict_dont_upcast2>  s=    Ac
+Aq6Aq6J"Q%(C(((rJ   c           
          ddd}t        |      }t        |j                         D ci c]  \  }}|t        |       c}}      }t        j                  ||d       y c c}}w )Nr  r  r-  Fcheck_dtype)r   r  r9  rB   rC   )rD   r   r   r  r  rG   s         rH   test_constructor_dict_of_tuplesz9TestDataFrameConstructors.test_constructor_dict_of_tuplesB  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:   rM   r-  rx  )r:   r9   r   )r   r   rB   rC   rD   r   r   rG   s       rH   test_constructor_dict_of_rangesz9TestDataFrameConstructors.test_constructor_dict_of_rangesJ  s>    1XE!QK0499=>
fh/rJ   c                     t        t        d            t        t        d            d}t        |      }t        g dg dd      }t	        j
                  ||       y )Nr:   r-  rx  rR   rS   r   )iterr   reversedr   rB   rC   r  s       rH   "test_constructor_dict_of_iteratorsz<TestDataFrameConstructors.test_constructor_dict_of_iteratorsR  sE    %(^(58*<=499=>
fh/rJ   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   rO  s     rH   r   zPTestDataFrameConstructors.test_constructor_dict_of_generators.<locals>.<genexpr>\  s     ,Aa,r   r:   c              3       K   | ]  }|  y wr   r   r  s     rH   r   zPTestDataFrameConstructors.test_constructor_dict_of_generators.<locals>.<genexpr>\  s     3R!A3Rr   r-  rx  r  )r   r  r   rB   rC   r  s       rH   #test_constructor_dict_of_generatorsz=TestDataFrameConstructors.test_constructor_dict_of_generatorsZ  sL    ,%(,3Rxa?Q3RS499=>
fh/rJ   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   rS   rR   )rO  rO  rO  jr  rO  rM   r   r9         	   ))r   r   r  )r   r   r_   g     ^@o   )r   r  r  r  zF)tupleize_colsr  )sortedr  r   r   r  Tr`   rB   rC   insertr   r<  r   )rD   r   _drF   r   rG   s         rH    test_constructor_dict_multiindexz:TestDataFrameConstructors.test_constructor_dict_multiindexa  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           	      J  
 g d

fd} |t         j                        } |d       } |t              }t        g dg dg dg dg
D cg c]  }t        |       c}      }t        |      }|j                  j
                  d	k(  sJ |j                  j                  d
      |_        t        |      }|j                  j
                  d
k(  sJ 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 )NrR   )	enumerate)r   rO  sdates_as_strs      rH   create_datazUTestDataFrameConstructors.test_constructor_dict_datetime64_index.<locals>.create_data  s2    ;D\;RS41aAAA..SSSs   ,c                 .    t        j                  | d      S )Nz%Y-%m-%d)r
   strptimer   s    rH   r   zRTestDataFrameConstructors.test_constructor_dict_datetime64_index.<locals>.<lambda>  s    h.?.?:.N rJ   )r   NNN)NrR   NN)NNr9   N)NNNrM   r_   r  us)	r>   r   r!   r   r`   unitre   rB   rC   )rD   r  data_datetime64data_datetimedata_Timestampr^   rG   result_datetime64result_datetimeresult_Timestampr  s             @rH   &test_constructor_dict_datetime64_indexz@TestDataFrameConstructors.test_constructor_dict_datetime64_index|  s	   O	T &bmm4#$NO$Y/%%%%	 ,88R9R=8
 &o6 &&++s222"3"9"9"A"A$"G#M2$$))T111$^4
/:
ox8
.9 9s   D 
zklass,exp_dtypec                 .    t        j                  | d      S Nr  )r>   timedelta64r  s    rH   r   z"TestDataFrameConstructors.<lambda>  s    r~~a- rJ   m8[s]c                     t        |       S )N)days)r   r  s    rH   r   z"TestDataFrameConstructors.<lambda>  s    ya( rJ   m8[us]c                     t        | d      S r%  )r    r  s    rH   r   z"TestDataFrameConstructors.<lambda>  s    yC( rJ   c                 8    t        | d      j                  d      S )Nr  ms)r    re   r  s    rH   r   z"TestDataFrameConstructors.<lambda>  s    yC(006 rJ   zm8[ms]c           
      p   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}      }|j                  j	                  |      |_        t        |      }	t        j                  |	|       y c c}}w c c}w )	NrS   rR   r:   r9   rR   r   r   rS   rR   r:   r9   rM   r  r_   )r  r   r    r`   rA   rB   rC   )
rD   klass	exp_dtype	td_as_intrO  r  r   tdrG   r   s
             rH   '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%:
 "..y94
fh/ G ;s   B-B3
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  r-  r   r   )pdPeriodIndexr   r<   rA   r|   r~   r0  s       rH   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}}'''rJ   c                     |\  }}t        d|idg      }|d   j                  |k(  sJ t        dgdg|      }t        j                  ||       y )Nr   r   r_   r  )r   r<   rB   rC   )rD   ea_scalar_and_dtype	ea_scalarea_dtyperF   rG   s         rH   &test_constructor_dict_extension_scalarz@TestDataFrameConstructors.test_constructor_dict_extension_scalar  sW    1	8Y's3#w}}(((A3IF
b(+rJ   z
data,dtypez2020-01r   )leftrightr4   rB  z
2011-01-01
US/EasternrQ   r  )r  rQ   c                    t        t        d      ddg|      }|d   j                  |k(  sJ |d   j                  |k(  sJ t        j                  |gdz  |      }t        ||d      }t        j                  ||       y )NrR   r   r   r  r;   r-  )r   r   r<   r9  rn   rB   rC   )rD   r   r<   rF   rE   rG   s         rH   &test_constructor_extension_scalar_dataz@TestDataFrameConstructors.test_constructor_extension_scalar_data  s{     U1XSzE#w}}%%%#w}}%%%hhvz/3S12
b(+rJ   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   rc  rR   r  r   r   r_   )r9  period_ranger   r>   r   r!  r  r   r`   r  
setdefaultrB   rC   r  )rD   r?  rF   r   r  rowr   s          rH   "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)rJ   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  rS   rR   r  r:   )r:   r  r  rh   ri   r   r`   r<   r  r  rz   r  r  Tr  r_   r   )r   r:   r   )r:   r   )r   r   rV   r`   r   r>   r   rp   rq   r   r4   r   r<   r   rB   r;  r   r   )rD   r  matro  rr   s        rH   _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   rS   r  r   rR   )rP  r>   r   r   rV   ru  s     rH   test_constructor_ndarrayz2TestDataFrameConstructors.test_constructor_ndarray2  s<    %%bgg.5%.AF5zQrJ   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   rS   rR   r  rS   rR   r  r  r  )rP  r   
masked_allr   r   r>   rl  asarray)rD   rO  ro  s      rH   test_constructor_maskedarrayz6TestDataFrameConstructors.test_constructor_maskedarray8  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2rJ   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  rS   rR   r  r:   rN  r   rT  r  r  r   z8datetime64\[ns\] values and dtype=int64 is not supportedri   rk   TF)r   rU  r  r   rV   r`   r   r>   rl  rV  r,   r   r<   r   r$   rp   rq   r   r4   rA   rC  r|   )rD   rO  ro  mat2rr   s        rH   %test_constructor_maskedarray_nonfloatz?TestDataFrameConstructors.test_constructor_maskedarray_nonfloatH  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)rR   rR   r;   r  rz   rS   rR   r  ri  rN  r   )
r   rU  r   harden_maskr   r>   ro   rB   rC   r   )rD   mat_hardr   rG   s       rH   %test_constructor_maskedarray_hardenedz?TestDataFrameConstructors.test_constructor_maskedarray_hardened  s    ==u5AAC8c3Z1vF66266""&&"&&)9:#Ja&	
 	fh/776/;;=8c3Z1vF*C:.#Ja&	
 	fh/rJ   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)pricer`  r;   F)maskzPass \{name: data\[name\]ri   )r>   r   rn   rD  r   r   	mrecarrayrp   rq   r   r   r  rD   r   s     rH   %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 )Nr_   r   )r   r   shaperw   s     rH   test_constructor_corner_shapez7TestDataFrameConstructors.test_constructor_corner_shape  s"    R yy&(((rJ   z%data, index, columns, dtype, expectedr  r   r   r,   r   c                 V    t        ||||      }|j                  j                  |k(  sJ y r   )r   r   r<   )rD   r   r`   r   r<   rG   rF   s          rH   test_constructor_dtypez0TestDataFrameConstructors.test_constructor_dtype  s*     tUGU3yy(***rJ   zdata,input_dtype,expected_dtype)TFNbooleanr   r   NFloat64)rS   rR   NInt64r   stringc                 T    t        d|i|      }|d   j                   |       k(  sJ y )Nr   r;   rX  )rD   r   input_dtypeexpected_dtyperF   s        rH   0test_constructor_dtype_nullable_extension_arrayszJTestDataFrameConstructors.test_constructor_dtype_nullable_extension_arrays  s-     T{+6#w}} 0000rJ   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 )NrS   Tr   y              @r   )r  rC  r   complexr|   r  r_   r  rC  r   ru  r|   )	r   r>   r?   r<   r4   rE  r,   r/  r   )rD   r   r   rF   s       rH   !test_constructor_scalar_inferencez;TestDataFrameConstructors.test_constructor_scalar_inference  s    $uUt299R=1%y"((***&z288+++'{  BJJ...)}""bmm3337Ir(|!!RZZ/TTu/rJ   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)	NrR   r  Tr-  r   zmust pass an indexri   F)r   r>   r   r!  r  r   rB   rC   rp   rq   r   )rD   rF   rp  s      rH   #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   rB   rC   r>   r4   r   r<   )rD   r=  rF   	df_casteds       rH   test_constructor_DataFramez4TestDataFrameConstructors.test_constructor_DataFrame  sJ    {#
b+.k:	%%111rJ   c                 t    t        t               d      }t        g d      }t        j                  ||       y )Nr|   r;   r   )rD   actualrG   s      rH    test_constructor_empty_dataframez:TestDataFrameConstructors.test_constructor_empty_dataframe  s,    9;h7Rx0
fh/rJ   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)NrR   r  r  r  r   rz   r  rR   r   )r   rR   r_   )r  r   r   r  r;   rS   z(could not convert string to float: 'foo'ri   r`   r   r<   ri  )r>   r   r!  r  r   r?   r   ndimrg  rn   r|   r@   rp   rq   r   r   r|  rB   rC   r   r  r,   rV   r   r<   )rD   r=  rE   r  rO  rr   s         rH   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 )Nr_   r  rz   r   c               3   $   K   dE d {    y 7 wr   r   r   rJ   rH   	empty_genzHTestDataFrameConstructors.test_constructor_empty_list.<locals>.empty_gen  s     MMs   r   )rD   rF   rG   r  s       rH   test_constructor_empty_listz5TestDataFrameConstructors.test_constructor_empty_list  s    r$2&
b(+ rC:.R#s4
b(+	 y{S#J7
b(+rJ   c                 v   t        ddgddggddg      }t        |d         sJ |s"|d   j                  t        j                  k(  sJ 	 t        t        j
                  d            }t        d      D cg c]  }t        j                  |       }}t        |      }t        j                  ||       y c c}w )	NrS   r   rR   r   numr=   r  r  )
r   r   r<   r>   r   r?   r   rn   rB   rC   )rD   r   rF   rG   r   r   r   s          rH   test_constructor_list_of_listsz8TestDataFrameConstructors.test_constructor_list_of_lists$  s    aX3x05%.I5	***4Fr%y"**,QQE RYYr]+%*2Y///4
fh/ 0s   6B6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 )NrS   rR   r;   r   )rR   rS   )r   r>   rn   r|   r   r9  rB   rC   rg  r  r   )rD   serrE   rF   rG   s        rH   .test_nested_pandasarray_matches_nested_ndarrayzHTestDataFrameConstructors.test_nested_pandasarray_matches_nested_ndarray1  s    aVnhhd|62AqAs^RXXc]+
b(+xx6!!!
##BqELL#6rJ   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/  r9   r   rM   r  r   )r9  r   r   from_arraysrB   rC   )rD   r*  r   r  rG   s        rH   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/rJ   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 4ri   r/  r  r   r9  rp   rq   r   r   rD   r*  rr   s      rH   0test_constructor_wrong_length_nested_list_columnzJTestDataFrameConstructors.test_constructor_wrong_length_nested_list_columnI  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 lengthri   r/  r  r   r  r  s      rH   2test_constructor_unequal_length_nested_list_columnzLTestDataFrameConstructors.test_constructor_unequal_length_nested_list_columnQ  sQ    v,U, /]]:S1 	D|\2FC	D 	D 	Dr  r   
2021-01-01r   c                     t        |t        d      dg      }t        dt        d      gdz  i      }t        j                  ||       y )Nr:   r   r   r  )r   r   r!   rB   rC   r  s       rH   &test_constructor_one_element_data_listz@TestDataFrameConstructors.test_constructor_one_element_data_listZ  sD     4uQx#?cIl$;#<q#@AB
fh/rJ   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)rD   lsts     rH   __init__zYTestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainer.__init__n  s	    	rJ   c                 8    | j                   j                  |      S r   )r  __getitem__)rD   ns     rH   r  z\TestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainer.__getitem__q  s    yy,,Q//rJ   c                 6    | j                   j                         S r   )r  __len__)rD   s    rH   r  zXTestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainer.__len__t  s    yy((**rJ   )r  N)__name__
__module____qualname__r  r  r  r  r   rJ   rH   DummyContainerr  m  s     0+ +rJ   r  rS   r   rR   r   r  r=   r   Fr  )r   Sequencer   rB   rC   )rD   r  lst_containersr   r   rG   s         rH   test_constructor_sequence_likez8TestDataFrameConstructors.test_constructor_sequence_likei  sp    	+S\\ 	+ )!S2NAs84LM%.>7;q#hC17C
fhEBrJ   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  rO  r  Fr  )r   rn   r   r9  rB   rC   r  s      rH   test_constructor_stdlib_arrayz7TestDataFrameConstructors.test_constructor_stdlib_array}  s     CS%)!<=>c4b	?34
fhEBd59otE"I?@EKKU2Y7S%PR)9TUV
fhEBrJ   c                     t        t        d            }t        t        t        d                  }t        j                  ||       y Nr  r   r   r9  rB   rC   r  s      rH   test_constructor_rangez0TestDataFrameConstructors.test_constructor_range  s2    59%T%)_-
fh/rJ   c                     t        t        d      t        d      g      }t        t        t        d            t        t        d            g      }t        j                  ||       y r  r  r  s      rH   test_constructor_list_of_rangesz9TestDataFrameConstructors.test_constructor_list_of_ranges  sH    E"IuRy12d59otE"I?@
fh/rJ   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   )rD   rO  s     rH   __iter__zJTestDataFrameConstructors.test_constructor_iterable.<locals>.Iter.__iter__  s     r $A#O$s   N)r  r  r  r   r  r   rJ   rH   Iterr    s    $( $rJ   r  r  r  r   )rD   r  rG   r   s       rH   test_constructor_iterablez3TestDataFrameConstructors.test_constructor_iterable  s;    	$ 	$
 i[2-.46"
fh/rJ   c                     t        t        t        d                  }t        t        t        d                  }t	        j
                  ||       y r  r   r  r   r9  rB   rC   r  s      rH   test_constructor_iteratorz3TestDataFrameConstructors.test_constructor_iterator  s6    4b	?+T%)_-
fh/rJ   c                     t        t        t        d            t        t        d            g      }t        t        t        d            t        t        d            g      }t	        j
                  ||       y r  r  r  s      rH   "test_constructor_list_of_iteratorsz<TestDataFrameConstructors.test_constructor_list_of_iterators  sP    DrOT%)_=>d59otE"I?@
fh/rJ   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     rH   r   zGTestDataFrameConstructors.test_constructor_generator.<locals>.<genexpr>       %a%r   r  c              3       K   | ]  }|  y wr   r   r  s     rH   r   zGTestDataFrameConstructors.test_constructor_generator.<locals>.<genexpr>  r  r   c              3   $   K   | ]  }|d g 
 yw)r   Nr   r  s     rH   r   zGTestDataFrameConstructors.test_constructor_generator.<locals>.<genexpr>  s     +A3x+s   r   rT   Fr  )r   r   r9  rB   rC   )rD   gen1gen2rG   r   gens         rH   test_constructor_generatorz4TestDataFrameConstructors.test_constructor_generator  s     &59%%59%d59otE"I?@D$<(
fh/+r+3rs34
fhEBrJ   c                 t    t        i g      }t        t        d      g       }t        j                  ||       y )NrS   r   )r   r   rB   rC   r  s      rH   test_constructor_list_of_dictsz8TestDataFrameConstructors.test_constructor_list_of_dicts  s-    B4:a="=
fh/rJ   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   rS   )r   rR   )r   rR   )r   r   r   r   rS   rR   r   )r   r   r   r   )r   r`   )r   r   rB   rC   )rD   nested1nested2r   r   rG   s         rH   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/rJ   	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 )NrR   rS   r   r   r   r   )rD   r  rG   r   r   s        rH   ,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/rJ   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 )NrR   r   rS   r   r  r   r   )rD   r  row_onerow_two	row_threerG   r   s          rH   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/rJ   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   rf  rx  )0rt  r  r  )r   r   r=   r   rB   rC   )rD   rO  seriesr   rG   s        rH   -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   rJ   rH   
CustomDictr        rJ   r        ?r:   r-  )r&  r   rB   rC   )rD   r  r   data_customr   result_customr   s          rH   &test_constructor_list_of_derived_dictsz@TestDataFrameConstructors.test_constructor_list_of_derived_dicts  sO    	 	 A!!}os!+.4
fm4rJ   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)NrR   r  r  ri  z%All arrays must be of the same lengthri   )r>   r   r!  r  rp   rq   r   r   rd  s     rH   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   r_   )r   r   r   Fr  )r   r   r   rB   rC   )rD   r   rF   rG   s       rH   test_constructor_scalarz1TestDataFrameConstructors.test_constructor_scalar  sB    E!HoQxs+c9-S9
b(>rJ   c                 \    t        |d   |j                  dg      }|j                          y )Nr  r   )r   r`   r   )rD   r=  rF   s      rH    test_constructor_Series_copy_bugz:TestDataFrameConstructors.test_constructor_Series_copy_bug  s&    {3'{/@/@3%P
	rJ   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)NrS   rR   r:   r  r  )r9   r:   rR   rS   )r  quxr  r   r_   rz   zambiguous orderingri   r   r   r-  ri  )	r   r   r`   is_monotonic_increasingrp   rq   r   rB   rC   r  s       rH   &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 )NrS   rR   r:   r9   r:   r9   r   r  s       rH    test_constructor_mixed_type_rowsz:TestDataFrameConstructors.test_constructor_mixed_type_rows)  s@    A4q!fq!f-.
fh/rJ   ztuples,lists)r   )r   r   r  r  c                 \    t        |      }t        |      }t        j                  ||       y r   r   )rD   r  listsr   rG   s        rH   test_constructor_tuplez0TestDataFrameConstructors.test_constructor_tuple0  s(     6"U#
fh/rJ   c                 ~    t        dddgi      }t        dt        ddg      i      }t        j                  ||       y )Nr  rT  r  r   r   rB   rC   r  s      rH   test_constructor_list_of_tuplesz9TestDataFrameConstructors.test_constructor_list_of_tuplesB  s?    C&&!123c666*:#;<=
fh/rJ   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abrS   r:   rR   r9   r-  )r   r  r   r  r   )r   r9  r   rB   rC   )rD   named_tupler  rG   r   s        rH   $test_constructor_list_of_namedtuplesz>TestDataFrameConstructors.test_constructor_list_of_namedtuplesG  s     4:6a#[A%67Aq6A786"
fh/ Aq6A786C:6
fh/rJ   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:   rS   r   r   )r   r  r   rB   rC   )rD   r  r   rG   r   s        rH   $test_constructor_list_of_dataclassesz>TestDataFrameConstructors.test_constructor_list_of_dataclassesT  sa    w#sc3Z(@AaU1a[)Aq6A784
fh/rJ   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:   rS   )r   r   r  r  )r   r  r   r>   ro   rB   rC   )rD   r  r
  r   rG   r   s         rH   7test_constructor_list_of_dataclasses_with_varying_typeszQTestDataFrameConstructors.test_constructor_list_of_dataclasses_with_varying_types]  s     w#sc3Z(@Aw$tSkC:(NOaU1a^,bff+QF2661+bffa[Q
 4
fh/rJ   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 instancesri   r   rS   r  )r   r  rp   rq   r   reescaper   )rD   r  rr   s      rH   1test_constructor_list_of_dataclasses_error_thrownzKTestDataFrameConstructors.test_constructor_list_of_dataclasses_error_thrownk  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 )NrS   r9   r  r  )FirstSecondThirdFourthr   rR   r  r  )r  r  r  r  rM   r:   r8   r	     r  )r  r  r  r  YYYXXXr  r  )r  r  r	  )r  r  r8   )NNr  )NNr  )r  r  r  r  r  r  r   )rD   r   rG   r   s       rH   #test_constructor_list_of_dict_orderz=TestDataFrameConstructors.test_constructor_list_of_dict_ordert  sr     1qB?1Q?1QrRTU

 "#"&''	
 4
fh/rJ   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       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t        d            }t        j                  ||       y # 1 sw Y   xY w)Nr  r   r   rf  r   rR   r  r{   r:   r  r_   F)check_column_typez<Shape of passed values is \(10, 1\), indices imply \(10, 2\)ri   rS   r   rm   r<   )r   	Unnamed 0r  r  )r   r   r   rB   r;  r`   r>   r   r!  r  rC   r   rp   rq   r   r|   r  )rD   r   rF   rE   r  rG   rr   s1s           rH   test_constructor_Series_namedz7TestDataFrameConstructors.test_constructor_Series_named  s   9O#>q\zz!}###
bhh0 ii##A&66r:3S!q\c1X&
b(+3eArl+q\aV$
b(eDM]]:S1 	)a!Q(	) 2Cv.q\zz!}### Cc"Cy!##2C83BTU
b(+ Ry!##_eAh?
b(+#	) 	)s   )H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{   rS   r   )r   r   rB   rC   r   to_framer  )rD   s0r  s      rH   )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)////rJ   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   rf  r_   r   r   r   )	r   r   r   r<  r   rB   rC   r;  r`   )rD   r  s2other_indexdf1exp1r  exp2s           rH   +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(rJ   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  rx  r_   r   r   r   r   r0  r   rS   rR   )r   r$  r   r   r>   ro   rB   rC   )rD   name_in1name_in2name_in3name_outindicesrO  r   r  r   exp_indrG   s               rH   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)rj   check_stacklevelr   )
r9  r`   r   rB   assert_produces_warningDeprecationWarningr   rW   r;  r   )rD   r=  r`   r   rr   r   s         rH   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  rz   ri  r   zdoes not match index lengthri   )r   r9  rB   rC   r  rp   rq   r   )rD   r=  rF   rr   s       rH   %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)Nrh   ri   rS   r   r;   )rp   rq   r   r   r>   ro   r4   r  s     rH   %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   rB   rC   from_records)rD   rF   edfidfs       rH   "test_constructor_column_duplicatesz<TestDataFrameConstructors.test_constructor_column_duplicates  sk    Ax#s4!Q!Cj
b#&$$fXSzB
c3'rJ   c                    t        ddgddgt              }t        ddgddgt        j                  t        j
                              }t        ddgddgt              }|rt        j                  ||       n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   rS   r  na_valueU5)
r   r|   r9  StringDtyper>   ro   r=   rB   rC   str_)rD   r   rG   expected_strrF   s        rH   (test_constructor_empty_with_string_dtypezBTestDataFrameConstructors.test_constructor_empty_with_string_dtype  s    Aq6Aq6H a&1a&0O
 aVaV3?!!"l3!!"h/aVaV277C
b(+aVaV4@
b(+rJ   c                 h    t        dg|      }t        dg|      }t        j                  ||       y )Nc1r   r<   r   )rD   nullable_string_dtyperG   rF   s       rH   ,test_constructor_empty_with_string_extensionzFTestDataFrameConstructors.test_constructor_empty_with_string_extension-  s0    dV3HIv-BC
b(+rJ   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   r4   r   rS   rR   r   r;   z*DataFrame constructor not properly called!ri   r   zincompatible data and dtype)r   rB   rC   r>   rD  rg  rA   r`   r   rn   r|   rp   rq   r   r   r   )rD   rF   rr   s      rH   test_constructor_single_valuez7TestDataFrameConstructors.test_constructor_single_value3  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                 Z   t        j                  t              j                  }t        j                  t         j                        j                  }t        j                  t         j
                        j                  }t        dddt        d      j                  d      t        ddddd      d	t        j                  d
            }|j                  }t        t        j                  d      g|st        j                  |      n#t        j                  t         j                        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      t        j                  d      |st        j                  d      n#t        j                  t         j                        t        j                  d      t        j                  |      g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      t        j                  d      |st        j                  d      n#t        j                  t         j                        t        j                  d      t        j                  |      gddd||g      }t#        j$                  ||       y )NrS   r   r  20010101r    rR   r   )r  rz   r  r  Er  r_   r4   rI  M8[s]ru   ABCDEr   r   r   r   r;   r,   r|   )r>   r<   r  rm   r,   r   r   r!   re   r
   r?   r'  r   r9  rL  ro   r9  rB   r   rn   )rD   r   intname	floatname
objectnamerF   r   rG   s           rH   test_constructor_with_datetimesz9TestDataFrameConstructors.test_constructor_with_datetimesS  s   ((3-$$HHRZZ(--	XXbjj)..
 z*2237dAq!Q/ ))B-	
 XXg * $^^RVV4
  xx "((8"456 w-

 	vx0 SQU288Cy9!73 ))B-	
 #!) "^^RVV4#! S)W5
 	vx0 SQU288SEBJi@1#(': ))B-	
 #!) "^^RVV4#! S)W5
 	vx0rJ   c                     t        ddd      }|D cg c]  }|j                          }}t        |      }|j                  dk(  sJ y c c}w )Nr  r  r  startr8  rP   ru   )r#   to_pydatetimer   r<   )rD   indts	datetimes
datetime_ss        rH    test_constructor_with_datetimes1z:TestDataFrameConstructors.test_constructor_with_datetimes1  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  rc  rh  r   datesdatetime64[us]r|   r_   )
r#   re  r	   r   r'  r   r>   r<   rB   r   )rD   rf  rg  rh  rl  rF   r   rG   s           rH    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        dddt        j                  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 )N  rS   rC  )tzinfozEnd Dater   r_   r   datetime64[us, US/Eastern]r;   )
r
   zoneinfoZoneInfor   iatrB   r   r'  r   r|   )rD   r^   rF   s      rH    test_constructor_with_datetimes3z:TestDataFrameConstructors.test_constructor_with_datetimes3  s     dAq):):<)HI
B's3vvd|r!!!
IIvz+GHPVW	
 R()*vvd|r!!!
IIvz+GHPVW	
rJ   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:   rc  rc   r   UTCrO   rC  )r#   r   ru  rQ   r=   )rD   drrF   s      rH    test_constructor_with_datetimes4z:TestDataFrameConstructors.test_constructor_with_datetimes4  s     
A.}%vvd|&&&
A%8}%266$<??#u,,,
A,?}%266$<??#|333rJ   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   10srC  rP   r8  rQ   r   Tdropr#   r   	to_seriesreset_indexrB   rC   )rD   rO  rG   rF   s       rH    test_constructor_with_datetimes5z:TestDataFrameConstructors.test_constructor_with_datetimes5  su     z15\Jc1;;=#<#<$#<#GHI[3
b(+Qx 
b(+rJ   c                     t        dddd      }t        ddd      }t        ||d      }t        |j                         j                  d	      |d      }t	        j
                  ||       y )
Nr}  r   r~  rC  r  rP   r8  r-  Tr  r  )rD   rO  i_no_tzrF   rG   s        rH    test_constructor_with_datetimes6z:TestDataFrameConstructors.test_constructor_with_datetimes6  sb    z15\JZ?QW-.1;;=#<#<$#<#GgVW
b(+rJ   rE   r   c                    t        |      j                  }d}t        |t        j                        rd}nt        d |D              sd}t        t        j                  d| d      g      }t        j                  ||       y )Nr]   r  c              3   ^   K   | ]%  }|D ]  }t        |t        j                           ' y wr   )r   r>   r   )r   r   r   s      rH   r   zRTestDataFrameConstructors.test_constructor_datetimes_with_nulls.<locals>.<genexpr>  s(     JaJ1Z2==1J1Js   +-r  datetime64[])
r   r'  r   r>   ndarrayanyr   r<   rB   r   )rD   rE   r   r  rG   s        rH   %test_constructor_datetimes_with_nullsz?TestDataFrameConstructors.test_constructor_datetimes_with_nulls  sm     3&&c2::&DJ3JJD288k$q$9:;<
vx0rJ   order)Kr  r  Fr  )r   r  hr   r  r-  r  r]   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)Nr  r  )z
2015-01-01z
2015-01-02z
2015-01-03)z
2017-01-01z
2017-01-02z
2017-02-03r<   r  r   )r   r  r  r   Cannot castri   zdatetime64[s]r;   )	r>   rn   r   rA   rp   rq   r   rB   rC   )rD   r  r  r<   narF   rG   s          rH   !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  rS   r  rR   r9   r   r  )r  r  r   r  zm8[r;   )r>   rn   r&  r   r<   r    rB   rC   )	rD   r  r  r<   r  rF   exp_unitr2  rG   s	            rH   !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(+rJ   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#t        j                  t        j                        t        j                  d      t        j                  d      gt        d            }t        j                  ||       y c c}w c c}w c c}w )Nr   r  r3   r;   r   l        l       r   r4   rS   rR   r   r   r,   r:   r_   )rS   rR   r9   r  )g333333?gffffff@gffffff@g333333@r  r9     )r   rR   r  r  r1  r|   rI  rm  abcde)r   r   r>   r?   r'  r   r<   rB   r   rn   r   r9  r
   r9  rL  ro   )rD   r   r   rF   r   rG   rO  s          rH   %test_constructor_for_list_with_dtypesz?TestDataFrameConstructors.test_constructor_for_list_with_dtypesM  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*=%
 !#) "^^RVV4)*# w-
 	vx0s 8
 QF >s   O1O 8O%c                     t        |d      }d|d<   |d   dk(  j                         sJ |d   dk(  j                         rJ y )NTr  r   r  )r   rl  )rD   r=  cops      rH   test_constructor_frame_copyz5TestDataFrameConstructors.test_constructor_frame_copy  sP    $/CCA""$$$$)..0000rJ   c                     |j                         }t        |      }|j                  |j                  usJ t        j                  t        |            |_        t        j                  ||       y r   )	r   r   rW   r>   r?   rV   r`   rB   rC   )rD   r=  origr  s       rH   #test_constructor_frame_shallow_copyz=TestDataFrameConstructors.test_constructor_frame_shallow_copy  sX     !$xx{/////IIc#h'	
k40rJ   c                    |j                   j                         }t        |      }d|d<   |j                   d   dk(  j                         rJ t        |d      }d|d<   |j                   d   dk(  j                         rJ y )Nr   Tr  rM   )r   r   r   rl  )rD   r=  rE   rF   s       rH   test_constructor_ndarray_copyz7TestDataFrameConstructors.test_constructor_ndarray_copy  s~      %%'s^AIIaLA%**,,,s&AIIaLA%**,,,,rJ   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   r7  )r|  r   r  r`   rl  )rD   r=  r  rF   s       rH   test_constructor_series_copyz6TestDataFrameConstructors.test_constructor_series_copy  sj    $$VC[)5 34rxx{RXXb\)3./3K1$))++++rJ   rF   r_   g?g@r   r0  r  )rV  rS   rR   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$ri   rS   )r   rV   r   r   r>   r?   r$   rp   rq   KeyErrorr  ro   rB   r   rC   )rD   rF   rO  indexers       rH   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   FrS   )r   r>   ro   r<   r   )rD   r   s     rH   &test_constructor_lists_to_object_dtypez@TestDataFrameConstructors.test_constructor_lists_to_object_dtype  sE    sRVVUO,-v||rzz)))S6!9}9rJ   c                    t        g d      }t        j                  |      j                  dd      }t        j                  |d      }t        ||j                        }t        ||||d      }t        j                  ||       y )Nr  r7  rS   r  r;   r0  )	r   r>   rn   r@   broadcast_tor   r<   rB   rC   )rD   catrE   r   rG   s        rH   *test_constructor_ndarray_categorical_dtypezDTestDataFrameConstructors.test_constructor_ndarray_categorical_dtype  si    /*hhsm##B*ooc6*3cii0=>
fh/rJ   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;   rl   r   r   r{   )r   r9  r   rB   r   r"  )rD   rF   rG   r  r   s        rH   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/rJ   c                     t        t        d            }t        |g      }t        |j                  t              g      }t        j                  ||       y )Nr   )r   r9  r   rA   r|   rB   rC   )rD   r  rF   rG   s       rH   -test_construct_from_1item_list_of_categoricalzGTestDataFrameConstructors.test_construct_from_1item_list_of_categorical  sD     $u+&ucjj012
b(+rJ   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   r9  rB   rC   r  s      rH   (test_construct_from_list_of_categoricalszBTestDataFrameConstructors.test_construct_from_list_of_categoricals  sD     DK0+d5k2JKLo?@
b(+rJ   c                     t        t        t        d            t        d      g      }t        g dg dg      }t        j                  ||       y )Nr   defr   r   r0  fr  r  s      rH   %test_from_nested_listlike_mixed_typesz?TestDataFrameConstructors.test_from_nested_listlike_mixed_types	  s?     DK0$u+>?o?@
b(+rJ   c                     t        t        t        d            t        t        d            g      }t        t        d      t        d      g      }t        j                  ||       y )Nr   abdefgr  r  s      rH   0test_construct_from_listlikes_mismatched_lengthszJTestDataFrameConstructors.test_construct_from_listlikes_mismatched_lengths	  sJ    DK0+d8n2MNOd5k4>:;
b(+rJ   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)rS   rR   r:   rS   r  r;   )r   r   r   r   20000101r:   rc  r   )r   
categoriesr   r_   )r   rA   rB   r   r#   r   r>   ro   r`   r   rC   )rD   r  rp  resr`   rG   rF   s          rH   #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(+rJ   r<   c                 `    t        dddgidg|      }|j                  j                  |k(  sJ y )Nr   rS   rR   r   rR  )r   r   r<   rD   r<   r   s      rH   %test_check_dtype_empty_numeric_columnz?TestDataFrameConstructors.test_check_dtype_empty_numeric_column+	  s2     #1vUCvv||u$$$rJ   c                 t    t        dddgidg|      }|j                  j                  j                  dk(  sJ y )Nr   rS   rR   r   rR  r|   )r   r   r<   rm   r  s      rH   $test_check_dtype_empty_string_columnz>TestDataFrameConstructors.test_check_dtype_empty_string_column9	  s8     #1vUCvv||  H,,,rJ   c                    t        dt              j                         j                  }t        dt        i      }t	        j
                  ||       t        t        dt                    j                  }t	        j
                  ||       y )Nr   r  )r   r|   r"  r'  rB   r   r   r  s      rH   test_to_frame_with_falsey_namesz9TestDataFrameConstructors.test_to_frame_with_falsey_namesB	  sb    Qf-668??1f+&
vx06q78??
vx0rJ   )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   rS   rR   r:   r9   r4   r;   r   rR  )r   r   rB   rC   )rD   r<   rG   r   s       rH   test_constructor_range_dtypez6TestDataFrameConstructors.test_constructor_range_dtypeK	  sf     c?35;KGL 58cU%@
fh/ Cq?%8
fh/rJ   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   rJ   rH   Listr  Z	  r  rJ   r  r  r  )r9  r   rB   rC   )rD   r  rG   r   s       rH   test_frame_from_list_subclassz7TestDataFrameConstructors.test_frame_from_list_subclassX	  sK    	4 	 i344i$y/ BCD
fh/rJ   extension_arraabbcz1/1/2017z1/1/2018)rd  endr8  c                 n    t        t        |            }t        |      }t        j                  ||       y r   r  )rD   r  rG   r   s       rH   %test_constructor_with_extension_arrayz?TestDataFrameConstructors.test_constructor_with_extension_arraya	  s-     VM23=)
fh/rJ   c           	          t        j                         }||f}t        |t        t	        d      t	        d            i|g      }t        g dt        t        |g                  }t        j                  ||       y )Nr:   r_   r   rx  )r	   todayr   r   r   r   rB   rC   )rD   r  tupr   rG   s        rH   *test_datetime_date_tuple_columns_from_dictzDTestDataFrameConstructors.test_datetime_date_tuple_columns_from_dictp	  s_    JJLdCaa!ABSERYfcUm0DE
fh/rJ   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)'   rM   r9   )femalemaleunknownr_   )rR      rR         )r  r  r   r  r  r  rM   r9   )g      c@g     @n@g     b@r   r   )r  r  r  r  r   r   )r   r   r   r>   rn   ro   rB   rC   )rD   r  r&  r   rG   s        rH   /test_construct_with_two_categoricalindex_serieszITestDataFrameConstructors.test_construct_with_two_categoricalindex_seriesx	  s    J&67T&UV!"#JK
 B8$HHr1a02QRS;
 	fh/rJ   z7ignore:invalid value encountered in cast:RuntimeWarningc                    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 )Nr[  r  r   rs  gMbXg#@rB  )closedg3@g33333=@gC@g     H@g33333M@g33333SQ@gS@gfffffFV@r   T)orderedr_   )r   r   r"   value_countsheadtailr   r   r   r>   ro   rB   rC   )rD   r  ser1ser2r   r`   rG   s          rH   1test_constructor_series_nonexact_categoricalindexzKTestDataFrameConstructors.test_constructor_series_nonexact_categoricalindex	  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/rJ   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 )Nrp  r	  r   r  r  r  )Dateru   )Forecastingru   r;   r  r  rS   )r
   r>   rn   r   r   r   r!   )rD   rl  rE   rF   r  s        rH   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{"""rJ   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   rJ   rH   DatetimeSubclassr  	  r  rJ   r  r
   i  rS   rm  )r
   r   r<   )rD   r  r   s      rH   test_from_datetime_subclassz5TestDataFrameConstructors.test_from_datetime_subclass	  sI    	x 	 *'7aAq'I&JKL}}""&6666rJ   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)	NrL   r:   rN   rO   z@Shape of passed values|Passed arrays should have the same lengthri   r9   r_   )r#   rp   rq   r   r   r   )rD   rY   rr   s      rH   (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:50r~  r7  rR   ri  rz   r   )
r#   r>   rV  r   r   r!  r  rV   
issubdtyper<   )rD   r?  rl  rF   s       rH   !test_frame_ctor_datetime64_columnz;TestDataFrameConstructors.test_frame_ctor_datetime64_column	  sv    ,.@uM

3))''*::3s8D5Q
 }}RW]]BHHX,>???rJ   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   rR   )r9   r9   r_   r   )
r   r>   r   r!  r  rn   r   r`   r   r   )rD   index_listsr   multis       rH   +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_valsrt  r  r}  r  r  r  c                     t        d|i|      }t        d|i      j                  d|i      }t        j                  ||       y )Nr  r;   )r   rA   rB   rC   )rD   r  r4  r   rG   s        rH   test_constructor_list_strz3TestDataFrameConstructors.test_constructor_list_str	  sD     C,LAc:./66\7JK
fh/rJ   c                 |    t        dg di|      }t        dg dit              }t        j                  ||       y )Nr  rl  r;   )z1.0z2.0N)r   r|   rB   rC   )rD   r4  r   rG   s       rH   test_constructor_list_str_naz6TestDataFrameConstructors.test_constructor_list_str_na	  s6    C!12,Gc#78G
fh/rJ   r   FTc                   	
 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       }|rCt	        j                  t        d      5  d
j                  d<   d
j                  d<   d d d        y d
j                  d<   d
j                  d<   |s |d       t        j                  ddg	j                        
j                  d d df<   
j                  j                  d   	j                  k(  sJ |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 y # 1 sw Y   y xY w)NrS   rR   r;   r:   r9   )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>   r  baser<   _ndarrayr   r   s    rH   get_basez<TestDataFrameConstructors.test_dict_nocopy.<locals>.get_base	  s@    #rzz*xxCIIrxx0||(((rJ   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   | ]  }|j                   u   y wr   )r   )r   r   r   s     rH   r   zRTestDataFrameConstructors.test_dict_nocopy.<locals>.check_views.<locals>.<genexpr>
  s     =qxx1}=s   rS   c              3      K   | ]F  }t        |j                  j                  t        j                        r |j                        u  H y wr   r   r   r<   r>   )r   r   r   r  s     rH   r   zRTestDataFrameConstructors.test_dict_nocopy.<locals>.check_views.<locals>.<genexpr>
  =      !!((.."((; QXX&!+   AAc              3      K   | ]F  }t        |j                  j                  t        j                        r |j                        u  H y wr   r  )r   r   r   r  s     rH   r   zRTestDataFrameConstructors.test_dict_nocopy.<locals>.check_views.<locals>.<genexpr>
  r  r  )sumrW   rX   )r  r   r   r   rF   r  s    rH   check_viewsz?TestDataFrameConstructors.test_dict_nocopy.<locals>.check_views
  s    
 =bggnn==BBB   WW^^ 
   WW^^ 
 rJ   r   fciuOzInvalid valueri   r   rT   TrK  .   r   r]   )F)r>   rn   r<   r   rp   skipr9  r   r   rC  r   is_np_dtyper'  r   rq   r   type)rD   r   any_numeric_ea_dtypeany_numpy_dtypec_origr  should_raiser   r   r   rF   r  s          @@@@@rH   test_dict_nocopyz*TestDataFrameConstructors.test_dict_nocopy	  s%    HHaV?3HHaV?377<<:%KK177)#UVWHHaV#78QQQ/d;	 	 	 	8 M ??299>>!+<gFFy@ " ! !" 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$$$ " s   I88Jc                     t        g dd      }t        d|i      }t        j                  |j                  j
                  |d   j                  j
                        rJ y )Nr  rn  r;   r   )r   r   r>   r	  r   rU   )rD   r  rF   s      rH   "test_construct_from_dict_ea_seriesz<TestDataFrameConstructors.test_construct_from_dict_ea_seriesC
  sO     Yg.Sz"##CJJ$4$4bgnn6J6JKKKKrJ   c                 |    t        t        dd      dg      }t        dg      }t        j                  ||       y )NrS   r   r{   r  r   r  r  s      rH   'test_from_series_with_name_with_columnszATestDataFrameConstructors.test_from_series_with_name_with_columnsJ
  s3    6!%05'BeW-
fh/rJ   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  rB   rC   r  s      rH   test_nested_list_columnsz2TestDataFrameConstructors.test_nested_list_columnsP
  sP    	"_o,N
 	"**+OP
 	fh/rJ   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:   rc  rS   r7  rS   r:   )r:   r9   r   rM   r0  )r9  rI  rU   rA   r|   r@   r   rg  r'  r<   rl  IntervalIndexfrom_breaksr>   r_r  rB   rC   )
rD   pir   rF   iidata2r  data3r@  rG   s
             rH   1test_from_2d_object_array_of_periods_or_intervalszKTestDataFrameConstructors.test_from_2d_object_array_of_periods_or_intervals[
  sa   __\15xxv&..q"5t_xx6!!!		RXX%**,,,b~~##%%%)),7'//26yyF"""

bhh&++---r	 $$&&& dE4./11rb9:
c8,rJ   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-dimensionalri   r-  r  )rD   col_acol_brr   s       rH   test_error_from_2darrayz1TestDataFrameConstructors.test_error_from_2darrayq
  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)r`   r   r   r   r   r   r   r`   r<   )	r   r>   r	  _valuesr   ro   r|   rB   rC   r  s      rH   &test_from_dict_with_missing_copy_falsez@TestDataFrameConstructors.test_from_dict_with_missing_copy_false~
  s    YeL##BsGOORW__EEE(ffbffbff-ffbffbff-
 
 	b(+rJ   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\)ri   r   r   r  )rp   rq   r   r   r>   rn   r  s     rH   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)rt  r  Nr   r=   rR  r;   r   r  s      rH   $test_construct_with_strings_and_nonez>TestDataFrameConstructors.test_construct_with_strings_and_none
  s5    '#eDc#34EB
b(+rJ   c           	         t        j                  t        j                        }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)NrI  r   r   r;   r<   r   future.infer_stringTr   r   )r<   r   r`   r_   rS   r|   )	r9  rL  r>   ro   r   r   option_contextrB   rC   rD   r<   rG   rF   s       rH   test_frame_string_inferencez5TestDataFrameConstructors.test_frame_string_inference
  s   /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   G	G/GG'GGG$'G0c                 X   t        j                  t        j                        }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)NrI  r   r   r;   rD  rE  Tr   r   rT   r-  r   )
r9  rL  r>   ro   r   r   rF  rn   rB   rC   rG  s       rH   .test_frame_string_inference_array_string_dtypezHTestDataFrameConstructors.test_frame_string_inference_array_string_dtype
  s   /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$   #F%F?)F FF F)c                     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)NrE  ThellogoodbyeHellor   rR   )r9  rF  r   r>   rn   rW   rX   r  rw   s     rH   %test_frame_string_inference_block_dimz?TestDataFrameConstructors.test_frame_string_inference_block_dim
  so    4d; 	Q288gy%9GW;M$NOPB	Qww~~a %%***	Q 	Qs   %A--A6r1  c                     |t        d      gt              }t        |dg      }|j                  j                  d   t
        j                  k(  sJ t        d|i      }|j                  j                  d   t
        j                  k(  sJ y )Nz
2019-12-31r;   r   r   r   )r!   r|   r   r'  r   r>   r   )rD   r1  r   r   s       rH    test_inference_on_pandas_objectsz:TestDataFrameConstructors.test_inference_on_pandas_objects
  sv     Y|,-V<3.}}!!!$

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

222rJ   c                 ~    t        dgdgd      j                  }t        d      }t        j                  ||d       y )NrS   rR   rT   Tr  )r   r   r   rB   r;  r  s      rH   !test_dict_keys_returns_rangeindexz;TestDataFrameConstructors.test_dict_keys_returns_rangeindex
  s6    ss+,44a=
fhd;rJ   consc                     t        ddd      }|j                  d      } ||g      }t        j                  |      }|dk(  sJ |        ||g      }t        j                  |      }|dk(  sJ |       y )Ni  rS   rN   ru   zM8[us, US/Pacific])r!   r}   rB   	get_dtype)rD   rT  rg  ts2r   	res_dtypeobj2
res_dtype2s           rH   /test_construction_datetime_resolution_inferencezITestDataFrameConstructors.test_construction_datetime_resolution_inference
  sy     tQ"nn\*B4jLL%	H$/i/$SE{\\$'
11=:=1rJ   c                 l    t        d dgd      }t        ddgd      }t        j                  ||       y )NrS   ztimedelta64[ns]r;   r   z0 days 00:00:00.000000001r   r  s      rH   -test_construction_nan_value_timedelta64_dtypezGTestDataFrameConstructors.test_construction_nan_value_timedelta64_dtype
  s;    D!9,=>/08I
 	fh/rJ   c                      G d dt         j                        } |t        j                  d            }t        |      }t        t        j                  d            }t	        j
                  ||       y )Nc                       e Zd Zd Zy)`TestDataFrameConstructors.test_dataframe_from_array_like_with_name_attribute.<locals>.DummyArrayc                 \    t        j                  |      j                  |       }d|_        |S )Nr   )r>   rV  r   rm   )clsinput_arrayr   s      rH   __new__zhTestDataFrameConstructors.test_dataframe_from_array_like_with_name_attribute.<locals>.DummyArray.__new__  s'    jj-2237 
rJ   N)r  r  r  rd  r   rJ   rH   
DummyArrayr`    s    rJ   re  r:   )r>   r  eyer   rB   rC   )rD   re  dummyrF   rG   s        rH   2test_dataframe_from_array_like_with_name_attributezLTestDataFrameConstructors.test_dataframe_from_array_like_with_name_attribute  sR    	 	 266!9%uRVVAY'
b(+rJ   )r  r  r  rI   r[   rf   rs   rx   r   r   r   r   rp   markparametrizer   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r+  r1  r5  rA  rF  rR  r>   rn   r|   rV  r.   r/   r0   rY  r_  rq  rv  rz  r}  r  r  r  ro   r  r   r  r  r  r  r9  NAr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r#  r5  r;  r@  r   r   r   r   r!   re   r   rF  rL  rP  rR  rW  filterwarningsrZ  r^  re  rh  r9  r   r   r<   r  rj  BooleanDtypeFloat64Dtype
Int64DtyperL  rs  rv  rx  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r&  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r$  r+  r8  r=  r@  rB  rG  rO  rT  rW  ra  rj  rn  rv  r{  r  r  r
   rv   r   r   r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  rB   ALL_NUMERIC_DTYPESDATETIME64_DTYPESTIMEDELTA64_DTYPESBOOL_DTYPESr  STRING_DTYPESBYTES_DTYPESOBJECT_DTYPESr  r  arm_slowr  r  r   r(   r&   r'   rI  r  r  r  r  r  r  r  r  r  r#   r  r
  r&  r(  r*  r,  r6  r:  r>  r@  rB  rH  rJ  rO  r   r   rQ  rS  r   to_datetimer[  r]  rh  r   rJ   rH   r6   r6   L   s/   ,(,	/11	1 [[Vc3Z0Q 1QB0 [[#!!,'(&&3,	
 0! 0G [[3T:a=*Q-0"Xz!}jm4"o
1z!}=	
00
8.*)$<
0"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 [[_tRVVRUU.CD0 E0  [[_tRVVRUU.CD0 E0-,&:/x)59..5
)C000,6:> [[-w7((3('26A		
00*(, [[IC 011A&gw(GH,<8@@E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U/20%-N,"070DD [[%&'9\*+,9\*+,)L)*		
00C(	C00
	00
0
C0
0 [[[4*=>0 ?0$ [[[4*=>0 ?0*05?0"0 [[HRDMBx Bx "XBx cA3Z1#s$#i%;<	
000
00070($,L0)( [[-	
000
>Q=
(,",6@Q1f,1
"4,, [[BHHdD$lhllndCDBHHdD,(,,.$78bmmE"#dV,bmmE"#bffX.VmbmmE*+,VbffXffXe,-.ffXv		
11 [[W&:;[[3,	 <
,. [[W&:;[[	
, <,8;1z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 [[A004
#7+@5 [[V3Z*Z=>*ZNOAQ'(	
	0	00
 [[VeT]3R% 4R%hL0	0-, [[cA3ZA3*-.RXXsQCj!QC!:.RXXsQCj!8288aS1#J#78	
00
,"=, ,D,0+ [[Wvuo63 73<
 [[y"((BNNS
>
>0,rJ   r6   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   r7  rR   z1/1/1980z	12/1/2001)r  r&  )r9  rI  r   r>   r   r!  r  rV   r   rB   r;  r`   )rD   rng1r  rng2r&  rF   rp  s          rH   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,rJ   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)NrL   r:   rc  r_   ry  z
US/Centralr  r;   )r  r  rz   )rz   r  r  )r  rz   r  z0Cannot join tz-naive with tz-aware DatetimeIndexri   )r  rz   r  r  )r  rz   r  )r  r  rz   )r#   r   r   r}   r   r   r9  r`   r|   rB   r;  rp   rq   r   )rD   rY   r  r  ser3ser4r(  	exp_indexr  
exp_index3r@  df4
exp_index4rr   s                 rH   /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:   r9   r1   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!  rS   rR   r   )rp   importorskipr9  r*  ArrowExtensionArrayrn   
dictionaryr1   getattrr   r>   ro   isetitemr   rA   r|   rB   rC   )rD   key_valcol_valscol_typepar  r   rG   s           rH   %test_dict_data_arrow_column_expansionzLTestDataFrameConstructorIndexInference.test_dict_data_arrow_column_expansionG  s       +yy,,HHXBMM"'')=RWR=R=T$UHV
 GaV,d;q"&&kArvv;7F!X]]1a4077?@
fh/rJ   N)	r  r  r  r  r  rp   ri  rj  r  r   rJ   rH   rz  rz    sT    	-*9X [[%3*f%A	
	0	0rJ   rz  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)
NrR   rH  z)Trying to coerce float values to integersri   rk   r;   r   rh   r   )r>   r   r!  r  rp   rq   r   r   roundr'  rl  ro   r   r   rA   )rD   rE   rr   rF   s       rH   "test_floating_values_integer_dtypezLTestDataFrameConstructorWithDtypeCoercion.test_floating_values_integer_dtype[  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  r  r   rJ   rH   r  r  Z  s    (rJ   r  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d Zej                  j1                  e d      ej                  j                  dg dg dg ddg      d               Zy) &TestDataFrameConstructorWithDatetimeTZrQ   rC  zdateutil/US/Easternc           	      X   t        d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        |d      gg d      }
t        j                  |	|
       y c c}w c c}w )N2011/1/12012/1/1W-FRIr]   )r8  r  r   ri  r_   rz   rz  dr_tzdatetimes_naivedatetimes_with_tzdatetime64[ns]rD  rm  r  )rQ   r  )rz  r  r  r  )r#   r}   r   r   rq  r<   re  r'  r   r>   rB   r   )rD   rQ   rz  r  rF   tz_expectedrg  r  r  r   rG   s              rH   *test_construction_preserves_tzaware_dtypeszQTestDataFrameConstructorWithDatetimeTZ.test_construction_preserves_tzaware_dtypes{  s%    
JW4Hr"U/r:%dELL9#w}}+++ 9;;"2++-;;:?@BR--/@@bz"7 /"3)*2&)*2D1	 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2019rD  sCannot convert timezone-aware data to timezone-naive dtype. Use pd.Series\(values\).dt.tz_localize\(None\) instead.ri   r   r  r;   /Cannot unbox tzaware Timestamp to tznaive dtyper<  r  rR  )r!   re  rp   rq   r   r   r   r>   rn   r|   r   )rD   tz_aware_fixturer  rQ   rg  rr   msg2s          rH   'test_constructor_data_aware_dtype_naivezNTestDataFrameConstructorWithDatetimeTZ.test_constructor_data_aware_dtype_naive  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 )Nrx  r:   rC  rO   r   r{   20130110rc  ri  r  zM8[ns, US/Easternrz   )r   r#   r   r<   rm   rB   r   r   )rD   r   rz  rF   s       rH   test_from_dictz5TestDataFrameConstructorWithDatetimeTZ.test_from_dict  s     Jz1FUS
A. Sr*+#w}}111}#w||s"""
r#ws(=>
r#wr(<=rJ   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 )	Nrx  r:   rC  r   )rP   rQ   rm   r{   rO   r   )r#   r   rB   r   r   )rD   r-  r  s      rH   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';<rJ   c                     t        dd      }t        ||      }t        d|d|       t        d|j                  d|       y )Nr|  r  rc  r_   r   r-  )r#   r   r   r   )rD   rz  r  s      rH   +test_frame_dict_constructor_datetime64_1680zRTestDataFrameConstructorWithDatetimeTZ.test_frame_dict_constructor_datetime64_1680  s>    
B/2R  	A&b1AHH-R8rJ   c                     t        ddd      }t        |      }t        d|d|      }|d   j                         j	                         sJ y )	Nr  r  r  r7  r   ri  r_   rz   )r#   r   r   r$   rl  )rD   rz  rg  r   s       rH   +test_frame_datetime64_mixed_index_ctor_1681zRTestDataFrameConstructorWithDatetimeTZ.test_frame_datetime64_mixed_index_ctor_1681  sH    
JW=BZ E+26v{{}  """rJ   c           	          t        ddddd      }t        |dg      }t        dt        dd	      t        d
d	      t        dd	      gid      }t        j                  ||       y )Nz20130101T10:00:00r:   minrC  r]   )rd  rP   r8  rQ   r  
timestampsr   rD  z20130101T10:01:00z20130101T10:02:00zM8[ns, US/Eastern]r;   )r#   r   r!   rB   rC   )rD   rz  r   rG   s       rH   test_frame_timeseries_columnzCTestDataFrameConstructorWithDatetimeTZ.test_frame_timeseries_column  sw    %quTX
 2~61lC1lC1lC '	
 	fh/rJ   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@)rZ    r  333333?@)r  rZ  r  )r  r  )rZ  r  i  r   )r  r  )r  r  r  )r   r>   ro   r   rB   rC   )rD   r   popr   rG   s        rH   test_nested_dict_constructionzDTestDataFrameConstructorWithDatetimeTZ.test_nested_dict_construction  su    V$ ,c5
 3&8'Jbffbff%56*+

 	fh/rJ   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:   ry  rO   rS   r7  r.  )
r#   rU   rA   r|   r@   r   rg  r'  r<   rl  )rD   rY   r   rF   s       rH   test_from_tzaware_object_arrayzETestDataFrameConstructorWithDatetimeTZ.test_from_tzaware_object_array  s    +Q5Ayy'//26t_xx6!!!		SYY&++---c	 $$&&&rJ   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-0500rC  rD  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   )rm  rr  zdatetime64[us, CET])
r>   rn   r!   r9  r   r|   r  r   r'  rl  )rD   rE   r  expected_dtypess       rH   $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4rJ   c                     t        j                  d      j                  d      }t        |d      }t        |      j	                  d      }t        j                  ||       y )Nr  )r   rR   zdatetime64[ns, UTC]r;   )r>   r?   r@   r   rA   rB   rC   )rD   
array_dim2rF   rG   s       rH   test_from_2d_ndarray_with_dtypezFTestDataFrameConstructorWithDatetimeTZ.test_from_2d_ndarray_with_dtype/  sM    YYr]**62
z)>?Z(//0EF
b(+rJ   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>   rS   rR   r:   'z' type is unorderedri   r   )r  rp   rq   r   r   r   )rD   r(  r   rr   s       rH   !test_construction_from_set_raiseszHTestDataFrameConstructorWithDatetimeTZ.test_construction_from_set_raises7  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   r8   r  r;   r9   r:   c              3   P   K   | ]  }t        |j                  t                 y wr   )r   r   r%   )r   blocks     rH   r   zeTestDataFrameConstructorWithDatetimeTZ.test_construction_from_ndarray_datetimelike.<locals>.<genexpr>G  s     Wu:ellM:Ws   $&)r>   r?   r@   r   rl  rW   rX   rD   rE   rF   s      rH   +test_construction_from_ndarray_datetimelikezRTestDataFrameConstructorWithDatetimeTZ.test_construction_from_ndarray_datetimelikeB  sI     ii2%56>>q!Ds^WWWWWrJ   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)NrR   r  r   z'len\(arrays\) must match len\(columns\)ri   r   rR  )r   r   r  r  r   )r>   r   r!  r  r9  rn   r<   rp   rq   r   r   )rD   rE   r<   rr   arr2s        rH   >test_construction_from_ndarray_with_eadtype_mismatched_columnszeTestDataFrameConstructorWithDatetimeTZ.test_construction_from_ndarray_with_eadtype_mismatched_columnsI  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 setri   r   r   r_   zcolumns cannot be a set>   r   r   r   r   r  rd  s     rH   "test_columns_indexes_raise_on_setszITestDataFrameConstructorWithDatetimeTZ.test_columns_indexes_raise_on_setsT  sq    9%]]:-DE 	.d3*-	.]]:-FG 	5dO4	5 	5	. 	.	5 	5s   A0A<0A9<Bc                     t        dt        j                  idgt        d            }t        dt	        t        j                  t        j                  g      i      }t        j                  ||       y )Nr   rR   r  )r   r9  r   r   r   rB   rC   r  s      rH   %test_from_dict_with_columns_na_scalarzLTestDataFrameConstructorWithDatetimeTZ.test_from_dict_with_columns_na_scalar\  sO    C=3%uQxHc6266266*:#;<=
fh/rJ   z/StringDType only available in numpy 2 and above)reasonr   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>   rn   r   r<   r   rl  )rD   r   r  r  s       rH    test_np_string_array_object_castzGTestDataFrameConstructorWithDatetimeTZ.test_np_string_array_object_castb  sc     	-HHT#Ykm<S	o3x~~+++CDI%**,,,rJ   N)r  r  r  rp   ri  rj  r  r  r  r  r  r  r  r  r  r  r  set	frozensetr  r  r  r  r  skipifr   r  r   rJ   rH   r  r  z  s    [[TL2G#HI1 J18 [[VdE]3C 4CB>=9#0$0'5>, [[US)$45 6X	450 [[#T   [[!oN	
--rJ   r  c                 ^    t        | t              r| j                  d   S | j                  d   S )Nr   r   )r   r   r   r  s    rH   get1r  t  s(    #vxx{xx~rJ   c                   f   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d Zej                  j                  deej"                  g      d        Zej                  j                  dej                   ej"                  g      d        Zd Zy)TestFromScalarNparamsc                     |j                   S r   paramrD   requests     rH   boxzTestFromScalar.box|      }}rJ   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 )	Nr`   rR   r  r   c                       | | dfi |S )NrT   r   r   kwargsextrar   s     rH   r   z,TestFromScalar.constructor.<locals>.<lambda>  s#    ?aL,$),-3, rJ   c                      d| ifi |S Nr  r   r  s     rH   r   z,TestFromScalar.constructor.<locals>.<lambda>  s    ?C8+Wu+WPV+W rJ   c                      | | gfi |S r   r   r  s     rH   r   z,TestFromScalar.constructor.<locals>.<lambda>  s    1v'Q'Q&'Q rJ   c                 "     d| | gifi |S r  r   r  s     rH   r   z,TestFromScalar.constructor.<locals>.<lambda>  s    aV}'X'XQW'X rJ   )r   r   	functoolspartialr&  r   )rD   r   r  r  s    ` @rH   r   zTestFromScalar.constructor  sv    %(#i' #uE);$$_>>>D[&(  XW&QQXXrJ   r<   r   r   c                      |t         j                  |      }t        j                  |j                  |k(        sJ t        j                  |j                               sJ y rz  )r9  r   r>   rl  r'  r$   )rD   r<   r   r   s       rH   test_from_nat_scalarz#TestFromScalar.test_from_nat_scalar  sE    "&&.vvcjjE)***vvchhj!!!rJ   c                 N    t        d      } ||d      }t        |      |k(  sJ y )NrS   r   r;   r    r  )rD   r   r4  r   s       rH   *test_from_timedelta_scalar_preserves_nanosz9TestFromScalar.test_from_timedelta_scalar_preserves_nanos  s'    q\"H-CyBrJ   c                 T    |t        d      z   } ||d      }t        |      |k(  sJ y )NrS   r   r;   r   )rD   r   fixed_now_tsrg  r   s        rH   *test_from_timestamp_scalar_preserves_nanosz9TestFromScalar.test_from_timestamp_scalar_preserves_nanos  s,    IaL("H-CyBrJ   c                     t        d      }|j                         } ||t              }t        t	        |      t
        j                        sJ y )NrS   r;   )r    to_timedelta64r|   r   r  r>   r&  )rD   r   r4  td64r   s        rH   #test_from_timedelta64_scalar_objectz2TestFromScalar.test_from_timedelta64_scalar_object  s=    q\  "$f-$s)R^^444rJ   rb  c                     |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   r   r   z:<class 'numpy.timedelta64'> is not convertible to datetime|r  ri   r;   r9   )r>   r   r&  joinrp   rq   r   )rD   r   rb  r  r<   msg1rr   s          rH   (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                 0   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 )N'  rS   ru   r  r\  )
r
   r>   r   r  rB   rV  r!  r!   asm8r<   )rD   r   rb  r  r  r   r  r2  r   itemr<   s              rH   #test_from_out_of_bounds_ns_datetimez2TestFromScalar.test_from_out_of_bounds_ns_datetime  s    
 $1%	"--]]63/FIV$F|V$DzY&&&yy)+++	!!!rJ   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   iinfor4   maxr  r!  rB   rV  r|   )rD   r   r  r   r  r<   s         rH   test_out_of_s_bounds_datetime64z.TestFromScalar.test_out_of_s_bounds_datetime64  sh    rxx155s;V$F|DzR]]***V$rJ   c                 L   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 )Nr  rS   i  r*  r  r'  )
r
   r>   r&  r  rB   rV  r!  r    r  r<   )
rD   r   rb  r  r   r  r2  r   r  r<   s
             rH   $test_from_out_of_bounds_ns_timedeltaz3TestFromScalar.test_from_out_of_bounds_ns_timedelta  s     $1%q!(<<	".. ^^FC0FIV$F|V$DzY&&&yy)+++	!!!rJ   c                      |t        j                  t         j                        j                  d      } ||      }t	        |      }t        |      |u sJ t        j                  |      }|t        k(  sJ y r%  )	r>   r  r4   r  r  r!  rB   rV  r|   )rD   r   rb  r  r   r  r<   s          rH    test_out_of_s_bounds_timedelta64z/TestFromScalar.test_out_of_s_bounds_timedelta64  s`    RXXbhh'++S1V$F|DzS   V$rJ   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)	NrC  r  rD  r  r  ri   r   r;   )r!   r   r&  r   r   rp   rq   )rD   r   r  r   rQ   rg  rr   errs           rH   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  rp   fixturer9  r&  r  r   ri  rj  r  r  r  r  r>   r   r&  r  r
   r  r  r   r  r  r  r   rJ   rH   r  r  {  sF   V^^D$-. / ^^Y Y( [[Wx&:;" <"
5 [[UR]]BNN$CD- E-" [[UXr}}$=>" ?"& [[UY$?@" A"" [[UR]]BNN$CD E,rJ   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     rH   as_tdzTestAllowNonNano.as_td  r  rJ   c                    t        j                  d      j                  t         j                        j	                  d      }|r)||d   z
  }t        j                  ||j                        S t        j                  ||j                        S )Nr   r\  r   r;   )	r>   r?   rA   r4   r   r)   _simple_newr<   r%   )rD   r"  r   s      rH   rE   zTestAllowNonNano.arr  sh    1$$RXX.33G<fQi'F!--fFLLII ,,V6<<HHrJ   c                 P    t        |      }|j                  |j                  k(  sJ y r   )r   r<   )rD   rE   r   s      rH   test_index_allow_non_nanoz*TestAllowNonNano.test_index_allow_non_nano  s!    CjyyCII%%%rJ   c                     |rt        j                  |      }nt        |      }|j                  |j                  k(  sJ y r   )r9  TimedeltaIndexr   r<   )rD   rE   r"  r   s       rH   test_dti_tdi_allow_non_nanoz,TestAllowNonNano.test_dti_tdi_allow_non_nano  s5    ##C(C$CyyCII%%%rJ   c                 P    t        |      }|j                  |j                  k(  sJ y r   )r   r<   )rD   rE   r  s      rH   test_series_allow_non_nanoz+TestAllowNonNano.test_series_allow_non_nano&  s!    SkyyCII%%%rJ   c                 V    t        |      }|j                  d   |j                  k(  sJ y r   r   r'  r<   r  s      rH   test_frame_allow_non_nanoz*TestAllowNonNano.test_frame_allow_non_nano*  s%    s^yy|syy(((rJ   c                 Z    t        d|i      }|j                  d   |j                  k(  sJ y r   r-  r  s      rH   #test_frame_from_dict_allow_non_nanoz4TestAllowNonNano.test_frame_from_dict_allow_non_nano.  s*    3x yy|syy(((rJ   N)r  r  r  rp   r  r"  rE   r&  r)  r+  r.  r0  r   rJ   rH   r   r   
  sX     V^^D%=) * ^^I I&&&))rJ   r   )Frn   collectionsr   r   r   r   collections.abcr   dataclassesr   r
   r	   r   r  r  rs  numpyr>   r   numpy.mar   rp   pandas._libsr   pandas.compat.numpyr   pandas.errorsr   pandas.core.dtypes.commonr   pandas.core.dtypes.dtypesr   r   r   r   pandasr9  r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   pandas._testing_testingrB   pandas.arraysr%   r&   r'   r(   r)   r"  r  r6   rz  r  r  r  r  r   r   rJ   rH   <module>r?     s      % & 
  	       . , 6      "   7 	 @+, @+,FVH0 H0V( (@w- w-tK, K,^&) &)rJ   