
    Goh                       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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-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 d dl8m9Z: d dl;m<Z<m=Z=m>Z>m?Z?m@Z@ g dZAg dZB G d d      ZC G d d      ZD G d d      ZE G d d      ZFd ZG G d d      ZH G d d      ZIy)    N)OrderedDictabcdefaultdict
namedtuple)Iterator)make_dataclass)datedatetime	timedelta)ma)mrecords)lib)np_version_gt2)IntCastingNaNError)is_integer_dtype)DatetimeTZDtypeIntervalDtypeNumpyEADtypePeriodDtype)CategoricalCategoricalIndex	DataFrameDatetimeIndexIndexInterval
MultiIndexPeriod
RangeIndexSeries	Timedelta	Timestampcut
date_rangeisna)DatetimeArrayIntervalArrayPeriodArraySparseArrayTimedeltaArray)float16float32float64)uint8uint16uint32uint64int8int16int32int64c                      e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zej                  j                  d
ddg      d        Zd Zej                  j                  dd d d d d d d d d d d g      d        Z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؄ Zdل Zdڄ Zej                  j                  d e&jN                  dMdMdMdM ejP                         dMg       e&jN                  dMdM ejP                         dMg       e&jR                  dܫ      gdMgg e&jR                  dܫ      gefjT                  ggdMg e&jR                  dܫ      ggdMgefjT                  ggefjT                  g e&jR                  dܫ      ggefjT                  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        Zd 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       /var/www/html/wine-match-dev/backend/winematch-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_dtypeN   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   rS   )	r#   _datar@   r   rB   rC   len_mgrblocks)rD   using_array_managerdtidtarF   rG   s         rH   &test_constructor_from_2d_datetimearrayz@TestDataFrameConstructors.test_constructor_from_2d_datetimearrayV   s    q\Bii1%s^QTs1a4y9:
b(+"rww~~&!+++ #rJ   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   indexrS   )r_   value)r!   
tz_convertas_unitr   rB   rC   )rD   r_   rF   rG   s       rH   )test_constructor_dict_with_tzaware_scalarzCTestDataFrameConstructors.test_constructor_dict_with_tzaware_scalara   s    12==>STZZbz!-dRD\*
b(+ bA3/0RDA378
b(+rJ   c                 V   t        j                  dt         j                  gddgg      }d}t        j                  t
        |      5  t        |d       d d d        t        j                  t
        |      5  t        |d   dd	       d d d        y # 1 sw Y   ?xY w# 1 sw Y   y xY w)
NrS   rR   r:   9Cannot convert non-finite values \(NA or inf\) to integermatchi8r;   r   r<   name)r>   arraynanpytestraisesr   r   r   )rD   rE   msgs      rH   -test_construct_ndarray_with_nas_and_int_dtypezGTestDataFrameConstructors.test_construct_ndarray_with_nas_and_int_dtypeo   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>   rD   rF   s     rH   %test_construct_from_list_of_datetimesz?TestDataFrameConstructors.test_construct_from_list_of_datetimesz   s<    78!u{{bhhx0000rJ   c                    t        ddgd      }|j                  d      }t        t        j                  |j                         d      d      }|j                  |j                  k(  sJ t        |      }t        j                  ||       y )Nz2013-1-1 13:00z2013-1-2 14:00Brl   rN   objectr;   )	r   tz_localizer   r>   rm   tolistr<   rB   assert_series_equal)rD   naiveidxrG   results        rH   +test_constructor_from_tzaware_datetimeindexzETestDataFrameConstructors.test_constructor_from_tzaware_datetimeindex~   su     /1ABM-"((3::<x@sK~~*** 
vx0rJ   c                 x    d}t        dddg|ddgi      }|j                  d      }dd|didd|dig}||k(  sJ y )	N_barS   rR   r:   r9   recordsorientr   to_dict)rD   col_underscorerF   dref_ds        rH   6test_columns_with_leading_underscore_work_with_to_dictzPTestDataFrameConstructors.test_columns_with_leading_underscore_work_with_to_dict   sZ    aV^aV<=JJiJ(q.!,sA~q.IJzzrJ   c                 x    d}t        dddg|ddgi      }|j                  d      }dd|didd|dig}||k(  sJ y )	N1_br   rS   rR   r:   r9   r   r   r   )rD   col_with_numrF   r   r   s        rH   Atest_columns_with_leading_number_and_underscore_work_with_to_dictz[TestDataFrameConstructors.test_columns_with_leading_number_and_underscore_work_with_to_dict   sZ    aV\Aq6:;JJiJ(q,*S!\1,EFzzrJ   c                    t        j                  dd      }t        j                  |gt              }|t        u r|j                  dd      }d}t        j                  t        |      5   ||d       d d d        y # 1 sw Y   y xY w)NNaTr^   r;   rS   =Invalid type for timedelta scalar: <class 'numpy.datetime64'>rh   m8[ns])	r>   
datetime64rm   r{   r   r@   ro   rp   	TypeError)rD   frame_or_seriesnatrE   rq   s        rH   ,test_array_of_dt64_nat_with_td64dtype_raiseszFTestDataFrameConstructors.test_array_of_dt64_nat_with_td64dtype_raises   sn    mmE4(hhuF+i'++a#CM]]9C0 	1Cx0	1 	1 	1s   *A>>BkindmMc                    |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   rt   r   rM   rj   r;   r:   rR   r   )r!   r    r>   r?   viewr@   r   r{   rW   arraysr<   
isinstanceravelr   r   )	rD   r   r   r<   scalar_typerE   objxserss	            rH   *test_datetimelike_values_with_object_dtypezDTestDataFrameConstructors.test_datetimelike_values_with_object_dtype   s    3;E#KE#Kii&++E2::1a@f$ad)Cc0xxq!''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   rS   rz   r   columns)r   ranger   rB   rC   )rD   r   yr   rG   s        rH   )test_series_with_name_not_matching_columnzCTestDataFrameConstructors.test_series_with_name_not_matching_column   sz    58!$58!$1qc*R!-
fh/1qc*R!-
fh/rJ   constructorc                      t               S Nr    rJ   rH   <lambda>z"TestDataFrameConstructors.<lambda>   s    IK rJ   c                      t        d       S r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   s
    IdO rJ   c                      t        d      S Nr   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   
    IbM rJ   c                      t        g       S r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   r   rJ   c                  &    t        d dD              S )Nc              3       K   | ]  }|  y wr   r   .0_s     rH   	<genexpr>z5TestDataFrameConstructors.<lambda>.<locals>.<genexpr>   s     _Aa_   r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   s    I__, rJ   c                  *    t        t        d            S Nr   r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   s    IeAh' rJ   c                      t        d       S Ndatar   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   s    I4( rJ   c                      t        d      S )Nr   r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>       I2& rJ   c                      t        g       S r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   r   rJ   c                  (    t        d dD              S )Nc              3       K   | ]  }|  y wr   r   r   s     rH   r   z5TestDataFrameConstructors.<lambda>.<locals>.<genexpr>   s     ?!A?r   r   r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   s    I?r?3 rJ   c                  ,    t        t        d            S )Nr   r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   s    I58, rJ   c                     t               } |       }t        |j                        dk(  sJ t        |j                        dk(  sJ t	        j
                  ||       y r   )r   rV   ra   r   rB   rC   rD   r   rG   r   s       rH   test_empty_constructorz0TestDataFrameConstructors.test_empty_constructor   sP    " ;6<< A%%%6>>"a'''
fh/rJ   c                      t        i       S r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   r   rJ   c                      t        i       S r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   r   rJ   c                     t        t        d      t        d            } |       }t        |j                        dk(  sJ t        |j                        dk(  sJ t        j                  ||d       y )Nr   ra   r   T)check_index_type)r   r   rV   ra   r   rB   rC   r   s       rH   #test_empty_constructor_object_indexz=TestDataFrameConstructors.test_empty_constructor_object_index   s_     :a=*Q-H6<< A%%%6>>"a'''
fhFrJ   z)emptylike,expected_index,expected_columnsrS   r   rR   c              #       K   | ]  }|  y wr   r   r   s     rH   r   z#TestDataFrameConstructors.<genexpr>  s     oQqor   r   c                 `    t        ||      }t        |      }t        j                  ||       y )Nr   r   rB   rC   )rD   	emptylikeexpected_indexexpected_columnsrG   r   s         rH   test_emptylike_constructorz4TestDataFrameConstructors.test_emptylike_constructor   s+     >;KL9%
fh/rJ   c                 T    |rdnt         j                  }|d   j                  |k(  sJ y )Nr=   foo)r>   object_r<   )rD   float_string_frameusing_infer_stringr<   s       rH   test_constructor_mixedz0TestDataFrameConstructors.test_constructor_mixed	  s(    +!%(..%777rJ   c                    d}t        j                  t        |      5  t        dg dit        j
                         d d d        t        t	        j                  d            }t	        j                  d      j                         |d<   d}t        j                  t        |      5  t	        j                  d      |d	<   d d d        t	        j                  d      j                         |d
<   y # 1 sw Y   xY w# 1 sw Y   <xY w)Nz!could not convert string to floatrh   r   r   bcr;   )r9   rR   r   z5Expected a 1D array, got an array with shape \(4, 2\)testfoo2)ro   rp   
ValueErrorr   r>   r,   onesr}   )rD   rq   rF   s      rH   test_constructor_cast_failurez7TestDataFrameConstructors.test_constructor_cast_failure  s     2]]:S1 	@sO,BJJ?	@ rwwv' GGFO**,5	 H]]:S1 	)BvJ	) WWV_++-6
	@ 	@	) 	)s    C/'C;/C8;Dc                 p    t        dgdgdgd      }t        |t        d      }d|d<   |d   d	   dk(  sJ y )
N      ?       @      @)col1col2col3Tr<   copyg      i@r   r   )r   float)rD   orig_dfnew_dfs      rH   test_constructor_dtype_copyz5TestDataFrameConstructors.test_constructor_dtype_copy"  sG    cUSEC5IJ7%d;vvq!S(((rJ   c                 :   t        ddgg      }t        ||d   j                        }|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)NrS   rR   r   r;   c   r   r   )r   r<   ilocvaluesrB   assert_cow_warning)rD   using_copy_on_writewarn_copy_on_writerF   should_be_views        rH   ,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 )
NrS   rR   r:   r9   r4   r;   r   a   r   )r   r   r<   r   rW   r   flagsc_contiguous)rD   rY   r  r  rF   r  df2s          rH   +test_constructor_dtype_nocast_view_2d_arrayzETestDataFrameConstructors.test_constructor_dtype_nocast_view_2d_array7  s     AA'w7"+>&ryy1DN )+N%99T?b((( BIIRU[[9C88??1%++8888rJ   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>   rm   r   r<   storageshares_memoryto_numpyr   r{   rD   r   rE   rF   s       rH   "test_1d_object_array_does_not_copyz<TestDataFrameConstructors.test_1d_object_array_does_not_copyG  s     hhSz2s'!u{{""i/ ''1(8#>>>##BIIs333s&u5		3///rJ   c                    t        j                  ddgddggd      }t        |d      }|rF|d	   j                  j                  d
k(  rnKt        j
                  |d	   j                         |      s$J t        j
                  |j                  |      sJ t        |t        d      }t        j
                  |j                  |      sJ y )Nr   r   r   r   r{   r;   Fr  r   r  r   r  r  s       rH   "test_2d_object_array_does_not_copyz<TestDataFrameConstructors.test_2d_object_array_does_not_copyY  s     hhc
S#J/x@s'!u{{""i/ ''1(8#>>>##BIIs333s&u5		3///rJ   c                 |    t        ddgd dggt              }|j                  d   J |j                  d   dk(  sJ y )NrS   2r   r;   rS   r   rT   )r   r{   locrv   s     rH    test_constructor_dtype_list_dataz:TestDataFrameConstructors.test_constructor_dtype_list_datak  sE    C4+.f=vvd|###vvd|s"""rJ   c                    t               }t        j                  d      }t        j                  t
        d      5  t        |g       d d d        t        j                  t
        d      5  t        |g       d d d        t        dddgi      }t        j                  t
        d      5  t        ||g       d d d        y # 1 sw Y   zxY w# 1 sw Y   VxY w# 1 sw Y   y xY w)Nr   zshape=\(1, 0, 0\)rh   ArS   rR   zshape=\(2, 2, 1\))r   r>   emptyro   rp   r   )rD   r   r   s      rH   "test_constructor_list_of_2d_raisesz<TestDataFrameConstructors.test_constructor_list_of_2d_raisesp  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  ry   Cintc           	         |dk(  rWt         }|D cg c]E  }t        j                  t        j                  j	                  d      j                  d      |      G }}n]|dk(  rXt
        }|D cg c]G  }t        j                  t        j                  j	                  d      j                  dd      |      I }}t              D ]  \  }}|j                  |k(  rJ  |j                  t        t        ||                   t        |      }t
        t         z   }|D ]  }||v s|j                  |   |k(  rJ  y c c}w c c}w )Nr"  rR   
   r;   r   )size)MIXED_INT_DTYPESr>   rm   randomdefault_rngMIXED_FLOAT_DTYPESintegerszipr<   updatedictr   dtypes)rD   typadr.  r   r   r   rF   s           rH   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 )NrR   r$  r   r   )
r>   r'  r(  rA   	complex64
complex128r   r<   r   r   rD   r   r   rF   s       rH   test_constructor_complex_dtypesz9TestDataFrameConstructors.test_constructor_complex_dtypes  s    II!!!$++B/66r||DII!!!$++B/66r}}EQQ'(ww"$$**$$$ww"$$**$$$rJ   c                 8   t        ddd gi|      }|j                         }t        dddgi      }t        j                  ||       |j                  d   J t        ddt
        j                  gi|      }t        j                  |j                  d         sJ y )Nr  r   r;   FTr  )r   r$   rB   rC   r   r>   rn   isnan)rD   string_dtyperF   r   rG   s        rH   $test_constructor_dtype_str_na_valuesz>TestDataFrameConstructors.test_constructor_dtype_str_na_values  s    c4[)>cE4=12
