
    Oh;                       d dl Z d dlmZmZmZmZ d dlmZ d dlm	Z	 d dl
mZm
Z
mZ d dlZd dlZd dlZd dlmZ d dlmZ d dlZd dlZd dlmZ d d	lmZ d d
lmZ d dlmZ d dlmc m Z! d dl"m#Z# d dl$m%Z%m&Z&m'Z'm(Z( d dl)Z*d dl)m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9 d dl:m;Z< d dl=m>Z>m?Z?m@Z@mAZAmBZB g dZCg dZD G d d      ZE G d d      ZF G d d      ZG G d d      ZHd ZI G d d      ZJ G d d      ZKy)    N)OrderedDictabcdefaultdict
namedtuple)Iterator)make_dataclass)datedatetime	timedelta)ma)mrecords)using_string_dtype)lib)np_version_gt2)IntCastingNaNError)is_integer_dtype)DatetimeTZDtypeIntervalDtypeNumpyEADtypePeriodDtype)CategoricalCategoricalIndex	DataFrameDatetimeIndexIndexInterval
MultiIndexPeriod
RangeIndexSeries	Timedelta	Timestampcut
date_rangeisna)DatetimeArrayIntervalArrayPeriodArraySparseArrayTimedeltaArray)float16float32float64)uint8uint16uint32uint64int8int16int32int64c                   L   e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zej                  j                  d
ddg      d        Zd Zej                  j                  dd d d d d d d d d d d g      d        Zej                  j                  dd d g      d        Zej                  j                  dg g ed        ed!      fg g g ed"       ed!      fd# d$D        g ed        ed!      fg      d%        Zd& Zd' Zd( Zd) Zd* Zej6                  d+        Zej6                  d,        Zd- Zd. Zej                  j                  d/d0i gd0d d1d2d3gd4i gg      d5        Z d6 Z!d7 Z"d8 Z#d9 Z$d: Z%ej                  j                  d; e&jN                  d<ge(=       e&jN                  d"d>z  g      d?g e&jN                  d@ge(=       e&jN                  dAg      d"d>z   d"z
  gg      dB        Z)ej                  j                  d; e&jN                  d ge&jT                  =       e&jN                  d ge&jV                  =       e&jN                  d ge&jX                  =       e&jT                  d       g e&jV                  d       g e&jX                  d       gg      dC        Z-dD Z.dE Z/dF Z0dG Z1dH Z2dI Z3dJ Z4dK Z5ej                  j                  dLd"e&jl                  dMdNg      dO        Z7ej                  j                  dPd"e&jl                  dM e8dQ      g      dR        Z9ej                  j                  dPe&jl                  dM e8dQ      g      dS        Z:dT Z;dU Z<dV Z=dW Z>dX Z?dY Z@dZ ZAd[ ZBd\ ZCd] ZDd^ ZEd_ ZFd` ZGda ZHdb ZIdc ZJdd ZKde ZLej                  j                  dfdg dhfdi djfdk dlfdm dnfg      do        ZMdp ZNdq ZOej                  j                  dr ePds       eQd      f eRd!dtu       eSdvdw      f eTdxdyz       eUd{dy|      fg      d}        ZVd~ ZWd ZXd ZYd ZZej                  j                  d      d        Z\d Z]d Z^d Z_ej                  j                  ddM e` ead            ddge(e&j                  fdMdMddgdv e&j                  dv      fdM e` ead            ddged e&j                  d      fi dMd1d2gdMe&j                  fdd i e` ead             e`d      ed e&j                  d      fg      d        Zeej                  j                  dg ddefj                  fg ddefj                  fg ddefj                  fg ddefj                  ff      d        Zkd Zld Zmd Znd Zod Zpd Zqd Zrd Zsd Ztd Zud Zvej                  j                  d eTd      ggd eTd      igd eTd      gid eTd      j                  d      ig      d        Zxd Zyd Zzd Z{d Z|d Z}d Z~d Zd Zd Zd Zej                  j                  deeg      d        Zej                  j                  deeg      d        Zd Zd Zd Zd Zd Zd Zd Zej                  j                  dd$g fd$g fdd$d$gfdg g gfg g fg g gfd gd"gfd gd"ggfg dg dfg dg dgfg      d        Zd Zd ZdÄ ZdĄ Zdń ZdƄ ZdǄ ZdȄ ZdɄ Zej                  j                  dg dˢ      d̄        Zd̈́ Zd΄ Zdτ ZdЄ Zdф Zd҄ Zdӄ ZdԄ ZdՄ Zdք Zdׄ Zd؄ Zej                  jK                   e       d٬ګ      dۄ        Zd܄ Zej                  j                  d e&jN                  dMdMdMdM ejT                         dMg       e&jN                  dMdM ejT                         dMg       e&jV                  dޫ      gdMgg e&jV                  dޫ      gefjX                  ggdMg e&jV                  dޫ      ggdMgefjX                  ggefjX                  g e&jV                  dޫ      ggefjX                  gdMg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&jl                  g       eg dg dgdde&jl                  g       eg dg dge&jl                  dde&jl                  g       eg dg dge&jl                  dde&jl                  g       eg dg dge&jl                  d d"d"g      g      d        Zd Zd Zd Zd Zd Zd Zd Zd Zej                  j                  dej                  ej                  z   ej                  z   ej                  z         d        Zej                  j                  dej                  ej                  z   ej                  z         d        ZȐd  Zej                  j                  ej                  j                  dg d      d               Zːd Zej                  j                  d e e`d             ed e&jl                  e&jl                  e&jl                  g       e eRd!d        eRd dt      g       e ef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 e` eېdd"d             e` eېdd"ddy             eRd!dtu      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&jN                  d gd"gg      f e&jN                  d gd"gg      d gd"ggf e&jN                  d gd"gg       e&jN                  d gd"gg      fg      d%        Zd& Zd' Zd( Zd) Zd* Zd+ Zd, ZyM(-  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       l/var/www/html/diagnosisapp-backend/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_dtypeP   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
                  ||       |s%t        |j                  j                        dk(  sJ y y )
N
2016-01-01   
US/Pacificperiodstzr;      r      r   rT   )	r$   _datarA   r   rC   rD   len_mgrblocks)rE   using_array_managerdtidtarG   rH   s         rI   &test_constructor_from_2d_datetimearrayz@TestDataFrameConstructors.test_constructor_from_2d_datetimearrayX   s    q\Bii1%s^QTs1a4y9:
b(+"rww~~&!+++ #rK   c                 ,   t        d      j                  d      }|j                  d      }t        d|idg      }t        d|gi      }t	        j
                  ||       t        |dgd      }t        |gdgd      }t	        j
                  ||       y )	Nz2019-11-03 01:00:00-0700zAmerica/Los_Angelesnsdtr   indexrT   )r`   value)r"   
tz_convertas_unitr   rC   rD   )rE   r`   rG   rH   s       rI   )test_constructor_dict_with_tzaware_scalarzCTestDataFrameConstructors.test_constructor_dict_with_tzaware_scalarc   s    12==>STZZbz!-dRD\*
b(+ bA3/0RDA378
b(+rK   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)
NrT   rS   r;   9Cannot convert non-finite values \(NA or inf\) to integermatchi8r<   r   r=   name)r?   arraynanpytestraisesr   r   r    )rE   rF   msgs      rI   -test_construct_ndarray_with_nas_and_int_dtypezGTestDataFrameConstructors.test_construct_ndarray_with_nas_and_int_dtypeq   s    hhBFFaV,-J]]-S9 	'c&	' ]]-S9 	/3q6A.	/ 	/		' 	'	/ 	/s   B8BBB(c                     t        t        j                         t        j                         g      }|d   j                  t	        j                  d      k(  sJ y )Nr   M8[ns])r   r
   nowr=   r?   rE   rG   s     rI   %test_construct_from_list_of_datetimesz?TestDataFrameConstructors.test_construct_from_list_of_datetimes|   s<    78!u{{bhhx0000rK   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   rO   objectr<   )	r   tz_localizer    r?   rn   tolistr=   rC   assert_series_equal)rE   naiveidxrH   results        rI   +test_constructor_from_tzaware_datetimeindexzETestDataFrameConstructors.test_constructor_from_tzaware_datetimeindex   su     /1ABM-"((3::<x@sK~~*** 