fh/wwt}$$$c266]+<@xx&&&rJ   c                    |j                  d      }t        |j                  j                        d d d   |j                  _        |j                  }t        |      }t        j                  |j                  t        |j                  j                               t        ||      }t        j                  |j                  t        |j                  j                               t        j                  |j                  |       t        j                  t        |            d d d   }t        ||ddg      }t        ||      j                  ddg      }t        j                  ||       y )NFr`   r!  ry   r   r   )
to_recordslistr<   namesra   r   rB   assert_index_equalr   r   r>   r?   rV   reindexrC   )	rD   float_framerecra   rF   r	  rngdf3rG   s	            rH   test_constructor_recz.TestDataFrameConstructors.test_constructor_rec  s	   $$5$1syy/"5		!!s^
bjj%		*@A5)
ckk5+AB
cii/ iiC!$B$'3c
;S,44c3Z4H
c8,rJ   c                     t        t        j                  dt              t        j                  dt              d      }|j
                  j                  t        j                  k(  sJ y )Nr$  r;   rT   )r   r>   r   boolzerosr   r<   bool_rv   s     rH   test_constructor_boolz/TestDataFrameConstructors.test_constructor_bool  sA    2772T2rxx$7OPQyy"((***rJ   c                    t        j                  t        dd      D cg c]  }d|z
  	 c}t         j                        }t	        d|i      }|d   j
                  t         j                  k(  sJ g d}ddg}t        j                  t        |      f|      }||d d  t	        |      }|d	   j
                  t         j                  k(  sJ y c c}w )
NrS   r$              r;   r   ))l   Y2<   )l   FJLW]L*    )l   M:M^ -   )l   8Ma i  )l   r*R3_PvN rO  )uidu8)scorerS  rR  )r>   rm   r   r0   r   r<   rJ  rV   )rD   ir   r   data_scoresr<   r   	df_crawlss           rH   test_constructor_overflow_int64z9TestDataFrameConstructors.test_constructor_overflow_int64  s    eArl;519;299MC=)c{  BII---
 0xx[)+59QdO	%%222# <s   Cr   rN  r;   A   l           l        l        c                 n    |d   }t        |      }|d   j                  t        k(  sJ |d   d   |k(  sJ y r   )r   r<   r{   rD   r   rb   r   s       rH   test_constructor_int_overflowz7TestDataFrameConstructors.test_constructor_int_overflow  sC     q	6"ay&(((ay|u$$$rJ   c                 z    |d   }t        |      }|d   j                  |j                  k(  sJ |d   d   |k(  sJ y r   r   r<   r[  s       rH   test_constructor_numpy_uintsz6TestDataFrameConstructors.test_constructor_numpy_uints  sG     q	6"ay%++---ay|u$$$rJ   c           	      6   d}t        t        |            }t        j                  j	                  d      j                  |       |D cg c]  }d|d
 }}t        t        t        |dgg|z                    }|t        |j                        k(  sJ y c c}w )Nd   rR   r  r   r   )
r?  r   r>   r'  r(  shuffler   r   r+  r   )rD   nitemsnumsrU  rG   rF   s         rH   test_constructor_ordereddictz6TestDataFrameConstructors.test_constructor_ordereddict  s    E&M"
		a ((.'+,!a!uI,,{3x1##@AB4

++++ -s   	Bc                 L   t        t        j                  dt        j                        t	        dd            }|dd  }t        ||d      }t        |      dk(  sJ t        |      dk(  sJ t        j                  |d	   |j                  d	             t        t        j                  t        j                  gdz  |j                  g      |j                  d
      }t        j                  ||d
          t        ||dg d      }t        |      t        |      k(  sJ d	|vsJ t        |d         j                         sJ t        t                     dk(  sJ d}t!        j"                  t$        |      5  t        dddg dd       d d d        y # 1 sw Y   y xY w)N   r;   
2020-01-01rP   r`   r   r   r      r   r   ra   rl   )r   r   col4r   r   r   <Mixing dicts with non-Series may lead to ambiguous ordering.rh   r   r   r3  r   r  ry   )r   r>   r?   r,   r#   r   rV   rB   r~   renameconcatenatern   r   ra   r$   allro   rp   r   )rD   datetime_seriesdatetime_series_shortframeexprq   s         rH   test_constructor_dictz/TestDataFrameConstructors.test_constructor_dict  s    IIb

+:lTV3W
 !0 3?<QRS ?#r)))()R///
uV}o.D.DV.LMNNRVVHqL*?*F*FGH!''

 	sE&M2$.CD,

 5zS!67777U"""E&M"&&((( 9;1$$$ M]]:S1 	I#C0GH	I 	I 	Is   =FF#c                 z    t        ddddi      }t        j                  |j                  t	        ddg             y )Nr  rS   rR   1r  rz  r  )r   rB   rA  ra   r   rD   ru  s     rH   test_constructor_dict_length1z7TestDataFrameConstructors.test_constructor_dict_length16  s3    3aa 012
ekk5#s+<=rJ   c                 X    t        g d      }t        i |      }|j                  |u sJ y )Nr   rS   rR   r`   )r   r   ra   rD   r   ru  s      rH    test_constructor_dict_with_indexz:TestDataFrameConstructors.test_constructor_dict_with_index;  s*    I"C({{c!!!rJ   c                     t        g d      }t        i ||      }|j                  |u sJ |j                  |u sJ t	        |j
                        dk(  sJ y )Nr~  r   r:   )r   r   ra   r   rV   _seriesr  s      rH   ,test_constructor_dict_with_index_and_columnszFTestDataFrameConstructors.test_constructor_dict_with_index_and_columnsA  sU    I"C5{{c!!!}}###5==!Q&&&rJ   c                 ~    t        g g dddg      }t        j                  |j                  t	        d      d       y )Nro  r  ry   r   r   Texact)r   rB   rA  ra   r   r{  s     rH   $test_constructor_dict_of_empty_listsz>TestDataFrameConstructors.test_constructor_dict_of_empty_listsI  s1    ,sCjA
ekk:a=ErJ   c                     t        dd idg      }t        dd gidg      }|j                  dd      J |j                  dd      J t        j                  ||       y )Nr   r   r`   )r   
_get_valuerB   rC   )rD   
frame_noneframe_none_lists      rH   test_constructor_dict_with_nonez9TestDataFrameConstructors.test_constructor_dict_with_noneN  sl     T{1#6
#S4&M!=$$Q,444))!S1999
j/:rJ   c                    d}t        j                  t        |      5  t        ddi       d d d        t        j                  t        |      5  t        ddidg       d d d        y # 1 sw Y   >xY w# 1 sw Y   y xY w)N2If using all scalar values, you must pass an indexrh   r   gffffff?r   ro   rp   r   r   rD   rq   s     rH   test_constructor_dict_errorsz6TestDataFrameConstructors.test_constructor_dict_errorsW  ss     C]]:S1 	"sCj!	" ]]:S1 	1sCj3%0	1 	1	" 	"	1 	1s   A)A5)A25A>scalarNDc                 j    t        d|idg      }t        dg      }t        j                  ||       y )Nr   r   r   r   )rD   r  r   rG   s       rH   %test_constructor_invalid_items_unusedz?TestDataFrameConstructors.test_constructor_invalid_items_unuseda  s2     C=3%8cU+
fh/rJ   rb   rn   c                 "   d|dg}d|g}ddgddgddgg}t        d      D ci c]  }||   t        ||   |       }}t        |      j                  d      j                  dd	      }t        t	        j
                  d
d      j                  dd      ||      }t        j                  ||       t        ||      j                  dd	      }t        j                  ||       t        |||      }t        j                  ||       y c c}w )NrS   r:   r   r   r9   rR   r   r`   axisrM   r4   r;   r   )	r   r   r   sort_valuesr>   r?   r@   rB   rC   	rD   rb   colsr   r   r   r   r   rG   s	            rH   test_constructor_dict_nan_keyz7TestDataFrameConstructors.test_constructor_dict_nan_keyh  s
    5!}Ela&1a&1a&)?DQxH!Qq	55HH4,,Q/;;Ca;HIIaw'//15S$
 	fh/4s+77!7D
fh/4sD9
fh/ Is   Dc                 ^   t        d|dfd|fg      }t        d|f|dfg      }ddgdd	gdd
gg}t        d      D ci c]  }||   t        ||   |       }}t        |      j	                  d      j	                  d|fd      }t        t        j                  dd      j                  dd      ||      }t        j                  ||       t        ||      j	                  d|fd      }t        j                  ||       t        |||      }t        j                  ||       y c c}w )N)            r   rR   r   r:   rS   r9   r   r`   r  rM   r4   r;   r   )
r   r   r   r   r  r>   r?   r@   rB   rC   r  s	            rH   #test_constructor_dict_nan_tuple_keyz=TestDataFrameConstructors.test_constructor_dict_nan_tuple_key{  s/    hb%[9:c5\E1:./a&1a&1a&)?DQxH!Qq	55HH4,,X6BBC<VWBXIIaw'//15S$
 	fh/4s+77e17M
fh/4sD9
fh/ Is   D*c                     t        t        j                  dt        j                        t	        dd            }|d d }||d}t        |      }t        |t        d	      
      }t        j                  ||       y )Nr$  r;   rh  ri  r`   r   r   r   r   bar   r   )	r   r>   r?   r,   r#   r   r?  rB   rC   )rD   rs  rt  r   ru  rG   s         rH   %test_constructor_dict_order_insertionz?TestDataFrameConstructors.test_constructor_dict_order_insertion  sm     IIb

+:lTV3W
 !0 3 (o>q!!T$Z8
eX.rJ   c                     t        t        j                  ddgdddgit        j                  dg      }t        ddgddggt        j                  dg      }t        j                  ||       y )NrS   rR   r:   r   )r   r>   rn   rB   rC   rD   r   rG   s      rH   )test_constructor_dict_nan_key_and_columnszCTestDataFrameConstructors.test_constructor_dict_nan_key_and_columns  s\    BFFQFA1v6Lq!fq!f-{C
fh/rJ   c                 h   g d}t        j                  |      }t        ||      }t        |      j                  j                         j                         sJ g d}t        j                  |      }t        ||      }t        |      j                  j                         j                         sJ y )N)rR   r:   r:   r:   r  r   )r  r  r  )r   from_tuplesr   r$   r   r   rr  )rD   tuplesmirF   s       rH   test_constructor_multi_indexz6TestDataFrameConstructors.test_constructor_multi_index  s     *##F+R,Bx$$&**,,,)##F+R,Bx$$&**,,,rJ   c                 f   t        dggdggddg      }t        ddgt        ddgd      t        dggdgg            }t        j                  ||       t        dggdggddgg      }t        ddgt        ddggddgg      t        dggdgg            }t        j                  ||       y )	NrS   rR   r   ra   r4   r;   r   )levelscodesr   )r   r   r   rB   rC   rD   rF   rG   s      rH   test_constructor_2d_indexz3TestDataFrameConstructors.test_constructor_2d_index  s     useAq6:FAg.seQC59

 	b(+useQF8<FaVHaVH=seQC59

 	b(+rJ   c           	      4   d}t        j                  t        |      5  t        t	        j
                  d      dg       d d d        d}t        j                  t        |      5  t        ddd	g d
d       d d d        d}t        j                  t        |      5  t        t	        j                  d      j                  d      g dt        dd             d d d        t	        j                  g dg      }d}t        j                  t        |      5  t        dgt        d      |       d d d        t	        j                  g d      }d}t        j                  t        |      5  t        dgt        d      |       d d d        t        j                  t        d      5  t        t	        j                  d      g ddg       d d d        d}t        j                  t        |      5  t        t        j                  j                  d      j                  d      g ddg       d d d        d}t        j                  t        |      5  t        t        j                  j                  d      j                  d      d d!gddg       d d d        d"}t        j                  t        |      5  t        t        d#      t        d#d$      fd%&       d d d        d'}t        j                  t        |      5  t        d(d)d	       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   [xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   9xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)*Nz)Empty data passed with indices specified.rh   r   rS   r`   rn  r   r   r3  r   ro  z:Shape of passed values is \(4, 3\), indices imply \(3, 3\)r8   )r9   r:   r   r  baz
2000-01-01r:   ri  r  r9   r   rM   z:Shape of passed values is \(1, 3\), indices imply \(1, 4\)r9   ra   r   r   z:Shape of passed values is \(3, 1\), indices imply \(1, 4\)Must pass 2-d inputr:   r:   r:   r   :Shape of passed values is \(2, 3\), indices imply \(1, 3\)rR   r  :Shape of passed values is \(2, 3\), indices imply \(2, 2\)r  ry   z,2 columns passed, passed data had 10 columnsr$     )r   twosr   r  FT)ro   rp   r   r   r>   r  r?   r@   r#   rm   r   rJ  r'  r(  )rD   rq   rE   s      rH   test_constructor_error_msgsz5TestDataFrameConstructors.test_constructor_error_msgs  s   9]]:S1 	.bhhqk!-	. M]]:S1 	I#C0GH	I L]]:S1 			"%%f-- q9	 hh	{#K]]:S1 	=QCq<	= hhy!K]]:S1 	=QCq<	= ]]:-BC 	Obhhy)?1#N	O L]]:S1 			%%a(//7'c	 L]]:S1 			%%a(//7c
!f	 =]]:S1 	LuRy%B-0:JK	L C]]:S1 	/E-.	/ 	/m	. 	.
	I 	I
	 		= 	=
	= 	=	O 	O
	 		 		L 	L	/ 	/sw   "L%L(>L5M.M*%M4>M)?M6;#NNL%(L25L?MMM&)M36M?NNc                     |d t        d      D               |d t        d      D              d}t        |      }t        |j                         D ci c]  \  }}|t        |j                               ! c}}      }t	        j
                  ||        ||j                               }t        |      }t	        j
                  ||       y c c}}w )Nc              3   *   K   | ]  }|d |z  f  yw)g      $@Nr   r   r   s     rH   r   zKTestDataFrameConstructors.test_constructor_subclass_dict.<locals>.<genexpr>        !CA1dQh-!C   r$  c              3   *   K   | ]  }|d |z  f  yw)g      4@Nr   r  s     rH   r   zKTestDataFrameConstructors.test_constructor_subclass_dict.<locals>.<genexpr>  r  r  rj  )r   r   itemsr-  rB   rC   )rD   dict_subclassr   rF   colvalrefdfs          rH   test_constructor_subclass_dictz8TestDataFrameConstructors.test_constructor_subclass_dict  s     "!Cr!CC!!Cr!CC
 t_$**,Ohc33SYY[ 11OP
eR(TZZ\*t_
eR( Ps   $C
c                 t   i }t         j                  |j                  d |j                  d   df<   |j	                         D ]8  \  }}t        t              }|j                  |j                                |||<   : t        |      }|j                  |j                        }t        j                  ||       y )Nr$  ry   r`   )r>   rn   r  ra   r  r   r-  r,  r   r   rB  rB   rC   )rD   rC  r   kvdctru  rG   s           rH   test_constructor_defaultdictz6TestDataFrameConstructors.test_constructor_defaultdict  s    8:/+++B//45%%' 	DAqd#CJJqyy{#DG	 $=={'8'8=9
k84rJ   c                     t        j                  g dg      }t        dgdgdgdgdg d      }t        j                  |j
                  |       y )N)      @r   r   r   r  r   r   r   )r   r   r   r   r   )r>   rm   r   rB   assert_numpy_array_equalr   )rD   rG   rF   s      rH   test_constructor_dict_blockz5TestDataFrameConstructors.test_constructor_dict_block  sK    88123%se3%se<(
 	##BIIx8rJ   c                    dddddddd}t        |t        	      }t        |      d
k(  sJ |d   j                  t        j
                  k(  sJ |d   j                  t        j
                  k(  sJ t        |      }t        |      d
k(  sJ |s"|d   j                  t        j                  k(  sJ 	 |d   j                  t        j
                  k(  sJ y )NrS   rR   ry  rz  r  3)rz  r  r  ro  r;   r:   ry   r  )r   r   rV   r<   r>   r,   r   )rD   r   	test_dataru  s       rH   test_constructor_dict_castz4TestDataFrameConstructors.test_constructor_dict_cast   s     !*s31OP	)515zQSz2::---Sz2::---)$5zQ5GuSz2::-RRUSz2::---rJ   c           
         t        t        t        d      t        d      D cg c]  }d| 	 c}            t        t        t        d      t        j                  j                  d      j                  d                  d}t        j                  t        d      5  t        |t               d d d        y c c}w # 1 sw Y   y xY w)	Nr  word_   rR   ro  zcould not convert stringrh   r;   )r-  r+  r   r>   r'  r(  standard_normalro   rp   r   r   r   )rD   rU  r  s      rH   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>   rn   r   r   r   )rD   r   rF   s      rH   !test_constructor_dict_dont_upcastz;TestDataFrameConstructors.test_constructor_dict_dont_upcast6  s7    j"&&9:q\"V*V,e444rJ   c                 d    t        ddgddggddgddg      }t        |d   d   t              sJ y )NrS   rR   r   r   r   )r   r   r"  )rD   dms     rH   "test_constructor_dict_dont_upcast2z<TestDataFrameConstructors.test_constructor_dict_dont_upcast2;  s=    Ac
+Aq6Aq6J"Q%(C(((rJ   c           
          ddd}t        |      }t        |j                         D ci c]  \  }}|t        |       c}}      }t        j                  ||d       y c c}}w )NrS   rR   r:   r  r3  Fcheck_dtype)r   r  r?  rB   rC   )rD   r   r   r  r  rG   s         rH   test_constructor_dict_of_tuplesz9TestDataFrameConstructors.test_constructor_dict_of_tuples?  sT    Y/4TZZ\BTQaajBC
fhEB Cs   A 
c                     t        d      t        dd      d}t        |      }t        g dg dd      }t        j                  ||       y )Nr:   rM   r3  r~  )r:   r9   r   )r   r   rB   rC   rD   r   r   rG   s       rH   test_constructor_dict_of_rangesz9TestDataFrameConstructors.test_constructor_dict_of_rangesG  s>    1XE!QK0499=>
fh/rJ   c                     t        t        d            t        t        d            d}t        |      }t        g dg dd      }t	        j
                  ||       y )Nr:   r3  r~  rR   rS   r   )iterr   reversedr   rB   rC   r  s       rH   "test_constructor_dict_of_iteratorsz<TestDataFrameConstructors.test_constructor_dict_of_iteratorsO  sE    %(^(58*<=499=>
fh/rJ   c                     d t        d      D        d t        t        d            D        d}t        |      }t        g dg dd      }t        j                  ||       y )Nc              3       K   | ]  }|  y wr   r   r   rU  s     rH   r   zPTestDataFrameConstructors.test_constructor_dict_of_generators.<locals>.<genexpr>Y  s     ,Aa,r   r:   c              3       K   | ]  }|  y wr   r   r  s     rH   r   zPTestDataFrameConstructors.test_constructor_dict_of_generators.<locals>.<genexpr>Y  s     3R!A3Rr   r3  r~  r  )r   r  r   rB   rC   r  s       rH   #test_constructor_dict_of_generatorsz=TestDataFrameConstructors.test_constructor_dict_of_generatorsW  sL    ,%(,3Rxa?Q3RS499=>
fh/rJ   c           
      6   dddddddddd	d
dd}t        |j                               }t        |      }t        |D cg c]  }|d   	 c}t        j                  |D cg c]  }|d   	 c}            j
                  }t        j                  |j                        |_        t        j                  ||       ddddd|d<   |j                  dd|d   f       t        |D cg c]  }|d   	 c}t        |D cg c]  }|d   	 c}d            j
                  }t        |j                  d      |_        t        |      }|j                  |j                  |j                        }t        j                  ||       y c c}w c c}w c c}w c c}w )Nr   rS   rR   )rU  rU  rU  jr   rU  rM   r   r9         	   ))r   r   r  )r   r   r`   g     ^@o   )r   r  r  r  zF)tupleize_colsr  )sortedr  r   r   r  Tra   rB   rC   insertr   rB  r   )rD   r   _drF   r   rG   s         rH    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 )NrR   )	enumerate)r   rU  sdates_as_strs      rH   create_datazUTestDataFrameConstructors.test_constructor_dict_datetime64_index.<locals>.create_data}  s2    ;D\;RS41aAAA..SSSs   ,c                 .    t        j                  | d      S )Nz%Y-%m-%d)r
   strptimer   s    rH   r   zRTestDataFrameConstructors.test_constructor_dict_datetime64_index.<locals>.<lambda>  s    h.?.?:.N rJ   r   r   rS   rR   r:   rR   r9   rM   r`   )r>   r   r!   r   rB   rC   )rD   r  data_datetime64data_datetimedata_Timestampr_   rG   result_datetime64result_datetimeresult_Timestampr  s             @rH   &test_constructor_dict_datetime64_indexz@TestDataFrameConstructors.test_constructor_dict_datetime64_indexy  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    rH   r   z"TestDataFrameConstructors.<lambda>  s    r~~a- rJ   r   c                     t        |       S )N)days)r   r  s    rH   r   z"TestDataFrameConstructors.<lambda>  s    ya( rJ   pytimedeltac                     t        | d      S r  )r    r  s    rH   r   z"TestDataFrameConstructors.<lambda>  s    yC( rJ   zTimedelta[ns]c                 8    t        | d      j                  d      S )Nr  r  )r    rd   r  s    rH   r   z"TestDataFrameConstructors.<lambda>  s    yC(005 rJ   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rS   rR   r:   r9   rR   r   r  r9   rM   r  r`   )r  r   r    rB   rC   )
rD   klassrl   	td_as_intrU  r  r   tdrG   r   s
             rH   'test_constructor_dict_timedelta64_indexzATestDataFrameConstructors.test_constructor_dict_timedelta64_index  s     !	1:91EFAE!Ha!e$$FF$4D1Q4D1TaD1Tdq1	 1::"9R%:
 4
fh/ G ;s   BB
c                    t        j                  g dd      }t        j                  g dd      }t        ||d      }|d   j                  |j                  k(  sJ |d   j                  |j                  k(  sJ t        |j	                  t
              j                         |j	                  t
              j                         d      }|d   j                  |j                  k(  sJ |d   j                  |j                  k(  sJ y )	N)z2012-01r   z2012-04r   freq)z
2012-02-01z
2012-03-01r   r  r3  r   r   )pdPeriodIndexr   r<   rA   r{   r}   r6  s       rH   test_constructor_period_dictz6TestDataFrameConstructors.test_constructor_period_dict  s    NN8sCNN>SIQQ'(#w}}'''#w}}''' QXXf-446QXXf=M=T=T=VWX#w}}'''#w}}'''rJ   c                     |\  }}t        d|idg      }|d   j                  |k(  sJ t        dgdg|      }t        j                  ||       y )Nr   r   r`   r  )r   r<   rB   rC   )rD   ea_scalar_and_dtype	ea_scalarea_dtyperF   rG   s         rH   &test_constructor_dict_extension_scalarz@TestDataFrameConstructors.test_constructor_dict_extension_scalar  sW    1	8Y's3#w}}(((A3IF
b(+rJ   z
data,dtypez2020-01r   )leftrightr4   r8  z
2011-01-01
US/EasternrQ   r  )unitrQ   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   rS   r   r   r  rR   r;   r3  )r   r<   r/  rm   rB   rC   )rD   r   r<   rF   rE   rG   s         rH   &test_constructor_extension_scalar_dataz@TestDataFrameConstructors.test_constructor_extension_scalar_data  s{     aVc3ZdC#w}}%%%#w}}%%%hhvz/3S12
b(+rJ   c                 h   t        j                  dd      }t        t        j                  j                  d      j                  d      |      }i }|j                  D ]8  }|j                  D ]'  }|j                  ||      |j                  |i       |<   ) : t        ||      }t        j                  ||       i }|j                  D ]8  }|j                  D ]'  }|j                  ||      |j                  |i       |<   ) : t        ||      j                  }t        j                  ||       y )Nz1/1/2000r   ri  rR   r$  r   r   r`   )r/  period_ranger   r>   r'  r(  r  r   ra   r  
setdefaultrB   rC   r	  )rD   rE  rF   r   r  rowr   s          rH   "test_nested_dict_frame_constructorz<TestDataFrameConstructors.test_nested_dict_frame_constructor  s   ooj!4ryy,,Q/??HRUV:: 	HCxx H02c30GR(-H	H 4-
fb):: 	HCxx H02c30GR(-H	H 4s+--
fb)rJ   c                     |dt               }t        |g dddg      }t        |j                        dk(  sJ t        |j                        dk(  sJ t         |d      d	gg d
      }t        |j                        dk(  sJ t        |j                        dk(  sJ |t
        j                  urHd}t        j                  t        |      5  t        |g dddgt
        j                         d d d        y t        |g dddgt
        j                        }|j                  j                  t
        j                  k(  sJ d}t        j                  t        |      5  t        |g ddg       d d d        d}t        j                  t        |      5  t        |d	dgddg       d d d        t        j                  t        d      5  t         |d      g ddg       d d d        t        |      }t        j                  |j                  t!        t#        d            d       t        j                  |j                  t!        t#        d            d       t        |ddg      }t        j                  |j                  t!        t#        d            d       t        |g d      }t        j                  |j                  t!        t#        d            d       t         |d            }t        |j                        dk(  sJ t         |d            }t        |j                        dk(  sJ y # 1 sw Y   y xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w)Nr  r;   r   rS   rR   r  r:   )r:   r  r  rg   rh   r   ra   r<   r  r  ry   r  r  Tr  r`   r   )r   r:   r   )r:   r   )r   r   rV   ra   r   r>   r   ro   rp   r   r4   r   r<   r   rB   rA  r   r   )rD   r  matru  rq   s        rH   _check_basic_constructorz2TestDataFrameConstructors._check_basic_constructor  s    F%(#q!fE5;;1$$$5==!Q&&& %+uIF5;;1$$$5==!Q&&&NC1= V#q!fBHHUV_QF"((E <<%%111 L]]:S1 	?c?1#>	?K]]:S1 	=cC:aV<	= ]]:-BC 	LeI&sK	L #
ekk5q?$G
emmU58_DI#aV,
emmU58_DI#7
ekk5q?$G %-(5;;1$$$%-(5==!Q&&&KV	? 	?	= 	=	L 	Ls0   "L>!M
MM$>M
MM!$M.c                     | j                  t        j                         t        ddgddgdg      }t	        |      dk(  sJ y )Nr   r  r   rS   r  r   rR   )rG  r>   r   r   rV   r{  s     rH   test_constructor_ndarrayz2TestDataFrameConstructors.test_constructor_ndarray+  s<    %%bgg.5%.AF5zQrJ   c                    | j                  t        j                         t        j                  dt              }d|d<   d|d<   t	        |g ddd	g
      }d|d   d   k(  sJ d|d   d	   k(  sJ t        j                  dt              }t	        |g ddd	g
      }t        j                  t        j                  ||k(               sJ y )Nr  r;   r   r   r   rS   rR   r   rS   rR   r  r  r!  )rG  r   
masked_allr   r   r>   rr  asarray)rD   rF  ru  s      rH   test_constructor_maskedarrayz6TestDataFrameConstructors.test_constructor_maskedarray1  s    %%bmm4 mmF%0D	D	#q!fEeCjm###eCjm### mmF%0#q!fEvvrzz%5.11222rJ   z7ignore:elementwise comparison failed:DeprecationWarningc                    t        j                  dt              }t        |g dddg      }t	        |j
                        dk(  sJ t	        |j                        dk(  sJ t        j                  t        j                  ||k(               sJ t        |g dddgt        j                        }|j                  j                  t        j                  k(  sJ t        j                  |      }d|d	<   d|d
<   t        |g dddg      }d|d   d   k(  sJ d|d   d   k(  sJ t        j                  dd      }t        |g dddg      }t	        |j
                        dk(  sJ t	        |j                        dk(  sJ t        |      j                  j                         sJ d}t        j                   t"        |      5  t        |g dddgt        j$                         d d d        t        j                  |      }d|d	<   d|d
<   t        |g dddg      }d|d   j'                  d      d   k(  sJ d|d   j'                  d      d   k(  sJ t        j                  dt(              }t        |g dddg      }t	        |j
                        dk(  sJ t	        |j                        dk(  sJ t        j                  t        j                  ||k(               sJ t        |g dddgt*              }|j                  j                  t*        k(  sJ t        j                  |      }d|d	<   d|d
<   t        |g dddg      }|d   d   du sJ |d   d   du sJ y # 1 sw Y   xY w)Nr  r;   r   rS   rR   r  r:   rE  r   rK  r  r!  rt   z8datetime64\[ns\] values and dtype=int64 is not supportedrh   rj   TF)r   rL  r"  r   rV   ra   r   r>   rr  rM  r,   r   r<   r   r$   ro   rp   r   r4   rA   rI  r{   )rD   rF  ru  mat2rq   s        rH   %test_constructor_maskedarray_nonfloatz?TestDataFrameConstructors.test_constructor_maskedarray_nonfloatA  s6   
 mmF#.#q!fE5;;1$$$5==!Q&&&vvrzz%5.11222 #q!fBJJW||!!RZZ/// wws|T
T
$1vFE#JqM!!!E#JqM!!! mmF(3#q!fE5;;1$$$5==!Q&&&E{!!%%''' J]]9C0 	Rc?1a&Q	R wws|T
T
$1vFE#J%%d+A....E#J%%d+A.... mmF$/#q!fE5;;1$$$5==!Q&&&vvrzz%5.11222 #q!fFS||!!V+++ wws|T
T
$1vFSz!}$$$Sz!}%%%=	R 	Rs   "M&&M0c                 0   t        j                  dt              j                         }t	        |ddgddg      }t	        t
        j                  t
        j                  gt
        j                  t
        j                  gdddgddgt        	      }t        j                  ||       t        j                  dt              j                         }t	        |ddgddg      }t	        d
d
gd
d
gdddgddgt        	      }t        j                  ||       y )N)rR   rR   r;   r  ry   rS   rR   r  ro  rE  r   )
r   rL  r   harden_maskr   r>   rn   rB   rC   r   )rD   mat_hardr   rG   s       rH   %test_constructor_maskedarray_hardenedz?TestDataFrameConstructors.test_constructor_maskedarray_hardened  s    ==u5AAC8c3Z1vF66266""&&"&&)9:#Ja&	
 	fh/776/;;=8c3Z1vF*C:.#Ja&	
 	fh/rJ   c                 P   t         j                  j                  t         j                  j                  dddg      dgdz        }|j	                  t
        j                        }t        j                  t        d      5  t        |t               d d d        y # 1 sw Y   y xY w)	Nr   )r	   <f8)pricerW  r;   F)maskzPass \{name: data\[name\]rh   )r>   r   rm   rJ  r   r   	mrecarrayro   rp   r   r   r"  rD   r   s     rH   %test_constructor_maskedrecarray_dtypez?TestDataFrameConstructors.test_constructor_maskedrecarray_dtype  s    uu{{EEKK/3C!DKEUGVWK  
 yy++,]]9,HI 	'd#&	' 	' 	's   BB%c                 R    t        g       }|j                  j                  dk(  sJ y )Nr`   r   )r   r   shaperv   s     rH   test_constructor_corner_shapez7TestDataFrameConstructors.test_constructor_corner_shape  s"    R yy&(((rJ   z%data, index, columns, dtype, expectedr$  r   r   r,   r   c                 V    t        ||||      }|j                  j                  |k(  sJ y r   )r   r   r<   )rD   r   ra   r   r<   rG   rF   s          rH   test_constructor_dtypez0TestDataFrameConstructors.test_constructor_dtype  s*     tUGU3yy(***rJ   zdata,input_dtype,expected_dtype)TFNbooleanr   r   NFloat64)rS   rR   NInt64r   stringc                 T    t        d|i|      }|d   j                   |       k(  sJ y )Nr   r;   r^  )rD   r   input_dtypeexpected_dtyperF   s        rH   0test_constructor_dtype_nullable_extension_arrayszJTestDataFrameConstructors.test_constructor_dtype_nullable_extension_arrays  s-     T{+6#w}} 0000rJ   c                    dddddd}t        |t        j                  d            }|d	   j                  t        j                  k(  sJ |d
   j                  t        j
                  k(  sJ |d   j                  t        j                  k(  sJ |d   j                  t        j                  k(  sJ |s"|d   j                  t        j                  k(  sJ y y )NrS   Tr   y              @r   )r"  rI  r   complexr{   r$  r`   r"  rI  r   rl  r{   )	r   r>   r?   r<   r4   rK  r,   r5  r   )rD   r   r   rF   s       rH   !test_constructor_scalar_inferencez;TestDataFrameConstructors.test_constructor_scalar_inference  s    $uUt299R=1%y"((***&z288+++'{  BJJ...)}""bmm3337Ir(|!!RZZ/TTu/rJ   c                 ^   t        t        j                  j                  d      j	                  d      dd      }t        |d   j
                  dgdz  d      }t        j                  ||       t        j                  t        d      5  t        ddd       d d d        y # 1 sw Y   y xY w)	NrR   r$  Tr3  r   zmust pass an indexrh   F)r   r>   r'  r(  r  r   rB   rC   ro   rp   r   )rD   rF   rv  s      rH   #test_constructor_arrays_and_scalarsz=TestDataFrameConstructors.test_constructor_arrays_and_scalars  s    RYY2215EEbIPTUVbgnnD6B;?@
b#&]]:-AB 	/E-.	/ 	/ 	/s   B##B,c                     t        |      }t        j                  ||       t        |t        j                        }|j
                  j                  t        j                  k(  sJ y Nr;   )r   rB   rC   r>   r4   r   r<   )rD   rC  rF   	df_casteds       rH   test_constructor_DataFramez4TestDataFrameConstructors.test_constructor_DataFrame  sJ    {#
b+.k:	%%111rJ   c                 t    t        t               d      }t        g d      }t        j                  ||       y )Nr{   r;   r   )rD   actualrG   s      rH    test_constructor_empty_dataframez:TestDataFrameConstructors.test_constructor_empty_dataframe  s,    9;h7Rx0
fh/rJ   c                    t         j                  j                  d      j                  d      }t	        |dgt        j
                  d            }|j                  j                  dk(  sJ t         j                  j                  d      j                  d      }t	        |      }|j                  j                  dk(  sJ |j                  j                  dk(  sJ t	        ddgt        j
                  d            }|j                  j                  dk(  sJ t	        ddg      }|j                  j                  d	k(  sJ t	        t        j
                  d      
      }|j                  j                  dk(  sJ t        j                  ddgt              j                  dd      }d}t        j                  t        |      5  t	        |ddgdgt               d d d        t	        t	        |j                               }t#        j$                  ||       t	        t        j&                  dt(              t        j&                  dt         j*                        dt        j
                  d      
      }t-        |j.                        dk(  sJ |j                  j0                  t         j*                  k(  sJ y # 1 sw Y   xY w)NrR   r$  r  r  r   ry   r$  rR   r   )r   rR   r`   )r$  r   r   r  r;   rS   z(could not convert string to float: 'foo'rh   ra   r   r<   ro  )r>   r'  r(  r  r   r?   r   ndimr^  rm   r{   r@   ro   rp   r   r   r  rB   rC   r   r"  r,   rV   r   r<   )rD   rC  rE   r  rF  rq   s         rH   test_constructor_morez/TestDataFrameConstructors.test_constructor_more  s   ii##A&66r:sSE2?yy~~"""ii##A&66q9s^yy~~"""yy~~""" Sz2?yy')))Sz*yy&(((RYYr]+yy'))) hhu~V4<<QB8]]:S1 	Cc!Q!EB	C y!4!456