vx0rK   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arT   rS   r;   r:   recordsorientr   to_dict)rE   col_underscorerG   dref_ds        rI   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zrK   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   rT   rS   r;   r:   r   r   r   )rE   col_with_numrG   r   r   s        rI   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zrK   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<   rT   =Invalid type for timedelta scalar: <class 'numpy.datetime64'>ri   m8[ns])	r?   
datetime64rn   r|   r   rA   rp   rq   	TypeError)rE   frame_or_seriesnatrF   rr   s        rI   ,test_array_of_dt64_nat_with_td64dtype_raiseszFTestDataFrameConstructors.test_array_of_dt64_nat_with_td64dtype_raises   sn    mmE4(hhuF+i'++a#CM]]9C0 	1Cx0	1 	1 	1s   *A>>BkindmMc                    |dk(  r	d}t         }nd}t        }t        j                  dd      j	                  |      j                  dd      }|t        u r	|d d d	f   } ||t              }|j                  j                  d	   j                  t        k(  sJ t        |j                  j                  d	   j                         d	   |      sJ  | ||      t              }|j                  j                  d	   j                  t        k(  sJ t        |j                  j                  d	   j                         d	   |      sJ  | ||      t        t                    }|j                  j                  d	   j                  t        k(  sJ t        |j                  j                  d	   j                         d	   |      sJ |t        u r|D cg c]  }t        |       }} ||t              }|j                  j                  d	   j                  t        k(  sJ t        |j                  j                  d	   j                         d	   |      sJ y y c c}w )
Nr   ru   r   rN   rk   r<   r;   rS   r   )r"   r!   r?   r@   viewrA   r    r|   rX   arraysr=   
isinstanceravelr   r   )	rE   r   r   r=   scalar_typerF   objxserss	            rI   *test_datetimelike_values_with_object_dtypezDTestDataFrameConstructors.test_datetimelike_values_with_object_dtype   s    3;E#KE#Kii&++E2::1a@f$ad)Cc0xxq!''6111#((//!,224Q7EEE oc2&Axxq!''6111#((//!,224Q7EEEoc2,v:NOxxq!''6111#((//!,224Q7EEEi''*+!F1I+D+!$f5C88??1%++v555chhooa0668;[III (+s   Ic                 $   t        t        d      d      }t        t        d      d      }t        |dg      }t        g dg      }t        j                  ||       t        |dg      }t        g dg      }t        j                  ||       y )N   rT   r{   r   columns)r    ranger   rC   rD   )rE   r   yr   rH   s        rI   )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/rK   constructorc                      t               S Nr    rK   rI   <lambda>z"TestDataFrameConstructors.<lambda>   s    IK rK   c                      t        d       S r   r   r   rK   rI   r   z"TestDataFrameConstructors.<lambda>   s
    IdO rK   c                      t        d      S Nr   r   r   rK   rI   r   z"TestDataFrameConstructors.<lambda>   
    IbM rK   c                      t        g       S r   r   r   rK   rI   r   z"TestDataFrameConstructors.<lambda>   r   rK   c                  &    t        d dD              S )Nc              3       K   | ]  }|  y wr   r   .0_s     rI   	<genexpr>z5TestDataFrameConstructors.<lambda>.<locals>.<genexpr>   s     _Aa_   r   r   r   rK   rI   r   z"TestDataFrameConstructors.<lambda>   s    I__, rK   c                  *    t        t        d            S Nr   r   r   r   rK   rI   r   z"TestDataFrameConstructors.<lambda>   s    IeAh' rK   c                      t        d       S Ndatar   r   rK   rI   r   z"TestDataFrameConstructors.<lambda>   s    I4( rK   c                      t        d      S )Nr   r   r   r   rK   rI   r   z"TestDataFrameConstructors.<lambda>       I2& rK   c                      t        g       S r   r   r   rK   rI   r   z"TestDataFrameConstructors.<lambda>   r   rK   c                  (    t        d dD              S )Nc              3       K   | ]  }|  y wr   r   r   s     rI   r   z5TestDataFrameConstructors.<lambda>.<locals>.<genexpr>   s     ?!A?r   r   r   r   r   rK   rI   r   z"TestDataFrameConstructors.<lambda>   s    I?r?3 rK   c                  ,    t        t        d            S )Nr   r   r   r   rK   rI   r   z"TestDataFrameConstructors.<lambda>   s    I58, rK   c                     t               } |       }t        |j                        dk(  sJ t        |j                        dk(  sJ t	        j
                  ||       y r   )r   rW   rb   r   rC   rD   rE   r   rH   r   s       rI   test_empty_constructorz0TestDataFrameConstructors.test_empty_constructor   sP    " ;6<< A%%%6>>"a'''
fh/rK   c                      t        i       S r   r   r   rK   rI   r   z"TestDataFrameConstructors.<lambda>   r   rK   c                      t        i       S r   r   r   rK   rI   r   z"TestDataFrameConstructors.<lambda>   r   rK   c                     t        t        d      t        d            } |       }t        |j                        dk(  sJ t        |j                        dk(  sJ t        j                  ||d       y )Nr   rb   r   T)check_index_type)r   r   rW   rb   r   rC   rD   r   s       rI   #test_empty_constructor_object_indexz=TestDataFrameConstructors.test_empty_constructor_object_index   s_     :a=*Q-H6<< A%%%6>>"a'''
fhFrK   z)emptylike,expected_index,expected_columnsrT   r   rS   c              #       K   | ]  }|  y wr   r   r   s     rI   r   z#TestDataFrameConstructors.<genexpr>  s     oQqor   r   c                 `    t        ||      }t        |      }t        j                  ||       y )Nr   r   rC   rD   )rE   	emptylikeexpected_indexexpected_columnsrH   r   s         rI   test_emptylike_constructorz4TestDataFrameConstructors.test_emptylike_constructor   s+     >;KL9%
fh/rK   c                 T    |rdnt         j                  }|d   j                  |k(  sJ y )Nr>   foo)r?   object_r=   )rE   float_string_frameusing_infer_stringr=   s       rI   test_constructor_mixedz0TestDataFrameConstructors.test_constructor_mixed  s(    +!%(..%777rK   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<   )r:   rS   r   z5Expected a 1D array, got an array with shape \(4, 2\)testfoo2)rp   rq   
ValueErrorr   r?   r-   onesr~   )rE   rr   rG   s      rI   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)rE   orig_dfnew_dfs      rI   test_constructor_dtype_copyz5TestDataFrameConstructors.test_constructor_dtype_copy$  sG    cUSEC5IJ7%d;vvq!S(((rK   c                 :   t        ddgg      }t        ||d   j                        }|r$d|j                  d<   |j                  d   dk(  sJ y t	        j
                  |      5  d|j                  d<   d d d        |j                  d   dk(  sJ y # 1 sw Y   xY w)NrT   rS   r   r<   c   r   r   )r   r=   ilocvaluesrC   assert_cow_warning)rE   using_copy_on_writewarn_copy_on_writerG   should_be_views        rI   ,test_constructor_dtype_nocast_view_dataframezFTestDataFrameConstructors.test_constructor_dtype_nocast_view_dataframe,  s     Ax "2RU[[9(*N%99T?a'''&&'9: /,.##D)/99T?b(((/ /s   $BBc                 h   t        ddgddggd      }|sJ|sHt        |j                  |d   j                        }d|j                  d	<   |j                  d	   dk(  sJ y t        |j                  |d   j                        }|j                  j
                  d   j                  j                  sJ y )
NrT   rS   r;   r:   r5   r<   r   a   r   )r   r   r=   r   rX   r   flagsc_contiguous)rE   rZ   r  r  rG   r  df2s          rI   +test_constructor_dtype_nocast_view_2d_arrayzETestDataFrameConstructors.test_constructor_dtype_nocast_view_2d_array9  s     AA'w7"+>&ryy1DN )+N%99T?b((( BIIRU[[9C88??1%++8888rK   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|   rE   r   rF   rG   s       rI   "test_1d_object_array_does_not_copyz<TestDataFrameConstructors.test_1d_object_array_does_not_copyI  s     hhSz2s'!u{{""i/ ''1(8#>>>##BIIs333s&u5		3///rK   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       rI   "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///rK   c                 |    t        ddgd dggt              }|j                  d   J |j                  d   dk(  sJ y )NrT   2r   r<   rT   r   rU   )r   r|   locrw   s     rI    test_constructor_dtype_list_dataz:TestDataFrameConstructors.test_constructor_dtype_list_datam  sE    C4+.f=vvd|###vvd|s"""rK   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   ArT   rS   zshape=\(2, 2, 1\))r   r?   emptyrp   rq   r   )rE   r   r   s      rI   "test_constructor_list_of_2d_raisesz<TestDataFrameConstructors.test_constructor_list_of_2d_raisesr  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#  rS   
   r<   r   )size)MIXED_INT_DTYPESr?   rn   randomdefault_rngMIXED_FLOAT_DTYPESintegerszipr=   updatedictr   dtypes)rE   typadr/  r   r   r   rG   s           rI   test_constructor_mixed_dtypesz7TestDataFrameConstructors.test_constructor_mixed_dtypes  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 )NrS   r%  r   r   )
r?   r(  r)  rB   	complex64
complex128r   r=   r   r   rE   r   r   rG   s       rI   test_constructor_complex_dtypesz9TestDataFrameConstructors.test_constructor_complex_dtypes  s    II!!!$++B/66r||DII!!!$++B/66r}}EQQ'(ww"$$**$$$ww"$$**$$$rK   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%   rC   rD   r   r?   ro   isnan)rE   string_dtyperG   r   rH   s        rI   $test_constructor_dtype_str_na_valuesz>TestDataFrameConstructors.test_constructor_dtype_str_na_values  s    c4[)>cE4=12
fh/wwt}$$$c266]+<@xx&&&rK   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 )NFra   r"  rz   r   r   )
to_recordslistr=   namesrb   r   rC   assert_index_equalr   r   r?   r@   rW   reindexrD   )	rE   float_framerecrb   rG   r
  rngdf3rH   s	            rI   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,rK   c                     t        t        j                  dt              t        j                  dt              d      }|j
                  j                  t        j                  k(  sJ y )Nr%  r<   rU   )r   r?   r   boolzerosr   r=   bool_rw   s     rI   test_constructor_boolz/TestDataFrameConstructors.test_constructor_bool  sA    2772T2rxx$7OPQyy"((***rK   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 )
NrT   r%              r<   r   ))l   Y2<   )l   FJLW]L*    )l   M:M^ -   )l   8Ma i  )l   r*R3_PvN rP  )uidu8)scorerT  rS  )r?   rn   r   r1   r   r=   rK  rW   )rE   ir   r   data_scoresr=   r   	df_crawlss           rI   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   rO  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|   rE   r   rc   r   s       rI   test_constructor_int_overflowz7TestDataFrameConstructors.test_constructor_int_overflow  sC     q	6"ay&(((ay|u$$$rK   c                 z    |d   }t        |      }|d   j                  |j                  k(  sJ |d   d   |k(  sJ y r   r   r=   r\  s       rI   test_constructor_numpy_uintsz6TestDataFrameConstructors.test_constructor_numpy_uints  sG     q	6"ay%++---ay|u$$$rK   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   rS   r  r   r   )
r@  r   r?   r(  r)  shuffler   r   r,  r   )rE   nitemsnumsrV  rH   rG   s         rI   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rQ   ra   r   r   r      r   r   rb   rm   )r   r   col4r   r   r   <Mixing dicts with non-Series may lead to ambiguous ordering.ri   r   r   r4  r   r  rz   )r    r?   r@   r-   r$   r   rW   rC   r   renameconcatenatero   r   rb   r%   allrp   rq   r   )rE   datetime_seriesdatetime_series_shortframeexprr   s         rI   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  rT   rS   1r  r{  r  )r   rC   rB  rb   r   rE   rv  s     rI   test_constructor_dict_length1z7TestDataFrameConstructors.test_constructor_dict_length18  s3    3aa 012
ekk5#s+<=rK   c                 X    t        g d      }t        i |      }|j                  |u sJ y )Nr   rT   rS   ra   )r   r   rb   rE   r   rv  s      rI    test_constructor_dict_with_indexz:TestDataFrameConstructors.test_constructor_dict_with_index=  s*    I"C({{c!!!rK   c                     t        g d      }t        i ||      }|j                  |u sJ |j                  |u sJ t	        |j
                        dk(  sJ y )Nr  r   r;   )r   r   rb   r   rW   _seriesr  s      rI   ,test_constructor_dict_with_index_and_columnszFTestDataFrameConstructors.test_constructor_dict_with_index_and_columnsC  sU    I"C5{{c!!!}}###5==!Q&&&rK   c                 ~    t        g g dddg      }t        j                  |j                  t	        d      d       y )Nrp  r  rz   r   r   Texact)r   rC   rB  rb   r   r|  s     rI   $test_constructor_dict_of_empty_listsz>TestDataFrameConstructors.test_constructor_dict_of_empty_listsK  s1    ,sCjA
ekk:a=ErK   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   ra   )r   
_get_valuerC   rD   )rE   
frame_noneframe_none_lists      rI   test_constructor_dict_with_nonez9TestDataFrameConstructors.test_constructor_dict_with_noneP  sl     T{1#6
#S4&M!=$$Q,444))!S1999
j/:rK   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   rE   rr   s     rI   test_constructor_dict_errorsz6TestDataFrameConstructors.test_constructor_dict_errorsY  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   )rE   r  r   rH   s       rI   %test_constructor_invalid_items_unusedz?TestDataFrameConstructors.test_constructor_invalid_items_unusedc  s2     C=3%8cU+
fh/rK   rc   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 )NrT   r;   r   r   r:   rS   r   ra   axisrN   r5   r<   r   )	r   r    r   sort_valuesr?   r@   rA   rC   rD   	rE   rc   colsr   r   r   r   r   rH   s	            rI   test_constructor_dict_nan_keyz7TestDataFrameConstructors.test_constructor_dict_nan_keyj  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   rS   r   r;   rT   r:   r   ra   r  rN   r5   r<   r   )
r   r   r    r   r  r?   r@   rA   rC   rD   r  s	            rI   #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<   ri  rj  ra   r   r   r   r   bar   r   )	r    r?   r@   r-   r$   r   r@  rC   rD   )rE   rt  ru  r   rv  rH   s         rI   %test_constructor_dict_order_insertionz?TestDataFrameConstructors.test_constructor_dict_order_insertion  sm     IIb

+:lTV3W
 !0 3 (o>q!!T$Z8
eX.rK   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 )NrT   rS   r;   r   )r   r?   ro   rC   rD   rE   r   rH   s      rI   )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/rK   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)rS   r;   r;   r;   r  r   )r  r  r  )r   from_tuplesr   r%   r   r   rs  )rE   tuplesmirG   s       rI   test_constructor_multi_indexz6TestDataFrameConstructors.test_constructor_multi_index  s     *##F+R,Bx$$&**,,,)##F+R,Bx$$&**,,,rK   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 )	NrT   rS   r   rb   r5   r<   r   )levelscodesr   )r   r   r   rC   rD   rE   rG   rH   s      rI   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(+rK   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   rT   ra   ro  r   r   r4  r   rp  z:Shape of passed values is \(4, 3\), indices imply \(3, 3\)r9   )r:   r;   r   r   baz
2000-01-01r;   rj  r  r:   r   rN   z:Shape of passed values is \(1, 3\), indices imply \(1, 4\)r:   rb   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\)rS   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@   rA   r$   rn   r   rK  r(  r)  )rE   rr   rF   s      rI   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     rI   r   zKTestDataFrameConstructors.test_constructor_subclass_dict.<locals>.<genexpr>       !CA1dQh-!C   r%  c              3   *   K   | ]  }|d |z  f  yw)g      4@Nr   r  s     rI   r   zKTestDataFrameConstructors.test_constructor_subclass_dict.<locals>.<genexpr>  r  r  rk  )r   r   itemsr.  rC   rD   )rE   dict_subclassr   rG   colvalrefdfs          rI   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   ra   )r?   ro   r  rb   r  r   r.  r-  r   r   rC  rC   rD   )rE   rD  r   kvdctrv  rH   s           rI   test_constructor_defaultdictz6TestDataFrameConstructors.test_constructor_defaultdict  s    8:/+++B//45%%' 	DAqd#CJJqyy{#DG	 $=={'8'8=9
k84rK   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   rC   assert_numpy_array_equalr   )rE   rH   rG   s      rI   test_constructor_dict_blockz5TestDataFrameConstructors.test_constructor_dict_block  sK    88123%se3%se<(
 	##BIIx8rK   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 )NrT   rS   rz  r{  r  3)r{  r  r  rp  r<   r;   rz   r  )r   r   rW   r=   r?   r-   r   )rE   r   	test_datarv  s       rI   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::---rK   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_   rS   rp  zcould not convert stringri   r<   )r.  r,  r   r?   r(  r)  standard_normalrp   rq   r   r   r   )rE   rV  r  s      rI   test_constructor_dict_cast2z5TestDataFrameConstructors.test_constructor_dict_cast2/  s     c%)59%EaaSk%EFGc%)RYY%:%:1%=%M%Mb%QRS
	 ]]:-GH 	.iu-	. 	. &F	. 	.s   B:B??Cc                 t    ddt         j                  di}t        |      }t        |d   d   t              sJ y )NCol1zA String)Row1Row2r  )r?   ro   r   r   r   )rE   r   rG   s      rI   !test_constructor_dict_dont_upcastz;TestDataFrameConstructors.test_constructor_dict_dont_upcast8  s7    j"&&9:q\"V*V,e444rK   c                 d    t        ddgddggddgddg      }t        |d   d   t              sJ y )NrT   rS   r   r   r   )r   r   r#  )rE   dms     rI   "test_constructor_dict_dont_upcast2z<TestDataFrameConstructors.test_constructor_dict_dont_upcast2=  s=    Ac