b+. ''"C(rwwr/LM))B-

 2::!###yy"**,,,	C 	Cs   J;;Kc                 $   t        g g       }t        g       }t        j                  ||       t        g ddg      }t        i ddg      }t        j                  ||       d }t         |       ddg      }t        j                  ||       y )Nr`   r  ry   r   c               3   $   K   dE d {    y 7 wr   r   r   rJ   rH   	empty_genzHTestDataFrameConstructors.test_constructor_empty_list.<locals>.empty_gen  s     MMs   r   )rD   rF   rG   r~  s       rH   test_constructor_empty_listz5TestDataFrameConstructors.test_constructor_empty_list  s    r$2&
b(+ rC:.R#s4
b(+	 y{S#J7
b(+rJ   c                 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 )
NrS   r   rR   r   numr=   r  r   r$  )
r   r   r<   r>   r   r?   r   rm   rB   rC   )rD   r   rF   rG   r   r   r   s          rH   test_constructor_list_of_listsz8TestDataFrameConstructors.test_constructor_list_of_lists  s    aX3x05%.I5	***4Fr%y"**,QQE 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 )NrS   rR   r;   r   )rR   rS   )r   r>   rm   r{   r   r/  rB   rC   r^  r  r   )rD   serrE   rF   rG   s        rH   .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#6rJ   c                     t        d      t        d      g}t        g dg dg|      }t        j                  |      }t        g dg dg|      }t	        j
                  ||       y )Nabcdcdefr'  r9   r   rM   r  r   )r?  r   r   from_arraysrB   rC   )rD   r   r   r  rG   s        rH   2test_constructor_list_like_data_nested_list_columnzLTestDataFrameConstructors.test_constructor_list_like_data_nested_list_column8  sV    v,V-L,7H##F+lL92F
fh/rJ   c                     t        d      t        d      g}d}t        j                  t        |      5  t	        g dg dg|       d d d        y # 1 sw Y   y xY w)Nr   cdez#3 columns passed, passed data had 4rh   r'  r  r   r?  ro   rp   r   r   rD   r   rq   s      rH   0test_constructor_wrong_length_nested_list_columnzJTestDataFrameConstructors.test_constructor_wrong_length_nested_list_columnB  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 lengthrh   r'  r  r   r  r  s      rH   2test_constructor_unequal_length_nested_list_columnzLTestDataFrameConstructors.test_constructor_unequal_length_nested_list_columnJ  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!   rB   rC   r  s       rH   &test_constructor_one_element_data_listz@TestDataFrameConstructors.test_constructor_one_element_data_listS  s@     4y3%@cIl$;#<q#@AB
fh/rJ   c                      G d dt         j                        } |ddg       |ddg      g}ddg}t        ||	      }t        ddgddgg|	      }t        j                  ||d
       y )Nc                   &    e Zd ZddZd ZdefdZy)PTestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainerreturnNc                     || _         y r   )_lst)rD   lsts     rH   __init__zYTestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainer.__init__g  s	    	rJ   c                 8    | j                   j                  |      S r   )r  __getitem__)rD   ns     rH   r  z\TestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainer.__getitem__j  s    yy,,Q//rJ   c                 6    | j                   j                         S r   )r  __len__)rD   s    rH   r  zXTestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainer.__len__m  s    yy((**rJ   )r  N)__name__
__module____qualname__r  r  r"  r  r   rJ   rH   DummyContainerr  f  s     0+ +rJ   r  rS   r   rR   r   r  r=   r   Fr  )r   Sequencer   rB   rC   )rD   r  lst_containersr   r   rG   s         rH   test_constructor_sequence_likez8TestDataFrameConstructors.test_constructor_sequence_likeb  sp    	+S\\ 	+ )!S2NAs84LM%.>7;q#hC17C
fhEBrJ   c           	         t        dt        j                  dt        d            i      }t        dt        t        d            i      }t	        j
                  ||d       t        t        t        d            t        t        d            g      }t        t        j                  dt        d            t        j                  dt        d            g      }t	        j
                  ||d       y )Nr  rU  r$  Fr  )r   rm   r   r?  rB   rC   r  s      rH   test_constructor_stdlib_arrayz7TestDataFrameConstructors.test_constructor_stdlib_arrayv  s     CS%)!<=>c4b	?34
fhEBd59otE"I?@EKKU2Y7S%PR)9TUV
fhEBrJ   c                     t        t        d            }t        t        t        d                  }t        j                  ||       y Nr$  r   r   r?  rB   rC   r  s      rH   test_constructor_rangez0TestDataFrameConstructors.test_constructor_range  s2    59%T%)_-
fh/rJ   c                     t        t        d      t        d      g      }t        t        t        d            t        t        d            g      }t        j                  ||       y r  r  r  s      rH   test_constructor_list_of_rangesz9TestDataFrameConstructors.test_constructor_list_of_ranges  sH    E"IuRy12d59otE"I?@
fh/rJ   c                      G d d      }t        g dgdz        }t         |             }t        j                  ||       y )Nc                       e Zd ZdefdZy)ATestDataFrameConstructors.test_constructor_iterable.<locals>.Iterr  c              3   8   K   t        d      D ]  }g d 
 y w)Nr$  r  )r   )rD   rU  s     rH   __iter__zJTestDataFrameConstructors.test_constructor_iterable.<locals>.Iter.__iter__  s     r $A#O$s   N)r  r  r  r   r  r   rJ   rH   Iterr    s    $( $rJ   r  r  r$  r   )rD   r  rG   r   s       rH   test_constructor_iterablez3TestDataFrameConstructors.test_constructor_iterable  s;    	$ 	$
 i[2-.46"
fh/rJ   c                     t        t        t        d                  }t        t        t        d                  }t	        j
                  ||       y r  r   r  r   r?  rB   rC   r  s      rH   test_constructor_iteratorz3TestDataFrameConstructors.test_constructor_iterator  s6    4b	?+T%)_-
fh/rJ   c                     t        t        t        d            t        t        d            g      }t        t        t        d            t        t        d            g      }t	        j
                  ||       y r  r  r  s      rH   "test_constructor_list_of_iteratorsz<TestDataFrameConstructors.test_constructor_list_of_iterators  sP    DrOT%)_=>d59otE"I?@
fh/rJ   c                    d t        d      D        }d t        d      D        }t        t        t        d            t        t        d            g      }t        ||g      }t        j                  ||       d t        d      D        }t        |      }t        t        d      dd      }t        j                  ||d       y )	Nc              3       K   | ]  }|  y wr   r   r  s     rH   r   zGTestDataFrameConstructors.test_constructor_generator.<locals>.<genexpr>       %a%r   r$  c              3       K   | ]  }|  y wr   r   r  s     rH   r   zGTestDataFrameConstructors.test_constructor_generator.<locals>.<genexpr>  r  r   c              3   $   K   | ]  }|d g 
 yw)r   Nr   r  s     rH   r   zGTestDataFrameConstructors.test_constructor_generator.<locals>.<genexpr>  s     +A3x+s   r   rT   Fr  )r   r   r?  rB   rC   )rD   gen1gen2rG   r   gens         rH   test_constructor_generatorz4TestDataFrameConstructors.test_constructor_generator  s     &59%%59%d59otE"I?@D$<(
fh/+r+3rs34
fhEBrJ   c                 t    t        i g      }t        t        d      g       }t        j                  ||       y )NrS   r   )r   r   rB   rC   r  s      rH   test_constructor_list_of_dictsz8TestDataFrameConstructors.test_constructor_list_of_dicts  s-    B4:a="=
fh/rJ   c                     t        ddg      }t        ddg      }t        d|fd|fg      }t        |      }ddgdd	gd
}t        |ddg      }t        j                  ||       y )N)r   rS   )r   rR   )r   rR   )r   r   r   r   rS   rR   r   )r   r   r   r   )r   ra   )r   r   rB   rC   )rD   nested1nested2r   r   rG   s         rH   3test_constructor_ordered_dict_nested_preserve_orderzMTestDataFrameConstructors.test_constructor_ordered_dict_nested_preserve_order  st    x23x23VW-/@AB4AA/$sCj9
fh/rJ   	dict_typec                     t        ddggddg      } |       }dg|d<   dg|d<   t        |      }t        j                  ||        |       }d|d<   d|d<   t        |g      }t        j                  ||       y )NrR   rS   r   r   r   r   )rD   r  rG   r   r   s        rH   ,test_constructor_ordered_dict_preserve_orderzFTestDataFrameConstructors.test_constructor_ordered_dict_preserve_order  s     q!fXSz:{CS	CS	4
fh/{S	S	D6"
fh/rJ   c                 :    |       }d|d<   d|d<    |       }d|d<   d|d<   ddd}t        ddgddggddg      }t        ||g      }t        j                  ||       t        ddgddgddggddg      }t        |||g      }t        j                  ||       y )NrR   r   rS   r   r  r   r   )rD   r  row_onerow_two	row_threerG   r   s          rH   0test_constructor_ordered_dict_conflicting_orderszJTestDataFrameConstructors.test_constructor_ordered_dict_conflicting_orders  s     ++!$	q!fq!f-SzBGW-.
fh/q!fq!fq!f5SzJGWi89
fh/rJ   c           
          t        d      D cg c]  }t        |g dt        |             }}t        |      }t        g dg dg ddg dg d      }t	        j
                  ||       y c c}w )Nr:   )r   r   r   rl  r~  )0rz  r  r  )r   r   r=   r   rB   rC   )rD   rU  seriesr   rG   s        rH   -test_constructor_list_of_series_aligned_indexzGTestDataFrameConstructors.test_constructor_list_of_series_aligned_index  sb    INqRA&/A?RR6"))<#!

 	fh/ Ss    A.c                      G d dt               }ddd} ||      g}|g}t        |      }t        |      }t        j                  ||       y )Nc                       e Zd Zy)TTestDataFrameConstructors.test_constructor_list_of_derived_dicts.<locals>.CustomDictNr  r  r  r   rJ   rH   
CustomDictr        rJ   r        ?r:   r3  )r-  r   rB   rC   )rD   r  r   data_customr   result_customr   s          rH   &test_constructor_list_of_derived_dictsz@TestDataFrameConstructors.test_constructor_list_of_derived_dicts  sO    	 	 A!!}os!+.4
fm4rJ   c                 4   t         j                  j                  d      j                  d      t         j                  j                  d      j                  d      d}t	        j
                  t        d      5  t        |       d d d        y # 1 sw Y   y xY w)NrR   r$  r  ro  z%All arrays must be of the same lengthrh   )r>   r'  r(  r  ro   rp   r   r   r[  s     rH   test_constructor_raggedz1TestDataFrameConstructors.test_constructor_ragged  sp    &&q)99"=&&q)99!<
 ]]:-TU 	dO	 	 	s   9BBc                     t        t        d            }t        ddi|      }t        dg di|      }t        j                  ||d       y )Nr:   r   r   r`   )r   r   r   Fr  )r   r   r   rB   rC   )rD   r   rF   rG   s       rH   test_constructor_scalarz1TestDataFrameConstructors.test_constructor_scalar  sB    E!HoQxs+c9-S9
b(>rJ   c                 \    t        |d   |j                  dg      }|j                          y )Nr  r   )r   ra   r   )rD   rC  rF   s      rH    test_constructor_Series_copy_bugz:TestDataFrameConstructors.test_constructor_Series_copy_bug  s&    {3'{/@/@3%P
	rJ   c                    i }dddd|d<   t        g dg d      |d	<   t        |      }|j                  j                  sJ t	        j
                  t        d
      5  t        ddgdddd       d d d        t        ddgt        ddgddg      d      }t        ddgddgdddg      }t        j                  ||       y # 1 sw Y   UxY w)NrS   rR   r:   r  r  )r9   r:   rR   rS   )r  quxr  r   r`   ry   zambiguous orderingrh   r   r   r3  ro  )	r   r   ra   is_monotonic_increasingro   rp   r   rB   rC   r  s       rH   &test_constructor_mixed_dict_and_Seriesz@TestDataFrameConstructors.test_constructor_mixed_dict_and_Series  s    a2S	</KLS	4||3333 ]]:-AB 	DS#J3S-ABC	D #s&#sCQT:2VWXC:S#J?SzR
fh/	D 	Ds   CCc                 t    ddgdg}t        |      }t        ddgddgg      }t        j                  ||       y )NrS   rR   r:   r9   r:   r9   r   r  s       rH    test_constructor_mixed_type_rowsz:TestDataFrameConstructors.test_constructor_mixed_type_rows"  s@    A4q!fq!f-.
fh/rJ   ztuples,lists)r   r   r  r  c                 \    t        |      }t        |      }t        j                  ||       y r   r   )rD   r  listsr   rG   s        rH   test_constructor_tuplez0TestDataFrameConstructors.test_constructor_tuple)  s(     6"U#
fh/rJ   c                 ~    t        dddgi      }t        dt        ddg      i      }t        j                  ||       y )Nr  rK  r  r   r   rB   rC   r  s      rH   test_constructor_list_of_tuplesz9TestDataFrameConstructors.test_constructor_list_of_tuples;  s?    C&&!123c666*:#;<=
fh/rJ   c                 &   t        dt        d            } |dd       |dd      g}t        ddgddgd      }t        |      }t        j                  ||       t        ddgddgd      }t        |d	d
g      }t        j                  ||       y )NPandasabrS   r:   rR   r9   r3  )r   r  r   r  r   )r   r?  r   rB   rC   )rD   named_tupler  rG   r   s        rH   $test_constructor_list_of_namedtuplesz>TestDataFrameConstructors.test_constructor_list_of_namedtuples@  s     4:6a#[A%67Aq6A786"
fh/ Aq6A786C:6
fh/rJ   c                     t        ddt        fdt        fg      } |dd       |dd      g}t        ddgddgd      }t        |      }t        j                  ||       y )NPointr   r   r   r:   rS   r   r   )r   r"  r   rB   rC   )rD   r  r   rG   r   s        rH   $test_constructor_list_of_dataclassesz>TestDataFrameConstructors.test_constructor_list_of_dataclassesM  sa    w#sc3Z(@AaU1a[)Aq6A784
fh/rJ   c                 f   t        ddt        fdt        fg      }t        ddt        fdt        fdt        fg      } |dd       |d	dd      g}t        dt        j                  gddgt        j                  d	gt        j                  dgd
      }t        |      }t        j                  ||       y )Nr  r   r   HLinex0x1r   r:   rS   )r   r   r  r  )r   r"  r   r>   rn   rB   rC   )rD   r  r  r   rG   r   s         rH   7test_constructor_list_of_dataclasses_with_varying_typeszQTestDataFrameConstructors.test_constructor_list_of_dataclasses_with_varying_typesV  s     w#sc3Z(@Aw$tSkC:(NOaU1a^,bff+QF2661+bffa[Q
 4
fh/rJ   c                     t        ddt        fdt        fg      }d}t        j                  t        t        j                  |            5  t         |dd      dddg       d d d        y # 1 sw Y   y xY w)	Nr  r   r   z0asdict() should be called on dataclass instancesrh   r   rS   r  )r   r"  ro   rp   r   reescaper   )rD   r  rq   s      rH   1test_constructor_list_of_dataclasses_error_thrownzKTestDataFrameConstructors.test_constructor_list_of_dataclasses_error_thrownd  sf    w#sc3Z(@A A]]9BIIcN; 	7uQ{!!$456	7 	7 	7s   A,,A5c           	          ddddddddd	d
dddddddg}t        g dg dg dg dg dg dd      }t        |      }t        j                  ||       y )NrS   r9   r  r$  )FirstSecondThirdFourthr   rR   r  r  )r  r
  r  r  rM   r:   r8   r     r  )r  r
  r  r  YYYXXXr  r  )r  r  r  )r$  r  r8   )NNr  )NNr  )r
  r  r  r  r  r  r   )rD   r   rG   r   s       rH   #test_constructor_list_of_dict_orderz=TestDataFrameConstructors.test_constructor_list_of_dict_orderm  sr     1qB?1Q?1QrRTU

 "#"&''	
 4
fh/rJ   c                    t        g dg dd      }t        |      }|j                  d   dk(  sJ t        j                  |j
                  |j
                         t        j                  j                  d      j                  d      }t        |d      }t        |      }t        d|i      }t        j                  ||       t        |t        d	d
            }t        |      }t        d|i      }t        j                  ||       d}t        j                  t        |      5  t        |ddg       d d d        t        g dt              }t        |      }|j                  d   dk(  sJ t        |d      }t        ||g      j                   }t        ||dddg      }t        j                  ||       t        ||g      j                   }t        ||dddg      }t        j                  ||       y # 1 sw Y   xY w)Nr  r   r   rl  r   rR   r$  rz   r:   r  r`   z<Shape of passed values is \(10, 1\), indices imply \(10, 2\)rh   rS   r   rl   r<   )r   	Unnamed 0r  r  )r   r   r   rB   rA  ra   r>   r'  r(  r  rC   r   ro   rp   r   r{   r	  )rD   r   rF   rE   r  rG   rq   s1s           rH   test_constructor_Series_namedz7TestDataFrameConstructors.test_constructor_Series_named  s   9O#>q\zz!}###