+Aq6Aq6J"Q%(C(((rK   c           
          ddd}t        |      }t        |j                         D ci c]  \  }}|t        |       c}}      }t        j                  ||d       y c c}}w )NrT   rS   r;   r  r4  Fcheck_dtype)r   r  r@  rC   rD   )rE   r   r   r  r  rH   s         rI   test_constructor_dict_of_tuplesz9TestDataFrameConstructors.test_constructor_dict_of_tuplesA  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;   rN   r4  r  )r;   r:   r   )r   r   rC   rD   rE   r   r   rH   s       rI   test_constructor_dict_of_rangesz9TestDataFrameConstructors.test_constructor_dict_of_rangesI  s>    1XE!QK0499=>
fh/rK   c                     t        t        d            t        t        d            d}t        |      }t        g dg dd      }t	        j
                  ||       y )Nr;   r4  r  rS   rT   r   )iterr   reversedr   rC   rD   r  s       rI   "test_constructor_dict_of_iteratorsz<TestDataFrameConstructors.test_constructor_dict_of_iteratorsQ  sE    %(^(58*<=499=>
fh/rK   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   rV  s     rI   r   zPTestDataFrameConstructors.test_constructor_dict_of_generators.<locals>.<genexpr>[  s     ,Aa,r   r;   c              3       K   | ]  }|  y wr   r   r  s     rI   r   zPTestDataFrameConstructors.test_constructor_dict_of_generators.<locals>.<genexpr>[  s     3R!A3Rr   r4  r  r  )r   r  r   rC   rD   r  s       rI   #test_constructor_dict_of_generatorsz=TestDataFrameConstructors.test_constructor_dict_of_generatorsY  sL    ,%(,3Rxa?Q3RS499=>
fh/rK   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   rT   rS   )rV  rV  rV  jr  rV  rN   r   r:         	   ))r   r   r  )r   r   ra   g     ^@o   )r   r  r   r  zF)tupleize_colsr  )sortedr  r   r   r  Trb   rC   rD   insertr   rC  r   )rE   r   _drG   r   rH   s         rI    test_constructor_dict_multiindexz:TestDataFrameConstructors.test_constructor_dict_multiindex`  sm   %&A1E%&A1E%&A1E

 AGGIq\aQqTj&<&<B=Oqad=O&P

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

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

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

fd} |t         j                        } |d       } |t              }t        dd d d dd dd d dd d dd dd d d ddg
D cg c]  }t        |       c}	      }t        |      }t        |      }t        |      }	t	        j
                  ||       t	        j
                  ||       t	        j
                  |	|       y c c}w )
N)z
1984-02-19z
1988-11-06z
1989-12-03z
1990-03-15c                 d    t              D ci c]  \  }}| | |      d|z  i c}}S c c}}w )NrS   )	enumerate)r   rV  sdates_as_strs      rI   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    rI   r   zRTestDataFrameConstructors.test_constructor_dict_datetime64_index.<locals>.<lambda>  s    h.?.?:.N rK   r   r   rT   rS   r;   rS   r:   rN   ra   )r?   r   r"   r   rC   rD   )rE   r  data_datetime64data_datetimedata_Timestampr`   rH   result_datetime64result_datetimeresult_Timestampr  s             @rI   &test_constructor_dict_datetime64_indexz@TestDataFrameConstructors.test_constructor_dict_datetime64_index{  s    O	T &bmm4#$NO$Y/$4D1Q4D1TaD1Tdq1	 ,88R9R=8
 &o6#M2$^4
/:
ox8
.9 9s   C
z
klass,namec                 .    t        j                  | d      S Nr  )r?   timedelta64r  s    rI   r   z"TestDataFrameConstructors.<lambda>  s    r~~a- rK   r!  c                     t        |       S )N)days)r   r  s    rI   r   z"TestDataFrameConstructors.<lambda>  s    ya( rK   pytimedeltac                     t        | d      S r   )r!   r  s    rI   r   z"TestDataFrameConstructors.<lambda>  s    yC( rK   zTimedelta[ns]c                 8    t        | d      j                  d      S )Nr  r  )r!   re   r  s    rI   r   z"TestDataFrameConstructors.<lambda>  s    yC(005 rK   zTimedelta[s]c           
      0   g d}t        |      D ci c]  \  }}| ||      d|z  i }}}t        dd d d dd dd d dd d dd dd d d ddg|D cg c]  }t        |d       c}      }t        |      }	t        j                  |	|       y c c}}w c c}w )	NrT   rS   r;   r:   rS   r   r  r:   rN   r  ra   )r  r   r!   rC   rD   )
rE   klassrm   	td_as_intrV  r  r   tdrH   r   s
             rI   'test_constructor_dict_timedelta64_indexzATestDataFrameConstructors.test_constructor_dict_timedelta64_index  s     !	1:91EFAE!Ha!e$$FF$4D1Q4D1TaD1Tdq1	 1::"9R%:
 4
fh/ G ;s   BB
c                    t        j                  g dd      }t        j                  g dd      }t        ||d      }|d   j                  |j                  k(  sJ |d   j                  |j                  k(  sJ t        |j	                  t
              j                         |j	                  t
              j                         d      }|d   j                  |j                  k(  sJ |d   j                  |j                  k(  sJ y )	N)z2012-01r   z2012-04r   freq)z