bhh0 ii##A&66r:3S!q\c1X&
b(+3eArl+q\aV$
b(+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   rz   rS   r   )r   r   rB   rC   r   to_framer  )rD   s0r  s      rH   )test_constructor_Series_named_and_columnszCTestDataFrameConstructors.test_constructor_Series_named_and_columns  s     E!H1%E!H1% 	iQC8"++-H
iQC8"++-H aS)////aS)////rJ   c                    t        g dg dd      }t        g dg d      }t        ddg      }t        ||      }t        |j                  |            }|j                  d   dk(  sJ t        j                  ||       t        ||      }t        |j                  |            }|j                  d   dk(  sJ t        j                  |j                  |       t        j                  ||       y )	Nr  r   r   rl  r`   r   r   r   )	r   r   r   rB  r   rB   rC   rA  ra   )rD   r  s2other_indexdf1exp1r	  exp2s           rH   +test_constructor_Series_differently_indexedzETestDataFrameConstructors.test_constructor_Series_differently_indexed  s    I_3? I_5S#J'+.K01{{1~$$$
c4(+.K01{{1~"""
cii5
c4(rJ   z#name_in1,name_in2,name_in3,name_out))r   r   r   r   )r   r   NN)r   NNN)idx1idx2NN)r"  r"  r#  N)r"  r#  idx3N)NNNNc           	         t        g d|      t        g d|      t        g d|      g}t        |g d      D ci c]  \  }}|t        g d|       }}}t        |      }	t        g d|      }
t        d	d
dt        j
                  t        j
                  gt        j
                  d	d
dt        j
                  gt        j
                  t        j
                  d	d
dgd|
      }t        j                  |	|       y c c}}w )Nr   rz   )r   r   r   )r   r   e)r   r   r  r~  r`   r   r   r   r   r&  r   rS   rR   )r   r+  r   r   r>   rn   rB   rC   )rD   name_in1name_in2name_in3name_outindicesrU  r   r  r   exp_indrG   s               rH   test_constructor_index_namesz6TestDataFrameConstructors.test_constructor_index_names  s     /1/1/1
 7:'?6S
.2aAviq))
 
 6"1AArvvrvv.ffaArvv.ffbffaA.
 
 	fh/
s   D c                    t        |j                  d d       }t        |j                  d d       }d}t        j                  t
        |d      5  t        |j                  ||      }d d d        t        j                  j                  t        |             t        j                  |j                  t        |             y # 1 sw Y   \xY w)Nr   r:   z#Passing a BlockManager to DataFrameF)ri   check_stacklevelr   )
r?  ra   r   rB   assert_produces_warningDeprecationWarningr   rW   rA  r   )rD   rC  ra   r   rq   r   s         rH   test_constructor_manager_resizez9TestDataFrameConstructors.test_constructor_manager_resize  s    [&&r*+{**2A./3''cE
 	O {//ugNF	O 	fllE%L9
fnneGn=	O 	Os   CCc                 <   t        |d   t        |d         dddg      }t        j                  ||j                  d d ddgf          d}t        j                  t        |      5  t        |d   t        |d         d d d       d d d        y # 1 sw Y   y xY w)Nr  ry   ro  r   zdoes not match index lengthrh   )r   r?  rB   rC   r  ro   rp   r   )rD   rC  rF   rq   s       rH   %test_constructor_mix_series_nonseriesz?TestDataFrameConstructors.test_constructor_mix_series_nonseries  s    c"k#.>)?@3PS*
 	b+//!c3Z-"@A+]]:S1 	QK,4C8H3I#23NOP	Q 	Q 	Qs   (!BBc                     d}t        j                  t        |      5  t        t        j
                  dgddggt        j                         d d d        y # 1 sw Y   y xY w)Nrg   rh   rS   r   r;   )ro   rp   r   r   r>   rn   r4   r  s     rH   %test_constructor_miscast_na_int_dtypez?TestDataFrameConstructors.test_constructor_miscast_na_int_dtype  sJ    J]]-S9 	={QF+288<	= 	= 	=s   0AA c                     t        ddggddg      }t        ddgg      }ddg|_        t        j                  ||       t        j                  dgddg      }t        j                  ||       y )Nr  r   r   r   )r  r   )r   r   rB   rC   from_records)rD   rF   edfidfs       rH   "test_constructor_column_duplicatesz<TestDataFrameConstructors.test_constructor_column_duplicates	  sk    Ax#s4!Q!Cj
b#&$$fXSzB
c3'rJ   c                    t        ddgddgt              }t        ddgddgt        j                  t        j
                              }t        ddgddgt              }|rt        j                  ||       nt        j                  ||       t        ddgddgt        j                        }t        j                  ||       t        ddgddgd      }t        j                  ||       y )Nr   rS   ry  na_valueU5)
r   r{   r/  StringDtyper>   rn   r=   rB   rC   str_)rD   r   rG   expected_strrF   s        rH   (test_constructor_empty_with_string_dtypezBTestDataFrameConstructors.test_constructor_empty_with_string_dtype  s    Aq6Aq6H a&1a&0O
 aVaV3?!!"l3!!"h/aVaV277C
b(+aVaV4@
b(+rJ   c                 h    t        dg|      }t        dg|      }t        j                  ||       y )Nc1r   r<   r   )rD   nullable_string_dtyperG   rF   s       rH   ,test_constructor_empty_with_string_extensionzFTestDataFrameConstructors.test_constructor_empty_with_string_extension&  s0    dV3HIv-BC
b(+rJ   c           
         t        dg dg d      }t        j                  |t        t        j                  |j
                        j                  d      |j                  |j                               t        dg dg d      }t        j                  |t        t        j                  |j
                        j                  d      |j                  |j                               t        dd	d
gddg      }t        j                  |t        t        j                  ddgddggt              d	d
gddg             d}t        j                  t        |      5  t        dd	d
g       d d d        t        j                  t        |      5  t        dddg       d d d        d}t        j                  t        |      5  t        dd	d
gddgt               d d d        y # 1 sw Y   yxY w# 1 sw Y   RxY w# 1 sw Y   y xY w)N        r  r   r   r,   r   r4   r   rS   rR   r   r;   z*DataFrame constructor not properly called!rh   r   zincompatible data and dtype)r   rB   rC   r>   rJ  r^  rA   ra   r   rm   r{   ro   rp   r   r   r   )rD   rF   rq   s      rH   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 )NrS   r   r  20010101  rR   r   )r  ry   r!  r  Er$  r`   r4   r?  M8[s]M8[us]ABCDEr   r   r   r   r;   r,   r{   )r>   r<   r"  rl   r,   r   r   r!   r
   r?   r.  r   r/  rB  rn   r?  rB   r~   rm   )rD   r   intname	floatname
objectnamerF   r   rG   s           rH   test_constructor_with_datetimesz9TestDataFrameConstructors.test_constructor_with_datetimesL  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0rJ   c                     t        ddd      }|D cg c]  }|j                          }}t        |      }|j                  dk(  sJ y c c}w )Nr  r  r$  startr.  rP   rt   )r#   to_pydatetimer   r<   )rD   indts	datetimes
datetime_ss        rH    test_constructor_with_datetimes1z:TestDataFrameConstructors.test_constructor_with_datetimes1  sO    |#rB256BR%%'6	6I&
8+++ 7s   A	c                    t        ddd      }|D cg c]  }|j                          }}|D cg c]  }|j                          }}t        |dg      }||d<   |j                  }t        t        j                  d      t        j                  d	      gddg
      }t        j                  ||       y c c}w c c}w )Nr  r  r$  rZ  r_  r   datesdatetime64[ns]r{   r`   )
r#   r\  r	   r   r.  r   r>   r<   rB   r~   )rD   r]  r^  r_  rc  rF   r   rG   s           rH    test_constructor_with_datetimes2z:TestDataFrameConstructors.test_constructor_with_datetimes2  s    |#rB256BR%%'6	6%()r))y;-87XX&'();<(
 	vx0 7)s
   B6B;c                    t        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 )Nr9    rS   zEnd Dater   r`   r   zdatetime64[us, US/Eastern]r;   datetime64[ns, US/Eastern])pytztimezonelocalizer
   r   iatrB   r~   r.  r   r{   )rD   rQ   r_   rF   s       rH    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	
rJ   c                 v   t        dd      }t        d|i      }|j                  d   j                  J t        ddd      }t        d|i      }t	        |j                  d   j                        dk(  sJ t        ddd      }t        d|i      }t	        |j                  d   j                        dk(  sJ y )	N20130101r:   ri  rb   r   UTCrO   r9  )r#   r   rl  rQ   r=   )rD   drrF   s      rH    test_constructor_with_datetimes4z:TestDataFrameConstructors.test_constructor_with_datetimes4  s     
A.}%vvd|&&&
A%8}%266$<??#u,,,
A,?}%266$<??#|333rJ   c                    t        dddd      }t        d|j                         j                  d      i      }t               }||d<   t	        j
                  ||       t        d|i      }t	        j
                  ||       y )	N1/1/2011r   10sr9  rP   r.  rQ   r   Tdropr#   r   	to_seriesreset_indexrB   rC   )rD   rU  rG   rF   s       rH    test_constructor_with_datetimes5z:TestDataFrameConstructors.test_constructor_with_datetimes5  su     z15\Jc1;;=#<#<$#<#GHI[3
b(+Qx 
b(+rJ   c                     t        dddd      }t        ddd      }t        ||d      }t        |j                         j                  d	      |d      }t	        j
                  ||       y )
Nrt  r   ru  r9  rv  rP   r.  r3  Trw  ry  )rD   rU  i_no_tzrF   rG   s        rH    test_constructor_with_datetimes6z:TestDataFrameConstructors.test_constructor_with_datetimes6  sb    z15\JZ?QW-.1;;=#<#<$#<#GgVW
b(+rJ   rE   r   c                     t        |      j                  }t        t        j                  d      g      }t        j                  ||       y )Nrd  )r   r.  r   r>   r<   rB   r~   )rD   rE   r   rG   s       rH   %test_constructor_datetimes_with_nullsz?TestDataFrameConstructors.test_constructor_datetimes_with_nulls  s:     3&&288$4567
vx0rJ   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  rt   )r   r  r  r   Cannot castrh   zdatetime64[s]r;   )	r>   rm   r   rA   ro   rp   r   rB   rC   )rD   r  r;  r<   narF   rG   s          rH   !test_constructor_datetimes_non_nsz;TestDataFrameConstructors.test_constructor_datetimes_non_ns  s     dV1%XX:: 
 r]RYYx01''y> '&'  7HU3H
b(+' 's   )B>>C)r  r  r   r  r  r  r^   c                    d| d}t        j                  t        j                  dd      t        j                  dd      gt        j                  dd      t        j                  dd      gg||      }t        |      }|d	v rd
}n|}t        j                  d| d      }t        t        dd      t        dd      gt        dd      t        dd      gg|      }t        j                  ||       y )Nztimedelta64[r  rS   r  rR   r9   r   r  )r  r  r   r  zm8[r;   )r>   rm   r   r   r<   r    rB   rC   )	rD   r  r;  r<   r  rF   exp_unit	exp_dtyperG   s	            rH   !test_constructor_timedelta_non_nsz;TestDataFrameConstructors.test_constructor_timedelta_non_ns  s     tfA&XX3'3)?@3'3)?@ 
 r]?"HHHHs8*A./	1c"Ia$561c"Ia$56 
 	b(+rJ   c                    t        t        d      D cg c]  }t        j                  d       c}      }|j                  }t        t        j                  d      gdz        }t        j                  ||       t        t        d      D cg c],  }t        j                  t        j                  d      d      . c}      }|j                  }t        t        j                  d      gdz        }t        j                  ||       t        dddgi      }|j                  j                  d   t        j                  d	      k(  sJ t        d
dg      }|j                  j                  d   t        j                  d	      k(  sJ t        ddg      }|j                  j                  d   t        j                  d      k(  sJ t        dd
dgi      }|j                  j                  d   t        j                  d	      k(  sJ t        dddgi      }|j                  j                  d   t        j                  d      k(  sJ t        dd
it        d            }|j                  j                  d   t        j                  d	      k(  sJ t        ddit        d            }|j                  j                  d   t        j                  d      k(  sJ t        g dg dt        d      t        d      D cg c]  }t        dd
d
       c}g dd      }|j                  }t        t        j                  d	      t        j                  d      |st        j                  d      n#t        j                  t        j                        t        j                  d      t        j                  d      gt        d            }t        j                  ||       y c c}w c c}w c c}w )Nr   r"  r3   r;   r   l        l       r   r4   rS   rR   r   r   r,   r:   r`   )rS   rR   r9   r  )g333333?gffffff@gffffff@g333333@r  r9     )r   rR   r  r  r'  r{   r?  rd  abcde)r   r   r>   r?   r.  r   r<   rB   r~   rm   r   r?  r
   r/  rB  rn   )rD   r   r   rF   r   rG   rU  s          rH   %test_constructor_for_list_with_dtypesz?TestDataFrameConstructors.test_constructor_for_list_with_dtypes@  s   eAh7		!78288E?+a/0
vx0uQxP!1W=PQ288G,-12
vx0 eY/01yy~~a BHHW$5555 1vyy~~a BHHW$5555Sz"yy~~a BHHY$7777aV}%yy~~a BHHW$5555c3Z()yy~~a BHHY$7777QxuQx0yy~~a BHHW$5555Szq2yy~~a BHHY$7777 !)&\49!H=qhtQ*=%
 !#) "^^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   rr  )rD   rC  cops      rH   test_constructor_frame_copyz5TestDataFrameConstructors.test_constructor_frame_copy}  sP    $/CCA""$$$$)..0000rJ   c                     |j                         }t        |      }|j                  |j                  usJ t        j                  t        |            |_        t        j                  ||       y r   )	r   r   rW   r>   r?   rV   ra   rB   rC   )rD   rC  origr  s       rH   #test_constructor_frame_shallow_copyz=TestDataFrameConstructors.test_constructor_frame_shallow_copy  sX     !$xx{/////IIc#h'	
k40rJ   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  rM   r   ra  r   Fi  )	r   r   r   rr  rW   r   r  r  r   )rD   rC  rY   r  rE   rF   s         rH   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(((rJ   c                     |j                   }t        d|d   id      }d|j                  |j                  d   |j                  d   df<   |d   dk(  j	                         rJ y )Nr  Tr  r   r   r=  )r  r   r  ra   rr  )rD   rC  r  rF   s       rH   test_constructor_series_copyz6TestDataFrameConstructors.test_constructor_series_copy  sj    $$VC[)5 34rxx{RXXb\)3./3K1$))++++rJ   rF   r`   g?g@r   r  r  )rL  rS   rR   r   c                    t        t        |j                              D ]  }|j                  d d |f     t	        j
                  t        |j                              t        |j                           }t        |      dk(  rFt        j                  t        d      5  |j                  d d t        j                  f    d d d        y t        |      dk(  rJt        j                  |j                  d d |d   f   |j                  d d t        j                  f          y t        j                  |j                  d d |f   |j                  d d t        j                  f          y # 1 sw Y   y xY w)Nr   z^nan$rh   rS   )r   rV   r   r   r>   r?   r$   ro   rp   KeyErrorr  rn   rB   r~   rC   )rD   rF   rU  indexers       rH   test_constructor_with_nasz3TestDataFrameConstructors.test_constructor_with_nas  s   " s2::' 	AGGAqDM	 ))C

O,T"**-=> w<1xw7 "q"&&y!" " \Q""2771gaj=#9266!RVV);LM !!"''!W*"5rvvai7HI" "s   "E((E1c                     t        dt        j                  dgi      }|d   j                  t        j                  k(  sJ |d   d   rJ y )Nr   FrS   )r   r>   rn   r<   r   )rD   r   s     rH   &test_constructor_lists_to_object_dtypez@TestDataFrameConstructors.test_constructor_lists_to_object_dtype  sE    sRVVUO,-v||rzz)))S6!9}9rJ   c                    t        g d      }t        j                  |      j                  dd      }t        j                  |d      }t        ||j                        }t        ||||d      }t        j                  ||       y )Nr   r=  rS   r  r;   r  )	r   r>   rm   r@   broadcast_tor   r<   rB   rC   )rD   catrE   r   rG   s        rH   *test_constructor_ndarray_categorical_dtypezDTestDataFrameConstructors.test_constructor_ndarray_categorical_dtype  si    /*hhsm##B*ooc6*3cii0=>
fh/rJ   c                 P   t        dt        d      id      }t        t        d      dd      }t        j                  |d   |       t        t        d      d      }|j                         }t        t        d      dd      }t        j                  |d   |       |j                  d      }t        t        d      dd      }t        j                  |d   |       t        t        d      d      }t        t        d      dd      }t        j                  |d   |       y )	Nr  r   categoryr;   rk   r   r   rz   )r   r?  r   rB   r~   r  )rD   rF   rG   r  r   s        rH   test_constructor_categoricalz6TestDataFrameConstructors.test_constructor_categorical  s     T%[)<$u+ZcB
r#w1 4;j1$u+Za@
vay(3'$u+ZeD
ve}h7 tE{*5$u+Za@
r!uh/rJ   c                     t        t        d            }t        |g      }t        |j                  t              g      }t        j                  ||       y )Nr   )r   r?  r   rA   r{   rB   rC   )rD   r  rF   rG   s       rH   -test_construct_from_1item_list_of_categoricalzGTestDataFrameConstructors.test_construct_from_1item_list_of_categorical  sD     $u+&ucjj012
b(+rJ   c                     t        t        t        d            t        t        d            g      }t        g dg dg      }t        j                  ||       y )Nr   abdr   )r   r   r   r   r   r?  rB   rC   r  s      rH   (test_construct_from_list_of_categoricalszBTestDataFrameConstructors.test_construct_from_list_of_categoricals	  sD     DK0+d5k2JKLo?@
b(+rJ   c                     t        t        t        d            t        d      g      }t        g dg dg      }t        j                  ||       y )Nr   defr   r   r&  fr  r  s      rH   %test_from_nested_listlike_mixed_typesz?TestDataFrameConstructors.test_from_nested_listlike_mixed_types	  s?     DK0$u+>?o?@
b(+rJ   c                     t        t        t        d            t        t        d            g      }t        t        d      t        d      g      }t        j                  ||       y )Nr   abdefgr  r  s      rH   0test_construct_from_listlikes_mismatched_lengthszJTestDataFrameConstructors.test_construct_from_listlikes_mismatched_lengths	  sJ    DK0+d8n2MNOd5k4>:;
b(+rJ   c                 8   g d}t        |      j                  d      }t        |d      }t        j                  ||       g d}t        |      j                  d      }t        |d      }t        j                  ||       t	        dd      }t        t        t        j                  t        j                  t        j                  gg d	            }||_        t        d
|i      }t        d
t        g dd      i|      }t        j                  ||       y )N)rS   rR   r:   rS   r  r;   )r   r   r   r   20000101r:   ri  r   )r   
categoriesr   r`   )r   rA   rB   r~   r#   r   r>   rn   ra   r   rC   )rD   r  rv  resra   rG   rF   s          rH   #test_constructor_categorical_seriesz=TestDataFrameConstructors.test_constructor_categorical_series	  s    Um"":.U*-
sC($Um"":.U*-
sC( :q17OT
 c8_-VO:FGuU
b(+rJ   r<   c                 `    t        dddgidg|      }|j                  j                  |k(  sJ y )Nr   rS   rR   r   rH  )r   r   r<   )rD   r<   r   s      rH   %test_check_dtype_empty_numeric_columnz?TestDataFrameConstructors.test_check_dtype_empty_numeric_column2	  s2     #1vUCvv||u$$$rJ   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   rS   rR   r   rH  r{   )r   rB   BYTES_DTYPESr*  &mark_array_manager_not_yet_implementedr   r<   rl   )rD   requestr<   rY   r   s        rH   $test_check_dtype_empty_string_columnz>TestDataFrameConstructors.test_check_dtype_empty_string_column@	  sT     #1vUC5BOO#;55g>vv||  H,,,rJ   c                    t        dt              j                         j                  }t        dt        i      }t	        j
                  ||       t        t        dt                    j                  }t	        j
                  ||       y )Nr   r  )r   r{   r  r.  rB   r~   r   r  s      rH   test_to_frame_with_falsey_namesz9TestDataFrameConstructors.test_to_frame_with_falsey_namesN	  sb    Qf-668??1f+&
vx06q78??
vx0rJ   )Nr-   r  c                     t        dg di|xs d      }t        t        d      dg|      }t        j                  ||       t        dt        d      i|      }t        j                  ||       y )Nr  )r   rS   rR   r:   r9   r4   r;   r   rH  )r   r   rB   rC   )rD   r<   rG   r   s       rH   test_constructor_range_dtypez6TestDataFrameConstructors.test_constructor_range_dtypeW	  sf     c?35;KGL 58cU%@
fh/ Cq?%8
fh/rJ   c           	           G d dt               }t        g dg dg      }t         | |g d       |g d      g            }t        j                  ||       y )Nc                       e Zd Zy)ETestDataFrameConstructors.test_frame_from_list_subclass.<locals>.ListNr  r   rJ   rH   Listr  f	  r  rJ   r  r  r  )r?  r   rB   rC   )rD   r  rG   r   s       rH   test_frame_from_list_subclassz7TestDataFrameConstructors.test_frame_from_list_subclassd	  sK    	4 	 i344i$y/ BCD
fh/rJ   extension_arraabbcz1/1/2017z1/1/2018)r[  endr.  c                 n    t        t        |            }t        |      }t        j                  ||       y r   r  )rD   r  rG   r   s       rH   %test_constructor_with_extension_arrayz?TestDataFrameConstructors.test_constructor_with_extension_arraym	  s-     VM23=)
fh/rJ   c           	          t        j                         }||f}t        |t        t	        d      t	        d            i|g      }t        g dt        t        |g                  }t        j                  ||       y )Nr:   r`   r   r~  )r	   todayr   r   r   r   rB   rC   )rD   r  tupr   rG   s        rH   *test_datetime_date_tuple_columns_from_dictzDTestDataFrameConstructors.test_datetime_date_tuple_columns_from_dict|	  s_    JJLdCaa!ABSERYfcUm0DE
fh/rJ   c           	      @   t        g dt        g d            }t        g dt        g d            }t        ||g      }t        t        j                  dddt        j
                  t        j
                  gg d	g      g d
      }t        j                  ||       y )N)'   rM   r9   )femalemaleunknownr`   )rR      rR         )r  r  r   r  r  r  rM   r9   )g      c@g     @n@g     b@r   r   )r  r  r  r  r   r   )r   r   r   r>   rm   rn   rB   rC   )rD   r  r  r   rG   s        rH   /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/rJ   z7ignore:invalid value encountered in cast:RuntimeWarningc                    t        t        d            }t        |d      j                         j	                  d      }t        |d      j                         j                  d      }t        ||d      }t        t        ddd      t        dd	d      t        d	d
d      t        d
dd      t        ddd      t        ddd      t        ddd      t        ddd      t        ddd      t        ddd      g
d      }t        dgdz  t        j                  gdz  z   t        j                  gdz  dgdz  z   d|      }t        j                  ||       y )Nra  r$  r   ry  gMbXg#@r8  )closedg3@g33333=@gC@g     H@g33333M@g33333SQ@gS@gfffffFV@r   T)orderedr`   )r   r   r"   value_countsheadtailr   r   r   r>   rn   rB   rC   )rD   r  ser1ser2r   ra   rG   s          rH   1test_constructor_series_nonexact_categoricalindexzKTestDataFrameConstructors.test_constructor_series_nonexact_categoricalindex	  s>   
 U3Z 3|((*//23|((*//2D12 W5d73tG4tG4tG4tG4tG4tG4tG4r'2 
 $(bffX\)1tax0GHPU
 	h/rJ   c                 <   t        ddddd      t        ddddd      fg}t        j                  |ddg	      }t        |      }|d
   d   |d   d   k(  sJ |d   d   |d   d   k(  sJ t	        |d
         }t        |d   t              sJ |d   |d   d   k(  sJ y )Nrg  r  r   r  r  r$  )DaterS  )ForecastingrS  r;   r  r  rS   )r
   r>   rm   r   r   r   r!   )rD   rc  rE   rF   r  s        rH   test_from_M8_structuredz1TestDataFrameConstructors.test_from_M8_structured	  s    4Aq!,htQ2r.JKLhhu%79R$STs^&z!}a+++- #uQx{2223v;!A$	***tuQx{"""rJ   c           
           G d dt               }t        d |ddddd      gi      }|j                   j                  dk(  sJ y )Nc                       e Zd Zy)OTestDataFrameConstructors.test_from_datetime_subclass.<locals>.DatetimeSubclassNr  r   rJ   rH   DatetimeSubclassr  	  r  rJ   r  r
   i  rS   rd  )r
   r   r<   )rD   r  r   s      rH   test_from_datetime_subclassz5TestDataFrameConstructors.test_from_datetime_subclass	  sI    	x 	 *'7aAq'I&JKL}}""&6666rJ   c                     t        ddd      }d}t        j                  t        |      5  t	        |t        d             d d d        y # 1 sw Y   y xY w)	NrL   r:   rN   rO   z@Shape of passed values|Passed arrays should have the same lengthrh   r9   r`   )r#   ro   rp   r   r   r   )rD   rZ   rq   s      rH   (test_with_mismatched_index_length_raiseszBTestDataFrameConstructors.test_with_mismatched_index_length_raises	  sF    q\BP]]:S1 	+cq*	+ 	+ 	+s   AAc                 @   t        ddd      }t        j                  |      }t        t        j                  j                  d      j                  t        |            |d      }t        j                  |d   j                  t        j                  d            sJ y )	Nz1/1/2000 00:00:00z1/1/2000 1:59:50ru  r-  rR   ro  ry   rt   )
r#   r>   rM  r   r'  r(  r  rV   
issubdtyper<   )rD   rE  rc  rF   s       rH   !test_frame_ctor_datetime64_columnz;TestDataFrameConstructors.test_frame_ctor_datetime64_column	  sv    ,.@uM

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

input_valsrz  r  rt  r  r~  rv  c                     t        d|i|      }t        d|i      j                  d|i      }t        j                  ||       y )Nr  r;   )r   rA   rB   rC   )rD   r  r:  r   rG   s        rH   test_constructor_list_strz3TestDataFrameConstructors.test_constructor_list_str	  sD     C,LAc:./66\7JK
fh/rJ   c                 |    t        dg di|      }t        dg dit              }t        j                  ||       y )Nr  rc  r;   )z1.0z2.0N)r   r{   rB   rC   )rD   r:  r   rG   s       rH   test_constructor_list_str_naz6TestDataFrameConstructors.test_constructor_list_str_na	  s6    C!12,Gc#78G
fh/rJ   r   FTc                 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)NrS   rR   r;   r:   r9   )SUz2 get cast, making the checks below more cumbersomer   r  c                     t        | t        j                        r| j                  S t        | j                  t        j                        r| j
                  j                  S t        r   )r   r>   ndarraybaser<   _ndarrayr   r   s    rH   get_basez<TestDataFrameConstructors.test_dict_nocopy.<locals>.get_base
  s@    #rzz*xxCIIrxx0||(((rJ   c_onlyc                    t        fdj                  j                  D              dk(  sJ | ry t        fdj                  j                  D              dk(  sJ t        fdj                  j                  D              dk(  sJ y )Nc              3   &   K   | ]  }|u  
 y wr   r   )r   r   r   s     rH   r   zRTestDataFrameConstructors.test_dict_nocopy.<locals>.check_views.<locals>.<genexpr>&
  s     6!qAv6s   rS   c              3   z   K   | ]2  }t        |j                  t        j                        r |      u  4 y wr   r   r<   r>   )r   r   r   r  s     rH   r   zRTestDataFrameConstructors.test_dict_nocopy.<locals>.check_views.<locals>.<genexpr>-
  4      !!''2884 QK1$   8;c              3   z   K   | ]2  }t        |j                  t        j                        r |      u  4 y wr   r  )r   r   r   r  s     rH   r   zRTestDataFrameConstructors.test_dict_nocopy.<locals>.check_views.<locals>.<genexpr>5
  r  r  )sumrW   r   )r  r   r   r   rF   r  s    rH   check_viewsz?TestDataFrameConstructors.test_dict_nocopy.<locals>.check_views
  s     6rww~~66!;;;   WW^^ 
   WW^^ 
 rJ   r   fciuOzincompatible dtyperh   r   rT   TrQ  .   r   r^   )F)rB   STRING_DTYPESr  r*  r  r>   rm   r<   r   ro   skipr/  r   r   rI  r   is_np_dtyper.  r   FutureWarningr1  type)rD   r  r   any_numeric_ea_dtypeany_numpy_dtyperY   r  c_origr  warnr   r   r   rF   r  s             @@@@@rH   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  re  r;   r   )r   r   r>   r  r   rU   )rD   r  rF   s      rH   "test_construct_from_dict_ea_seriesz<TestDataFrameConstructors.test_construct_from_dict_ea_seriesc
  sO     Yg.Sz"##CJJ$4$4bgnn6J6JKKKKrJ   c                 |    t        t        dd      dg      }t        dg      }t        j                  ||       y )NrS   r   rz   r  r   r  r  s      rH   'test_from_series_with_name_with_columnszATestDataFrameConstructors.test_from_series_with_name_with_columnsj
  s3    6!%05'BeW-
fh/rJ   c                     t        g dg dgg dg dg      }t        g dg dgt        j                  g d            }t        j                  ||       y )Nr  r  )r  r  r  r   r   ))r  r   )r  r   )r  r   )r   r   r  rB   rC   r  s      rH   test_nested_list_columnsz2TestDataFrameConstructors.test_nested_list_columnsp
  sP    	"_o,N
 	"**+OP
 	fh/rJ   c                 t   t        j                  dd      }|j                  j                  t              j                  dd      }t        |      }|j                  dk(  sJ |j                  |j                  k(  j                         sJ ||k(  j                         j                         sJ t         j                  j                  g d      }|j                  j                  t              j                  dd      }t        |      }|j                  dk(  sJ |j                  |j                  k(  j                         sJ ||k(  j                         j                         sJ t        j                  ||||f   j                  }t        |      }t        ||||d      }	t!        j"                  ||	       y )	Nz
2016-04-05r:   ri  rS   r=  rS   r:   )r:   r9   r   rM   r  )r/  r@  rU   rA   r{   r@   r   r^  r.  r<   rr  IntervalIndexfrom_breaksr>   r_r	  rB   rC   )
rD   pir   rF   iidata2r	  data3rF  rG   s
             rH   1test_from_2d_object_array_of_periods_or_intervalszKTestDataFrameConstructors.test_from_2d_object_array_of_periods_or_intervals{
  sa   __\15xxv&..q"5t_xx6!!!		RXX%**,,,b~~##%%%)),7'//26yyF"""

bhh&++---r	 $$&&& dE4./11rb9:
c8,rJ   zcol_a, col_bc                     d}t        j                  t        |      5  t        ||d       d d d        y # 1 sw Y   y xY w)Nz,Per-column arrays must each be 1-dimensionalrh   r3  r  )rD   col_acol_brq   s       rH   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)ra   r   r   r   r   r   r   ra   r<   )	r   r>   r  _valuesr   rn   r{   rB   rC   r  s      rH   &test_from_dict_with_missing_copy_falsez@TestDataFrameConstructors.test_from_dict_with_missing_copy_false
  s    YeL##BsGOORW__EEE(ffbffbff-ffbffbff-
 
 	b(+rJ   c                     d}t        j                  t        |      5  t        t	        j
                  g       ddg       d d d        y # 1 sw Y   y xY w)Nz:Shape of passed values is \(0, 1\), indices imply \(0, 2\)rh   r   r   r  )ro   rp   r   r   r>   rm   r  s     rH   1test_construction_empty_array_multi_column_raiseszKTestDataFrameConstructors.test_construction_empty_array_multi_column_raises
  s@    K]]:S1 	=288B<#s<	= 	= 	=s   #A

Ac                 t    t        g ddgd      }t        dg did      }t        j                  ||       y )N)rz  r  Nr   r=   rH  r;   r   r  s      rH   $test_construct_with_strings_and_nonez>TestDataFrameConstructors.test_construct_with_strings_and_none
  s5    '#eDc#34EB
b(+rJ   c           	         t        j                  t        j                        }t	        dddgi|t        dg|            }t        j                  dd      5  t	        dddgi      }d d d        t        j                  |       t	        dddgi|t        dg|      t        dd	g|      
      }t        j                  dd      5  t	        dddgidd	g      }d d d        t        j                  ||       t	        dddgidt        dg|            }t        j                  dd      5  t	        dddgi      }d d d        t        j                  ||       t	        dddgidt        dg|            }t        j                  dd      5  t	        dddgid      }d d d        t        j                  ||       y # 1 sw Y   [xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ExY w)Nr?  r   r   r;   r<   r   future.infer_stringTr   r   )r<   r   ra   r`   rS   r{   )	r/  rB  r>   rn   r   r   option_contextrB   rC   rD   r<   rG   rF   s       rH   test_frame_string_inferencez5TestDataFrameConstructors.test_frame_string_inference
  s   /3*UE3%u4M
 4d; 	.C#s,-B	.
b(+3*3%u-c
%0	
 4d; 	@C#s,S#J?B	@
b(+3(O8UC55N
 4d; 	,C#q?+B	,
b(+3*XucU%7P
 4d; 	>C#s,H=B	>
b(+5	. 	.	@ 	@	, 	,	> 	>s0   G	G/GG'GGG$'G0c                 X   t        j                  t        j                        }t	        dddgi|t        dg|            }t        j                  dd      5  t	        dt        j                  ddg      i      }d d d        t        j                  |       t	        ddgdd	gd
|      }t        j                  dd      5  t	        t        j                  ddgdd	gg            }d d d        t        j                  ||       t	        ddgdd	gd|t        ddg|            }t        j                  dd      5  t	        t        j                  ddgdd	gg      ddg      }d d d        t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   9xY w)Nr?  r   r   r;   r?  r@  Tr   r   rT   r3  r   )
r/  rB  r>   rn   r   r   rA  rm   rB   rC   rB  s       rH   .test_frame_string_inference_array_string_dtypezHTestDataFrameConstructors.test_frame_string_inference_array_string_dtype
  s   /3*UE3%u4M
 4d; 	8C3*!567B	8
b(+#sc
;5I4d; 	?288c3Z#s$<=>B	?
b(+*C:.3*E2

 4d; 	S288c3Z#s$<=SzRB	S
b(+!	8 	8
	? 	?	S 	Ss$   #F%F?)F FF F)c                     t        j                  dd      5  t        t        j                  ddgddgg            }d d d        j
                  j                  d   j                  dk(  sJ y # 1 sw Y   2xY w)Nr@  ThellogoodbyeHellor   rR   )r/  rA  r   r>   rm   rW   rX   rz  rv   s     rH   %test_frame_string_inference_block_dimz?TestDataFrameConstructors.test_frame_string_inference_block_dim
  so    4d; 	Q288gy%9GW;M$NOPB	Qww~~a %%***	Q 	Qs   %A--A6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 inferencerh   r   r   r   )r   r!   r{   rB   r1  r  r   r.  r   r>   r   r   )rD   r   r   r  s       rH    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  rI   r\   re   rr   rw   r   r   r   r   ro   markparametrizer   r   r   r   r   r   r   r   r   r  r
  r*  skip_array_manager_invalid_testr  r  r  r  r1  r7  r;  rG  rL  rX  r>   rm   r{   r\  r.   r/   r0   r_  re  rw  r|  r  r  r  r  r  rn   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r+  r1  r6  r   r   r   r   r!   r   r=  rC  rG  rI  rN  filterwarningsrQ  rU  r\  r_  r?  r   r   r<   r"  ra  r/  BooleanDtypeFloat64Dtype
Int64DtyperB  rj  rm  ro  rs  rv  r{  r  r  r  r  r  r  rd   r  r  r  r  r  r  r  r  r  r  r  r-  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r.  r3  r6  r8  r=  rE  rJ  rM  rX  ra  re  rm  rr  r|  r  r
   ru   r   r   r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  rB   ALL_NUMERIC_DTYPESDATETIME64_DTYPESTIMEDELTA64_DTYPESBOOL_DTYPESr  r  r  OBJECT_DTYPESr  r  arm_slowr  r  r   r(   r&   r'   r@  r  r  r  r  r  r  r  r  r  r#   r   r  r!  r#  r%  r'  r1  r5  r9  r;  r=  rC  rE  rJ  rL  r   rJ   rH   r6   r6   M   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,, [[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+3rJ   r6   c                   t    e Zd Zd Zd Zej                  j                  ddddgdgdddgd	gg      d
        Zy)&TestDataFrameConstructorIndexInferencec                    t        j                  ddd      }t        t        j                  j                  d      j                  t        |            |      }t        j                  ddd      }t        t        j                  j                  d      j                  t        |            |      }t        ||d      }t        j                  ddd      }t        j                  |j                  |       y )	Nz1/1/19991/1/2012r   r-  rR   z1/1/1980z	12/1/2001)r  r  )r/  r@  r   r>   r'  r(  r  rV   r   rB   rA  ra   )rD   rng1r  rng2r  rF   rv  s          rH   Atest_frame_from_dict_of_series_overlapping_monthly_period_indexeszhTestDataFrameConstructorIndexInference.test_frame_from_dict_of_series_overlapping_monthly_period_indexes  s    z:C@BII))!,<<SYGNz;SABII))!,<<SYGNb+,ooj*3?
bhh,rJ   c                 ~   t        dd      }t        t        d      |      }t        t        d      |j                  d            }t        t        d      |j                  d            }t        t        d            }t	        |||d      }t        t        |j                        t        |j                        z   t        |j                        z   t              }t        j                  |j                  |       t	        |||d	      }t        t        |j                        t        |j                        z   t        |j                        z   t              }	t        j                  |j                  |	       t	        |||d
      }
t        t        |j                        t        |j                        z   t        |j                        z   t              }	t        j                  |
j                  |	       t	        |||d      }t        t        |j                        t        |j                        z   t        |j                        z   t              }t        j                  |j                  |       d}t        j                  t        |      5  t	        ||||d       d d d        t        j                  t        |      5  t	        |||d       d d d        t        j                  t        |      5  t	        |||d       d d d        y # 1 sw Y   pxY w# 1 sw Y   IxY w# 1 sw Y   y xY w)NrL   r:   ri  r`   rp  z
US/Centralr   r;   )r  r!  ry   )ry   r  r!  )r!  ry   r  z0Cannot join tz-naive with tz-aware DatetimeIndexrh   )r  ry   r!  r  )r  ry   r  )r  r  ry   )r#   r   r   r|   r   r   r?  ra   r{   rB   rA  ro   rp   r   )rD   rZ   r  r  ser3ser4r  	exp_indexr	  
exp_index3rF  df4
exp_index4rq   s                 rH   /test_frame_from_dict_with_mixed_tzaware_indexeszVTestDataFrameConstructorIndexInference.test_frame_from_dict_with_mixed_tzaware_indexes  su   q1eAhc*eAhcooe&<=eAhcool&CDeAh dD9:tDJJ//$tzz2BB&
	 	cii3dD9:tDJJ//$tzz2BB&

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

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

 	cii4 A]]9C0 	DDt$TBC	D]]9C0 	9Dt$78	9]]9C0 	9Dt$78	9 	9		D 	D	9 	9	9 	9s$   LL'L3L$'L03L<zkey_val, col_vals, col_typer  4utf8r:   r9   r1   c                     t        j                  d      }t        j                  j	                  |j                  ||j                  |j                          t        ||                               }t        |ddgi|      }t        dt        j                  gdt        j                  gg|      }|j                  d|j                  d d df   j                  t                     t!        j"                  ||       y )Nr  )r  rS   rR   r   )ro   importorskipr/  r   ArrowExtensionArrayrm   
dictionaryr1   getattrr   r>   rn   isetitemr   rA   r{   rB   rC   )rD   key_valcol_valscol_typepar  r   rG   s           rH   %test_dict_data_arrow_column_expansionzLTestDataFrameConstructorIndexInference.test_dict_data_arrow_column_expansionE  s       +yy,,HHXBMM"'')=RWR=R=T$UHV
 GaV,d;q"&&kArvv;7F!X]]1a4077?@
fh/rJ   N)	r  r  r  r`  rh  ro   rM  rN  ru  r   rJ   rH   r[  r[    sT    	-*9X [[%3*f%A	
	0	0rJ   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)
NrR   r?  z)Trying to coerce float values to integersrh   rj   r;   r   rg   r   )r>   r'  r(  r  ro   rp   r   r   roundr.  rr  rn   r   r   rA   )rD   rE   rq   rF   s       rH   "test_floating_values_integer_dtypezLTestDataFrameConstructorWithDtypeCoercion.test_floating_values_integer_dtypeY  sw    ii##A&66w?
 :]]:S1 	'c&	' syy{$/		T!&&((( FFD	J]]-S9 	'c&	']]-S9 	'3q6&	' K]]-S9 	(cN!!$'	(]]-S9 	(3q6N!!$'	( 	(#	' 	'	' 	'	' 	'	( 	(	( 	(s<   FF%=F13F=1G	F"%F.1F:=G	GN)r  r  r  rz  r   rJ   rH   rw  rw  X  s    (rJ   rw  c                      e Zd Zej                  j                  dddg      d        Zej                  j                  dddg      d        Zd	 Zd
 Z	d Z
d Zd Zd Zd Zd Zd Zej                  j                  deeg      d        Zd Zd Zd Zej                  j/                  e d      ej                  j                  dg dg dg ddg      d               Zy)&TestDataFrameConstructorWithDatetimeTZrQ   r9  zdateutil/US/Easternc                 T   t        ddd      }|j                  |      }t        d|d|      }t        d|j                        }|d	   j
                  |k(  sJ |D cg c]  }|j                          }}|D cg c]  }|j                          }}t        d
|i      }||d<   ||d<   ||d<   |j                  }	t        t        j
                  d      t        |      t        j
                  d      t        |      gg d      }
t        j                  |	|
       y c c}w c c}w )N2011/1/12012/1/1W-FRIr-  r   ro  r`   r^   ry   rq  dr_tzdatetimes_naivedatetimes_with_tzrd  r:  )rq  r  r  r  )r#   r|   r   r   tzinfor<   r\  r.  r   r>   rB   r~   )rD   rQ   rq  r  rF   tz_expectedr^  r  r  r   rG   s              rH   *test_construction_preserves_tzaware_dtypeszQTestDataFrameConstructorWithDatetimeTZ.test_construction_preserves_tzaware_dtypesy  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.rh   r   rd  r;   /Cannot unbox tzaware Timestamp to tznaive dtyper7  ry  rH  )r!   r\  ro   rp   r   r   r   r>   rm   r{   r   )rD   tz_aware_fixturer  rQ   r^  rq   msg2s          rH   'test_constructor_data_aware_dtype_naivezNTestDataFrameConstructorWithDatetimeTZ.test_constructor_data_aware_dtype_naive  s    v"%!!#BG 	 ]]:S1 	9q2$i'78	9 A]]9D1 	Bq"gaS0@A	B ]]:S1 	4rd"23	4 ]]:S1 	Lbhht62:JK	L ]]9D1 	JbaS8HI	J ]]:S1 	>vrd|n,<=	> ]]:S1 	Ctfqc1AB	C 	C'	9 	9	B 	B	4 	4	L 	L	J 	J	> 	>	C 	CsS   F35G *G(G'G&G2G>3F= G
GG#&G/2G;>Hc                 P   t        t        ddd      d      }t        dd      }t        ||d	      }|d
   j                  sJ d       |d
   j                  d
k(  sJ t        j                  |d
   t        |d
             t        j                  |d   t        |d             y )Nro  r:   r9  rO   r   rz   20130110ri  ro  r  zM8[ns, US/Easternry   )r   r#   r   r<   rl   rB   r~   r   )rD   r   rq  rF   s       rH   test_from_dictz5TestDataFrameConstructorWithDatetimeTZ.test_from_dict  s     Jz1FUS