2012-02-01z
2012-03-01r   r  r4  r   r   )pdPeriodIndexr   r=   rB   r|   r~   r7  s       rI   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}}'''rK   c                     |\  }}t        d|idg      }|d   j                  |k(  sJ t        dgdg|      }t        j                  ||       y )Nr   r   ra   r  )r   r=   rC   rD   )rE   ea_scalar_and_dtype	ea_scalarea_dtyperG   rH   s         rI   &test_constructor_dict_extension_scalarz@TestDataFrameConstructors.test_constructor_dict_extension_scalar  sW    1	8Y's3#w}}(((A3IF
b(+rK   z
data,dtypez2020-01r   )leftrightr5   r9  z
2011-01-01
US/EasternrR   r  )unitrR   c                     t        ddgddg|      }|d   j                  |k(  sJ |d   j                  |k(  sJ t        j                  |gdz  |      }t        ||d      }t	        j
                  ||       y )	Nr   rT   r   r   r  rS   r<   r4  )r   r=   r0  rn   rC   rD   )rE   r   r=   rG   rF   rH   s         rI   &test_constructor_extension_scalar_dataz@TestDataFrameConstructors.test_constructor_extension_scalar_data  s{     aVc3ZdC#w}}%%%#w}}%%%hhvz/3S12
b(+rK   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   rj  rS   r%  r   r   ra   )r0  period_ranger   r?   r(  r)  r  r   rb   r  
setdefaultrC   rD   r
  )rE   rF  rG   r   r  rowr   s          rI   "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)rK   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!  rT   rS   r  r;   )r;   r  r  rh   ri   r   rb   r=   r  r  rz   r  r  Tr  ra   r   )r   r;   r   )r;   r   )r   r   rW   rb   r   r?   r   rp   rq   r   r5   r   r=   r   rC   rB  r   r   )rE   r  matrv  rr   s        rI   _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   rT   r  r   rS   )rH  r?   r   r   rW   r|  s     rI   test_constructor_ndarrayz2TestDataFrameConstructors.test_constructor_ndarray-  s<    %%bgg.5%.AF5zQrK   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   rT   rS   r!  rT   rS   r  r  r"  )rH  r   
masked_allr   r   r?   rs  asarray)rE   rG  rv  s      rI   test_constructor_maskedarrayz6TestDataFrameConstructors.test_constructor_maskedarray3  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2rK   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!  rT   rS   r  r;   rF  r   rL  r  r"  ru   z8datetime64\[ns\] values and dtype=int64 is not supportedri   rk   TF)r   rM  r#  r   rW   rb   r   r?   rs  rN  r-   r   r=   r   r%   rp   rq   r   r5   rB   rJ  r|   )rE   rG  rv  mat2rr   s        rI   %test_constructor_maskedarray_nonfloatz?TestDataFrameConstructors.test_constructor_maskedarray_nonfloatC  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)rS   rS   r<   r  rz   rT   rS   r  rp  rF  r   )
r   rM  r   harden_maskr   r?   ro   rC   rD   r   )rE   mat_hardr   rH   s       rI   %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/rK   c                 P   t         j                  j                  t         j                  j                  dddg      dgdz        }|j	                  t
        j                        }t        j                  t        d      5  t        |t               d d d        y # 1 sw Y   y xY w)	Nr   )r	   <f8)pricerX  r<   F)maskzPass \{name: data\[name\]ri   )r?   r   rn   rK  r   r   	mrecarrayrp   rq   r   r   r#  rE   r   s     rI   %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 )Nra   r   )r   r   shaperw   s     rI   test_constructor_corner_shapez7TestDataFrameConstructors.test_constructor_corner_shape  s"    R yy&(((rK   z%data, index, columns, dtype, expectedr%  r   r   r-   r   c                 V    t        ||||      }|j                  j                  |k(  sJ y r   )r   r   r=   )rE   r   rb   r   r=   rH   rG   s          rI   test_constructor_dtypez0TestDataFrameConstructors.test_constructor_dtype  s*     tUGU3yy(***rK   zdata,input_dtype,expected_dtype)TFNbooleanr   r   NFloat64)rT   rS   NInt64r   stringc                 T    t        d|i|      }|d   j                   |       k(  sJ y )Nr   r<   r_  )rE   r   input_dtypeexpected_dtyperG   s        rI   0test_constructor_dtype_nullable_extension_arrayszJTestDataFrameConstructors.test_constructor_dtype_nullable_extension_arrays  s-     T{+6#w}} 0000rK   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 )NrT   Tr   y              @r   )r#  rJ  r   complexr|   r%  ra   r#  rJ  r   rm  r|   )	r   r?   r@   r=   r5   rL  r-   r6  r   )rE   r   r   rG   s       rI   !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/rK   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)	NrS   r%  Tr4  r   zmust pass an indexri   F)r   r?   r(  r)  r  r   rC   rD   rp   rq   r   )rE   rG   rw  s      rI   #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   rC   rD   r?   r5   r   r=   )rE   rD  rG   	df_casteds       rI   test_constructor_DataFramez4TestDataFrameConstructors.test_constructor_DataFrame  sJ    {#
b+.k:	%%111rK   c                 t    t        t               d      }t        g d      }t        j                  ||       y )Nr|   r<   r   )rE   actualrH   s      rI    test_constructor_empty_dataframez:TestDataFrameConstructors.test_constructor_empty_dataframe  s,    9;h7Rx0
fh/rK   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)NrS   r%  r  r  r   rz   r%  rS   r   )r   rS   ra   )r%  r   r   r   r<   rT   z(could not convert string to float: 'foo'ri   rb   r   r=   rp  )r?   r(  r)  r  r   r@   r   ndimr_  rn   r|   rA   rp   rq   r   r   r  rC   rD   r   r#  r-   rW   r   r=   )rE   rD  rF   r  rG  rr   s         rI   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 )Nra   r  rz   r   c               3   $   K   dE d {    y 7 wr   r   r   rK   rI   	empty_genzHTestDataFrameConstructors.test_constructor_empty_list.<locals>.empty_gen  s     MMs   r   )rE   rG   rH   r  s       rI   test_constructor_empty_listz5TestDataFrameConstructors.test_constructor_empty_list  s    r$2&
b(+ rC:.R#s4
b(+	 y{S#J7
b(+rK   c                 z   t        ddgddggddg      }t        |d         sJ |s"|d   j                  t        j                  k(  sJ 	 t        dt        j
                  d	      i      }t        d	      D cg c]  }t        j                  |       }}t        |      }t        j                  ||       y c c}w )
NrT   r   rS   r   numr>   r  r   r%  )
r   r   r=   r?   r   r@   r   rn   rC   rD   )rE   r   rG   rH   r   r   r   s          rI   test_constructor_list_of_listsz8TestDataFrameConstructors.test_constructor_list_of_lists  s    aX3x05%.I5	***4Fr%y"**,QQE a2/0%*2Y///4
fh/ 0s   8B8c                 X   t        ddg      }t        j                  d d gt              }||d<   |dz  |d<   t	        |      }t	        t        j                  |            }t        j                  ||       |j                  dk(  sJ t        j                  |d   j                  |       y )NrT   rS   r<   r   )rS   rT   )r    r?   rn   r|   r   r0  rC   rD   r_  r  r   )rE   serrF   rG   rH   s        rI   .test_nested_pandasarray_matches_nested_ndarrayzHTestDataFrameConstructors.test_nested_pandasarray_matches_nested_ndarray,  s    aVnhhd|62AqAs^RXXc]+
b(+xx6!!!
##BqELL#6rK   c                     t        d      t        d      g}t        g dg dg|      }t        j                  |      }t        g dg dg|      }t	        j
                  ||       y )Nabcdcdefr(  r:   r   rN   r  r   )r@  r   r   from_arraysrC   rD   )rE   r   r   r  rH   s        rI   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/rK   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   r@  rp   rq   r   r   rE   r   rr   s      rI   0test_constructor_wrong_length_nested_list_columnzJTestDataFrameConstructors.test_constructor_wrong_length_nested_list_columnD  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      rI   2test_constructor_unequal_length_nested_list_columnzLTestDataFrameConstructors.test_constructor_unequal_length_nested_list_columnL  sQ    v,U, /]]:S1 	D|\2FC	D 	D 	Dr  r   
2021-01-01r   r_   c                     t        |g ddg      }t        dt        d      gdz  i      }t        j                  ||       y )Nr  r   r   r  r;   )r   r"   rC   rD   r  s       rI   &test_constructor_one_element_data_listz@TestDataFrameConstructors.test_constructor_one_element_data_listU  s@     4y3%@cIl$;#<q#@AB
fh/rK   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)rE   lsts     rI   __init__zYTestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainer.__init__i  s	    	rK   c                 8    | j                   j                  |      S r   )r  __getitem__)rE   ns     rI   r  z\TestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainer.__getitem__l  s    yy,,Q//rK   c                 6    | j                   j                         S r   )r  __len__)rE   s    rI   r  zXTestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainer.__len__o  s    yy((**rK   )r  N)__name__
__module____qualname__r  r  r#  r  r   rK   rI   DummyContainerr  h  s     0+ +rK   r  rT   r   rS   r   r  r>   r   Fr  )r   Sequencer   rC   rD   )rE   r  lst_containersr   r   rH   s         rI   test_constructor_sequence_likez8TestDataFrameConstructors.test_constructor_sequence_liked  sp    	+S\\ 	+ )!S2NAs84LM%.>7;q#hC17C
fhEBrK   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  rV  r%  Fr  )r   rn   r   r@  rC   rD   r  s      rI   test_constructor_stdlib_arrayz7TestDataFrameConstructors.test_constructor_stdlib_arrayx  s     CS%)!<=>c4b	?34
fhEBd59otE"I?@EKKU2Y7S%PR)9TUV
fhEBrK   c                     t        t        d            }t        t        t        d                  }t        j                  ||       y Nr%  r   r   r@  rC   rD   r  s      rI   test_constructor_rangez0TestDataFrameConstructors.test_constructor_range  s2    59%T%)_-
fh/rK   c                     t        t        d      t        d      g      }t        t        t        d            t        t        d            g      }t        j                  ||       y r  r  r  s      rI   test_constructor_list_of_rangesz9TestDataFrameConstructors.test_constructor_list_of_ranges  sH    E"IuRy12d59otE"I?@
fh/rK   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   )rE   rV  s     rI   __iter__zJTestDataFrameConstructors.test_constructor_iterable.<locals>.Iter.__iter__  s     r $A#O$s   N)r  r  r  r   r  r   rK   rI   Iterr    s    $( $rK   r  r  r%  r   )rE   r  rH   r   s       rI   test_constructor_iterablez3TestDataFrameConstructors.test_constructor_iterable  s;    	$ 	$
 i[2-.46"
fh/rK   c                     t        t        t        d                  }t        t        t        d                  }t	        j
                  ||       y r  r   r  r   r@  rC   rD   r  s      rI   test_constructor_iteratorz3TestDataFrameConstructors.test_constructor_iterator  s6    4b	?+T%)_-
fh/rK   c                     t        t        t        d            t        t        d            g      }t        t        t        d            t        t        d            g      }t	        j
                  ||       y r  r  r  s      rI   "test_constructor_list_of_iteratorsz<TestDataFrameConstructors.test_constructor_list_of_iterators  sP    DrOT%)_=>d59otE"I?@
fh/rK   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     rI   r   zGTestDataFrameConstructors.test_constructor_generator.<locals>.<genexpr>       %a%r   r%  c              3       K   | ]  }|  y wr   r   r  s     rI   r   zGTestDataFrameConstructors.test_constructor_generator.<locals>.<genexpr>  r  r   c              3   $   K   | ]  }|d g 
 yw)r   Nr   r  s     rI   r   zGTestDataFrameConstructors.test_constructor_generator.<locals>.<genexpr>  s     +A3x+s   r   rU   Fr  )r   r   r@  rC   rD   )rE   gen1gen2rH   r   gens         rI   test_constructor_generatorz4TestDataFrameConstructors.test_constructor_generator  s     &59%%59%d59otE"I?@D$<(
fh/+r+3rs34
fhEBrK   c                 t    t        i g      }t        t        d      g       }t        j                  ||       y )NrT   r   )r   r   rC   rD   r  s      rI   test_constructor_list_of_dictsz8TestDataFrameConstructors.test_constructor_list_of_dicts  s-    B4:a="=
fh/rK   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   rT   )r   rS   )r   rS   )r   r   r   r   rT   rS   r   )r   r   r   r   )r   rb   )r   r   rC   rD   )rE   nested1nested2r   r   rH   s         rI   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/rK   	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 )NrS   rT   r   r   r   r   )rE   r  rH   r   r   s        rI   ,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/rK   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 )NrS   r   rT   r   r  r   r   )rE   r  row_onerow_two	row_threerH   r   s          rI   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/rK   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   rm  r  )0r{  r  r  )r   r    r>   r   rC   rD   )rE   rV  seriesr   rH   s        rI   -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   rK   rI   
CustomDictr        rK   r        ?r;   r4  )r.  r   rC   rD   )rE   r  r   data_customr   result_customr   s          rI   &test_constructor_list_of_derived_dictsz@TestDataFrameConstructors.test_constructor_list_of_derived_dicts  sO    	 	 A!!}os!+.4
fm4rK   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)NrS   r%  r  rp  z%All arrays must be of the same lengthri   )r?   r(  r)  r  rp   rq   r   r   r\  s     rI   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   ra   )r   r   r   Fr  )r   r   r   rC   rD   )rE   r   rG   rH   s       rI   test_constructor_scalarz1TestDataFrameConstructors.test_constructor_scalar	  sB    E!HoQxs+c9-S9
b(>rK   c                 \    t        |d   |j                  dg      }|j                          y )Nr  r   )r   rb   r   )rE   rD  rG   s      rI    test_constructor_Series_copy_bugz:TestDataFrameConstructors.test_constructor_Series_copy_bug  s&    {3'{/@/@3%P
	rK   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)NrT   rS   r;   r  r  )r:   r;   rS   rT   )r   quxr  r   ra   rz   zambiguous orderingri   r   r   r4  rp  )	r    r   rb   is_monotonic_increasingrp   rq   r   rC   rD   r  s       rI   &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 )NrT   rS   r;   r:   r;   r:   r   r  s       rI    test_constructor_mixed_type_rowsz:TestDataFrameConstructors.test_constructor_mixed_type_rows$  s@    A4q!fq!f-.
fh/rK   ztuples,lists)r   r   r  r  c                 \    t        |      }t        |      }t        j                  ||       y r   r   )rE   r  listsr   rH   s        rI   test_constructor_tuplez0TestDataFrameConstructors.test_constructor_tuple+  s(     6"U#
fh/rK   c                 ~    t        dddgi      }t        dt        ddg      i      }t        j                  ||       y )Nr  rL  r  r   r    rC   rD   r  s      rI   test_constructor_list_of_tuplesz9TestDataFrameConstructors.test_constructor_list_of_tuples=  s?    C&&!123c666*:#;<=
fh/rK   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abrT   r;   rS   r:   r4  )r   r  r   r  r   )r   r@  r   rC   rD   )rE   named_tupler  rH   r   s        rI   $test_constructor_list_of_namedtuplesz>TestDataFrameConstructors.test_constructor_list_of_namedtuplesB  s     4:6a#[A%67Aq6A786"
fh/ Aq6A786C:6
fh/rK   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;   rT   r   r   )r   r#  r   rC   rD   )rE   r  r   rH   r   s        rI   $test_constructor_list_of_dataclassesz>TestDataFrameConstructors.test_constructor_list_of_dataclassesO  sa    w#sc3Z(@AaU1a[)Aq6A784
fh/rK   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;   rT   )r   r   r  r  )r   r#  r   r?   ro   rC   rD   )rE   r  r  r   rH   r   s         rI   7test_constructor_list_of_dataclasses_with_varying_typeszQTestDataFrameConstructors.test_constructor_list_of_dataclasses_with_varying_typesX  s     w#sc3Z(@Aw$tSkC:(NOaU1a^,bff+QF2661+bffa[Q
 4
fh/rK   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   rT   r  )r   r#  rp   rq   r   reescaper   )rE   r  rr   s      rI   1test_constructor_list_of_dataclasses_error_thrownzKTestDataFrameConstructors.test_constructor_list_of_dataclasses_error_thrownf  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 )NrT   r:   r  r%  )FirstSecondThirdFourthr   rS   r  r  )r  r  r  r  rN   r;   r9   r     r  )r  r  r  r  YYYXXXr  r  )r  r  r  )r%  r  r9   )NNr  )NNr  )r  r  r  r  r  r  r   )rE   r   rH   r   s       rI   #test_constructor_list_of_dict_orderz=TestDataFrameConstructors.test_constructor_list_of_dict_ordero  sr     1qB?1Q?1QrRTU

 "#"&''	
 4
fh/rK   c                    t        g dg dd      }t        |      }|j                  d   dk(  sJ t        j                  |j
                  |j
                         t        j                  j                  d      j                  d      }t        |d      }t        |      }t        d|i      }t        j                  ||       t        |t        d	d
            }t        |      }t        d|i      }t        j                  ||       d}t        j                  t        |      5  t        |ddg       d d d        t        g dt              }t        |      }|j                  d   dk(  sJ t        |d      }t        ||g      j                   }t        ||dddg      }t        j                  ||       t        ||g      j                   }t        ||dddg      }t        j                  ||       y # 1 sw Y   xY w)Nr  r   r   rm  r   rS   r%  r{   r;   r  ra   z<Shape of passed values is \(10, 1\), indices imply \(10, 2\)ri   rT   r   rm   r=   )r   	Unnamed 0r  r  )r    r   r   rC   rB  rb   r?   r(  r)  r  rD   r   rp   rq   r   r|   r
  )rE   r   rG   rF   r  rH   rr   s1s           rI   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(+M]]:S1 	)a!Q(	) 2Cv.q\zz!}### Cc"Cy!##2C83BTU
b(+ Ry!##_q!f=
b(+#	) 	)s   'G<<Hc                    t        t        d      d      }t        t        d      d      }t        j                  t	        |dg      |j                                t        j                  t	        |dg      |j                                t	        |dg      j                  sJ t	        |dg      j                  sJ y )Nr   r   r{   rT   r   )r    r   rC   rD   r   to_framer  )rE   s0r  s      rI   )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)////rK   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   rm  ra   r   r   r   )	r    r   r   rC  r   rC   rD   rB  rb   )rE   r  s2other_indexdf1exp1r
  exp2s           rI   +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(rK   z#name_in1,name_in2,name_in3,name_out))r   r   r   r   )r   r   NN)r   NNN)idx1idx2NN)r#  r#  r$  N)r#  r$  idx3N)NNNNc           	         t        g d|      t        g d|      t        g d|      g}t        |g d      D ci c]  \  }}|t        g d|       }}}t        |      }	t        g d|      }
t        d	d
dt        j
                  t        j
                  gt        j
                  d	d
dt        j
                  gt        j
                  t        j
                  d	d
dgd|
      }t        j                  |	|       y c c}}w )Nr   r{   )r   r   r   )r   r   e)r   r   r  r  ra   r   r   r   r   r'  r   rT   rS   )r   r,  r    r   r?   ro   rC   rD   )rE   name_in1name_in2name_in3name_outindicesrV  r   r  r   exp_indrH   s               rI   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   )
r@  rb   r   rC   assert_produces_warningDeprecationWarningr   rX   rB  r   )rE   rD  rb   r   rr   r   s         rI   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   rp  r   zdoes not match index lengthri   )r   r@  rC   rD   r  rp   rq   r   )rE   rD  rG   rr   s       rI   %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   rT   r   r<   )rp   rq   r   r   r?   ro   r5   r  s     rI   %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   rC   rD   from_records)rE   rG   edfidfs       rI   "test_constructor_column_duplicatesz<TestDataFrameConstructors.test_constructor_column_duplicates  sk    Ax#s4!Q!Cj
b#&$$fXSzB
c3'rK   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   rT   rz  na_valueU5)
r   r|   r0  StringDtyper?   ro   r>   rC   rD   str_)rE   r   rH   expected_strrG   s        rI   (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(+rK   c                 h    t        dg|      }t        dg|      }t        j                  ||       y )Nc1r   r=   r   )rE   nullable_string_dtyperH   rG   s       rI   ,test_constructor_empty_with_string_extensionzFTestDataFrameConstructors.test_constructor_empty_with_string_extension(  s0    dV3HIv-BC
b(+rK   c           
         t        dg dg d      }t        j                  |t        t        j                  |j
                        j                  d      |j                  |j                               t        dg dg d      }t        j                  |t        t        j                  |j
                        j                  d      |j                  |j                               t        dd	d
gddg      }t        j                  |t        t        j                  ddgddggt              d	d
gddg             d}t        j                  t        |      5  t        dd	d
g       d d d        t        j                  t        |      5  t        dddg       d d d        d}t        j                  t        |      5  t        dd	d
gddgt               d d d        y # 1 sw Y   yxY w# 1 sw Y   RxY w# 1 sw Y   y xY w)N        r  r   r   r-   r   r5   r   rT   rS   r   r<   z*DataFrame constructor not properly called!ri   r   zincompatible data and dtype)r   rC   rD   r?   rK  r_  rB   rb   r   rn   r|   rp   rq   r   r   r   )rE   rG   rr   s      rI   test_constructor_single_valuez7TestDataFrameConstructors.test_constructor_single_value.  s   s)_E
	"((288,33I>"**U	
 q	?C
	"((288,33G<bhh

S	
 s1a&3*=
3*sCj1@!fc
	
 ;]]:S1 	#cAq6"	#]]:S1 	/cC:.	/ ,]]9C0 	6cAq6C:u5	6 	6	# 	#	/ 	/	6 	6s$   G"G.G:"G+.G7:Hc                 l   t        j                  t              j                  }t        j                  t         j                        j                  }t        j                  t         j
                        j                  }t        dddt        d      t        ddddd      dt        j                  d	      
      }|j                  }t        t        j                  d      g|st        j                  |      n#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      gt        j                  d      gz   |st        j                  d      n#t        j                  t         j                        gz   t        j                  d      gz   t        j                  |      gz   ddd||g
      }t!        j"                  ||       t        dddddd|t        j$                  dgd	z  |      |t        j$                  dgd	z  |      it        j                  d	      
      }|j                  }t        t        j                  d      gt        j                  d      gz   |st        j                  d      n#t        j                  t         j                        gz   t        j                  d      gz   t        j                  |      gz   ddd||g
      }t!        j"                  ||       y )NrT   r   r   20010101  rS   r   )r  rz   r"  r  Er%  ra   r5   r@  M8[s]M8[us]ABCDEr   r   r   r   r<   r-   r|   )r?   r=   r#  rm   r-   r   r   r"   r
   r@   r/  r    r0  rC  ro   r@  rC   r   rn   )rE   r   intname	floatname
objectnamerG   r   rH   s           rI   test_constructor_with_datetimesz9TestDataFrameConstructors.test_constructor_with_datetimesN  s'   ((3-$$HHRZZ(--	XXbjj)..
 z*dAq!Q/ ))B-	
 XXg * $^^RVV4
  xx "((8"456 w-

 	vx0 SQU288Cy9!73 ))B-	
 XXi !xx !" * "^^RVV4 xx	"#$ xx !" S)W5
 	vx0 SQU288SEBJi@1#(': ))B-	
 XXi !xx !" * "^^RVV4 xx	"#$ xx !" S)W5
 	vx0rK   c                     t        ddd      }|D cg c]  }|j                          }}t        |      }|j                  dk(  sJ y c c}w )Nr  r  r%  startr/  rQ   ru   )r$   to_pydatetimer    r=   )rE   indts	datetimes
datetime_ss        rI    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%  r[  r`  r   datesdatetime64[ns]r|   ra   )
r$   r]  r	   r   r/  r    r?   r=   rC   r   )rE   r^  r_  r`  rd  rG   r   rH   s           rI    test_constructor_with_datetimes2z:TestDataFrameConstructors.test_constructor_with_datetimes2  s    |#rB256BR%%'6	6%()r))y;-87XX&'();<(
 	vx0 7)s
   B6B;c                    t        j                  d      }|j                  t        ddd            }t	        d|idg      }|j
                  d   |k(  sJ t        j                  |j                  t        ddit        	             t	        d|ig      }|j
                  d   |k(  sJ t        j                  |j                  t        dd
it        	             y )Nr:    rT   zEnd Dater   ra   r   zdatetime64[us, US/Eastern]r<   datetime64[ns, US/Eastern])pytztimezonelocalizer
   r   iatrC   r   r/  r    r|   )rE   rR   r`   rG   s       rI    test_constructor_with_datetimes3z:TestDataFrameConstructors.test_constructor_with_datetimes3  s     ]]<([[$1-.
B's3vvd|r!!!
IIvz+GHPVW	
 R()*vvd|r!!!
IIvz+GHPVW	
rK   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;   rj  rc   r   UTCrP   r:  )r$   r   rm  rR   r>   )rE   drrG   s      rI    test_constructor_with_datetimes4z:TestDataFrameConstructors.test_constructor_with_datetimes4  s     
A.}%vvd|&&&
A%8}%266$<??#u,,,
A,?}%266$<??#|333rK   zTODO(infer_string)reasonc                    t        dddd      }t        d|j                         j                  d      i      }t               }||d<   t	        j
                  ||       t        d|i      }t	        j
                  ||       y )	N1/1/2011r   10sr:  rQ   r/  rR   r   Tdropr$   r   	to_seriesreset_indexrC   rD   )rE   rV  rH   rG   s       rI    test_constructor_with_datetimes5z:TestDataFrameConstructors.test_constructor_with_datetimes5  su     z15\Jc1;;=#<#<$#<#GHI[3
b(+Qx 
b(+rK   c                     t        dddd      }t        ddd      }t        ||d      }t        |j                         j                  d	      |d      }t	        j
                  ||       y )
Nrw  r   rx  r:  ry  rQ   r/  r4  Trz  r|  )rE   rV  i_no_tzrG   rH   s        rI    test_constructor_with_datetimes6z:TestDataFrameConstructors.test_constructor_with_datetimes6  sb    z15\JZ?QW-.1;;=#<#<$#<#GgVW
b(+rK   rF   r   c                     t        |      j                  }t        t        j                  d      g      }t        j                  ||       y )Nre  )r   r/  r    r?   r=   rC   r   )rE   rF   r   rH   s       rI   %test_constructor_datetimes_with_nullsz?TestDataFrameConstructors.test_constructor_datetimes_with_nulls  s:     3&&288$4567
vx0rK   order)Kr  r"  Fr<  )r   r  hr   r  msusr_   c                    d| d}t        j                  g dg dg||      }t        |      }t        |j                  d            }|dv rGt	        j
                  t        d	      5  |j                  |       d d d        |j                  d
      }n|j                  |      }t        j                  ||       y # 1 sw Y   DxY w)Nzdatetime64[])z
2015-01-01z
2015-01-02z
2015-01-03)z
2017-01-01z
2017-01-02z
2017-02-03r=   r  ru   )r   r  r  r   Cannot castri   zdatetime64[s]r<   )	r?   rn   r   rB   rp   rq   r   rC   rD   )rE   r  r<  r=   narG   rH   s          rI   !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  rT   r  rS   r:   r   r  )r  r  r   r  zm8[r<   )r?   rn   r!  r   r=   r!   rC   rD   )	rE   r  r<  r=   r  rG   exp_unit	exp_dtyperH   s	            rI   !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(+rK   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#  r4   r<   r   l        l       r   r5   rT   rS   r   r   r-   r;   ra   )rT   rS   r:   r  )g333333?gffffff@gffffff@g333333@r  r:     )r   rS   r  r  r(  r|   r@  re  abcde)r   r   r?   r@   r/  r    r=   rC   r   rn   r   r@  r
   r0  rC  ro   )rE   r   r   rG   r   rH   rV  s          rI   %test_constructor_for_list_with_dtypesz?TestDataFrameConstructors.test_constructor_for_list_with_dtypesC  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   rs  )rE   rD  cops      rI   test_constructor_frame_copyz5TestDataFrameConstructors.test_constructor_frame_copy  sP    $/CCA""$$$$)..0000rK   c                     |j                         }t        |      }|j                  |j                  usJ t        j                  t        |            |_        t        j                  ||       y r   )	r   r   rX   r?   r@   rW   rb   rC   rD   )rE   rD  origr  s       rI   #test_constructor_frame_shallow_copyz=TestDataFrameConstructors.test_constructor_frame_shallow_copy  sX     !$xx{/////IIc#h'	
k40rK   c                    |s|j                   j                         }t        |      }d|d<   |r"|j                   d   dk(  j                         r$J |j                   d   dk(  j                         sJ t        |d      }d|d<   |j                   d   dk(  j                         rJ y |j                   j                         }t        |      }|j                  j
                  d   j                  j                  sJ d|d<   |j                  d   dk7  sJ t        |d      }|j                  j
                  d   j                  j                  rJ d	|d<   |j                  d   d	k(  sJ y )
Nr   Tr  rN   r   rb  r   Fi  )	r   r   r   rs  rX   r   r  r	  r   )rE   rD  rZ   r  rF   rG   s         rI   test_constructor_ndarray_copyz7TestDataFrameConstructors.test_constructor_ndarray_copy  sR    #$$))+C3BCF"IIaLA-22444		!)..0003T*BCF		!)..0000$$))+C3B77>>!$**7777CI774=C''' 3U+Bww~~a(..;;;;CI774=D(((rK   c                     |j                   }t        d|d   id      }d|j                  |j                  d   |j                  d   df<   |d   dk(  j	                         rJ y )Nr  Tr  r   r   r>  )r  r   r  rb   rs  )rE   rD  r  rG   s       rI   test_constructor_series_copyz6TestDataFrameConstructors.test_constructor_series_copy  sj    $$VC[)5 34rxx{RXXb\)3./3K1$))++++rK   rG   ra   g?g@r   r  r  )rM  rT   rS   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   rT   )r   rW   r   r   r?   r@   r%   rp   rq   KeyErrorr  ro   rC   r   rD   )rE   rG   rV  indexers       rI   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   FrT   )r   r?   ro   r=   r   )rE   r   s     rI   &test_constructor_lists_to_object_dtypez@TestDataFrameConstructors.test_constructor_lists_to_object_dtype  sE    sRVVUO,-v||rzz)))S6!9}9rK   c                    t        g d      }t        j                  |      j                  dd      }t        j                  |d      }t        ||j                        }t        ||||d      }t        j                  ||       y )Nr!  r>  rT   r  r<   r  )	r   r?   rn   rA   broadcast_tor   r=   rC   rD   )rE   catrF   r   rH   s        rI   *test_constructor_ndarray_categorical_dtypezDTestDataFrameConstructors.test_constructor_ndarray_categorical_dtype  si    /*hhsm##B*ooc6*3cii0=>
fh/rK   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   r@  r    rC   r   r  )rE   rG   rH   r  r   s        rI   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/rK   c                     t        t        d            }t        |g      }t        |j                  t              g      }t        j                  ||       y )Nr   )r   r@  r   rB   r|   rC   rD   )rE   r  rG   rH   s       rI   -test_construct_from_1item_list_of_categoricalzGTestDataFrameConstructors.test_construct_from_1item_list_of_categorical 	  sD     $u+&ucjj012
b(+rK   c                     t        t        t        d            t        t        d            g      }t        g dg dg      }t        j                  ||       y )Nr   abdr   )r   r   r   r   r   r@  rC   rD   r  s      rI   (test_construct_from_list_of_categoricalszBTestDataFrameConstructors.test_construct_from_list_of_categoricals		  sD     DK0+d5k2JKLo?@
b(+rK   c                     t        t        t        d            t        d      g      }t        g dg dg      }t        j                  ||       y )Nr   defr   r   r'  fr  r  s      rI   %test_from_nested_listlike_mixed_typesz?TestDataFrameConstructors.test_from_nested_listlike_mixed_types	  s?     DK0$u+>?o?@
b(+rK   c                     t        t        t        d            t        t        d            g      }t        t        d      t        d      g      }t        j                  ||       y )Nr   abdefgr  r  s      rI   0test_construct_from_listlikes_mismatched_lengthszJTestDataFrameConstructors.test_construct_from_listlikes_mismatched_lengths	  sJ    DK0+d8n2MNOd5k4>:;
b(+rK   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)rT   rS   r;   rT   r  r<   )r   r   r   r   20000101r;   rj  r   )r   
categoriesr   ra   )r    rB   rC   r   r$   r   r?   ro   rb   r   rD   )rE   r  rw  resrb   rH   rG   s          rI   #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(+rK   r=   c                 `    t        dddgidg|      }|j                  j                  |k(  sJ y )Nr   rT   rS   r   rI  )r   r   r=   )rE   r=   r   s      rI   %test_check_dtype_empty_numeric_columnz?TestDataFrameConstructors.test_check_dtype_empty_numeric_column5	  s2     #1vUCvv||u$$$rK   c                     t        dddgidg|      }|r'|t        j                  v rt        j                  |       |j
                  j                  j                  dk(  sJ y )Nr   rT   rS   r   rI  r|   )r   rC   BYTES_DTYPESr+  &mark_array_manager_not_yet_implementedr   r=   rm   )rE   requestr=   rZ   r   s        rI   $test_check_dtype_empty_string_columnz>TestDataFrameConstructors.test_check_dtype_empty_string_columnC	  sT     #1vUC5BOO#;55g>vv||  H,,,rK   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/  rC   r   r   r  s      rI   test_to_frame_with_falsey_namesz9TestDataFrameConstructors.test_to_frame_with_falsey_namesQ	  sb    Qf-668??1f+&
vx06q78??
vx0rK   )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   rT   rS   r;   r:   r5   r<   r   rI  )r   r   rC   rD   )rE   r=   rH   r   s       rI   test_constructor_range_dtypez6TestDataFrameConstructors.test_constructor_range_dtypeZ	  sf     c?35;KGL 58cU%@
fh/ Cq?%8
fh/rK   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   rK   rI   Listr  i	  r  rK   r  r  r  )r@  r   rC   rD   )rE   r  rH   r   s       rI   test_frame_from_list_subclassz7TestDataFrameConstructors.test_frame_from_list_subclassg	  sK    	4 	 i344i$y/ BCD
fh/rK   extension_arraabbcz1/1/2017z1/1/2018)r\  endr/  c                 n    t        t        |            }t        |      }t        j                  ||       y r   r  )rE   r  rH   r   s       rI   %test_constructor_with_extension_arrayz?TestDataFrameConstructors.test_constructor_with_extension_arrayp	  s-     VM23=)
fh/rK   c           	          t        j                         }||f}t        |t        t	        d      t	        d            i|g      }t        g dt        t        |g                  }t        j                  ||       y )Nr;   ra   r   r  )r	   todayr   r    r   r   rC   rD   )rE   r  tupr   rH   s        rI   *test_datetime_date_tuple_columns_from_dictzDTestDataFrameConstructors.test_datetime_date_tuple_columns_from_dict	  s_    JJLdCaa!ABSERYfcUm0DE
fh/rK   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)'   rN   r:   )femalemaleunknownra   )rS      rS         )r  r  r   r  r  r  rN   r:   )g      c@g     @n@g     b@r   r   )r  r  r  r  r   r   )r    r   r   r?   rn   ro   rC   rD   )rE   r  r  r   rH   s        rI   /test_construct_with_two_categoricalindex_serieszITestDataFrameConstructors.test_construct_with_two_categoricalindex_series	  s    J&67T&UV!"#JK
 B8$HHr1a02QRS;
 	fh/rK   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 )Nrb  r%  r   rz  gMbXg#@r9  )closedg3@g33333=@gC@g     H@g33333M@g33333SQ@gS@gfffffFV@r   T)orderedra   )r    r   r#   value_countsheadtailr   r   r   r?   ro   rC   rD   )rE   r  ser1ser2r   rb   rH   s          rI   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/rK   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 )Nrh  r  r   r  r  r%  )DaterT  )ForecastingrT  r<   r  r  rT   )r
   r?   rn   r   r    r   r"   )rE   rd  rF   rG   r  s        rI   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{"""rK   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   rK   rI   DatetimeSubclassr  	  r  rK   r  r
   i  rT   re  )r
   r   r=   )rE   r  r   s      rI   test_from_datetime_subclassz5TestDataFrameConstructors.test_from_datetime_subclass	  sI    	x 	 *'7aAq'I&JKL}}""&6666rK   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)	NrM   r;   rO   rP   z@Shape of passed values|Passed arrays should have the same lengthri   r:   ra   )r$   rp   rq   r   r   r   )rE   r[   rr   s      rI   (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:50rx  r.  rS   rp  rz   ru   )
r$   r?   rN  r   r(  r)  r  rW   
issubdtyper=   )rE   rF  rd  rG   s       rI   !test_frame_ctor_datetime64_columnz;TestDataFrameConstructors.test_frame_ctor_datetime64_column	  sv    ,.@uM

3))''*::3s8D5Q
 }}RW]]BHHX,>???rK   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   rS   )r:   r:   ra   r   )
r   r?   r(  r)  r  rn   r   rb   r   r   )rE   index_listsr   multis       rI   +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_valsr{  r  rw  r  r  ry  c                     t        d|i|      }t        d|i      j                  d|i      }t        j                  ||       y )Nr  r<   )r   rB   rC   rD   )rE   r  r;  r   rH   s        rI   test_constructor_list_strz3TestDataFrameConstructors.test_constructor_list_str	  sD     C,LAc:./66\7JK
fh/rK   c                 |    t        dg di|      }t        dg dit              }t        j                  ||       y )Nr  rd  r<   )z1.0z2.0N)r   r|   rC   rD   )rE   r;  r   rH   s       rI   test_constructor_list_str_naz6TestDataFrameConstructors.test_constructor_list_str_na	  s6    C!12,Gc#78G
fh/rK   r   FTc                 z  
 |r:|s8|t         j                  t         j                  z   vrt        j                  |       t        j                  ddg|      
t        j                  ddg|      j                  j                  dv r"t        j                  j                   d       t        j                  ddg|      j                         }t        
d|	      d
 ddt        f
fd}|s |        t        j                   j"                  j$                  d   d      rd }	nt&        }	t        j(                  |	d      5  dj$                  d<   dj$                  d<   d d d        |s |d       t        j                  ddgj                        j$                  d d df<   j"                  j$                  d   j                  k(  sJ |s
|s |d       |r
j                  j                  dk(  rH
d   
j                  j+                  dd      k(  sJ d   j                  j+                  dd      k(  sHJ 
d   
j                  j+                  d      k(  sJ d   j                  j+                  d      k(  sJ d   |d   k(  sJ y |sd   dk(  sJ y y # 1 sw Y   AxY w)NrT   rS   r<   r;   r:   )SUz2 get cast, making the checks below more cumbersomer   r  c                     t        | t        j                        r| j                  S t        | j                  t        j                        r| j
                  j                  S t        r   )r   r?   ndarraybaser=   _ndarrayr   r   s    rI   get_basez<TestDataFrameConstructors.test_dict_nocopy.<locals>.get_base
  s@    #rzz*xxCIIrxx0||(((rK   c_onlyc                    t        fdj                  j                  D              dk(  sJ | ry t        fdj                  j                  D              dk(  sJ t        fdj                  j                  D              dk(  sJ y )Nc              3   &   K   | ]  }|u  
 y wr   r   )r   r   r   s     rI   r   zRTestDataFrameConstructors.test_dict_nocopy.<locals>.check_views.<locals>.<genexpr>)
  s     6!qAv6s   rT   c              3   z   K   | ]2  }t        |j                  t        j                        r |      u  4 y wr   r   r=   r?   )r   r   r   r  s     rI   r   zRTestDataFrameConstructors.test_dict_nocopy.<locals>.check_views.<locals>.<genexpr>0
  4      !!''2884 QK1$   8;c              3   z   K   | ]2  }t        |j                  t        j                        r |      u  4 y wr   r  )r   r   r   r  s     rI   r   zRTestDataFrameConstructors.test_dict_nocopy.<locals>.check_views.<locals>.<genexpr>8
  r  r  )sumrX   r   )r  r   r   r   rG   r  s    rI   check_viewsz?TestDataFrameConstructors.test_dict_nocopy.<locals>.check_views"
  s     6rww~~66!;;;   WW^^ 
   WW^^ 
 rK   r   fciuOzincompatible dtyperi   r   rU   TrR  .   r   r_   )F)rC   STRING_DTYPESr  r+  r  r?   rn   r=   r   rp   skipr0  r   r   rJ  r   is_np_dtyper/  r   FutureWarningr2  type)rE   r  r   any_numeric_ea_dtypeany_numpy_dtyperZ   r  c_origr  warnr   r   r   rG   r  s             @@@@@rI   test_dict_nocopyz*TestDataFrameConstructors.test_dict_nocopy	  s]     r'7'7"//'II 55g>HHaV?3HHaV?377<<:%KK177)#UVWHHaV#78QQQ/d;	 	 	 	< M ??299>>!,g6D D''4HI 	BGGDMBGGDM	  "b91yy~~a AGG+++/ww||s"tqww||At4444tqww||At4444tqww||A...tqww||A...Q46!9$$$$ Q42:: %-	 	s   J00J:c                     t        g dd      }t        d|i      }t        j                  |j                  j
                  |d   j                  j
                        rJ y )Nr  rf  r<   r   )r    r   r?   r  r   rV   )rE   r  rG   s      rI   "test_construct_from_dict_ea_seriesz<TestDataFrameConstructors.test_construct_from_dict_ea_seriesf
  sO     Yg.Sz"##CJJ$4$4bgnn6J6JKKKKrK   c                 |    t        t        dd      dg      }t        dg      }t        j                  ||       y )NrT   r   r{   r   r   r  r  s      rI   'test_from_series_with_name_with_columnszATestDataFrameConstructors.test_from_series_with_name_with_columnsm
  s3    6!%05'BeW-
fh/rK   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  rC   rD   r  s      rI   test_nested_list_columnsz2TestDataFrameConstructors.test_nested_list_columnss
  sP    	"_o,N
 	"**+OP
 	fh/rK   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;   rj  rT   r>  rT   r;   )r;   r:   r   rN   r  )r0  rA  rV   rB   r|   rA   r   r_  r/  r=   rs  IntervalIndexfrom_breaksr?   r_r
  rC   rD   )
rE   pir   rG   iidata2r
  data3rG  rH   s
             rI   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,rK   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   r4  r  )rE   col_acol_brr   s       rI   test_error_from_2darrayz1TestDataFrameConstructors.test_error_from_2darray
  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)rb   r   r   r   r   r   r   rb   r=   )	r   r?   r  _valuesr   ro   r|   rC   rD   r  s      rI   &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(+rK   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     rI   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)r{  r  Nr   r>   rI  r<   r   r  s      rI   $test_construct_with_strings_and_nonez>TestDataFrameConstructors.test_construct_with_strings_and_none
  s5    '#eDc#34EB
b(+rK   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)Nr@  r   r   r<   r=   r   future.infer_stringTr   r   )r=   r   rb   ra   rT   r|   )	r0  rC  r?   ro   r   r   option_contextrC   rD   rE   r=   rH   rG   s       rI   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)Nr@  r   r   r<   rB  rC  Tr   r   rU   r4  r   )
r0  rC  r?   ro   r   r   rD  rn   rC   rD   rE  s       rI   .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)NrC  ThellogoodbyeHellor   rS   )r0  rD  r   r?   rn   rX   rY   r{  rw   s     rI   %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c                    t        t        d      gt              }t        j                  t
        d      5  t        |dg      }d d d        j                  j                  d   t        j                  k7  sJ t        d|i      }|j                  j                  d   t        j                  k(  sJ t        t        d      gt              }t        j                  t
        d      5  t        |dg      }d d d        |j                  j                  d   t        j                  k7  sJ t        d|i      }|j                  j                  d   t        j                  k(  sJ y # 1 sw Y   "xY w# 1 sw Y   |xY w)Nz
2019-12-31r<   zDtype inferenceri   r   r   r   )r   r"   r|   rC   r2  r  r   r/  r   r?   r   r    )rE   r   r   r  s       rI    test_inference_on_pandas_objectsz:TestDataFrameConstructors.test_inference_on_pandas_objects
  s2   Y|,-V<''=NO 	3sSE2F	3}}!!!$

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

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

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

222	3 	3	3 	3s   E&)E3&E03E<)r  r  r  rJ   r]   rf   rs   rx   r   r   r   r   rp   markparametrizer   r   r   r   r   r   r   r   r   r  r  r+  skip_array_manager_invalid_testr  r  r  r  r2  r8  r<  rH  rM  rY  r?   rn   r|   r]  r/   r0   r1   r`  rf  rx  r}  r  r  r  r  r  ro   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r,  r2  r7  r   r   r   r   r"   r   r>  rD  rH  rJ  rO  filterwarningsrR  rV  r]  r`  r@  r   r   r=   r#  rb  r0  BooleanDtypeFloat64Dtype
Int64DtyperC  rk  rn  rp  rt  rw  r|  r  r  r  r  r  r  re   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/  r4  r7  r9  r>  rF  rK  rN  rY  rb  rf  rn  rs  xfailr   r  r  r
   rv   r   r   r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  rC   ALL_NUMERIC_DTYPESDATETIME64_DTYPESTIMEDELTA64_DTYPESBOOL_DTYPESr  r  r  OBJECT_DTYPESr  r  arm_slowr  r  r   r)   r'   r(   rA  r  r  r  r  r  r  r  r  r   r$   r  r  r$  r&  r(  r*  r4  r8  r<  r>  r@  rF  rH  rM  rO  r   rK   rI   r7   r7   O   s   ,	,,	/11	1 [[Vc3Z0J 1JB0 [[#!!,'(&&3,	
 0! 0 [[!&	
GG [[3T:a=*Q-0"Xz!}jm4"o
1z!}=	
00
8.*))9  ''0 (0" ''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-,&:/x)59..5
)C000,6:8 [[-}=(-8(/:5~F		
00((, [[IC 011A&gw(GH,<8S\:	


,

,*(6'p3  [[A?&?&B0,') [[/4b	?S#J

C4#sWhbhhw.?@4b	?S#JXRXXi5HIu~tRZZ81XtE"IUS("((9:MN	
	+	+ [[) )R__=y"//:7BMM2h7		
11U/20%-N,"070DD [[%&'9\*+,9\*+,)L)11$78		
00C(	C00
	00
0
C0
0 [[[4*=>0 ?0$ [[[4*=>0 ?0*05?0"0 [[H2JBx Bx "XBx cA3Z1#s$#i%;<	
000
00070($,L0)( [[-	
000
>Q=
(,",6@Q1f,1
$4 [[)+4HI, J,, [[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d 4dPL0	0-, [[cA3ZA3*-.RXXsQCj!QC!:.RXXsQCj!8288aS1#J#78	
00
,"=, ,D,0+3rK   r7   c                   t    e Zd Zd Zd Zej                  j                  ddddgdgdddgd	gg      d
        Zy)&TestDataFrameConstructorIndexInferencec                    t        j                  ddd      }t        t        j                  j                  d      j                  t        |            |      }t        j                  ddd      }t        t        j                  j                  d      j                  t        |            |      }t        ||d      }t        j                  ddd      }t        j                  |j                  |       y )	Nz1/1/19991/1/2012r   r.  rS   z1/1/1980z	12/1/2001)r  r  )r0  rA  r    r?   r(  r)  r  rW   r   rC   rB  rb   )rE   rng1r  rng2r  rG   rw  s          rI   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,rK   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)NrM   r;   rj  ra   rq  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   r@  rb   r|   rC   rB  rp   rq   r   )rE   r[   r  r  ser3ser4r  	exp_indexr
  
exp_index3rG  df4
exp_index4rr   s                 rI   /test_frame_from_dict_with_mixed_tzaware_indexeszVTestDataFrameConstructorIndexInference.test_frame_from_dict_with_mixed_tzaware_indexes  su   q1eAhc*eAhcooe&<=eAhcool&CDeAh dD9:tDJJ//$tzz2BB&
	 	cii3dD9:tDJJ//$tzz2BB&

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

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

 	cii4 A]]9C0 	DDt$TBC	D]]9C0 	9Dt$78	9]]9C0 	9Dt$78	9 	9		D 	D	9 	9	9 	9s$   LL'L3L$'L03L<zkey_val, col_vals, col_typer  4utf8r;   r:   r2   c                     t        j                  d      }t        j                  j	                  |j                  ||j                  |j                          t        ||                               }t        |ddgi|      }t        dt        j                  gdt        j                  gg|      }|j                  d|j                  d d df   j                  t                     t!        j"                  ||       y )Nr  )r  rT   rS   r   )rp   importorskipr0  r   ArrowExtensionArrayrn   
dictionaryr2   getattrr   r?   ro   isetitemr   rB   r|   rC   rD   )rE   key_valcol_valscol_typepar  r   rH   s           rI   %test_dict_data_arrow_column_expansionzLTestDataFrameConstructorIndexInference.test_dict_data_arrow_column_expansionH  s       +yy,,HHXBMM"'')=RWR=R=T$UHV
 GaV,d;q"&&kArvv;7F!X]]1a4077?@
fh/rK   N)	r  r  r  rd  rl  rp   rP  rQ  ry  r   rK   rI   r_  r_    sT    	-*9X [[%3*f%A	
	0	0rK   r_  c                       e Zd Zd Zy))TestDataFrameConstructorWithDtypeCoercionc                    t         j                  j                  d      j                  d      }d}t	        j
                  t        |      5  t        |d       d d d        t        |j                         d      }|j                  dk(  j                         sJ t         j                  |d<   d}t	        j
                  t        |      5  t        |d       d d d        t	        j
                  t        |      5  t        |d	   d       d d d        d}t	        j
                  t        |      5  t        |      j                  d       d d d        t	        j
                  t        |      5  t        |d	         j                  d       d d d        y # 1 sw Y   @xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   pxY w# 1 sw Y   y xY w)
NrS   r@  z)Trying to coerce float values to integersri   rk   r<   r   rh   r   )r?   r(  r)  r  rp   rq   r   r   roundr/  rs  ro   r   r    rB   )rE   rF   rr   rG   s       rI   "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   rK   rI   r{  r{  [  s    (rK   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ej                  j/                  e d      ej                  j                  dg dg dg ddg      d               Zy)&TestDataFrameConstructorWithDatetimeTZrR   r:  zdateutil/US/Easternc                 T   t        ddd      }|j                  |      }t        d|d|      }t        d|j                        }|d	   j
                  |k(  sJ |D cg c]  }|j                          }}|D cg c]  }|j                          }}t        d
|i      }||d<   ||d<   ||d<   |j                  }	t        t        j
                  d      t        |      t        j
                  d      t        |      gg d      }
t        j                  |	|
       y c c}w c c}w )N2011/1/12012/1/1W-FRIr.  r   rp  ra   r_   rz   rr  dr_tzdatetimes_naivedatetimes_with_tzre  r;  )rr  r  r  r  )r$   r}   r   r   tzinfor=   r]  r/  r    r?   rC   r   )rE   rR   rr  r  rG   tz_expectedr_  r  r  r   rH   s              rI   *test_construction_preserves_tzaware_dtypeszQTestDataFrameConstructorWithDatetimeTZ.test_construction_preserves_tzaware_dtypes|  s!    
JW=r"U/r:%dELL9#w}}+++ 9;;"2++-;;:?@BR--/@@bz"7 /"3)*2&)*2&	 J
 	vx0! <@s   D ;D%pydtTFc                    |}t        d|      }|r|j                         }d}t        j                  t        |      5  t        d|gid       d d d        d}t        j                  t        |      5  t        d|idgd	       d d d        t        j                  t        |      5  t        |gd       d d d        t        j                  t        |      5  t        t        j                  |gt              d       d d d        t        j                  t        |      5  t        |dgdgd
       d d d        t        j                  t        |      5  t        t        |g      gd       d d d        t        j                  t        |      5  t        |ggdgd       d d d        y # 1 sw Y   exY w# 1 sw Y   ;xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ~xY w# 1 sw Y   y xY w)N2019r;  sCannot convert timezone-aware data to timezone-naive dtype. Use pd.Series\(values\).dt.tz_localize\(None\) instead.ri   r   re  r<   /Cannot unbox tzaware Timestamp to tznaive dtyper:  rz  rI  )r"   r]  rp   rq   r   r   r   r?   rn   r|   r    )rE   tz_aware_fixturer  rR   r_  rr   msg2s          rI   '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 )Nrp  r;   r:  rP   r   r{   20130110rj  rp  r  zM8[ns, US/Easternrz   )r   r$   r   r=   rm   rC   r   r    )rE   r   rr  rG   s       rI   test_from_dictz5TestDataFrameConstructorWithDatetimeTZ.test_from_dict  s     Jz1FUS
A. Sr*+#w}}111}#w||s"""
r#ws(=>
r#wr(<=rK   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 )	Nrp  r;   r:  r   )rQ   rR   rm   r{   rP   r   )r$   r   rC   r   r    )rE   r$  r
  s      rI   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';<rK   c                     t        dd      }t        ||      }t        d|d|       t        d|j                  d|       y )Nra  r%  rj  ra   r   r4  )r$   r    r   r   )rE   rr  r  s      rI   +test_frame_dict_constructor_datetime64_1680zRTestDataFrameConstructorWithDatetimeTZ.test_frame_dict_constructor_datetime64_1680  s>    
B/2R  	A&b1AHH-R8rK   c                     t        ddd      }t        |      }t        d|d|      }|d   j                         j	                         sJ y )	Nr  r  r  r.  r   rp  ra   rz   )r$   r    r   r%   rs  )rE   rr  r_  r   s       rI   +test_frame_datetime64_mixed_index_ctor_1681zRTestDataFrameConstructorWithDatetimeTZ.test_frame_datetime64_mixed_index_ctor_1681  sH    
JW=BZ E+26v{{}  """rK   c           	          t        dddd      }t        |dg      }t        dt        dd      t        d	d      t        d
d      gi      }t        j                  ||       y )Nz20130101T10:00:00r;   minr:  )r\  rQ   r/  rR   
timestampsr   r;  z20130101T10:01:00z20130101T10:02:00)r$   r   r"   rC   rD   )rE   rr  r   rH   s       rI   test_frame_timeseries_columnzCTestDataFrameConstructorWithDatetimeTZ.test_frame_timeseries_column  so    %qu
 2~61lC1lC1lC
 	fh/rK   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@)rQ    r  333333?@)r  rQ  r  )r  r  )rQ  r  i  r   )r  r  )r  r  r  )r   r?   ro   r   rC   rD   )rE   r   popr   rH   s        rI   test_nested_dict_constructionzDTestDataFrameConstructorWithDatetimeTZ.test_nested_dict_construction  su    V$ ,c5
 3&8'Jbffbff%56*+

 	fh/rK   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;   rq  rP   rT   r>  r,  )
r$   rV   rB   r|   rA   r   r_  r/  r=   rs  )rE   r[   r   rG   s       rI   test_from_tzaware_object_arrayzETestDataFrameConstructorWithDatetimeTZ.test_from_tzaware_object_array  s    +Q5Ayy'//26t_xx6!!!		SYY&++---c	 $$&&&rK   c           
         t        j                  t        d      t        d      t        d      gt        dd      t        j                  t        dd      gt        dd	      t        j                  t        d
d	      ggt
              j                  }t        |g d      }g d}|j                  |k(  j                         sJ y )Nz2013-01-01 00:00:00z2013-01-02 00:00:00z2013-01-03 00:00:00z2013-01-01 00:00:00-0500r:  r;  z2013-01-03 00:00:00-0500z2013-01-01 00:00:00+0100CETz2013-01-03 00:00:00+0100r<   r!  r   )re  ri  zdatetime64[ns, CET])
r?   rn   r"   r0  r   r|   r
  r   r/  rs  )rE   rF   r  expected_dtypess       rI   $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4rK   c                     t        j                  d      j                  d      }t        |d      }t        |      j	                  d      }t        j                  ||       y )Nr%  )r   rS   zdatetime64[ns, UTC]r<   )r?   r@   rA   r   rB   rC   rD   )rE   
array_dim2rG   rH   s       rI   test_from_2d_ndarray_with_dtypezFTestDataFrameConstructorWithDatetimeTZ.test_from_2d_ndarray_with_dtype/  sM    YYr]**62
z)>?Z(//0EF
b(+rK   r0  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>   rT   rS   r;   'z' type is unorderedri   r   )r  rp   rq   r   r   r    )rE   r0  r   rr   s       rI   !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   r9   re  r<   r:   r;   c              3   <   K   | ]  }t        |t                y wr   )r   r&   )r   rF   s     rI   r   zeTestDataFrameConstructorWithDatetimeTZ.test_construction_from_ndarray_datetimelike.<locals>.<genexpr>G  s     Lc:c=1Ls   )r?   r@   rA   r   rs  rX   r   rE   rF   rG   s      rI   +test_construction_from_ndarray_datetimelikezRTestDataFrameConstructorWithDatetimeTZ.test_construction_from_ndarray_datetimelikeB  sI     ii2%56>>q!Ds^LRWW^^LLLLrK   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)NrS   ry  r   z'len\(arrays\) must match len\(columns\)ri   r   rI  )r   r   r  r   r   )r?   r(  r)  r  r0  rn   r=   rp   rq   r   r   )rE   rF   r=   rr   arr2s        rI   >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   ra   zcolumns cannot be a set>   r   r   r   r   r  r\  s     rI   "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z/StringDType only available in numpy 2 and abovert  r   r   )r   r   r   r  c                     ddl m} t        j                  |d    |             |d<   t	        |      }|d   j
                  t        j                  k(  sJ |d   |d   k(  j                         sJ y )Nr   )StringDTyper   r<   )numpy.dtypesr  r?   rn   r   r=   r   rs  )rE   r   r  r  s       rI    test_np_string_array_object_castzGTestDataFrameConstructorWithDatetimeTZ.test_np_string_array_object_cast]  sc     	-HHT#Ykm<S	o3x~~+++CDI%**,,,rK   N)r  r  r  rp   rP  rQ  r  r  r  r  r  r  r  r  r  r  r  set	frozensetr  r  r  r  skipifr   r  r   rK   rI   r  r  {  s   [[TL2G#HI1 J18 [[VdE]3C 4CB>=9#0"0'5>, [[US)$45 6M	45 [[#T   [[!oN	
--rK   r  c                 ^    t        | t              r| j                  d   S | j                  d   S )Nr   r   )r   r    r   r  s    rI   get1r  o  s(    #vxx{xx~rK   c                      e Zd Z ej                  eedg      d        Zej                  d        Zej                  j                  dddg      d        Zd	 Zd
 Zd Zej                  j                  dej                   ej"                  g      d        Zej                  j                  deej                   g      d        Zej                  j*                  d        Zej                  j                  deej"                  g      d        Zej                  j*                  ej                  j                  dej                   ej"                  g      d               Zd Zy)TestFromScalarNparamsc                     |j                   S r   paramrE   r  s     rI   boxzTestFromScalar.boxw      }}rK   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 )	Nrb   rS   r  r   c                       | | dfi |S )NrU   r   r   kwargsextrar   s     rI   r   z,TestFromScalar.constructor.<locals>.<lambda>  s#    ?aL,$),-3, rK   c                      d| ifi |S Nr  r   r  s     rI   r   z,TestFromScalar.constructor.<locals>.<lambda>  s    ?C8+Wu+WPV+W rK   c                      | | gfi |S r   r   r  s     rI   r   z,TestFromScalar.constructor.<locals>.<lambda>  s    1v'Q'Q&'Q rK   c                 "     d| | gifi |S r  r   r  s     rI   r   z,TestFromScalar.constructor.<locals>.<lambda>  s    aV}'X'XQW'X rK   )r   r   	functoolspartialr.  r    )rE   r   r  r  s    ` @rI   r   zTestFromScalar.constructor{  sv    %(#i' #uE);$$_>>>D[&(  XW&QQXXrK   r=   ru   r   c                      |t         j                  |      }t        j                  |j                  |k(        sJ t        j                  |j                               sJ y rr  )r0  r   r?   rs  r/  r%   )rE   r=   r   r   s       rI   test_from_nat_scalarz#TestFromScalar.test_from_nat_scalar  sE    "&&.vvcjjE)***vvchhj!!!rK   c                 N    t        d      } ||d      }t        |      |k(  sJ y )NrT   r   r<   r!   r  )rE   r   r+  r   s       rI   *test_from_timedelta_scalar_preserves_nanosz9TestFromScalar.test_from_timedelta_scalar_preserves_nanos  s'    q\"H-CyBrK   c                 T    |t        d      z   } ||d      }t        |      |k(  sJ y )NrT   ru   r<   r  )rE   r   fixed_now_tsr_  r   s        rI   *test_from_timestamp_scalar_preserves_nanosz9TestFromScalar.test_from_timestamp_scalar_preserves_nanos  s,    IaL("H-CyBrK   c                     t        d      } |j                         } ||t              }t        t	        |      t
        j                        sJ y )NrT   r<   )r!   to_timedelta64r|   r   r  r?   r!  )rE   r   r+  td64r   s        rI   #test_from_timedelta64_scalar_objectz2TestFromScalar.test_from_timedelta64_scalar_object  s?    q\ r  "$f-$s)R^^444rK   clsc                     |dd      }t         j                  dt         j                  di|   }|t         j                  u rd}nd}dj                  d|g      }t	        j
                  t        |	      5   |||
       d d d         |dd      }t	        j
                  t        |	      5   |||
       d d d        y # 1 sw Y   AxY w# 1 sw Y   y xY w)Nr   r_   r   ru   r   z:<class 'numpy.timedelta64'> is not convertible to datetime|r  ri   r<   r:   )r?   r   r!  joinrp   rq   r   )rE   r   r  r  r=   msg1rr   s          rI   (test_from_scalar_datetimelike_mismatchedz7TestFromScalar.test_from_scalar_datetimelike_mismatched  s    UD!"..(CCH"--RDODhht,-]]9C0 	-e,	- Q]]9C0 	-e,	- 	-		- 	-	- 	-s   4B?+C?CCc                    |t         u s|t        u r:|t        u r2t        j                  j                  dd      }|j                  |       t        ddd      }d}|t        j                  u rt        j                  |d      }d} ||      }	t        |	      }
t        j                  |	      }t        |
      t        u sJ |
j                  j                   |k(  sJ ||k(  sJ y )	NziTimestamp constructor has been updated to cast dt64 to non-nano, but DatetimeArray._from_sequence has notTru  strict'  rT   rT  r  rS  )r@  r    r.  rp   rP  rW  applymarkerr
   r?   r   r  rC   	get_dtyper  r"   asm8r=   rE   r   r  r  r  r   rP  r  r  r   itemr=   s               rI   #test_from_out_of_bounds_ns_datetimez2TestFromScalar.test_from_out_of_bounds_ns_datetime  s    
 $;?f4;;$$E % D
 %$1%	"--]]63/FIV$F|V$DzY&&&yy)+++	!!!rK   c                 &   t        j                  t        j                  t         j                        j                  d      } ||      }t        |      }t        |      t         j                  u sJ t        j                  |      }|t        k(  sJ y r   )
r?   r   iinfor5   maxr  r  rC   r  r|   )rE   r   r  r   r  r=   s         rI   test_out_of_s_bounds_datetime64z.TestFromScalar.test_out_of_s_bounds_datetime64  sh    rxx155s;V$F|DzR]]***V$rK   c                    |t         u s|t        u r:|t        u r2t        j                  j                  dd      }|j                  |       t        ddd      t        ddd      z
  }d}|t        j                  u rt        j                  |d      }d	} ||      }	t        |	      }
t        j                  |	      }t        |
      t        u sJ |
j                  j                   |k(  sJ ||k(  sJ y )
NzoTimedeltaArray constructor has been updated to cast td64 to non-nano, but TimedeltaArray._from_sequence has notTr  r  rT   i  zm8[us]r  zm8[s])r@  r    r.  rp   rP  rW  r  r
   r?   r!  r  rC   r  r  r!   r  r=   r  s               rI   $test_from_out_of_bounds_ns_timedeltaz3TestFromScalar.test_from_out_of_bounds_ns_timedelta  s    
 $;?f4;;$$I % D
 %$1%q!(<<	".. ^^FC0FIV$F|V$DzY&&&yy)+++	!!!rK   c                      |t        j                  t         j                        j                  d      } ||      }t	        |      }t        |      |u sJ t        j                  |      }|t        k(  sJ y r   )	r?   r  r5   r  r  r  rC   r  r|   )rE   r   r  r  r   r  r=   s          rI    test_out_of_s_bounds_timedelta64z/TestFromScalar.test_out_of_s_bounds_timedelta64  sb     RXXbhh'++S1V$F|DzS   V$rK   c                     d}t        d|      }||t        u r|t        u r	d}t        }nd}t        }t        j                  ||      5   ||d       d d d        y # 1 sw Y   y xY w)	Nr:  r  r;  r  r  ri   ru   r<   )r"   r   r.  r   r   rp   rq   )rE   r   r  r   rR   r_  rr   errs           rI   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   fixturer@  r.  r  r   rP  rQ  r  r  r  r  r?   r   r!  r  r
   r  
skip_ubsanr  r   r  r   r  r   rK   rI   r  r  v  sq   V^^D$-. / ^^Y Y( [[Wx&:;" <"
5 [[UR]]BNN$CD- E-" [[UXr}}$=>" ?"6 [[  [[UY$?@" A"4 [[[[UR]]BNN$CD E ,rK   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     rI   as_tdzTestAllowNonNano.as_td  r  rK   c                    t        j                  d      j                  t         j                        j	                  d      }|r)||d   z
  }t        j                  ||j                        S t        j                  ||j                        S )Nr   rS  r   r<   )	r?   r@   rB   r5   r   r*   _simple_newr=   r&   )rE   r	  r   s      rI   rF   zTestAllowNonNano.arr   sh    1$$RXX.33G<fQi'F!--fFLLII ,,V6<<HHrK   c                 P    t        |      }|j                  |j                  k(  sJ y r   )r   r=   )rE   rF   r   s      rI   test_index_allow_non_nanoz*TestAllowNonNano.test_index_allow_non_nano)  s!    CjyyCII%%%rK   c                     |rt        j                  |      }nt        |      }|j                  |j                  k(  sJ y r   )r0  TimedeltaIndexr   r=   )rE   rF   r	  r   s       rI   test_dti_tdi_allow_non_nanoz,TestAllowNonNano.test_dti_tdi_allow_non_nano-  s5    ##C(C$CyyCII%%%rK   c                 P    t        |      }|j                  |j                  k(  sJ y r   )r    r=   )rE   rF   r  s      rI   test_series_allow_non_nanoz+TestAllowNonNano.test_series_allow_non_nano4  s!    SkyyCII%%%rK   c                 V    t        |      }|j                  d   |j                  k(  sJ y r   r   r/  r=   r  s      rI   test_frame_allow_non_nanoz*TestAllowNonNano.test_frame_allow_non_nano8  s%    s^yy|syy(((rK   c                 Z    t        d|i      }|j                  d   |j                  k(  sJ y r   r  r  s      rI   #test_frame_from_dict_allow_non_nanoz4TestAllowNonNano.test_frame_from_dict_allow_non_nano<  s*    3x yy|syy(((rK   N)r  r  r  rp   r  r	  rF   r  r  r  r  r  r   rK   rI   r  r    sX     V^^D%=) * ^^I I&&&))rK   r  )Lrn   collectionsr   r   r   r   collections.abcr   dataclassesr   r
   r	   r   r  r  numpyr?   r   numpy.mar   rp   rj  pandas._configr   pandas._libsr   pandas.compat.numpyr   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorsr+  pandas.core.dtypes.commonr   pandas.core.dtypes.dtypesr   r   r   r   pandasr0  r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   pandas._testing_testingrC   pandas.arraysr&   r'   r(   r)   r*   r*  r'  r7   r_  r{  r  r  r  r  r   rK   rI   <module>r*     s      % & 
  	      -  . , ) ) 6      "   7 	 ~*3 ~*3BVH0 H0V( (@q- q-h^, ^,D&) &)rK   