A. Sr*+#w}}111}#w||s"""
r#ws(=>
r#wr(<=rJ   c                    t        dddd      }t        |      }t        j                  |d   t	        |d             t        t	        |            }t        j                  |d   t	        |d             t        ddd      }t        |      }t        j                  |d   t	        |d             t        t	        |            }t        j                  |d   t	        |d             y )	Nro  r:   r9  r   )rP   rQ   rl   rz   rO   r   )r#   r   rB   r~   r   )rD   r#  r	  s      rH   test_from_indexz6TestDataFrameConstructorWithDatetimeTZ.test_from_index  s    *aLuMo
s5z6$U+CDt%
s5z6$U+CD*aLAo
s1vvd';<t%
s1vvd';<rJ   c                     t        dd      }t        ||      }t        d|d|       t        d|j                  d|       y )Nr]  r$  ri  r`   r   r3  )r#   r   r   r   )rD   rq  r  s      rH   +test_frame_dict_constructor_datetime64_1680zRTestDataFrameConstructorWithDatetimeTZ.test_frame_dict_constructor_datetime64_1680  s>    
B/2R  	A&b1AHH-R8rJ   c                     t        ddd      }t        |      }t        d|d|      }|d   j                         j	                         sJ y )	Nr~  r  r  r-  r   ro  r`   ry   )r#   r   r   r$   rr  )rD   rq  r^  r   s       rH   +test_frame_datetime64_mixed_index_ctor_1681zRTestDataFrameConstructorWithDatetimeTZ.test_frame_datetime64_mixed_index_ctor_1681  sH    
JW=BZ E+26v{{}  """rJ   c           	          t        dddd      }t        |dg      }t        dt        dd      t        d	d      t        d
d      gi      }t        j                  ||       y )Nz20130101T10:00:00r:   minr9  )r[  rP   r.  rQ   
timestampsr   r:  z20130101T10:01:00z20130101T10:02:00)r#   r   r!   rB   rC   )rD   rq  r   rG   s       rH   test_frame_timeseries_columnzCTestDataFrameConstructorWithDatetimeTZ.test_frame_timeseries_column  so    %qu
 2~61lC1lC1lC
 	fh/rJ   c                     ddg}ddddddd	d
}t        |g d|      }t        ddt        j                  t        j                  fg|t        g d            }t	        j
                  ||       y )NNevadaOhio333333@333333@)rP    r  333333?@)r  rP  r  )r  r  )rP  r  i  r   )r  r  )r  r  r  )r   r>   rn   r   rB   rC   )rD   r   popr   rG   s        rH   test_nested_dict_constructionzDTestDataFrameConstructorWithDatetimeTZ.test_nested_dict_construction  su    V$ ,c5
 3&8'Jbffbff%56*+

 	fh/rJ   c                 N   t        ddd      }|j                  j                  t              j	                  dd      }t        |      }|j                  dk(  sJ |j                  |j                  k(  j                         sJ ||k(  j                         j                         sJ y )Nz2016-04-05 04:30r:   rp  rO   rS   r=  r)  )
r#   rU   rA   r{   r@   r   r^  r.  r<   rr  )rD   rZ   r   rF   s       rH   test_from_tzaware_object_arrayzETestDataFrameConstructorWithDatetimeTZ.test_from_tzaware_object_array  s    +Q5Ayy'//26t_xx6!!!		SYY&++---c	 $$&&&rJ   c           
         t        j                  t        d      t        d      t        d      gt        dd      t        j                  t        dd      gt        dd	      t        j                  t        d
d	      ggt
              j                  }t        |g d      }g d}|j                  |k(  j                         sJ y )Nz2013-01-01 00:00:00z2013-01-02 00:00:00z2013-01-03 00:00:00z2013-01-01 00:00:00-0500r9  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   )rd  rh  zdatetime64[ns, CET])
r>   rm   r!   r/  r   r{   r	  r   r.  rr  )rD   rE   r  expected_dtypess       rH   $test_from_tzaware_mixed_object_arrayzKTestDataFrameConstructorWithDatetimeTZ.test_from_tzaware_mixed_object_array  s    hh 343434 8\JFF8\J 8UCFF8UC" %
& !' 	( _5

 

o-22444rJ   c                     t        j                  d      j                  d      }t        |d      }t        |      j	                  d      }t        j                  ||       y )Nr$  )r   rR   zdatetime64[ns, UTC]r;   )r>   r?   r@   r   rA   rB   rC   )rD   
array_dim2rF   rG   s       rH   test_from_2d_ndarray_with_dtypezFTestDataFrameConstructorWithDatetimeTZ.test_from_2d_ndarray_with_dtype,  sM    YYr]**62
z)>?Z(//0EF
b(+rJ   r/  c                 (    |h d      }d|j                    d}t        j                  t        |      5  t	        d|i       d d d        t        j                  t        |      5  t        |       d d d        y # 1 sw Y   9xY w# 1 sw Y   y xY w)N>   rS   rR   r:   'z' type is unorderedrh   r   )r  ro   rp   r   r   r   )rD   r/  r   rq   s       rH   !test_construction_from_set_raiseszHTestDataFrameConstructorWithDatetimeTZ.test_construction_from_set_raises4  s     Y#,,23]]9C0 	%sFm$	% ]]9C0 	6N	 		% 	%	 	s   A<'B<BBc                     t        j                  ddd      j                  dd      }t        |      }t	        d |j
                  j                  D              sJ y )Nr   r8   rd  r;   r9   r:   c              3   <   K   | ]  }t        |t                y wr   )r   r%   )r   rE   s     rH   r   zeTestDataFrameConstructorWithDatetimeTZ.test_construction_from_ndarray_datetimelike.<locals>.<genexpr>D  s     Lc:c=1Ls   )r>   r?   r@   r   rr  rW   r   rD   rE   rF   s      rH   +test_construction_from_ndarray_datetimelikezRTestDataFrameConstructorWithDatetimeTZ.test_construction_from_ndarray_datetimelike?  sI     ii2%56>>q!Ds^LRWW^^LLLLrJ   c                    t         j                  j                  d      j                  d      }t	        j
                  dg      j                  }d}t        j                  t        |      5  t        |dg|       d d d        t	        j
                  g d      }t        j                  t        |      5  t        |dd	g
       d d d        y # 1 sw Y   TxY w# 1 sw Y   y xY w)NrR   rx  r   z'len\(arrays\) must match len\(columns\)rh   r   rH  )r   r   r  r  r   )r>   r'  r(  r  r/  rm   r<   ro   rp   r   r   )rD   rE   r<   rq   arr2s        rH   >test_construction_from_ndarray_with_eadtype_mismatched_columnszeTestDataFrameConstructorWithDatetimeTZ.test_construction_from_ndarray_with_eadtype_mismatched_columnsF  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 setrh   r   r   r`   zcolumns cannot be a set>   r   r   r   r   r  r[  s     rH   "test_columns_indexes_raise_on_setszITestDataFrameConstructorWithDatetimeTZ.test_columns_indexes_raise_on_setsQ  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 above)reasonr   r   )r   r   r   r  c                     ddl m} t        j                  |d    |             |d<   t	        |      }|d   j
                  t        j                  k(  sJ |d   |d   k(  j                         sJ y )Nr   )StringDTyper   r;   )numpy.dtypesr  r>   rm   r   r<   r   rr  )rD   r   r  r  s       rH    test_np_string_array_object_castzGTestDataFrameConstructorWithDatetimeTZ.test_np_string_array_object_castZ  sc     	-HHT#Ykm<S	o3x~~+++CDI%**,,,rJ   N)r  r  r  ro   rM  rN  r  r  r  r  r  r  r  r  r  r  r  set	frozensetr  r  r  r  skipifr   r  r   rJ   rH   r|  r|  x  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	
--rJ   r|  c                 ^    t        | t              r| j                  d   S | j                  d   S )Nr   r   )r   r   r   r
  s    rH   get1r  l  s(    #vxx{xx~rJ   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rD   r  s     rH   boxzTestFromScalar.boxt      }}rJ   c                     dt        d      it        u rdgd<   |t        j                  fi S |t        u rt
        u rfdS fdS t
        u rfdS fdS )	Nra   rR   r  r   c                       | | dfi |S )NrT   r   r   kwargsextrar   s     rH   r   z,TestFromScalar.constructor.<locals>.<lambda>  s#    ?aL,$),-3, rJ   c                      d| ifi |S Nr  r   r  s     rH   r   z,TestFromScalar.constructor.<locals>.<lambda>  s    ?C8+Wu+WPV+W rJ   c                      | | gfi |S r   r   r  s     rH   r   z,TestFromScalar.constructor.<locals>.<lambda>  s    1v'Q'Q&'Q rJ   c                 "     d| | gifi |S r  r   r  s     rH   r   z,TestFromScalar.constructor.<locals>.<lambda>  s    aV}'X'XQW'X rJ   )r   r   	functoolspartialr-  r   )rD   r   r  r  s    ` @rH   r   zTestFromScalar.constructorx  sv    %(#i' #uE);$$_>>>D[&(  XW&QQXXrJ   r<   rt   r   c                      |t         j                  |      }t        j                  |j                  |k(        sJ t        j                  |j                               sJ y rq  )r/  r   r>   rr  r.  r$   )rD   r<   r   r   s       rH   test_from_nat_scalarz#TestFromScalar.test_from_nat_scalar  sE    "&&.vvcjjE)***vvchhj!!!rJ   c                 N    t        d      } ||d      }t        |      |k(  sJ y )NrS   r   r;   r    r  )rD   r   r*  r   s       rH   *test_from_timedelta_scalar_preserves_nanosz9TestFromScalar.test_from_timedelta_scalar_preserves_nanos  s'    q\"H-CyBrJ   c                 T    |t        d      z   } ||d      }t        |      |k(  sJ y )NrS   rt   r;   r  )rD   r   fixed_now_tsr^  r   s        rH   *test_from_timestamp_scalar_preserves_nanosz9TestFromScalar.test_from_timestamp_scalar_preserves_nanos  s,    IaL("H-CyBrJ   c                     t        d      } |j                         } ||t              }t        t	        |      t
        j                        sJ y )NrS   r;   )r    to_timedelta64r{   r   r  r>   r   )rD   r   r*  td64r   s        rH   #test_from_timedelta64_scalar_objectz2TestFromScalar.test_from_timedelta64_scalar_object  s?    q\ r  "$f-$s)R^^444rJ   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   rt   r   z:<class 'numpy.timedelta64'> is not convertible to datetime|r  rh   r;   r9   )r>   r   r   joinro   rp   r   )rD   r   r  r  r<   msg1rq   s          rH   (test_from_scalar_datetimelike_mismatchedz7TestFromScalar.test_from_scalar_datetimelike_mismatched  s    UD!"..(CCH"--RDODhht,-]]9C0 	-e,	- Q]]9C0 	-e,	- 	-		- 	-	- 	-s   4B?+C?CCc                    |t         u s|t        u r:|t        u r2t        j                  j                  dd      }|j                  |       t        ddd      }d}|t        j                  u rt        j                  |d      }d} ||      }	t        |	      }
t        j                  |	      }t        |
      t        u sJ |
j                  j                   |k(  sJ ||k(  sJ y )	NziTimestamp constructor has been updated to cast dt64 to non-nano, but DatetimeArray._from_sequence has notTr  strict'  rS   rS  r  rR  )r?  r   r-  ro   rM  xfailapplymarkerr
   r>   r   r  rB   	get_dtyper  r!   asm8r<   rD   r   r  r  r  r   rM  r  r  r   itemr<   s               rH   #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)+++	!!!rJ   c                 &   t        j                  t        j                  t         j                        j                  d      } ||      }t        |      }t        |      t         j                  u sJ t        j                  |      }|t        k(  sJ y r  )
r>   r   iinfor4   maxr  r  rB   r  r{   )rD   r   r  r   r  r<   s         rH   test_out_of_s_bounds_datetime64z.TestFromScalar.test_out_of_s_bounds_datetime64  sh    rxx155s;V$F|DzR]]***V$rJ   c                    |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  rS   i  zm8[us]r  zm8[s])r?  r   r-  ro   rM  r  r  r
   r>   r   r  rB   r  r  r    r  r<   r  s               rH   $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)+++	!!!rJ   c                      |t        j                  t         j                        j                  d      } ||      }t	        |      }t        |      |u sJ t        j                  |      }|t        k(  sJ y r  )	r>   r  r4   r  r  r  rB   r  r{   )rD   r   r  r  r   r  r<   s          rH    test_out_of_s_bounds_timedelta64z/TestFromScalar.test_out_of_s_bounds_timedelta64  sb     RXXbhh'++S1V$F|DzS   V$rJ   c                     d}t        d|      }||t        u r|t        u r	d}t        }nd}t        }t        j                  ||      5   ||d       d d d        y # 1 sw Y   y xY w)	Nr9  r  r:  r  r  rh   rt   r;   )r!   r   r-  r   r   ro   rp   )rD   r   r  r   rQ   r^  rq   errs           rH   test_tzaware_data_tznaive_dtypez.TestFromScalar.test_tzaware_data_tznaive_dtype  sn    v"%;?i7C4KCCCK  C]]3c* 	,(+	, 	, 	,s   
AA')r  r  r  ro   fixturer?  r-  r  r   rM  rN  r  r  r  r  r>   r   r   r  r
   r  
skip_ubsanr  r   r  r  r  r   rJ   rH   r  r  s  sq   V^^D$-. / ^^Y Y( [[Wx&:;" <"
5 [[UR]]BNN$CD- E-" [[UXr}}$=>" ?"6 [[  [[UY$?@" A"4 [[[[UR]]BNN$CD E ,rJ   r  c                       e Zd Z ej                  ddg      d        Zej                  d        Zd Zd Zd Z	d	 Z
d
 Zy)TestAllowNonNanoTFr  c                     |j                   S r   r  r  s     rH   as_tdzTestAllowNonNano.as_td  r  rJ   c                    t        j                  d      j                  t         j                        j	                  d      }|r)||d   z
  }t        j                  ||j                        S t        j                  ||j                        S )Nr   rR  r   r;   )	r>   r?   rA   r4   r   r)   _simple_newr<   r%   )rD   r  r   s      rH   rE   zTestAllowNonNano.arr  sh    1$$RXX.33G<fQi'F!--fFLLII ,,V6<<HHrJ   c                 P    t        |      }|j                  |j                  k(  sJ y r   )r   r<   )rD   rE   r   s      rH   test_index_allow_non_nanoz*TestAllowNonNano.test_index_allow_non_nano&  s!    CjyyCII%%%rJ   c                     |rt        j                  |      }nt        |      }|j                  |j                  k(  sJ y r   )r/  TimedeltaIndexr   r<   )rD   rE   r  r   s       rH   test_dti_tdi_allow_non_nanoz,TestAllowNonNano.test_dti_tdi_allow_non_nano*  s5    ##C(C$CyyCII%%%rJ   c                 P    t        |      }|j                  |j                  k(  sJ y r   )r   r<   )rD   rE   r  s      rH   test_series_allow_non_nanoz+TestAllowNonNano.test_series_allow_non_nano1  s!    SkyyCII%%%rJ   c                 V    t        |      }|j                  d   |j                  k(  sJ y r   r   r.  r<   r  s      rH   test_frame_allow_non_nanoz*TestAllowNonNano.test_frame_allow_non_nano5  s%    s^yy|syy(((rJ   c                 Z    t        d|i      }|j                  d   |j                  k(  sJ y r   r  r  s      rH   #test_frame_from_dict_allow_non_nanoz4TestAllowNonNano.test_frame_from_dict_allow_non_nano9  s*    3x yy|syy(((rJ   N)r  r  r  ro   r  r  rE   r  r  r  r  r  r   rJ   rH   r  r    sX     V^^D%=) * ^^I I&&&))rJ   r  )Jrm   collectionsr   r   r   r   collections.abcr   dataclassesr   r
   r	   r   r  r  numpyr>   r   numpy.mar   ro   ri  pandas._libsr   pandas.compat.numpyr   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorsr*  pandas.core.dtypes.commonr   pandas.core.dtypes.dtypesr   r   r   r   pandasr/  r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   pandas._testing_testingrB   pandas.arraysr%   r&   r'   r(   r)   r)  r&  r6   r[  rw  r|  r  r  r  r   rJ   rH   <module>r'     s      % & 
  	       . , ) ) 6      "   7 	 }*3 }*3@VH0 H0V( (@q- q-h^, ^,D&) &)rJ   