
    Pi                        d dl Z d dlmZmZmZmZ d dlmZ d dlm	Z	 d dl
mZm
Z
mZ d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dlZd dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZm Z m!Z!m"Z" d dl#Z$d dl#m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3 d dl4m5Z6 d dl7m8Z8m9Z9m:Z:m;Z;m<Z< g dZ=g dZ> G d d          Z? G d d          Z@ G d d          ZA G d d          ZBd ZC G d d          ZD G d d          ZEdS )    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                            d
ddg          d             Zd Zej                            dd d d d d d d d d d d g          d             Zd Zej                            dg g ed           ed          fg g g ed            ed          fd! d"D             g ed           ed          fg          d#             Zd$ Zd% Zd& Zd' Zd( Zd) Zd* Zd+ Zd, Zej                            d-d.i gd.dd/d0d1gd2i gg          d3             Zd4 Zd5 Z d6 Z!d7 Z"d8 Z#ej                            d9 e$j%        d:ge&;           e$j%        d d<z  g          d=g e$j%        d>ge&;           e$j%        d?g          d d<z   d z
  gg          d@             Z'ej                            d9 e$j%        dge$j(        ;           e$j%        dge$j)        ;           e$j%        dge$j*        ;           e$j(        d          g e$j)        d          g e$j*        d          gg          dA             Z+dB Z,dC Z-dD Z.dE Z/dF Z0dG Z1dH Z2dI Z3ej                            dJd e$j4        dKdLg          dM             Z5ej                            dNdOe$j4        dK e6dP          g          dQ             Z7ej                            dNe$j4        dK e6dP          g          dR             Z8dS Z9dT Z:dU Z;dV Z<dW Z=dX Z>dY Z?dZ Z@d[ ZAd\ ZBd] ZCd^ ZDd_ ZEd` ZFda ZGdb ZHdc ZIdd ZJej                            dedf dgfdh difdj dgfdk dlfg          dm             ZKdn ZLdo ZMej                            dp eNdq           eOd          f ePddrs           eQdtdu          f eRdvdwx          S                    dy           eTdydwz          fg          d{             ZUd| ZVd} ZWd~ ZXd ZYej        Z                    d          d             Z[d Z\d Z]d Z^ej                            ddK e_ e`d                    ddge&e$ja        fdKdKddgdt e$jb        dt          fdK e_ e`d                    ddgec e$jb        d          fi dKd/d0gdKe$ja        fddi e_ e`d                     e_d          ec e$jb        d          fg          d             Zdej                            dg ddeejf        fg ddeejg        fg ddeejh        fg ddeeji        ff          d             Zjd Zkd Zld Zmd Znd Zod Zpd Zqd Zrd Zsd Ztd Zuej                            d eRd          ggd eRd          igd eRd          gid eRd          ig          d             Zvd Zwd Zxd Zyd Zzd Z{d Z|d Z}d Z~d Zd Zej                            deeg          d             Zej                            deeg          d             Zd Zd Zd Zd Zd Zd Zd Zej                            dd"g fdg gfdd"d"gfdg g gfg g fg g gfdgd gfdgd ggfg dg dfg dg dgfg          d             Zd Zd Zd Zd ZdÄ ZdĄ Zdń ZdƄ ZdǄ Zej                            dg dɢ          dʄ             Zd˄ Zd̄ Zd̈́ Zd΄ Zdτ ZdЄ Zdф Zd҄ Zdӄ ZdԄ ZdՄ Zdք Zdׄ Zd؄ Zej                            d e$j%        dKdKdKdK ej                    dKg           e$j%        dKdK ej                    dKg           e$j        dڦ          gdKgg e$j        dڦ          geej        ggdKg e$j        dڦ          ggdKgeej        ggeej        g e$j        dڦ          ggeej        gdKggg          dۄ             Zej                            dg dݢ          ej                            dg dߢ          d                         Zej                            dg dݢ          ej                            dg d          d                         Zd Zd Zd Zd Zd Zej                            d eg dg dgde$j4        g           eg dg dgdde$j4        g           eg dg dge$j4        dde$j4        g           eg dg dge$j4        dde$j4        g           eg dg dge$j4        dd d g          g          d             Zd Zd Zd Zd Zd Zd Zd Zd Zej                            dej        ej        z   ej        z   ej        z             d             Zej                            dej        ej        z   ej        z             d             Zd Zej        j        ej                            dg d          d                         Zd Zej                            d  e e_d                     ede$j4        e$j4        e$j4        g           e ePdd           ePddr          g           e eej        ddd                    g          d             Zΐd Zϐd Zej        Z                    d          d	             Zѐd
 ZҐd ZӐd ZԐd ZՐd Zej                            ddd gddg e_ eאdd d                     e_ eאdd ddw                     ePddrs          gg          d             Zؐd Zej                            dddg          d             Zڐd Zېd Zܐd Zݐd Zej                            d dgd gg e$j%        dgd gg          f e$j%        dgd gg          dgd ggf e$j%        dgd gg           e$j%        dgd gg          fg          d!             Zߐd" Zd# Zd$ Zd% Zd& Zd' Zej                            d(eeg          d)             Zd* Zej                            d+eeeeeej%        eej        g          d,             Zd- Zd. ZdKS (/  TestDataFrameConstructorsc                     t          j        d                              dd          }t          |t                    }t          |                    t                    d          }t          j        ||           d S )N         dtypestr)nparangereshaper   r=   astypetmassert_frame_equal)selfarrdfexpecteds       x/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/frame/test_constructors.py,test_constructor_from_ndarray_with_str_dtypezFTestDataFrameConstructors.test_constructor_from_ndarray_with_str_dtypeM   sh     imm##Aq))s#&&&SZZ__E:::
b(+++++    c                 2   t          ddd          }|j                            dd          }t          |          }t          |d d df         |d d df         d	          }t	          j        ||           t          |j        j                  dk    sJ d S )
N
2016-01-01   
US/Pacificperiodstzr:      r      r   rS   )	r#   _datar@   r   rB   rC   len_mgrblocks)rD   dtidtarF   rG   s        rH   &test_constructor_from_2d_datetimearrayz@TestDataFrameConstructors.test_constructor_from_2d_datetimearrayU   s    q\BBBi1%%s^^QQQTs111a4y99::
b(+++27>""a''''''rJ   c                 f   t          d                              d          }|                    d          }t          d|idg          }t          d|gi          }t	          j        ||d           t          |d	gd
          }t          |gd	gd
          }t	          j        ||           d S )Nz2019-11-03 01:00:00-0700zAmerica/Los_Angelesnsdtr   indexFcheck_index_typerS   )r^   value)r!   
tz_convertas_unitr   rB   rC   )rD   r^   rF   rG   s       rH   )test_constructor_dict_with_tzaware_scalarzCTestDataFrameConstructors.test_constructor_dict_with_tzaware_scalar_   s    122==>STTZZbz!---dRD\**
b(UCCCC bA3//00RDA37788
b(+++++rJ   c                 r   t          j        dt           j        gddgg          }d}t          j        t
          |          5  t          |d           d d d            n# 1 swxY w Y   t          j        t
          |          5  t          |d         dd	           d d d            d S # 1 swxY w Y   d S )
NrS   rR   r:   9Cannot convert non-finite values \(NA or inf\) to integermatchi8r;   r   r<   name)r>   arraynanpytestraisesr   r   r   )rD   rE   msgs      rH   -test_construct_ndarray_with_nas_and_int_dtypezGTestDataFrameConstructors.test_construct_ndarray_with_nas_and_int_dtypem   s8   hBFaV,--J]-S999 	' 	'c&&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' ]-S999 	/ 	/3q6A....	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/s$   A  A$'A$B,,B03B0c                     t          t          j                    t          j                    g          }|d         j        t	          j        d          k    sJ d S )Nr   M8[us])r   r
   nowr<   r>   rD   rF   s     rH   %test_construct_from_list_of_datetimesz?TestDataFrameConstructors.test_construct_from_list_of_datetimesx   sG    788!u{bhx00000000rJ   c                 0   t          ddgd          }|                    d          }t          t          j        |                                d          d          }|j        |j        k    sJ t          |          }t          j        ||           d S )Nz2013-1-1 13:00z2013-1-2 14:00Brm   rN   objectr;   )	r   tz_localizer   r>   rn   tolistr<   rB   assert_series_equal)rD   naiveidxrG   results        rH   +test_constructor_from_tzaware_datetimeindexzETestDataFrameConstructors.test_constructor_from_tzaware_datetimeindex|   s     /1ABMMM--"(3::<<x@@@sKKK~**** 
vx00000rJ   c                     d}t          dddg|ddgi          }|                    d          }dd|didd|dig}||k    sJ d S )	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   se    aV^aV<==JJiJ((q.!,sA~q.IJzzzzzzrJ   c                     d}t          dddg|ddgi          }|                    d          }dd|didd|dig}||k    sJ d S )	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   se    aV\Aq6:;;JJiJ((q,*S!\1,EFzzzzzzrJ   c                 ,   t          j        dd          }t          j        |gt                    }|t          u r|                    dd          }d}t          j        t          |          5   ||d           d d d            d S # 1 swxY w Y   d S )NNaTr]   r;   rS   =Invalid type for timedelta scalar: <class 'numpy.datetime64'>ri   m8[ns])	r>   
datetime64rn   r|   r   r@   rp   rq   	TypeError)rD   frame_or_seriesnatrE   rr   s        rH   ,test_array_of_dt64_nat_with_td64dtype_raiseszFTestDataFrameConstructors.test_array_of_dt64_nat_with_td64dtype_raises   s    mE4((huF+++i''++a##CM]9C000 	1 	1OCx0000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1s   .B		BBkindmMc                    |dk    r
d}t           }n	d}t          }t          j        dd                              |                              dd          }|t          u r|d d d	f         } ||t                    }|j        j	        d	         j
        j        t          k    sJ t          |j        j	        d	         j
                                        d	         |          sJ  | ||          t                    }|j        j	        d	         j
        j        t          k    sJ t          |j        j	        d	         j
                                        d	         |          sJ  | ||          t          t                              }|j        j	        d	         j
        j        t          k    sJ t          |j        j	        d	         j
                                        d	         |          sJ |t          u rd
 |D             } ||t                    }|j        j	        d	         j
        j        t          k    sJ t          |j        j	        d	         j
                                        d	         |          sJ d S d S )Nr   M8[ns]r   rM   rk   r;   r:   rR   r   c                 ,    g | ]}t          |          S  r   .0xs     rH   
<listcomp>zXTestDataFrameConstructors.test_datetimelike_values_with_object_dtype.<locals>.<listcomp>   s    +++!F1II+++rJ   )r!   r    r>   r?   viewr@   r   r|   rW   rX   valuesr<   
isinstanceravelr   r   )rD   r   r   r<   scalar_typerE   objserss           rH   *test_datetimelike_values_with_object_dtypezDTestDataFrameConstructors.test_datetimelike_values_with_object_dtype   sZ    3;;E#KKE#Ki&&&++E22::1a@@f$$aaad)Coc000xq!(.&8888#(/!,399;;A>LLLLL oooc22&AAAxq!(.&8888#(/!,399;;A>LLLLLoooc22,v:N:NOOOxq!(.&8888#(/!,399;;A>LLLLLi''++s+++D!/$f555C8?1%,2f<<<<choa07==??BKPPPPP ('
 QPrJ   c                 b   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        ||           d S )N   rS   r{   r   columns)r   ranger   rB   rC   )rD   r   yr   rG   s        rH   )test_series_with_name_not_matching_columnzCTestDataFrameConstructors.test_series_with_name_not_matching_column   s    588!$$$588!$$$1qc***R!---
fh///1qc***R!---
fh/////rJ   constructorc                      t                      S Nr   r   rJ   rH   <lambda>z"TestDataFrameConstructors.<lambda>   s
    IKK rJ   c                       t          d           S r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   s    IdOO rJ   c                       t          d          S Nr   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>       IbMM rJ   c                       t          g           S r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   r   rJ   c                  4    t          d dD                       S )Nc              3      K   | ]}|V  d S r   r   r   _s     rH   	<genexpr>z5TestDataFrameConstructors.<lambda>.<locals>.<genexpr>   s      __Aa______rJ   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    IeAhh'' 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                  6    t          d dD                       S )Nc              3      K   | ]}|V  d S r   r   r   s     rH   r   z5TestDataFrameConstructors.<lambda>.<locals>.<genexpr>   s      ??!A??????rJ   r   r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   s    I??r???333 rJ   c                  <    t          t          d                    S )Nr   r   r   r   rJ   rH   r   z"TestDataFrameConstructors.<lambda>   s    I588,,, rJ   c                     t                      } |            }t          |j                  dk    sJ t          |j                  dk    sJ t	          j        ||           d S r   )r   rV   r`   r   rB   rC   )rD   r   rG   r   s       rH   test_empty_constructorz0TestDataFrameConstructors.test_empty_constructor   sg    " ;;6<  A%%%%6>""a''''
fh/////rJ   c                    t          t          d          t          d                    }t          i           }t          |j                  dk    sJ t          |j                  dk    sJ t          j        ||d           d S )Nr   r`   r   Tra   )r   r   rV   r`   r   rB   rC   )rD   rG   r   s      rH   #test_empty_constructor_object_indexz=TestDataFrameConstructors.test_empty_constructor_object_index   s    :a==*Q--HHH26<  A%%%%6>""a''''
fhFFFFFFrJ   z)emptylike,expected_index,expected_columnsrS   r   rR   c              #      K   | ]}|V  d S r   r   r   s     rH   r   z#TestDataFrameConstructors.<genexpr>   s      ooQqoooooorJ   r   c                 p    t          ||          }t          |          }t          j        ||           d S )Nr   r   rB   rC   )rD   	emptylikeexpected_indexexpected_columnsrG   r   s         rH   test_emptylike_constructorz4TestDataFrameConstructors.test_emptylike_constructor   s=     >;KLLL9%%
fh/////rJ   c                 L    |rdnt           j        }|d         j        |k    sJ d S )Nr=   foo)r>   object_r<   )rD   float_string_frameusing_infer_stringr<   s       rH   test_constructor_mixedz0TestDataFrameConstructors.test_constructor_mixed   s1    +;!%(.%777777rJ   c                 ,   d}t          j        t          |          5  t          dg dit          j                   d d d            n# 1 swxY w Y   t          t	          j        d                    }t	          j        d                                          |d<   d}t          j        t          |          5  t	          j        d          |d	<   d d d            n# 1 swxY w Y   t	          j        d                                          |d
<   d S )Nz!could not convert string to floatri   r   r   bcr;   )r9   rR   r   z5Expected a 1D array, got an array with shape \(4, 2\)testfoo2)rp   rq   
ValueErrorr   r>   r,   onesr~   )rD   rr   rF   s      rH   test_constructor_cast_failurez7TestDataFrameConstructors.test_constructor_cast_failure  s~    2]:S111 	@ 	@sOOO,BJ????	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ rwv'' GFOO**,,5	 H]:S111 	) 	)BvJ	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) WV__++--6


s#    A

AA<C  C$'C$c                     t          dgdgdgd          }t          |t          d          }d|d<   |d         d	         dk    sJ d S )
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  s\    cUSEC5IIJJ7%d;;;vvq!S((((((rJ   c                     t          ddgg          }t          ||d         j                  }d|j        d<   |j        d         dk    sJ d S )NrS   rR   r   r;   c   r   r   )r   r<   ilocr   )rD   rF   should_be_views      rH   ,test_constructor_dtype_nocast_view_dataframezFTestDataFrameConstructors.test_constructor_dtype_nocast_view_dataframe!  sW    Ax  "2RU[999$&D!y!######rJ   c                     t          ddgddggd          }t          |j        |d         j                  }|j        j        d         j        j        j        sJ d S )NrS   rR   r:   r9   r4   r;   r   )r   r   r<   rW   rX   flagsc_contiguous)rD   rF   df2s      rH   +test_constructor_dtype_nocast_view_2d_arrayzETestDataFrameConstructors.test_constructor_dtype_nocast_view_2d_array'  s_    AA'w777	A555xq!(.;;;;;;rJ   c                    t          j        ddgd          }t          |d          }|rG|d         j        j        dk    rnLt          j        |d                                         |          sJ nt          j        |j        |          sJ t          |t          d	          }t          j        |j        |          sJ d S )
Nr   r   r|   r;   Fr   r   pyarrowr   	r>   rn   r   r<   storageshares_memoryto_numpyr   r|   rD   r   rE   rF   s       rH   "test_1d_object_array_does_not_copyz<TestDataFrameConstructors.test_1d_object_array_does_not_copy,  s    hSz222s''' 	4!u{"i// '1(8(8#>>>>>>#BIs33333s&u555	3///////rJ   c                    t          j        ddgddggd          }t          |d          }|rG|d	         j        j        d
k    rnLt          j        |d	                                         |          sJ nt          j        |j        |          sJ t          |t          d          }t          j        |j        |          sJ d S )Nr   r   r   r   r|   r;   Fr  r   r	  r   r
  r  s       rH   "test_2d_object_array_does_not_copyz<TestDataFrameConstructors.test_2d_object_array_does_not_copy=  s    hc
S#J/x@@@s''' 	4!u{"i// '1(8(8#>>>>>>#BIs33333s&u555	3///////rJ   c                     t          ddgd dggt                    }|j        d         J |j        d         dk    sJ d S )NrS   2r   r;   rS   r   rT   )r   r|   locrw   s     rH    test_constructor_dtype_list_dataz:TestDataFrameConstructors.test_constructor_dtype_list_dataN  sP    C4+.f===vd|###vd|s""""""rJ   c                    t                      }t          j        d          }t          j        t
          d          5  t          |g           d d d            n# 1 swxY w Y   t          j        t
          d          5  t          |g           d d d            n# 1 swxY w Y   t          dddgi          }t          j        t
          d          5  t          ||g           d d d            d S # 1 swxY w Y   d S )Nr   zshape=\(1, 0, 0\)ri   ArS   rR   zshape=\(2, 2, 1\))r   r>   emptyrp   rq   r   )rD   r   r   s      rH   "test_constructor_list_of_2d_raisesz<TestDataFrameConstructors.test_constructor_list_of_2d_raisesS  s   KKHV]:-ABBB 	 	qcNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]:-ABBB 	 	qcNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 sQFm$$]:-ABBB 	 	q!f	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s5   AA"ABB"%B"C66C:=C:ztyp, adr   r   barr  rz   Cintc                    |dk    rt           }d |D             }n|dk    rt          }d |D             }t          ||          D ]\  }}|j        |k    sJ |                    t          t          ||                               t          |          }t          t           z   }|D ]}||v r|j        |         |k    sJ d S )Nr  c                     g | ]H}t          j        t           j                            d                               d          |          IS )rR   
   r;   )r>   rn   randomdefault_rngr   r   s     rH   r   zKTestDataFrameConstructors.test_constructor_mixed_dtypes.<locals>.<listcomp>o  sR       KL..q1188<<AFFF  rJ   r   c                     g | ]J}t          j        t           j                            d                               dd          |          KS )rR   r!  )sizer;   )r>   rn   r"  r#  integersr$  s     rH   r   zKTestDataFrameConstructors.test_constructor_mixed_dtypes.<locals>.<listcomp>t  sZ        ..q11::2B:GGqQQQ  rJ   )MIXED_INT_DTYPESMIXED_FLOAT_DTYPESzipr<   updatedictr   dtypes)rD   typadr-  arraysr   r   rF   s           rH   test_constructor_mixed_dtypesz7TestDataFrameConstructors.test_constructor_mixed_dtypesa  s    %<<%F PV  FF G^^'F   F
 '' 	  	 DAq7a<<<<<
		$s66**++,,,r]]#&66 	) 	)ABwwy|q((((	) 	)rJ   c                    t           j                            d                              d                              t           j                  }t           j                            d                              d                              t           j                  }t          ||d          }|j        |j        j        k    sJ |j        |j	        j        k    sJ d S )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    I!!!$$++B//66r|DDI!!!$$++B//66r}EEQQ''((w"$*$$$$w"$*$$$$$$rJ   c                 F   t          ddd gi|          }|                                }t          dddgi          }t          j        ||           |j        d         J t          ddt
          j        gi|          }t          j        |j        d                   sJ d S )Nr  r   r;   FTr  )r   r$   rB   rC   r   r>   ro   isnan)rD   string_dtyperF   r   rG   s        rH   $test_constructor_dtype_str_na_valuesz>TestDataFrameConstructors.test_constructor_dtype_str_na_values  s    c4[)>>>cE4=122
fh///wt}$$$c26]+<@@@x&&&&&&&rJ   c                    |                     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          ||                              ddg          }t          j        ||           d S )NFr_   r  rz   r   r   )
to_recordslistr<   namesr`   r   rB   assert_index_equalr   r   r>   r?   rV   reindexrC   )	rD   float_framerecr`   rF   r  rngdf3rG   s	            rH   test_constructor_recz.TestDataFrameConstructors.test_constructor_rec  s.   $$5$11sy//"5	!s^^
bj%	*@*@AAA5)))
ck5+A+ABBB
ci/// iC!!$$B$'3c
;;;S,,,44c3Z4HH
c8,,,,,rJ   c                     t          t          j        dt                    t          j        dt                    d          }|j        j        t          j        k    sJ d S )Nr!  r;   rT   )r   r>   r   boolzerosr   r<   bool_rw   s     rH   test_constructor_boolz/TestDataFrameConstructors.test_constructor_bool  sR    272T222rx$7O7O7OPPQQy"(******rJ   c                    t          j        d t          dd          D             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 d S )
Nc                     g | ]}d |z
  S )            r   r   is     rH   r   zMTestDataFrameConstructors.test_constructor_overflow_int64.<locals>.<listcomp>  s    ;;;519;;;rJ   rS   r!  r;   r   ))l   Y2<   )l   FJLW]L*    )l   M:M^ -   )l   8Ma i  )l   r*R3_PvN rR  )uidu8)scorerV  rU  )r>   rn   r   r0   r   r<   rJ  rV   )rD   r   r   data_scoresr<   r   	df_crawlss          rH   test_constructor_overflow_int64z9TestDataFrameConstructors.test_constructor_overflow_int64  s    ;;eArll;;;29MMMC=))c{ BI----
 
 
 0x[))+5999QQQdOO	%222222rJ   r   rO  r;   A   l           l        l        c                     |d         }t          |          }|d         j        t          k    sJ |d         d         |k    sJ d S r   )r   r<   r|   rD   r   rc   r   s       rH   test_constructor_int_overflowz7TestDataFrameConstructors.test_constructor_int_overflow  sP     q	6""ay&((((ay|u$$$$$$rJ   c                     |d         }t          |          }|d         j        |j        k    sJ |d         d         |k    sJ d S r   r   r<   r]  s       rH   test_constructor_numpy_uintsz6TestDataFrameConstructors.test_constructor_numpy_uints  sR     q	6""ay%+----ay|u$$$$$$rJ   c           	      P   d}t          t          |                    }t          j                            d                              |           d |D             }t          t          t          |dgg|z                                }|t          |j	                  k    sJ d S )Nd   rR   c                     g | ]}d |d	S )r  r   r   rP  s     rH   r   zJTestDataFrameConstructors.test_constructor_ordereddict.<locals>.<listcomp>  s     ,,,!IIII,,,rJ   r   )
r?  r   r>   r"  r#  shuffler   r   r*  r   )rD   nitemsnumsrG   rF   s        rH   test_constructor_ordereddictz6TestDataFrameConstructors.test_constructor_ordereddict  s    E&MM""
	a  ((...,,t,,,{3x1##@#@AABB4
++++++++rJ   c                    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	         |	                    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                                                   sJ t          t                                dk    sJ d}t!          j        t$          |          5  t          dddg dd           d d d            d S # 1 swxY w Y   d S )N   r;   
2020-01-01rP   r_   r   r   r      r   r   r`   rm   )r   r   col4r   r   r   <Mixing dicts with non-Series may lead to ambiguous ordering.ri   r   r   r3  r   r  rz   )r   r>   r?   r,   r#   r   rV   rB   r   renameconcatenatero   r   r`   r$   allrp   rq   r   )rD   datetime_seriesdatetime_series_shortframeexprr   s         rH   test_constructor_dictz/TestDataFrameConstructors.test_constructor_dict  se    Ib
+++:lTV3W3W3W
 
 
 !0 3?<QRRSS ?##r))))())R////
uV}o.D.DV.L.LMMMNRVHqL*?*FGHH!'
 
 

 	sE&M222$.CDD,,,
 
 

 5zzS!6777777U""""E&M""&&((((( 9;;1$$$$ M]:S111 	I 	I#C00GGHHH	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	Is   1GGGc                     t          ddddi          }t          j        |j        t	          ddg                     d S )Nr  rS   rR   1r  r}  r  )r   rB   rA  r`   r   rD   rx  s     rH   test_constructor_dict_length1z7TestDataFrameConstructors.test_constructor_dict_length1  sC    3aa 0 0122
ek5#s+<+<=====rJ   c                 `    t          g d          }t          i |          }|j        |u sJ d S )Nr   rS   rR   r_   )r   r   r`   rD   r   rx  s      rH    test_constructor_dict_with_indexz:TestDataFrameConstructors.test_constructor_dict_with_index  s>    III"C((({c!!!!!!rJ   c                     t          g d          }t          i ||          }|j        |u sJ |j        |u sJ t	          |j                  dk    sJ d S )Nr  r   r:   )r   r   r`   r   rV   _seriesr  s      rH   ,test_constructor_dict_with_index_and_columnszFTestDataFrameConstructors.test_constructor_dict_with_index_and_columns$  sn    III"C555{c!!!!}####5=!!Q&&&&&&rJ   c                     t          g g dddg          }t          j        |j        t	          d          d           d S )Nrr  r  rz   r   r   Texact)r   rB   rA  r`   r   r~  s     rH   $test_constructor_dict_of_empty_listsz>TestDataFrameConstructors.test_constructor_dict_of_empty_lists,  sF    ,,sCjAAA
ek:a==EEEEEErJ   c                     t          dd idg          }t          dd gidg          }|                    dd          J |                    dd          J t          j        ||           d S )Nr   r   r_   )r   
_get_valuerB   rC   )rD   
frame_noneframe_none_lists      rH   test_constructor_dict_with_nonez9TestDataFrameConstructors.test_constructor_dict_with_none1  s     T{1#666
#S4&M!===$$Q,,444))!S11999
j/:::::rJ   c                 "   d}t          j        t          |          5  t          ddi           d d d            n# 1 swxY w Y   t          j        t          |          5  t          ddidg           d d d            d S # 1 swxY w Y   d S )N2If using all scalar values, you must pass an indexri   r   gffffff?r   rp   rq   r   r   rD   rr   s     rH   test_constructor_dict_errorsz6TestDataFrameConstructors.test_constructor_dict_errors:  s    C]:S111 	" 	"sCj!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" ]:S111 	1 	1sCj3%0000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1s!   <A A "BBBscalarNDc                 z    t          d|idg          }t          dg          }t          j        ||           d S )Nr   r   r   r   )rD   r  r   rG   s       rH   %test_constructor_invalid_items_unusedz?TestDataFrameConstructors.test_constructor_invalid_items_unusedD  sG     C=3%888cU+++
fh/////rJ   rc   r9   ro   c                 >   d|dgd|gddgddgddggfdt          d          D             }t          |                              d                              dd	          }t          t          j        d
d                              dd                    }t          j        ||           t          |                              dd	          }t          j        ||           t          |          }t          j        ||           d S )NrS   r:   r   r   r9   rR   r   c                 L    i | ] }|         t          |                    !S r_   r   r   r   colsr   r   s     rH   
<dictcomp>zKTestDataFrameConstructors.test_constructor_dict_nan_key.<locals>.<dictcomp>Q  0    HHH!Qq	555HHHrJ   axisrM   r4   r;   r   r_   )r   r   sort_valuesr>   r?   r@   rB   rC   rD   rc   r   r   rG   r  r   r   s        @@@rH   test_constructor_dict_nan_keyz7TestDataFrameConstructors.test_constructor_dict_nan_keyK  s8    5!}Ela&1a&1a&)HHHHHHuQxxHHH4,,Q//;;Ca;HHIaw'''//155S$
 
 
 	fh///4s+++77!7DD
fh///4sD999
fh/////rJ   c                    t          d|dfd|fg          t          d|f|dfg          ddgdd	gdd
ggfdt          d          D             }t          |                              d                              d|fd          }t          t	          j        dd                              dd                    }t          j        ||           t          |                              d|fd          }t          j        ||           t          |          }t          j        ||           d S )N)            r   rR   r   r:   rS   r9   r   c                 L    i | ] }|         t          |                    !S r  r   r  s     rH   r  zQTestDataFrameConstructors.test_constructor_dict_nan_tuple_key.<locals>.<dictcomp>d  r  rJ   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^  sc    hb%[9::c5\E1:.//a&1a&1a&)HHHHHHuQxxHHH4,,X66BBC<VWBXXIaw'''//155S$
 
 
 	fh///4s+++77e17MM
fh///4sD999
fh/////rJ   c                 &   t          t          j        dt          j                  t	          dd                    }|d d         }||d}t          |          }t          |t          d	          
          }t          j        ||           d S )Nr!  r;   rk  rl  r_   r   r   r   r   bar   r   )	r   r>   r?   r,   r#   r   r?  rB   rC   )rD   rv  rw  r   rx  rG   s         rH   %test_constructor_dict_order_insertionz?TestDataFrameConstructors.test_constructor_dict_order_insertionq  s     Ib
+++:lTV3W3W3W
 
 
 !0 3 (o>>q!!!!T$ZZ88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        ||           d S )NrS   rR   r:   r   )r   r>   ro   rB   rC   rD   r   rG   s      rH   )test_constructor_dict_nan_key_and_columnszCTestDataFrameConstructors.test_constructor_dict_nan_key_and_columns~  sk    BFQFA1v6LLLq!fq!f-{CCC
fh/////rJ   c                    g d}t          j        |          }t          ||          }t          |          j                                                                        sJ g d}t          j        |          }t          ||          }t          |          j                                                                        sJ d S )N)rR   r:   r:   r:   r  r   )r  r  r  )r   from_tuplesr   r$   r   r   ru  )rD   tuplesmirF   s       rH   test_constructor_multi_indexz6TestDataFrameConstructors.test_constructor_multi_index  s     *))#F++R,,,Bxx$$&&**,,,,,)))#F++R,,,Bxx$$&&**,,,,,,,rJ   c                    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        ||           d S )	NrS   rR   r   r`   r4   r;   r   )levelscodesr   )r   r   r   rB   rC   rD   rF   rG   s      rH   test_constructor_2d_indexz3TestDataFrameConstructors.test_constructor_2d_index  s    useAq6:::FAg...seQC5999
 
 

 	b(+++useQF8<<<FaVHaVH===seQC5999
 
 

 	b(+++++rJ   c           	         d}t          j        t          |          5  t          t	          j        d          dg           d d d            n# 1 swxY w Y   d}t          j        t          |          5  t          ddd	g d
d           d d d            n# 1 swxY w Y   d}t          j        t          |          5  t          t	          j        d                              d          g dt          dd                     d d d            n# 1 swxY w Y   t	          j	        g dg          }d}t          j        t          |          5  t          dgt          d          |           d d d            n# 1 swxY w Y   t	          j	        g d          }d}t          j        t          |          5  t          dgt          d          |           d d d            n# 1 swxY w Y   t          j        t          d          5  t          t	          j        d          g ddg           d d d            n# 1 swxY w Y   d}t          j        t          |          5  t          t          j                            d                              d          g ddg           d d d            n# 1 swxY w Y   d}t          j        t          |          5  t          t          j                            d                              d          d d!gddg           d d d            n# 1 swxY w Y   d"}t          j        t          |          5  t          t          d#          t          d#d$          fd%&           d d d            n# 1 swxY w Y   d'}t          j        t          |          5  t          d(d)d	           d d d            d S # 1 swxY w Y   d S )*Nz)Empty data passed with indices specified.ri   r   rS   r_   rq  r   r   r3  r   rr  z:Shape of passed values is \(4, 3\), indices imply \(3, 3\)r8   )r9   r:   r   r  baz
2000-01-01r:   rl  r  r9   r   rM   z:Shape of passed values is \(1, 3\), indices imply \(1, 4\)r9   r`   r   r   z:Shape of passed values is \(3, 1\), indices imply \(1, 4\)Must pass 2-d inputr:   r:   r:   r  :Shape of passed values is \(2, 3\), indices imply \(1, 3\)rR   r  :Shape of passed values is \(2, 3\), indices imply \(2, 2\)r  rz   z,2 columns passed, passed data had 10 columnsr!     )r   twosr   r  FT)rp   rq   r   r   r>   r  r?   r@   r#   rn   r   rJ  r"  r#  )rD   rr   rE   s      rH   test_constructor_error_msgsz5TestDataFrameConstructors.test_constructor_error_msgs  s   9]:S111 	. 	.bhqkk!----	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. M]:S111 	I 	I#C00GGHHH	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I L]:S111 	 		"%%f----- q999   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 h			{##K]:S111 	= 	=QCq<<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= hyyy!!K]:S111 	= 	=QCq<<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= ]:-BCCC 	O 	Obhy))???1#NNNN	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O L]:S111 	 		%%a((//77'c   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 L]:S111 	 		%%a((//77c
!f   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 =]:S111 	L 	LuRyy%B--0:JKKKK	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L C]:S111 	/ 	/E--...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/s   %AAA7BB"BA	DDD!FFF!G//G36G3(I		II1AKK
K+AL>>MM&/N!!N%(N%	O))O-0O-c                     |d t          d          D                        |d t          d          D                       d}t          |          }t          d |                                D                       }t          j        ||            ||                                          }t          |          }t          j        ||           d S )Nc              3   $   K   | ]}|d |z  fV  dS )g      $@Nr   r   s     rH   r   zKTestDataFrameConstructors.test_constructor_subclass_dict.<locals>.<genexpr>  *      !C!CA1dQh-!C!C!C!C!C!CrJ   r!  c              3   $   K   | ]}|d |z  fV  dS )g      4@Nr   r   s     rH   r   zKTestDataFrameConstructors.test_constructor_subclass_dict.<locals>.<genexpr>  r  rJ   rm  c                 X    i | ]'\  }}|t          |                                          (S r   )r,  items)r   colvals      rH   r  zLTestDataFrameConstructors.test_constructor_subclass_dict.<locals>.<dictcomp>  s.    OOOhc33SYY[[ 1 1OOOrJ   )r   r   r  rB   rC   )rD   dict_subclassr   rF   refdfs        rH   test_constructor_subclass_dictz8TestDataFrameConstructors.test_constructor_subclass_dict  s     "M!C!Cr!C!C!CCC!M!C!Cr!C!C!CCC
 
 t__OO$**,,OOOPP
eR(((}TZZ\\**t__
eR(((((rJ   c                    i }t           j        |j        d |j        d         df<   |                                D ]E\  }}t          t                    }|                    |                                           |||<   Ft          |          }|
                    |j                  }t          j        ||           d S )Nr!  rz   r_   )r>   ro   r  r`   r  r   r,  r+  r   r   rB  rB   rC   )rD   rC  r   kvdctrx  rG   s           rH   test_constructor_defaultdictz6TestDataFrameConstructors.test_constructor_defaultdict  s    8:/++B//45%%'' 	 	DAqd##CJJqyy{{###DGG$=={'8=99
k844444rJ   c                     t          j        g dg          }t          dgdgdgdgdg d          }t          j        |j        |           d S )N)      @r   r   r   r  r   r   r   )r   r   r   r   r   )r>   rn   r   rB   assert_numpy_array_equalr   )rD   rG   rF   s      rH   test_constructor_dict_blockz5TestDataFrameConstructors.test_constructor_dict_block  sl    8111233%se3%se<<(((
 
 
 	#BIx8888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nnJ |d         j        t          j        k    sJ d S )NrS   rR   r|  r}  r  3)r}  r  r  rr  r;   r:   rz   r  )r   r   rV   r<   r>   r,   r   )rD   r   	test_datarx  s       rH   test_constructor_dict_castz4TestDataFrameConstructors.test_constructor_dict_cast  s     !**s31O1OPP	)51115zzQSz2:----Sz2:----)$$5zzQ5GRuSz2:-----RSz2:------rJ   c           	         t          t          t          d          d t          d          D                                 t          t          t          d          t          j                            d                              d                              d}t          j        t          d          5  t          |t                     d d d            d S # 1 swxY w Y   d S )	Nr  c                     g | ]}d | S )word_r   rP  s     rH   r   zITestDataFrameConstructors.test_constructor_dict_cast2.<locals>.<listcomp>  s    %E%E%Eakakk%E%E%ErJ      rR   rr  zcould not convert stringri   r;   )r,  r*  r   r>   r"  r#  standard_normalrp   rq   r   r   r   )rD   r  s     rH   test_constructor_dict_cast2z5TestDataFrameConstructors.test_constructor_dict_cast2  s    c%))%E%E599%E%E%EFFGGc%))RY%:%:1%=%=%M%Mb%Q%QRRSS
 
	 ]:-GHHH 	. 	.iu----	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.s   8CC #C c                     ddt           j        di}t          |          }t          |d         d         t                    sJ d S )NCol1zA String)Row1Row2r  )r>   ro   r   r   r   )rD   r   rF   s      rH   !test_constructor_dict_dont_upcastz;TestDataFrameConstructors.test_constructor_dict_dont_upcast  sF    j"&99:q\\"V*V,e4444444rJ   c                     t          ddgddggddgddg          }t          |d         d         t                    sJ d S )NrS   rR   r   r   r   )r   r   r  )rD   dms     rH   "test_constructor_dict_dont_upcast2z<TestDataFrameConstructors.test_constructor_dict_dont_upcast2  sO    Ac
+Aq6Aq6JJJ"Q%(C(((((((rJ   c                     ddd}t          |          }t          d |                                D                       }t          j        ||d           d S )NrS   rR   r:   r  r3  c                 4    i | ]\  }}|t          |          S r   )r?  )r   r  r  s      rH   r  zMTestDataFrameConstructors.test_constructor_dict_of_tuples.<locals>.<dictcomp>'  s$    BBBTQaaBBBrJ   Fcheck_dtype)r   r  rB   rC   rD   r   r   rG   s       rH   test_constructor_dict_of_tuplesz9TestDataFrameConstructors.test_constructor_dict_of_tuples"  s\    Y//4BBTZZ\\BBBCC
fhEBBBBBBrJ   c                     t          d          t          dd          d}t          |          }t          g dg dd          }t          j        ||           d S )Nr:   rM   r3  r  )r:   r9   r   r   r   rB   rC   r  s       rH   test_constructor_dict_of_rangesz9TestDataFrameConstructors.test_constructor_dict_of_ranges*  s^    1XXE!QKK004999999==>>
fh/////rJ   c                     t          t          d                    t          t          d                    d}t          |          }t          g dg dd          }t	          j        ||           d S )Nr:   r3  r  rR   rS   r   )iterr   reversedr   rB   rC   r  s       rH   "test_constructor_dict_of_iteratorsz<TestDataFrameConstructors.test_constructor_dict_of_iterators2  sj    %((^^(588*<*<==4999999==>>
fh/////rJ   c                     d t          d          D             d t          t          d                    D             d}t          |          }t          g dg dd          }t          j        ||           d S )Nc              3      K   | ]}|V  d S r   r   rP  s     rH   r   zPTestDataFrameConstructors.test_constructor_dict_of_generators.<locals>.<genexpr><  s"      ,,Aa,,,,,,rJ   r:   c              3      K   | ]}|V  d S r   r   rP  s     rH   r   zPTestDataFrameConstructors.test_constructor_dict_of_generators.<locals>.<genexpr><  s"      3R3R!A3R3R3R3R3R3RrJ   r3  r  r  )r   r  r   rB   rC   r  s       rH   #test_constructor_dict_of_generatorsz=TestDataFrameConstructors.test_constructor_dict_of_generators:  s    ,,%((,,,3R3Rxa?Q?Q3R3R3RSS4999999==>>
fh/////rJ   c                    dddddddddd	d
dd}t          |                                          }t          |          }t          d |D             t          j        d |D                                 j        }t          j        |j                  |_        t          j        ||           ddddd|d<   |	                    dd|d         f           t          d |D             t          d |D             d                    j        }t          |j        d          |_        t          |          }|                    |j        |j                  }t          j        ||           d S )Nr   rS   rR   )rQ  rQ  rQ  jr
  rQ  rM   r   r9         	   ))r   r   r  )r   r   c                     g | ]
}|d          S rS   r   r   s     rH   r   zNTestDataFrameConstructors.test_constructor_dict_multiindex.<locals>.<listcomp>J      aQqTrJ   c                     g | ]
}|d          S r   r   r   s     rH   r   zNTestDataFrameConstructors.test_constructor_dict_multiindex.<locals>.<listcomp>J  s    =O=O=Oqad=O=O=OrJ   r_   g     ^@o   )r   r  r	  r  zc                     g | ]
}|d          S r  r   r   s     rH   r   zNTestDataFrameConstructors.test_constructor_dict_multiindex.<locals>.<listcomp>U  r  rJ   c                     g | ]
}|d          S r  r   r   s     rH   r   zNTestDataFrameConstructors.test_constructor_dict_multiindex.<locals>.<listcomp>U  s    ,>,>,>aQqT,>,>,>rJ   F)tupleize_colsr  )sortedr  r   r   r  Tr`   rB   rC   insertr   rB  r   )rD   r   _drF   rG   s        rH    test_constructor_dict_multiindexz:TestDataFrameConstructors.test_constructor_dict_multiindexA  s   %&A1EE%&A1EE%&A1EE
 

 AGGIIq\\2j&<=O=OB=O=O=O&P&P
 
 

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

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

 	 x~UCCCq\\ZZ 0ZGG
b(+++++rJ   c                 (  	 g d		fd} |t           j                  } |d           } |t                    }t          g dg dg dg dgd 	D             	          }t          |          }|j        j        d
k    sJ |j                            d          |_        t          |          }|j        j        dk    sJ t          |          }t          j        ||           t          j        ||           t          j        ||           d S )N)z
1984-02-19z
1988-11-06z
1989-12-03z
1990-03-15c                 <      fdt                    D             S )Nc                 8    i | ]\  }}| |          d |z  iS rR   r   )r   rQ  sr   s      rH   r  ziTestDataFrameConstructors.test_constructor_dict_datetime64_index.<locals>.create_data.<locals>.<dictcomp>a  s0    SSS41aAAA.SSSrJ   )	enumerate)r   dates_as_strs   `rH   create_datazUTestDataFrameConstructors.test_constructor_dict_datetime64_index.<locals>.create_data`  s&    SSSS9\;R;RSSSSrJ   c                 ,    t          j        | d          S )Nz%Y-%m-%d)r
   strptimer   s    rH   r   zRTestDataFrameConstructors.test_constructor_dict_datetime64_index.<locals>.<lambda>d  s    h.?:.N.N rJ   )r   NNN)NrR   NN)NNr9   N)NNNrM   c                 ,    g | ]}t          |          S r   )r!   )r   r^   s     rH   r   zTTestDataFrameConstructors.test_constructor_dict_datetime64_index.<locals>.<listcomp>n  s    888R9R==888rJ   r_   r"  us)	r>   r   r!   r   r`   unitre   rB   rC   )
rD   r%  data_datetime64data_datetimedata_TimestamprG   result_datetime64result_datetimeresult_Timestampr$  s
            @rH   &test_constructor_dict_datetime64_indexz@TestDataFrameConstructors.test_constructor_dict_datetime64_index\  se   OOO	T 	T 	T 	T 	T &+bm44#$N$NOO$Y//%%%%%%%%%%%%	 98<888
 
 
 &o66 &+s2222"3"9"A"A$"G"G#M22$)T1111$^44
/:::
ox888
.99999rJ   zklass,exp_dtypec                 ,    t          j        | d          S Nr  )r>   timedelta64r(  s    rH   r   z"TestDataFrameConstructors.<lambda>~  s    r~a-- rJ   m8[s]c                 "    t          |           S )N)days)r   r(  s    rH   r   z"TestDataFrameConstructors.<lambda>  s    ya((( rJ   m8[us]c                 "    t          | d          S r4  r    r(  s    rH   r   z"TestDataFrameConstructors.<lambda>  s    yC(( rJ   c                 H    t          | d                              d          S )Nr  ms)r    re   r(  s    rH   r   z"TestDataFrameConstructors.<lambda>  s    yC((0066 rJ   zm8[ms]c           
      2   g d}fdt          |          D             }t          dd d d dd dd d dd d dd dd d d ddgd |D             	          }|j                            |          |_        t          |          }t	          j        ||           d S )
NrS   rR   r:   r9   c                 8    i | ]\  }}| |          d |z  iS r!  r   )r   rQ  r"  klasss      rH   r  zUTestDataFrameConstructors.test_constructor_dict_timedelta64_index.<locals>.<dictcomp>  s0    FFFAEE!HHa!e$FFFrJ   r   r   rS   rR   r:   rR   r9   rM   c                 .    g | ]}t          |d           S )r  r;  )r   tds     rH   r   zUTestDataFrameConstructors.test_constructor_dict_timedelta64_index.<locals>.<listcomp>  s"    :::"9R%%:::rJ   r_   )r#  r   r`   rA   rB   rC   )rD   rA  	exp_dtype	td_as_intr   rG   r   s    `     rH   'test_constructor_dict_timedelta64_indexzATestDataFrameConstructors.test_constructor_dict_timedelta64_index{  s     !LL	FFFF91E1EFFF$4D11Q4D11TaD11Tdq11	 ;:	:::
 
 
 "..y994
fh/////rJ   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          |                    t
                                                    |                    t
                                                    d          }|d         j        |j        k    sJ |d         j        |j        k    sJ d S )	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    N888sCCCN>>>SIIIQQ''((#w}''''#w}'''' QXXf--4466QXXf=M=M=T=T=V=VWWXX#w}''''#w}''''''rJ   c                     |\  }}t          d|idg          }|d         j        |k    sJ t          dgdg|          }t          j        ||           d S )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  sm    1	8Y's333#w}((((A3IFFF
b(+++++rJ   z
data,dtypez2020-01r   )leftrightr4   rT  z
2011-01-01
US/EasternrQ   r"  )r+  rQ   c                    t          t          d          ddg|          }|d         j        |k    sJ |d         j        |k    sJ t          j        |gdz  |          }t          ||d          }t          j        ||           d S )NrR   r   r   r  r;   r3  )r   r   r<   rK  rn   rB   rC   )rD   r   r<   rF   rE   rG   s         rH   &test_constructor_extension_scalar_dataz@TestDataFrameConstructors.test_constructor_extension_scalar_data  s     U1XXSzEEE#w}%%%%#w}%%%%hvz///3S1122
b(+++++rJ   c                 b   t          j        dd          }t          t          j                            d                              d          |          }i }|j        D ]9}|j        D ]/}|	                    ||          |
                    |i           |<   0:t          ||          }t          j        ||           i }|j        D ]9}|j        D ]/}|	                    ||          |
                    |i           |<   0:t          ||          j        }t          j        ||           d S )Nz1/1/2000r   rl  rR   r!  r   r   r_   )rK  period_ranger   r>   r"  r#  r  r   r`   r  
setdefaultrB   rC   r  )rD   rE  rF   r   r  rowr   s          rH   "test_nested_dict_frame_constructorz<TestDataFrameConstructors.test_nested_dict_frame_constructor  sR   oj!444ry,,Q//??HHRUVVV: 	H 	HCx H H02c30G0GR((--H 4---
fb))): 	H 	HCx H H02c30G0GR((--H 4s+++-
fb)))))rJ   c                 V    |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rXd}t          j        t          |          5  t          |g dddgt
          j
                   d d d            n# 1 swxY w Y   d S 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            n# 1 swxY w Y   d}t          j        t          |          5  t          |d	dgddg           d d d            n# 1 swxY w Y   t          j        t          d          5  t           |d          g ddg           d d d            n# 1 swxY w Y   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 d S )Nr  r;   r  rS   rR   r  r:   )r:   r  r  rh   ri   r   r`   r<   r  r  rz   r  r  Tr  r_   r   )r   r:   r   )r:   r   )r   r   rV   r`   r   r>   r   rp   rq   r   r4   r   r<   r   rB   rA  r   r   )rD   r  matrx  rr   s        rH   _check_basic_constructorz2TestDataFrameConstructors._check_basic_constructor  s    eF%(((#q!fEEE5;1$$$$5=!!Q&&&& %%++uIIIFFF5;1$$$$5=!!Q&&&&NC1=== V V#q!fBHUUUUV V V V V V V V V V V V V V VF___QF"(  E <%1111 L]:S111 	? 	?c???1#>>>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	?K]:S111 	= 	=cC:aV<<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= ]:-BCCC 	L 	LeeI&&sKKKK	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L #
ek5q??$GGGG
emU588__DIIII#aV,,,
emU588__DIIII#777
ek5q??$GGGG %%--((5;1$$$$%%--((5=!!Q&&&&&&sH   "DDD/FFF9GG #G H--H14H1c                     |                      t          j                   t          ddgddgdg          }t	          |          dk    sJ d S )Nr   r  r   rS   r  r   rR   )rb  r>   r   r   rV   r~  s     rH   test_constructor_ndarrayz2TestDataFrameConstructors.test_constructor_ndarray  sM    %%bg...5%.AFFF5zzQrJ   c                    |                      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 d S )Nr  r;   r   r   r   rS   rR   r  rS   rR   r  r  r  )rb  r   
masked_allr   r   r>   ru  asarray)rD   ra  rx  s      rH   test_constructor_maskedarrayz6TestDataFrameConstructors.test_constructor_maskedarray  s    %%bm444 mF%000D	D	#q!fEEEeCjm####eCjm#### mF%000#q!fEEEvrz%5.1112222222rJ   z7ignore:elementwise comparison failed:DeprecationWarningc                 V   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                                        sJ d}t          j        t"          |          5  t          |g dddgt          j                   d d d            n# 1 swxY w Y   t          j        |          }d|d	<   d|d
<   t          |g dddg          }d|d                             d          d         k    sJ d|d                             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 d S )Nr  r;   r  rS   rR   r  r:   r`  r   rf  r  r  r   z8datetime64\[ns\] values and dtype=int64 is not supportedri   rk   TF)r   rg  r  r   rV   r`   r   r>   ru  rh  r,   r   r<   r   r$   rp   rq   r   r4   rA   rI  r|   )rD   ra  rx  mat2rr   s        rH   %test_constructor_maskedarray_nonfloatz?TestDataFrameConstructors.test_constructor_maskedarray_nonfloat(  s.   
 mF#...#q!fEEE5;1$$$$5=!!Q&&&&vrz%5.11122222 #q!fBJWWW|!RZ//// ws||T
T
$1vFFFE#JqM!!!!E#JqM!!!! mF(333#q!fEEE5;1$$$$5=!!Q&&&&E{{!%%''''' J]9C000 	R 	Rc???1a&QQQQ	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R ws||T
T
$1vFFFE#J%%d++A.....E#J%%d++A..... mF$///#q!fEEE5;1$$$$5=!!Q&&&&vrz%5.11122222 #q!fFSSS|!V++++ ws||T
T
$1vFFFSz!}$$$$Sz!}%%%%%%s   "G??HHc                 B   t          j        dt                                                    }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                                                    }t	          |ddgddg          }t	          d
d
gd
d
gdddgddgt          	          }t          j        ||           d S )N)rR   rR   r;   r  rz   rS   rR   r  rr  r`  r   )
r   rg  r   harden_maskr   r>   ro   rB   rC   r   )rD   mat_hardr   rG   s       rH   %test_constructor_maskedarray_hardenedz?TestDataFrameConstructors.test_constructor_maskedarray_hardenedl  s$   =u555AACC8c3Z1vFFF626""&"&)9::#Ja&	
 
 
 	fh///76///;;==8c3Z1vFFF*C:..#Ja&	
 
 
 	fh/////rJ   c                 d   t           j                            t           j                            dddg          dgdz            }|                    t
          j                  }t          j        t          d          5  t          |t                     d d d            d S # 1 swxY w Y   d S )	Nr   )r	   <f8)pricerr  r;   F)maskzPass \{name: data\[name\]ri   )r>   r   rn   rJ  r   r   	mrecarrayrp   rq   r   r   r  rD   r   s     rH   %test_constructor_maskedrecarray_dtypez?TestDataFrameConstructors.test_constructor_maskedrecarray_dtype  s    u{{EKK/3C!DKEEUGVWK  
 
 yy+,,]9,HIII 	' 	'd#&&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's   B%%B),B)c                 J    t          g           }|j        j        dk    sJ d S )Nr_   r   )r   r   shaperw   s     rH   test_constructor_corner_shapez7TestDataFrameConstructors.test_constructor_corner_shape  s-    R   y&((((((rJ   z%data, index, columns, dtype, expectedr!  r   r   r,   r   c                 N    t          ||||          }|j        j        |k    sJ d S r   )r   r   r<   )rD   r   r`   r   r<   rG   rF   s          rH   test_constructor_dtypez0TestDataFrameConstructors.test_constructor_dtype  s2     tUGU33y(******rJ   zdata,input_dtype,expected_dtype)TFNbooleanr   r   NFloat64)rS   rR   NInt64r   stringc                 b    t          d|i|          }|d         j         |            k    sJ d S )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66#w} 0 000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nd S J d S )NrS   Tr   y              @r   )r  rI  r   complexr|   r!  r_   r  rI  r   r  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Ut29R==111%y"(****&z28++++'{ BJ....)}"bm33337ITr(|!RZ//////T//rJ   c                    t          t          j                            d                              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            d S # 1 swxY w Y   d S )	NrR   r!  Tr3  r   zmust pass an indexri   F)r   r>   r"  r#  r  r   rB   rC   rp   rq   r   )rD   rF   ry  s      rH   #test_constructor_arrays_and_scalarsz=TestDataFrameConstructors.test_constructor_arrays_and_scalars  s    RY22155EEbIIPTUUVVbgnD6B;??@@
b#&&&]:-ABBB 	/ 	/E--...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/s   B44B8;B8c                     t          |          }t          j        ||           t          |t          j                  }|j        j        t          j        k    sJ d S Nr;   )r   rB   rC   r>   r4   r   r<   )rD   rC  rF   	df_casteds       rH   test_constructor_DataFramez4TestDataFrameConstructors.test_constructor_DataFrame  sU    {##
b+...k:::	%111111rJ   c                     t          t                      d          }t          g d          }t          j        ||           d S )Nr|   r;   r   )rD   actualrG   s      rH    test_constructor_empty_dataframez:TestDataFrameConstructors.test_constructor_empty_dataframe  sC    9;;h777Rx000
fh/////rJ   c                 T   t           j                            d                              d          }t	          |dgt          j        d                    }|j        j        dk    sJ t           j                            d                              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                                        dd          }d}t          j        t          |          5  t	          |ddgdgt                     d d d            n# 1 swxY w Y   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        j        t           j        k    sJ d S )NrR   r!  r  r  r   rz   r!  rR   r   )r   rR   r_   )r!  r   r   r  r;   rS   z(could not convert string to float: 'foo'ri   r`   r   r<   rr  )r>   r"  r#  r  r   r?   r   ndimry  rn   r|   r@   rp   rq   r   r   r  rB   rC   r   r  r,   rV   r   r<   )rD   rC  rE   r  ra  rr   s         rH   test_constructor_morez/TestDataFrameConstructors.test_constructor_more  s   i##A&&66r::sSE2???y~""""i##A&&66q99s^^y~""""y~"""" Sz2???y'))))Sz***y&((((RYr]]+++y')))) hu~V444<<QBB8]:S111 	C 	Cc!Q!EBBBB	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C y!45566
b+... '"C(((rwr/L/L/LMM)B--
 
 

 2:!####y"*,,,,,,s   ,GGGc                 N   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        ||           d S )Nr_   r  rz   r   c               3      K   dE d {V  d S r   r   r   rJ   rH   	empty_genzHTestDataFrameConstructors.test_constructor_empty_list.<locals>.empty_gen  s      MMMMMMMMMrJ   r   )rD   rF   rG   r  s       rH   test_constructor_empty_listz5TestDataFrameConstructors.test_constructor_empty_list  s    r$$$2&&&
b(+++ rC:...R#s444
b(+++	 	 	 yy{{S#J777
b(+++++rJ   c                 d   t          ddgddggddg          }t          |d                   sJ |s|d         j        t          j        k    snnJ t          t          j        d                    }d	 t          d          D             }t          |          }t          j        ||           d S )
NrS   r   rR   r   numr=   r  r!  c                 6    g | ]}t          j        |          S r   r>   rn   r   s     rH   r   zLTestDataFrameConstructors.test_constructor_list_of_lists.<locals>.<listcomp>  s     //////rJ   )	r   r   r<   r>   r   r?   r   rB   rC   )rD   r   rF   rG   r   r   s         rH   test_constructor_list_of_listsz8TestDataFrameConstructors.test_constructor_list_of_lists  s    aX3x05%.III5	*****4FQr%y"*,,,,,Q RYr]]++//U2YY///4
fh/////rJ   c                 `   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
        |           d S )NrS   rR   r;   r   )rR   rS   )r   r>   rn   r|   r   rK  rB   rC   ry  r  r   )rD   serrE   rF   rG   s        rH   .test_nested_pandasarray_matches_nested_ndarrayzHTestDataFrameConstructors.test_nested_pandasarray_matches_nested_ndarray  s    aVnnhd|6222AqAs^^RXc]]++
b(+++x6!!!!
#BqEL#66666rJ   c                     t          d          t          d          g}t          g dg dg|          }t          j        |          }t          g dg dg|          }t	          j        ||           d S )Nabcdcdefr?  r9   r   rM   r  r   )r?  r   r   from_arraysrB   rC   )rD   r0  r   r  rG   s        rH   2test_constructor_list_like_data_nested_list_columnzLTestDataFrameConstructors.test_constructor_list_like_data_nested_list_column  s    v,,V-LLL,,,7HHH#F++lllLLL92FFF
fh/////rJ   c                     t          d          t          d          g}d}t          j        t          |          5  t	          g dg dg|           d d d            d S # 1 swxY w Y   d S )Nr   cdez#3 columns passed, passed data had 4ri   r?  r  r   r?  rp   rq   r   r   rD   r0  rr   s      rH   0test_constructor_wrong_length_nested_list_columnzJTestDataFrameConstructors.test_constructor_wrong_length_nested_list_column)  s    u++tE{{+3]:S111 	D 	D|||\\\2FCCCC	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D   A!!A%(A%c                     t          d          t          d          g}d}t          j        t          |          5  t	          g dg dg|           d d d            d S # 1 swxY w Y   d S )Nr  r  zall arrays must be same lengthri   r?  r  r   r  r  s      rH   2test_constructor_unequal_length_nested_list_columnzLTestDataFrameConstructors.test_constructor_unequal_length_nested_list_column1  s    v,,U, /]:S111 	D 	D|||\\\2FCCCC	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	Dr  r   
2021-01-01r   c                     t          |t          d          dg          }t          dt          d          gdz  i          }t          j        ||           d S )Nr:   r   r   r  )r   r   r!   rB   rC   r  s       rH   &test_constructor_one_element_data_listz@TestDataFrameConstructors.test_constructor_one_element_data_list:  s[     4uQxx#???cIl$;$;#<q#@AB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
           d S )Nc                   (    e Zd ZddZd ZdefdZdS )PTestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainerreturnNc                     || _         d S r   )_lst)rD   lsts     rH   __init__zYTestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainer.__init__N  s    			rJ   c                 6    | j                             |          S r   )r  __getitem__)rD   ns     rH   r  z\TestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainer.__getitem__Q  s    y,,Q///rJ   c                 4    | j                                         S r   )r  __len__)rD   s    rH   r  zXTestDataFrameConstructors.test_constructor_sequence_like.<locals>.DummyContainer.__len__T  s    y((***rJ   )r  N)__name__
__module____qualname__r  r  r  r  r   rJ   rH   DummyContainerr  M  sR               0 0 0+ + + + + + +rJ   r  rS   r   rR   r   r  r=   r   Fr  )r   Sequencer   rB   rC   )rD   r  lst_containersr   r   rG   s         rH   test_constructor_sequence_likez8TestDataFrameConstructors.test_constructor_sequence_likeI  s    	+ 	+ 	+ 	+ 	+S\ 	+ 	+ 	+ ).!S22NNAs84L4LM%.>7;;;q#hC17CCC
fhEBBBBBBrJ   c           	      F   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           d S )Nr  rQ  r!  Fr  )r   rn   r   r?  rB   rC   r  s      rH   test_constructor_stdlib_arrayz7TestDataFrameConstructors.test_constructor_stdlib_array]  s     CS%))!<!<=>>c4b		??344
fhEBBBBd599ootE"II?@@EKU2YY77S%PR))9T9TUVV
fhEBBBBBBrJ   c                     t          t          d                    }t          t          t          d                              }t          j        ||           d S Nr!  r   r   r?  rB   rC   r  s      rH   test_constructor_rangez0TestDataFrameConstructors.test_constructor_rangeh  sG    599%%T%))__--
fh/////rJ   c                    t          t          d          t          d          g          }t          t          t          d                    t          t          d                    g          }t          j        ||           d S r  r  r  s      rH   test_constructor_list_of_rangesz9TestDataFrameConstructors.test_constructor_list_of_rangesn  sc    E"IIuRyy122d599ootE"II?@@
fh/////rJ   c                      G d d          }t          g dgdz            }t           |                      }t          j        ||           d S )Nc                       e Zd ZdefdZdS )ATestDataFrameConstructors.test_constructor_iterable.<locals>.Iterr  c              3   :   K   t          d          D ]}g dV  	d S )Nr!  r  )r   )rD   rQ  s     rH   __iter__zJTestDataFrameConstructors.test_constructor_iterable.<locals>.Iter.__iter__v  s4      r $ $A#))OOOO$ $rJ   N)r  r  r  r   r  r   rJ   rH   Iterr  u  s/        $( $ $ $ $ $ $rJ   r  r  r!  r   )rD   r  rG   r   s       rH   test_constructor_iterablez3TestDataFrameConstructors.test_constructor_iterables  sp    	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$
 iii[2-..4466""
fh/////rJ   c                     t          t          t          d                              }t          t          t          d                              }t	          j        ||           d S r  r   r   r   r?  rB   rC   r  s      rH   test_constructor_iteratorz3TestDataFrameConstructors.test_constructor_iterator~  sM    4b		??++T%))__--
fh/////rJ   c                 D   t          t          t          d                    t          t          d                    g          }t          t          t          d                    t          t          d                    g          }t	          j        ||           d S r  r  r  s      rH   "test_constructor_list_of_iteratorsz<TestDataFrameConstructors.test_constructor_list_of_iterators  so    DrOOT%))__=>>d599ootE"II?@@
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           d S )	Nc              3      K   | ]}|V  d S r   r   rP  s     rH   r   zGTestDataFrameConstructors.test_constructor_generator.<locals>.<genexpr>  "      %%a%%%%%%rJ   r!  c              3      K   | ]}|V  d S r   r   rP  s     rH   r   zGTestDataFrameConstructors.test_constructor_generator.<locals>.<genexpr>  r  rJ   c              3      K   | ]}|d gV  	dS )r   Nr   rP  s     rH   r   zGTestDataFrameConstructors.test_constructor_generator.<locals>.<genexpr>  s&      ++A3x++++++rJ   r   rT   Fr  )r   r   r?  rB   rC   )rD   gen1gen2rG   r   gens         rH   test_constructor_generatorz4TestDataFrameConstructors.test_constructor_generator  s     &%599%%%%%599%%%d599ootE"II?@@D$<((
fh///++r+++3rs3344
fhEBBBBBBrJ   c                     t          i g          }t          t          d          g           }t          j        ||           d S )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        ||           d S )N)r   rS   )r   rR   )r   rR   )r   r   r   r   rS   rR   r   )r   r   r   r   )r   r`   )r   r   rB   rC   )rD   nested1nested2r   r   rG   s         rH   3test_constructor_ordered_dict_nested_preserve_orderzMTestDataFrameConstructors.test_constructor_ordered_dict_nested_preserve_order  s    x233x233VW-/@ABB4AA//$sCj99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        ||           d S )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:::y{{CS	CS	4
fh///y{{S	S	D6""
fh/////rJ   c                 d    |            }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        ||           d S )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BBGW-..
fh///q!fq!fq!f5SzJJJGWi899
fh/////rJ   c                     d t          d          D             }t          |          }t          g dg dg ddg dg d          }t          j        ||           d S )Nc           	      P    g | ]#}t          |g d t          |                    $S )r   r   r   ro  )r   r=   rP  s     rH   r   z[TestDataFrameConstructors.test_constructor_list_of_series_aligned_index.<locals>.<listcomp>  s1    RRRA&///A???RRRrJ   r:   r  r  )0r}  r  r  r  )rD   seriesr   rG   s       rH   -test_constructor_list_of_series_aligned_indexzGTestDataFrameConstructors.test_constructor_list_of_series_aligned_index  s~    RRqRRR6""))))))))<<#OO!//
 
 

 	fh/////rJ   c                      G d dt                     }ddd} ||          g}|g}t          |          }t          |          }t          j        ||           d S )Nc                       e Zd ZdS )TTestDataFrameConstructors.test_constructor_list_of_derived_dicts.<locals>.CustomDictNr  r  r  r   rJ   rH   
CustomDictr            DrJ   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  s    	 	 	 	 	 	 	 	 A!z!}}os!+..4
fm44444rJ   c                 V   t           j                            d                              d          t           j                            d                              d          d}t	          j        t          d          5  t          |           d d d            d S # 1 swxY w Y   d S )NrR   r!  r  rr  z%All arrays must be of the same lengthri   )r>   r"  r#  r  rp   rq   r   r   rv  s     rH   test_constructor_raggedz1TestDataFrameConstructors.test_constructor_ragged  s    &&q))99"==&&q))99!<<
 
 ]:-TUUU 	 	dOOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   BB"%B"c                     t          t          d                    }t          ddi|          }t          dg di|          }t          j        ||d           d S )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!HHooQxs+++c999-S999
b(>>>>>>rJ   c                 j    t          |d         |j        dg          }|                                 d S )Nr  r   )r   r`   r   )rD   rC  rF   s      rH    test_constructor_Series_copy_bugz:TestDataFrameConstructors.test_constructor_Series_copy_bug  s1    {3'{/@3%PP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            n# 1 swxY w Y   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        ||           d S )NrS   rR   r:   r  r  )r9   r:   rR   rS   )r  quxr  r   r_   rz   zambiguous orderingri   r   r   r3  rr  )	r   r   r`   is_monotonic_increasingrp   rq   r   rB   rC   r  s       rH   &test_constructor_mixed_dict_and_Seriesz@TestDataFrameConstructors.test_constructor_mixed_dict_and_Series  sg   a22S	<<</K/K/KLLLS	4|3333 ]:-ABBB 	D 	DS#J3S-A-ABBCCC	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D #s&#sCQT:2V2V2VWWXXC:S#J??SzRRR
fh/////s   B  BBc                     ddgdg}t          |          }t          ddgddgg          }t          j        ||           d S )NrS   rR   r:   r9   r:   r9   r   r  s       rH    test_constructor_mixed_type_rowsz:TestDataFrameConstructors.test_constructor_mixed_type_rows	  sN    A4q!fq!f-..
fh/////rJ   ztuples,lists)r   )r   r   r  r  c                 l    t          |          }t          |          }t          j        ||           d S r   r   )rD   r  listsr   rG   s        rH   test_constructor_tuplez0TestDataFrameConstructors.test_constructor_tuple  s7     6""U##
fh/////rJ   c                     t          dddgi          }t          dt          ddg          i          }t          j        ||           d S )Nr  rf  r  r   r   rB   rC   r  s      rH   test_constructor_list_of_tuplesz9TestDataFrameConstructors.test_constructor_list_of_tuples"  sQ    C&&!123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        ||           d S )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6+a##[[A%6%67Aq6A77886""
fh/// Aq6A77886C:66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        ||           d S )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_dataclasses4  s}    w#sc3Z(@AAaUU1a[[)Aq6A77884
fh/////rJ   c                    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        ||           d S )Nr  r   r   HLinex0x1r   r:   rS   )r   r   r!  r"  )r   r  r   r>   ro   rB   rC   )rD   r  r   r   rG   r   s         rH   7test_constructor_list_of_dataclasses_with_varying_typeszQTestDataFrameConstructors.test_constructor_list_of_dataclasses_with_varying_types=  s     w#sc3Z(@AAw$tSkC:(NOOaUU1a^^,bf+QF261+bfa[Q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            d S # 1 swxY w Y   d S )	Nr  r   r   z0asdict() should be called on dataclass instancesri   r   rS   r  )r   r  rp   rq   r   reescaper   )rD   r  rr   s      rH   1test_constructor_list_of_dataclasses_error_thrownzKTestDataFrameConstructors.test_constructor_list_of_dataclasses_error_thrownK  s    w#sc3Z(@AA A]9BIcNN;;; 	7 	7uuQ{{!!$4$45666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7s   A<<B B 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        ||           d S )NrS   r9   r  r!  )FirstSecondThirdFourthr   rR   r  r  )r*  r)  r,  r+  rM   r:   r8   r     r  )r*  r)  r,  r+  YYYXXXr  r  )r  r  r  )r!  r  r8   )NNr-  )NNr  )r)  r*  r+  r,  r.  r/  r   )rD   r   rG   r   s       rH   #test_constructor_list_of_dict_orderz=TestDataFrameConstructors.test_constructor_list_of_dict_orderT  s     1qB??1Q??1QrRTUU

 "#))"&,,'''''' 	
 	
 4
fh/////rJ   c                    t          g dg dd          }t          |          }|j        d         dk    sJ t          j        |j        |j                   t          j                            d          	                    d          }t          |d          }t          |          }t          d|i          }t          j
        ||           t          |t          d	d
                    }t          |          }t          d|i          }t          j
        ||d           d}t          j        t          |          5  t          |ddg           d d d            n# 1 swxY w Y   t          g dt                    }t          |          }|j        d         dk    sJ t          |d          }t          ||g          j        }t          ||dddg          }t          j
        ||           t          ||g          j        }t          ||dt          d                    }t          j
        ||           d S )Nr  r   r   ro  r   rR   r!  r{   r:   r  r_   F)check_column_typez<Shape of passed values is \(10, 1\), indices imply \(10, 2\)ri   rS   r   rm   r<   )r   	Unnamed 0r4  r  )r   r   r   rB   rA  r`   r>   r"  r#  r  rC   r   rp   rq   r   r|   r  )rD   r   rF   rE   r"  rG   rr   s1s           rH   test_constructor_Series_namedz7TestDataFrameConstructors.test_constructor_Series_namedh  sp   999OOO#>>>q\\z!}####
bh000 i##A&&66r::3S!!!q\\c1X&&
b(+++3eArll+++q\\aV$$
b(eDDDDM]:S111 	) 	)a!Q((((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 2Cv...q\\z!}#### Cc"""Cy!!#2C883BTUUU
b(+++ Ry!!#__eAhh???
b(+++++s   E##E'*E'c                    t          t          d          d          }t          t          d          d          }t          j        t	          |dg          |                                           t          j        t	          |dg          |                                           t	          |dg          j        sJ t	          |dg          j        sJ d S )Nr   r   r{   rS   r   )r   r   rB   rC   r   to_framer  )rD   s0r5  s      rH   )test_constructor_Series_named_and_columnszCTestDataFrameConstructors.test_constructor_Series_named_and_columns  s     E!HH1%%%E!HH1%%% 	iQC888"++--HHH
iQC888"++--HHH aS)))////aS)))//////rJ   c                    t          g dg dd          }t          g dg d          }t          ddg          }t          ||          }t          |                    |                    }|j        d         dk    sJ t          j        ||           t          ||          }t          |                    |                    }|j        d         dk    sJ t          j        |j        |           t          j        ||           d S )	Nr  r   r   ro  r_   r   r   r   )	r   r   r   rB  r   rB   rC   rA  r`   )rD   r5  s2other_indexdf1exp1r  exp2s           rH   +test_constructor_Series_differently_indexedzETestDataFrameConstructors.test_constructor_Series_differently_indexed  s   III___3??? III___555S#J''+...K0011{1~$$$$
c4(((+...K0011{1~""""
ci555
c4(((((rJ   z#name_in1,name_in2,name_in3,name_out))r   r   r   r   )r   r   NN)r   NNN)idx1idx2NN)rB  rB  rC  N)rB  rC  idx3N)NNNNc           	         t          g d|          t          g d|          t          g d|          g}d t          |g d          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        ||	           d S )Nr   r{   )r   r   r   )r   r   ec                 <    i | ]\  }}|t          g d |          S )r  r_   r   )r   rQ  r   s      rH   r  zJTestDataFrameConstructors.test_constructor_index_names.<locals>.<dictcomp>  s<     
 
 
.2aAviiiq)))
 
 
rJ   )r   r   r  r   r   r   r   rF  r   rS   rR   r_   )r   r*  r   r>   ro   rB   rC   )
rD   name_in1name_in2name_in3name_outindicesr  r   exp_indrG   s
             rH   test_constructor_index_namesz6TestDataFrameConstructors.test_constructor_index_names  s    ///111///111///111


 
69'???6S6S
 
 
 6""111AAAArvrv.faArv.fbfaA. 
 
 
 
 	fh/////rJ   c                    t          |j        d d                   }t          |j        d d                   }d}t          j        t
          |d          5  t          |j        ||          }d d d            n# 1 swxY w Y   t          j        |j        t          |                     t          j        |j        t          |                     d S )Nr   r:   z#Passing a BlockManager to DataFrameF)rj   check_stacklevelr   )
r?  r`   r   rB   assert_produces_warningDeprecationWarningr   rW   rA  r   )rD   rC  r`   r   rr   r   s         rH   test_constructor_manager_resizez9TestDataFrameConstructors.test_constructor_manager_resize  s   [&rr*++{*2A2.//3'cE
 
 
 	O 	O {/ugNNNF	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	flE%LL999
fneGnn=====s   A;;A?A?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            d S # 1 swxY w Y   d S )Nr  rz   rr  r   zdoes not match index lengthri   )r   r?  rB   rC   r  rp   rq   r   )rD   rC  rF   rr   s       rH   %test_constructor_mix_series_nonseriesz?TestDataFrameConstructors.test_constructor_mix_series_nonseries  s%   c"k#.>)?)?@@3PS*
 
 
 	b+/!!!c3Z-"@AAA+]:S111 	Q 	QK,4C8H3I3I#2#3NOOPPP	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Qs   34B44B8;B8c                     d}t          j        t          |          5  t          t          j        dgddggt          j                   d d d            d S # 1 swxY w Y   d S )Nrh   ri   rS   r   r;   )rp   rq   r   r   r>   ro   r4   r  s     rH   %test_constructor_miscast_na_int_dtypez?TestDataFrameConstructors.test_constructor_miscast_na_int_dtype  s    J]-S999 	= 	={QF+28<<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	=s   ,AA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        ||           d S )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  s    Ax#s444!Q!!Cj
b#&&&$fXSzBB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        ||           d S )Nr   rS   r  na_valueU5)
r   r|   rK  StringDtyper>   ro   r=   rB   rC   str_)rD   r   rG   expected_strrF   s        rH   (test_constructor_empty_with_string_dtypezBTestDataFrameConstructors.test_constructor_empty_with_string_dtype  s   Aq6Aq6HHH a&1a&0O0O0O
 
 
 aVaV3??? 	0!"l3333!"h///aVaV27CCC
b(+++aVaV4@@@
b(+++++rJ   c                 x    t          dg|          }t          dg|          }t          j        ||           d S )Nc1r   r<   r   )rD   nullable_string_dtyperG   rF   s       rH   ,test_constructor_empty_with_string_extensionzFTestDataFrameConstructors.test_constructor_empty_with_string_extension  sE    dV3HIIIv-BCCC
b(+++++rJ   c           
      6   t          dg dg d          }t          j        |t          t          j        |j                                      d          |j        |j                             t          dg dg d          }t          j        |t          t          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            n# 1 swxY w Y   t          j        t          |          5  t          dddg           d d d            n# 1 swxY w Y   d}t          j        t          |          5  t          dd	d
gddgt                     d d d            d S # 1 swxY w Y   d S )N        r  r   r   r,   r   r4   r   rS   rR   r   r;   z*DataFrame constructor not properly called!ri   r   zincompatible data and dtype)r   rB   rC   r>   rJ  ry  rA   r`   r   rn   r|   rp   rq   r   r   r   )rD   rF   rr   s      rH   test_constructor_single_valuez7TestDataFrameConstructors.test_constructor_single_value  s   s)))___EEE
	"(28,,33I>>"*UU	
 	
 	
 q			???CCC
	"(28,,33G<<bh
SS	
 	
 	
 s1a&3*===
3*sCj1@@@!fc
  	
 	
 	
 ;]:S111 	# 	#cAq6"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#]:S111 	/ 	/cC:....	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ ,]9C000 	6 	6cAq6C:u555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6s6   E77E;>E;F==GG%HHHc                    t          j        t                    j        }t          j        t           j                  j        }t          j        t           j                  j        }t          dddt          d                              d          t          ddddd          d	t          j
        d
                    }|j        }t          t          j        d          g|st          j        |          nt          j        t           j                  gdz  z   t          j        d          t          j        d          gz   t!          d                    }t#          j        ||           t          dddddd|t          j        d|          |t          j        d|          it          j
        d
                    }|j        }t          t          j        d          t          j        d          |st          j        d          nt          j        t           j                  t          j        d          t          j        |          gddd||g          }t#          j        ||           t          dddddd|t          j        dgd
z  |          |t          j        dgd
z  |          it          j
        d
                    }|j        }t          t          j        d          t          j        d          |st          j        d          nt          j        t           j                  t          j        d          t          j        |          gddd||g          }t#          j        ||           d S )NrS   r   r  20010101r"    rR   r   )r  rz   r  r  Er!  r_   r4   r`  M8[s]ru   ABCDEr   r   r   r   r;   r,   r|   )r>   r<   r  rm   r,   r   r   r!   re   r
   r?   r-  r   rK  rc  ro   r?  rB   r   rn   )rD   r   intname	floatname
objectnamerF   r   rG   s           rH   test_constructor_with_datetimesz9TestDataFrameConstructors.test_constructor_with_datetimes3  sc   (3--$HRZ((-	Xbj)).
 z**22377dAq!Q//  )B--	
 	
 	
 Xg *5$$$^RV444
  x  "(8"4"456 w--

 

 

 	vx000 SQU28Cy999!7333 )B--	
 	
 	
 ##!!)5"""^RV444##!! S)W5
 
 
 	vx000 SQU28SEBJi@@@1#('::: )B--	
 	
 	
 ##!!)5"""^RV444##!! S)W5
 
 
 	vx00000rJ   c                 z    t          ddd          }d |D             }t          |          }|j        dk    sJ d S )Nr  r  r!  startrJ  rP   c                 6    g | ]}|                                 S r   to_pydatetimer   tss     rH   r   zNTestDataFrameConstructors.test_constructor_with_datetimes1.<locals>.<listcomp>  $    666BR%%''666rJ   ru   )r#   r   r<   )rD   ind	datetimes
datetime_ss       rH    test_constructor_with_datetimes1z:TestDataFrameConstructors.test_constructor_with_datetimes1  sP    |#rBBB66#666	I&&
8++++++rJ   c                 2   t          ddd          }d |D             }d |D             }t          |dg          }||d	<   |j        }t          t	          j        d
          t	          j        d          gdd	g          }t          j        ||           d S )Nr  r  r!  rz  c                 6    g | ]}|                                 S r   r}  r  s     rH   r   zNTestDataFrameConstructors.test_constructor_with_datetimes2.<locals>.<listcomp>  r  rJ   c                 6    g | ]}|                                 S r   )r	   r  s     rH   r   zNTestDataFrameConstructors.test_constructor_with_datetimes2.<locals>.<listcomp>  s     )))r)))rJ   r  r   datesdatetime64[us]r|   r_   )r#   r   r-  r   r>   r<   rB   r   )rD   r  r  r  rF   r   rG   s          rH    test_constructor_with_datetimes2z:TestDataFrameConstructors.test_constructor_with_datetimes2  s    |#rBBB66#666	))S)))y;-8887X&''(););<(
 
 
 	vx00000rJ   c                    t          dddt          j        d                    }t          d|idg          }|j        d         |k    sJ t          j        |j        t          dd	it          
                     t          d|ig          }|j        d         |k    sJ t          j        |j        t          dd	it          
                     d S )N  rS   rU  )tzinfozEnd Dater   r_   r   datetime64[us, US/Eastern]r;   )
r
   zoneinfoZoneInfor   iatrB   r   r-  r   r|   )rD   r^   rF   s      rH    test_constructor_with_datetimes3z:TestDataFrameConstructors.test_constructor_with_datetimes3  s     dAq):<)H)HIII
B's333vd|r!!!!
Ivz+GHPVWWW	
 	
 	
 R()**vd|r!!!!
Ivz+GHPVWWW	
 	
 	
 	
 	
rJ   c                    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 d S )	N20130101r:   rl  rc   r   UTCrO   rU  )r#   r   r  rQ   r=   )rD   drrF   s      rH    test_constructor_with_datetimes4z:TestDataFrameConstructors.test_constructor_with_datetimes4  s     
A...}%%vd|&&&
A%888}%%26$<?##u,,,,
A,???}%%26$<?##|333333rJ   c                 6   t          dddd          }t          d|                                                    d          i          }t                      }||d<   t	          j        ||           t          d|i          }t	          j        ||           d S )	N1/1/2011r   10srU  rP   rJ  rQ   r   Tdropr#   r   	to_seriesreset_indexrB   rC   )rD   rQ  rG   rF   s       rH    test_constructor_with_datetimes5z:TestDataFrameConstructors.test_constructor_with_datetimes5  s     z15\JJJc1;;==#<#<$#<#G#GHII[[3
b(+++Qx  
b(+++++rJ   c                    t          dddd          }t          ddd          }t          ||d          }t          |                                                    d	          |d          }t	          j        ||           d S )
Nr  r   r  rU  r  rP   rJ  r3  Tr  r  )rD   rQ  i_no_tzrF   rG   s        rH    test_constructor_with_datetimes6z:TestDataFrameConstructors.test_constructor_with_datetimes6  s    z15\JJJZ???QW--..1;;==#<#<$#<#G#GgVVWW
b(+++++rJ   rE   r   c                    t          |          j        }d}t          |t          j                  rd}nt          d |D                       sd}t          t          j        d| d          g          }t          j	        ||           d S )Nr]   r*  c              3   T   K   | ]#}|D ]}t          |t          j                  V  $d S r   )r   r>   r   )r   r   r   s      rH   r   zRTestDataFrameConstructors.test_constructor_datetimes_with_nulls.<locals>.<genexpr>  s;      JJaJJ1Z2=11JJJJJJJrJ   r"  datetime64[])
r   r-  r   r>   ndarrayanyr   r<   rB   r   )rD   rE   r   r+  rG   s        rH   %test_constructor_datetimes_with_nullsz?TestDataFrameConstructors.test_constructor_datetimes_with_nulls  s     3&c2:&& 	DDJJ3JJJJJ 	D28$9$$9$9$9::;<<
vx00000rJ   order)Kr  r  Fr+  )r   r  hr   r"  r=  r*  r]   c                    d| d}t          j        g dg dg||          }t          |          }t          |                    d                    }|dv r^t	          j        t          d	          5  |                    |           d d d            n# 1 swxY w Y   |                    d
          }n|                    |          }t          j        ||           d S )Nr  r  )z
2015-01-01z
2015-01-02z
2015-01-03)z
2017-01-01z
2017-01-02z
2017-02-03r<   r  r   )r   r  r  r   Cannot castri   zdatetime64[s]r;   )	r>   rn   r   rA   rp   rq   r   rB   rC   )rD   r  r+  r<   narF   rG   s          rH   !test_constructor_datetimes_non_nsz;TestDataFrameConstructors.test_constructor_datetimes_non_ns  s8    &d%%%X:::::: 
 
 
 r]]RYYx0011'''y>>> ' '&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' '  77HHU33H
b(+++++s   4BBB)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        ||           d S )Nztimedelta64[r  rS   r  rR   r9   r   r  )r  r  r   r"  zm8[r;   )r>   rn   r5  r   r<   r    rB   rC   )	rD   r  r+  r<   r  rF   exp_unitrE  rG   s	            rH   !test_constructor_timedelta_non_nsz;TestDataFrameConstructors.test_constructor_timedelta_non_ns  s'    't&&&X3''3)?)?@3''3)?)?@ 
 
 
 r]]?""HHHH.8...//	1c""Ia$5$561c""Ia$5$56 
 
 
 	b(+++++rJ   c           	         t          d t          d          D                       }|j        }t          t	          j        d          gdz            }t          j        ||           t          d t          d          D                       }|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          d t          d          D             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        ||           d S )Nc                 6    g | ]}t          j        d           S )r   )r>   r?   r   s     rH   r   zSTestDataFrameConstructors.test_constructor_for_list_with_dtypes.<locals>.<listcomp>/  s     777	!777rJ   r   r  c                 ^    g | ]*}t          j        t          j        d           d          +S )r   r3   r;   )r>   rn   r?   r   s     rH   r   zSTestDataFrameConstructors.test_constructor_for_list_with_dtypes.<locals>.<listcomp>4  s/    PPP!1W===PPPrJ   r3   r   l        l       r   r4   rS   rR   r   r   r,   r:   r_   )rS   rR   r9   r  )g333333?gffffff@gffffff@g333333@r  c                 0    g | ]}t          d dd          S )  rS   )r
   rP  s     rH   r   zSTestDataFrameConstructors.test_constructor_for_list_with_dtypes.<locals>.<listcomp>W  s$    ===qhtQ**===rJ   r9   )r   rR   r  r  rH  r|   r`  r  abcde)r   r   r-  r   r>   r<   rB   r   r   r?  rK  rc  ro   )rD   r   rF   r   rG   s        rH   %test_constructor_for_list_with_dtypesz?TestDataFrameConstructors.test_constructor_for_list_with_dtypes-  sL   77eAhh7778828E??+a/00
vx000PPuQxxPPPQQ28G,,-122
vx000 eY/011y~a BHW$5$55555 1vy~a BHW$5$55555Sz""y~a BHY$7$77777aV}%%y~a BHW$5$55555c3Z())y~a BHY$7$77777QxuQxx000y~a BHW$5$55555Szq222y~a BHY$7$77777 !\\)))&\\==E!HH===%%% 
 
 !!##)5"""^RV444)**## w--
 
 
 	vx00000rJ   c                     t          |d          }d|d<   |d         dk                                    sJ |d         dk                                    rJ d S )NTr  r   r  )r   ru  )rD   rC  cops      rH   test_constructor_frame_copyz5TestDataFrameConstructors.test_constructor_frame_copyj  se    $///CCA""$$$$$$)..0000000rJ   c                     |                                 }t          |          }|j        |j        usJ t          j        t          |                    |_        t          j        ||           d S r   )	r   r   rW   r>   r?   rV   r`   rB   rC   )rD   rC  origr  s       rH   #test_constructor_frame_shallow_copyz=TestDataFrameConstructors.test_constructor_frame_shallow_copyp  sh     !!$$x{/////Ic#hh''	
k400000rJ   c                     |j                                         }t          |          }d|d<   |j         d         dk                                    rJ t          |d          }d|d<   |j         d         dk                                    rJ d S )Nr   Tr  rM   )r   r   r   ru  )rD   rC  rE   rF   s       rH   test_constructor_ndarray_copyz7TestDataFrameConstructors.test_constructor_ndarray_copy{  s     %%''s^^AIaLA%**,,,,,s&&&AIaLA%**,,,,,,,rJ   c                     |j         }t          d|d         id          }d|j        |j        d         |j        d         df<   |d         dk                                    rJ d S )Nr  Tr  r   r   r=  )r  r   r  r`   ru  )rD   rC  r  rF   s       rH   test_constructor_series_copyz6TestDataFrameConstructors.test_constructor_series_copy  sp    $VC[)555 34rx{RXb\)3./3K1$))+++++++rJ   rF   r_   g?g@r   rB  r  )rm  rS   rR   r   c                    t          t          |j                            D ]}|j        d d |f          t	          j        t          |j                            t          |j                           }t          |          dk    rQt          j        t          d          5  |j
        d d t          j        f          d d d            d S # 1 swxY w Y   d S t          |          dk    rEt          j        |j        d d |d         f         |j
        d d t          j        f                    d S t          j        |j        d d |f         |j
        d d t          j        f                    d S )Nr   z^nan$ri   rS   )r   rV   r   r   r>   r?   r$   rp   rq   KeyErrorr  ro   rB   r   rC   )rD   rF   rQ  indexers       rH   test_constructor_with_nasz3TestDataFrameConstructors.test_constructor_with_nas  s   " s2:'' 	 	AGAAAqDMMM)C
OO,,T"*-=-=> w<<1xw777 " "qqq"&y!!" " " " " " " " " " " " " " " " " " \\Q"27111gaj=#926!!!RV);LMMMMM !"'!!!W*"5rvaaai7HIIIIIs   "CCCc                     t          dt          j        dgi          }|d         j        t          j        k    sJ |d         d         rJ d S )Nr   FrS   )r   r>   ro   r<   r   )rD   r   s     rH   &test_constructor_lists_to_object_dtypez@TestDataFrameConstructors.test_constructor_lists_to_object_dtype  sL    sRVUO,--v|rz))))S6!9}rJ   c                     t          g d          }t          j        |                              dd          }t          j        |d          }t          ||j                  }t          ||||d          }t          j        ||           d S )Nr  r=  rS   r  r;   rB  )	r   r>   rn   r@   broadcast_tor   r<   rB   rC   )rD   catrE   r   rG   s        rH   *test_constructor_ndarray_categorical_dtypezDTestDataFrameConstructors.test_constructor_ndarray_categorical_dtype  s    ///**hsmm##B**oc6**3ci000==>>
fh/////rJ   c                    t          dt          d          id          }t          t          d          dd          }t          j        |d         |           t          t          d          d          }|                                }t          t          d          dd          }t          j        |d         |           |                    d          }t          t          d          dd          }t          j        |d         |           t          t          d          d          }t          t          d          dd          }t          j        |d         |           d S )	Nr  r   categoryr;   rl   r   r   r{   )r   r?  r   rB   r   r8  )rD   rF   rG   r"  r   s        rH   test_constructor_categoricalz6TestDataFrameConstructors.test_constructor_categorical  s?    T%[[)<<<$u++ZcBBB
r#w111 4;;j111$u++Za@@@
vay(333''$u++ZeDDD
ve}h777 tE{{*555$u++Za@@@
r!uh/////rJ   c                     t          t          d                    }t          |g          }t          |                    t                    g          }t          j        ||           d S )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  s[     $u++&&ucjj00122
b(+++++rJ   c                     t          t          t          d                    t          t          d                    g          }t          g dg dg          }t          j        ||           d S )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  se     DKK00+d5kk2J2JKLLooo?@@
b(+++++rJ   c                     t          t          t          d                    t          d          g          }t          g dg dg          }t          j        ||           d S )Nr   defr   r   rF  fr  r  s      rH   %test_from_nested_listlike_mixed_typesz?TestDataFrameConstructors.test_from_nested_listlike_mixed_types  s]     DKK00$u++>??ooo?@@
b(+++++rJ   c                    t          t          t          d                    t          t          d                    g          }t          t          d          t          d          g          }t          j        ||           d S )Nr   abdefgr  r  s      rH   0test_construct_from_listlikes_mismatched_lengthszJTestDataFrameConstructors.test_construct_from_listlikes_mismatched_lengths  sg    DKK00+d8nn2M2MNOOd5kk4>>:;;
b(+++++rJ   c                 |   g d}t          |                              d          }t          |d          }t          j        ||           g d}t          |                              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
        ||           d S )N)rS   rR   r:   rS   r  r;   )r   r   r   r   20000101r:   rl  r   )r   
categoriesr   r_   )r   rA   rB   r   r#   r   r>   ro   r`   r   rC   )rD   r  ry  resr`   rG   rF   s          rH   #test_constructor_categorical_seriesz=TestDataFrameConstructors.test_constructor_categorical_series  s1   Umm"":..U*---
sC((($$$Umm"":..U*---
sC((( :q1117OOOTTT
 
 c8_--VOOO:FFFGuUUU
b(+++++rJ   r<   c                 X    t          dddgidg|          }|j        j        |k    sJ d S )Nr   rS   rR   r   ri  )r   r   r<   rD   r<   r   s      rH   %test_check_dtype_empty_numeric_columnz?TestDataFrameConstructors.test_check_dtype_empty_numeric_column	  s=     #1vUCCCv|u$$$$$$rJ   c                 b    t          dddgidg|          }|j        j        j        dk    sJ d S )Nr   rS   rR   r   ri  r|   )r   r   r<   rm   r  s      rH   $test_check_dtype_empty_string_columnz>TestDataFrameConstructors.test_check_dtype_empty_string_column	  s@     #1vUCCCv| H,,,,,,rJ   c                 0   t          dt                                                    j        }t          dt          i          }t	          j        ||           t          t          dt                              j        }t	          j        ||           d S )Nr   r3  )r   r|   r8  r-  rB   r   r   r  s      rH   test_to_frame_with_falsey_namesz9TestDataFrameConstructors.test_to_frame_with_falsey_names"	  s}    Qf---6688?1f+&&
vx0006q77788?
vx00000rJ   )Nr-   r  c                    t          dg di|pd          }t          t          d          dg|          }t          j        ||           t          dt          d          i|          }t          j        ||           d S )Nr  )r   rS   rR   r:   r9   r4   r;   r   ri  )r   r   rB   rC   )rD   r<   rG   r   s       rH   test_constructor_range_dtypez6TestDataFrameConstructors.test_constructor_range_dtype+	  s     c???35;KGLLL 588cU%@@@
fh/// Cq?%888
fh/////rJ   c           	           G d dt                     }t          g dg dg          }t           | |g d           |g d          g                    }t          j        ||           d S )Nc                       e Zd ZdS )ETestDataFrameConstructors.test_frame_from_list_subclass.<locals>.ListNr  r   rJ   rH   Listr  :	  r  rJ   r  r  r  )r?  r   rB   rC   )rD   r  rG   r   s       rH   test_frame_from_list_subclassz7TestDataFrameConstructors.test_frame_from_list_subclass8	  s    	 	 	 	 	4 	 	 	 iii34444iii$$yyy// BCCDD
fh/////rJ   extension_arraabbcz1/1/2017z1/1/2018)r{  endrJ  c                     t          t          |                    }t          |          }t          j        ||           d S r   r  )rD   r  rG   r   s       rH   %test_constructor_with_extension_arrayz?TestDataFrameConstructors.test_constructor_with_extension_arrayA	  s?     VM2233=))
fh/////rJ   c           	      4   t          j                    }||f}t          |t          t	          d          t	          d                    i|g          }t          g dt          t          |g                              }t          j        ||           d S )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_dictP	  s    JLLdCaa!A!A!ABSERRRYYYfcUmm0D0DEE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        ||           d S )N)'   rM   r9   )femalemaleunknownr_   )rR      rR         )r  r  r   r  r  r  rM   r9   )g      c@g     @n@g     b@r   r   )r  r  r  r  r   r   )r   r   r   r>   rn   ro   rB   rC   )rD   r5  r<  r   rG   s        rH   /test_construct_with_two_categoricalindex_serieszITestDataFrameConstructors.test_construct_with_two_categoricalindex_seriesX	  s    JJJ&67T7T7T&U&UVVV!!!"#J#J#JKK
 
 
 B8$$Hr1a02Q2Q2QRSS;;;
 
 
 	fh/////rJ   z7ignore:invalid value encountered in cast:RuntimeWarningc                 R   t          t          d                    }t          |d                                                              d          }t          |d                                                              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        ||           d S )Nrc  r!  r   r|  gMbXg#@rT  )closedg3@g33333=@gC@g     H@g33333M@g33333SQ@gS@gfffffFV@r   T)orderedr_   )r   r   r"   value_countsheadtailr   r   r   r>   ro   rB   rC   )rD   r  ser1ser2r   r`   rG   s          rH   1test_constructor_series_nonexact_categoricalindexzKTestDataFrameConstructors.test_constructor_series_nonexact_categoricalindexf	  s   
 U3ZZ  3||((**//223||((**//22D1122 W555d7333tG444tG444tG444tG444tG444tG444tG444r'222 
 
 
 $(bfX\)1tax0GH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 d S )Nr  r  r   r  r  r!  )Dateru   )Forecastingru   r;   r  r  rS   )r
   r>   rn   r   r   r   r!   )rD   r  rE   rF   r"  s        rH   test_from_M8_structuredz1TestDataFrameConstructors.test_from_M8_structured	  s    4Aq!,,htQ2r.J.JKLhu%79R$STTTs^^&z!}a++++- #uQx{2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 d S )Nc                       e Zd ZdS )OTestDataFrameConstructors.test_from_datetime_subclass.<locals>.DatetimeSubclassNr  r   rJ   rH   DatetimeSubclassr  	  r  rJ   r  r
   i  rS   r  )r
   r   r<   )rD   r  r   s      rH   test_from_datetime_subclassz5TestDataFrameConstructors.test_from_datetime_subclass	  st    	 	 	 	 	x 	 	 	 *'7'7aAq'I'I&JKLL}"&6666666rJ   c                     t          ddd          }d}t          j        t          |          5  t	          |t          d                     d d d            d S # 1 swxY w Y   d S )	NrL   r:   rN   rO   z@Shape of passed values|Passed arrays should have the same lengthri   r9   r_   )r#   rp   rq   r   r   r   )rD   rY   rr   s      rH   (test_with_mismatched_index_length_raiseszBTestDataFrameConstructors.test_with_mismatched_index_length_raises	  s    q\BBBP]:S111 	+ 	+cq****	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s   AA #A c                 X   t          ddd          }t          j        |          }t          t          j                            d                              t          |                    |d          }t          j        |d         j	        t          j	        d                    sJ d S )	Nz1/1/2000 00:00:00z1/1/2000 1:59:50r  rI  rR   rr  rz   r   )
r#   r>   rh  r   r"  r#  r  rV   
issubdtyper<   )rD   rE  r  rF   s       rH   !test_frame_ctor_datetime64_columnz;TestDataFrameConstructors.test_frame_ctor_datetime64_column	  s    ,.@uMMM
3)''**::3s88DD5QQ
 
 }RW]BHX,>,>???????rJ   c                    g dg dg}t          t          j                            d                              d          d |D                       }t          |j        t                    sJ t          |j        t                    rJ t          t          j                            d                              d          |          }t          |j        t                    sJ d S )N)r   r   r   r   )r   r   r   r   rR   )r9   r9   c                 6    g | ]}t          j        |          S r   r  r   s     rH   r   zYTestDataFrameConstructors.test_dataframe_constructor_infer_multiindex.<locals>.<listcomp>	  s     444128A;;444rJ   r_   r   )	r   r>   r"  r#  r  r   r`   r   r   )rD   index_listsmultis      rH   +test_dataframe_constructor_infer_multiindexzETestDataFrameConstructors.test_dataframe_constructor_infer_multiindex	  s    +++-A-A-ABI!!!$$44V<<44444
 
 
 %+z22222emZ88888I!!!$$44V<<k
 
 
 %-4444444rJ   
input_valsr}  r  r  r  r  r  c                     t          d|i|          }t          d|i                              d|i          }t          j        ||           d S )Nr  r;   )r   rA   rB   rC   )rD   r'  r:  r   rG   s        rH   test_constructor_list_strz3TestDataFrameConstructors.test_constructor_list_str	  sY     C,LAAAc:.//66\7JKK
fh/////rJ   c                     t          dg di|          }t          dg dit                    }t          j        ||           d S )Nr  r~  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	  sW    C!1!1!12,GGGc#7#7#78GGG
fh/////rJ   r   FTc                   	
 t          j        ddg|          t          j        ddg|          j        j        dv rt	          j        j         d           t          j        ddg|          		                                }t          	d|	          
d
 ddt          f	
fd}|s
 |             t          j        
j        j        d         d           }|rIt	          j        t          d          5  d
j        d<   d
j        d<   d d d            n# 1 swxY w Y   d S d
j        d<   d
j        d<   |s |d           t          j        ddg	j                  
j        d d df<   
j        j        d         	j        k    sJ |rj        j        dk    rOd         j                            dd          k    sJ d         j                            dd          k    sJ nLd         j                            d          k    sJ d         j                            d          k    sJ 	d         |d         k    sJ d S d S )NrS   rR   r;   r:   r9   )SUz2 get cast, making the checks below more cumbersomer   r  c                     t          | t          j                  r| j        S t          | j        t          j                  r| j        j        S t          r   )r   r>   r  baser<   _ndarrayr   r   s    rH   get_basez<TestDataFrameConstructors.test_dict_nocopy.<locals>.get_base	  sC    #rz**  xCIrx00  |((rJ   Fc_onlyc                    t          fdj        j        D                       dk    sJ | rd S t          fdj        j        D                       dk    sJ t          fdj        j        D                       dk    sJ d S )Nc              3   *   K   | ]}|j         u V  d S r   )r   )r   r   r   s     rH   r   zRTestDataFrameConstructors.test_dict_nocopy.<locals>.check_views.<locals>.<genexpr>	  s)      ==qx1}======rJ   rS   c              3      K   | ]:}t          |j        j        t          j                  & |j                  u V  ;d S r   r   r   r<   r>   )r   r   r   r3  s     rH   r   zRTestDataFrameConstructors.test_dict_nocopy.<locals>.check_views.<locals>.<genexpr>	  ^        !!(."(;;HQX&&!+     rJ   c              3      K   | ]:}t          |j        j        t          j                  & |j                  u V  ;d S r   r8  )r   r   r   r3  s     rH   r   zRTestDataFrameConstructors.test_dict_nocopy.<locals>.check_views.<locals>.<genexpr>	  r9  rJ   )sumrW   rX   )r4  r   r   r   rF   r3  s    rH   check_viewsz?TestDataFrameConstructors.test_dict_nocopy.<locals>.check_views	  s    
 ====bgn=====BBBB        W^    
          W^    
      rJ   r   fciuOzInvalid valueri   r   rT   TrT  .   r   r]   )F)r>   rn   r<   r   rp   skiprK  r   r   rI  r   is_np_dtyper-  r   rq   r   type)rD   r   any_numeric_ea_dtypeany_numpy_dtypec_origr<  should_raiser   r   r   rF   r3  s          @@@@@rH   test_dict_nocopyz*TestDataFrameConstructors.test_dict_nocopy	  s    HaV?333HaV?3337<:%%K17VVVWWWHaV#7888QQQ//d;;;	  	  	 	 	 	 	 	 	 	 	 	 	 	 	8  	KMMM ?29>!+<gFFF 	y@@@ " " ! !" " " " " " " " " " " " " " " FBGDMBGDM 	K "b9991y~a AG++++ 	%w|s""tqw||At444444tqw||At4444444tqw||A....tqw||A....Q46!9$$$$	% 	% %$s   D&&D*-D*c                     t          g dd          }t          d|i          }t          j        |j        j        |d         j        j                  rJ d S )Nr  r  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_series#
  sX     YYYg...Sz""#CJ$4bgn6JKKKKKKKrJ   c                     t          t          dd          dg          }t          dg          }t          j        ||           d S )NrS   r   r{   r  r   r  r  s      rH   'test_from_series_with_name_with_columnszATestDataFrameConstructors.test_from_series_with_name_with_columns*
  sN    6!%0005'BB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        ||           d S )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_columns0
  s    YY			"___ooo,N
 
 
 YY			"*+O+O+OPP
 
 
 	fh/////rJ   c                    t          j        dd          }|j                            t                                        dd          }t          |          }|j        dk    sJ |j        |j	        k    
                                sJ ||k    
                                
                                sJ t           j                            g d          }|j                            t                                        dd          }t          |          }|j        dk    sJ |j        |j	        k    
                                sJ ||k    
                                
                                sJ t          j        ||||f         j        }t          |          }t          ||||d          }	t!          j        ||	           d S )	Nz
2016-04-05r:   rl  rS   r=  rS   r:   )r:   r9   r   rM   rB  )rK  r[  rU   rA   r|   r@   r   ry  r-  r<   ru  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;
  s   _\1555xv&&..q"55t__x6!!!!	RX%**,,,,,b~~##%%%%%)),,,77''//266yF""""
bh&++-----r	  $$&&&&& dE4./1rb99::
c8,,,,,rJ   zcol_a, col_bc                     d}t          j        t          |          5  t          ||d           d d d            d S # 1 swxY w Y   d S )Nz,Per-column arrays must each be 1-dimensionalri   r3  r  )rD   col_acol_brr   s       rH   test_error_from_2darrayz1TestDataFrameConstructors.test_error_from_2darrayQ
  s     =]:S111 	0 	0E..///	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0s   >AA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        ||           d S )
Nr  r   F)r`   r   r   r   r   r   r   r`   r<   )	r   r>   r  _valuesr   ro   r|   rB   rC   r  s      rH   &test_from_dict_with_missing_copy_falsez@TestDataFrameConstructors.test_from_dict_with_missing_copy_false^
  s    YYYeLLL#BsGORW_EEEEE(fbfbf-fbfbf- 
 ))
 
 
 	b(+++++rJ   c                     d}t          j        t          |          5  t          t	          j        g           ddg           d d d            d S # 1 swxY w Y   d S )Nz:Shape of passed values is \(0, 1\), indices imply \(0, 2\)ri   r   r   r  )rp   rq   r   r   r>   rn   r  s     rH   1test_construction_empty_array_multi_column_raiseszKTestDataFrameConstructors.test_construction_empty_array_multi_column_raiseso
  s    K]:S111 	= 	=28B<<#s<<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	=s   &AAAc                     t          g ddgd          }t          dg did          }t          j        ||           d S )N)r}  r  Nr   r=   ri  r;   r   r  s      rH   $test_construct_with_strings_and_nonez>TestDataFrameConstructors.test_construct_with_strings_and_noneu
  sV    '''#eDDDc#3#3#34EBBB
b(+++++rJ   c           	      L   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            n# 1 swxY w Y   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            n# 1 swxY w Y   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            n# 1 swxY w Y   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            n# 1 swxY w Y   t          j        ||           d S )Nr`  r   r   r;   r<   r   future.infer_stringTr   r   )r<   r   r`   r_   rS   r|   )	rK  rc  r>   ro   r   r   option_contextrB   rC   rD   r<   rG   rF   s       rH   test_frame_string_inferencez5TestDataFrameConstructors.test_frame_string_inference{
  sk   ///3*UE3%u4M4M4M
 
 
 4d;; 	. 	.C#s,--B	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.
b(+++3*3%u---c
%000	
 
 
 4d;; 	@ 	@C#s,S#J???B	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@
b(+++3(O8UC55N5N5N
 
 
 4d;; 	, 	,C#q?++B	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,
b(+++3*XucU%7P7P7P
 
 
 4d;; 	> 	>C#s,H===B	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	>
b(+++++sH   A;;A?A?(DDD'FFF"HHHc                    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            n# 1 swxY w Y   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            n# 1 swxY w Y   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            n# 1 swxY w Y   t          j	        ||           d S )Nr`  r   r   r;   rd  re  Tr   r   rT   r3  r   )
rK  rc  r>   ro   r   r   rf  rn   rB   rC   rg  s       rH   .test_frame_string_inference_array_string_dtypezHTestDataFrameConstructors.test_frame_string_inference_array_string_dtype
  s   ///3*UE3%u4M4M4M
 
 
 4d;; 	8 	8C3*!5!5677B	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8
b(+++#sc
;;5III4d;; 	? 	?28c3Z#s$<==>>B	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	?
b(+++*C:..3*E222
 
 

 4d;; 	S 	S28c3Z#s$<==SzRRRB	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S
b(+++++s6   &BBB(DDD-,F%%F),F)c                     t          j        dd          5  t          t          j        ddgddgg                    }d d d            n# 1 swxY w Y   |j        j        d         j        dk    sJ d S )Nre  ThellogoodbyeHellor   rR   )rK  rf  r   r>   rn   rW   rX   r  rw   s     rH   %test_frame_string_inference_block_dimz?TestDataFrameConstructors.test_frame_string_inference_block_dim
  s    4d;; 	Q 	Q28gy%9GW;M$NOOPPB	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Qw~a %******s   (A

AArA  c                     |t          d          gt                    }t          |dg          }|j        j        d         t
          j        k    sJ t          d|i          }|j        j        d         t
          j        k    sJ d S )Nz
2019-12-31r;   r   r   r   )r!   r|   r   r-  r   r>   r   )rD   rA  r   r   s       rH    test_inference_on_pandas_objectsz:TestDataFrameConstructors.test_inference_on_pandas_objects
  s     eY|,,-V<<<3...}!!$
2222C:&&}!!$
222222rJ   c                     t          dgdgd          j        }t          d          }t          j        ||d           d S )NrS   rR   rT   Tr  )r   r   r   rB   rA  r  s      rH   !test_dict_keys_returns_rangeindexz;TestDataFrameConstructors.test_dict_keys_returns_rangeindex
  sG    ss++,,4a==
fhd;;;;;;rJ   consc                    t          ddd          }|                    d          } ||g          }t          j        |          }|dk    s
J |             ||g          }t          j        |          }|dk    s
J |            d S )Ni  rS   rN   ru   zM8[us, US/Pacific])r!   r}   rB   	get_dtype)rD   rt  r  ts2r   	res_dtypeobj2
res_dtype2s           rH   /test_construction_datetime_resolution_inferencezITestDataFrameConstructors.test_construction_datetime_resolution_inference
  s     tQ""nn\**dB4jjL%%	H$$$i$$$tSE{{\$''
1111:11111rJ   c                 |    t          d dgd          }t          ddgd          }t          j        ||           d S )NrS   ztimedelta64[ns]r;   r   z0 days 00:00:00.000000001r   r  s      rH   -test_construction_nan_value_timedelta64_dtypezGTestDataFrameConstructors.test_construction_nan_value_timedelta64_dtype
  sT    D!9,=>>>/08I
 
 
 	fh/////rJ   c                      G d dt           j                  } |t          j        d                    }t          |          }t          t          j        d                    }t	          j        ||           d S )Nc                       e Zd Zd ZdS )`TestDataFrameConstructors.test_dataframe_from_array_like_with_name_attribute.<locals>.DummyArrayc                 b    t          j        |                              |           }d|_        |S )Nr   )r>   rh  r   rm   )clsinput_arrayr   s      rH   __new__zhTestDataFrameConstructors.test_dataframe_from_array_like_with_name_attribute.<locals>.DummyArray.__new__
  s+    j--22377 
rJ   N)r  r  r  r  r   rJ   rH   
DummyArrayr  
  s#            rJ   r  r:   )r>   r  eyer   rB   rC   )rD   r  dummyrF   rG   s        rH   2test_dataframe_from_array_like_with_name_attributezLTestDataFrameConstructors.test_dataframe_from_array_like_with_name_attribute
  s    	 	 	 	 	 	 	 	 
26!99%%uRVAYY''
b(+++++rJ   )r  r  r  rI   r[   rf   rs   rx   r   r   r   r   rp   markparametrizer   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r1  r7  r;  rG  rL  rZ  r>   rn   r|   r^  r.   r/   r0   ra  rh  rz  r  r  r  r  r  r  ro   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r2  rG  rM  rR  r   r   r   r   r!   re   r   rX  r^  rb  rd  ri  filterwarningsrl  rp  rw  rz  r?  r   r   r<   r  r|  rK  BooleanDtypeFloat64Dtype
Int64Dtyperc  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r,  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r#  r'  r0  r6  r:  rA  rO  rT  rW  rY  r^  rf  rk  rn  rx  r  r  r  r  r  r  r
   rv   r   r   r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  rB   ALL_NUMERIC_DTYPESDATETIME64_DTYPESTIMEDELTA64_DTYPESBOOL_DTYPESr  STRING_DTYPESBYTES_DTYPESOBJECT_DTYPESr  r  arm_slowr  r  r   r(   r&   r'   r[  r  r  r
  r  r  r  r  r!  r&  r#   r)  r+  rF  rH  rJ  rL  rV  rZ  r^  r`  rb  rh  rj  ro  r   r   rq  rs  r   to_datetimer{  r}  r  r   rJ   rH   r6   r6   L   s       , , ,( ( (, , ,	/ 	/ 	/1 1 11 1 1    	1 	1 	1 [Vc3Z00Q Q 10QB0 0 0 [##!!!!,,''((&&&&33,,	
  0 0!  0G G G [3T::a==**Q--0"Xzz!}}jjmm4o"ooo

1zz!}}=	
 0 0 0
8 8 8. . .*) ) )$ $ $< < <
0 0 0"0 0 0"# # #
   [ bMAE667BK	

 
) )
 
).% % %	' 	' 	'- - -&+ + +3 3 3* [BHeWF+++BHaeWKBHl^6222BHl^$$"uX\N	

 
% %
 
% [BHaS	***BHaS	***BHaS	***RYq\\NRYq\\NRYq\\N	

 
% %
 
%, , ,&I &I &IP> > >
" " "' ' 'F F F
; ; ;1 1 1 [X264'=>>0 0 ?>0 [Wq"&$e&EFF0 0 GF0$ [WrvtUU5\\&BCC0 0 DC0$/ / /0 0 0- - -, , ,&:/ :/ :/x) ) )5 5 59 9 9. . .. . .5 5 5
) ) )C C C0 0 00 0 00 0 0, , ,6: : :> [--w7(((3(('266A		
 0 0 0*( ( (, , , [VIC 0 01X1A&&&gw(G(GH	,<888@@EES\:::	

 

, 
,
 

,* * *(6' 6' 6'p  3 3 3  [A ?& ?& ?&B0 0 0,' ' ') ) ) [/44b		??S#J
C4#sWhbhw.?.?@44b		??S#JXRXi5H5HIu~tRZ81XttEE"IIUS("(9:M:MN	
	 	+ +	 	+ [)   )R_=y"/:\\7BM2__h7		
 1 1 1U U U/ / /2 2 20 0 0%- %- %-N, , ,"0 0 07 7 70 0 0D D DD D D [i%%&'99\**+,99\**+,))L))*		
 0 0 0C C C(	C 	C 	C0 0 00 0 0
	0 	0 	00 0 0
0 0 0
C C C0 0 0
0 0 0 [[4*=>>0 0 ?>0$ [[4*=>>0 0 ?>0*0 0 05 5 5  ? ? ?  0 0 0"0 0 0 [HRDMBx Bx "XBx cA3Z1#s$ii#iii%;<	
 0 0 00 0 0
0 0 00 0 00 0 07 7 70 0 0($, $, $,L0 0 0) ) )( [-	
 	
 	
 0 0 00
> 
> 
>Q Q Q= = =
( 
( 
(, , ,", , ,6 6 6@Q1 Q1 Q1f, , ,1 1 1
 
 
"4 4 4, , ,, , , [BHdD$lhlnndCDDBHdD,(,..$788bmE""#dV,bmE""#bfX.VmbmE**+,VbfXfXe,,-.fXv		
 1 1 1 [W&:&:&:;;[333 , ,	  <;
,. [W&:&:&:;;[	
 	
 	
 , ,  <;,8;1 ;1 ;1z1 1 1	1 	1 	1- - -, , , [Iyyy))),QK@@@Iyyy))),sC6HIIII|||\\\2RVS#rv<VWWWI!!!<<<0263RV:T   I'''6Aq@QRRR	
 J J J*  0 0 00 0 0,, , ,, , ,, , ,, , ,
, , ,. [


	

	  .	 % % % [!BO3b6FF - - -1 1 1 [[W&A&A&ABB	0 	0 CB 	00 0 0 [KW&&KBFBFBF344M88Aq>>88Aq>>:;;KjjsSSSTT		
 0 0 00 0 00 0 0 [A 0 0 04
# 
# 
#7 7 7+ + +@ @ @5 5 5 [V3ZT**Z===>>T**ZNNNOOhAQ'''(	
	 	0 0	 	00 0 0
 [VeT]33R% R% 43R%hL L L0 0 0	0 	0 	0- - -, [cA3ZA3*--.RXsQCj!!QC!:.RXsQCj!!828aS1#J#7#78	
 0 0 0
, , ,"= = =, , , ,  ,  ,D, , ,0+ + + [Wvuo663 3 763< < <
 [y"(BNS 
> 
> 
>0 0 0, , , , ,rJ   r6   c                   z    e Zd Zd Zd Zej                            ddddgdgdddgd	gg          d
             ZdS )&TestDataFrameConstructorIndexInferencec                    t          j        ddd          }t          t          j                            d                              t          |                    |          }t          j        ddd          }t          t          j                            d                              t          |                    |          }t          ||d          }t          j        ddd          }t          j
        |j        |           d S )	Nz1/1/19991/1/2012r   rI  rR   z1/1/1980z	12/1/2001)r5  r<  )rK  r[  r   r>   r"  r#  r  rV   r   rB   rA  r`   )rD   rng1r5  rng2r<  rF   ry  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@@@BI))!,,<<SYYGGNNz;SAAABI))!,,<<SYYGGNNb++,,oj*3???
bh,,,,,rJ   c                    t          dd          }t          t          d          |          }t          t          d          |                    d                    }t          t          d          |                    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            n# 1 swxY w Y   t          j        t          |          5  t	          |||d           d d d            n# 1 swxY w Y   t          j        t          |          5  t	          |||d           d d d            d S # 1 swxY w Y   d S )NrL   r:   rl  r_   r  z
US/Centralr  r;   )r  r  rz   )rz   r  r  )r  rz   r  z0Cannot join tz-naive with tz-aware DatetimeIndexri   )r  rz   r  r  )r  rz   r  )r  r  rz   )r#   r   r   r}   r   r   r?  r`   r|   rB   rA  rp   rq   r   )rD   rY   r  r  ser3ser4r>  	exp_indexr  
exp_index3rF  df4
exp_index4rr   s                 rH   /test_frame_from_dict_with_mixed_tzaware_indexeszVTestDataFrameConstructorIndexInference.test_frame_from_dict_with_mixed_tzaware_indexes
  s   q111eAhhc***eAhhcooe&<&<===eAhhcool&C&CDDDeAhh dD99::tDJ///$tz2B2BB&
 
 
	 	ci333dD99::tDJ///$tz2B2BB&
 
 

 	ci444dD99::tDJ///$tz2B2BB&
 
 

 	ci444dD99::tDJ///$tz2B2BB&
 
 

 	ci444 A]9C000 	D 	DDt$TBBCCC	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D]9C000 	9 	9Dt$77888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9]9C000 	9 	9Dt$77888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9s6   K((K,/K,L..L25L2M55M9<M9zkey_val, col_vals, col_typer  4utf8r:   r9   r1   c                 2   t          j        d          }t          j                            |                    ||                    |                                 t          ||                                                    }t          |ddgi|          }t          dt          j        gdt          j        gg|          }|                    d|j        d d df                             t                               t!          j        ||           d S )Nr	  )rA  rS   rR   r   )rp   importorskiprK  r0  ArrowExtensionArrayrn   
dictionaryr1   getattrr   r>   ro   isetitemr   rA   r|   rB   rC   )rD   key_valcol_valscol_typepar  r   rG   s           rH   %test_dict_data_arrow_column_expansionzLTestDataFrameConstructorIndexInference.test_dict_data_arrow_column_expansion'  s      ++y,,HHXBMM"''))=RWR=R=R=T=T$U$UHVV
 
 GaV,d;;;q"&kArv;7FFF!X]111a4077??@@@
fh/////rJ   N)	r  r  r  r  r  rp   r  r  r  r   rJ   rH   r  r  
  s        	- 	- 	-*9 *9 *9X [%3*f%A	
 	0 	0 	0 	0 	0rJ   r  c                       e Zd Zd ZdS ))TestDataFrameConstructorWithDtypeCoercionc                    t           j                            d                              d          }d}t	          j        t          |          5  t          |d           d d d            n# 1 swxY w Y   t          |                                d          }|j	        dk    
                                sJ t           j        |d<   d}t	          j        t          |          5  t          |d           d d d            n# 1 swxY w Y   t	          j        t          |          5  t          |d	         d           d d d            n# 1 swxY w Y   d}t	          j        t          |          5  t          |                              d           d d d            n# 1 swxY w Y   t	          j        t          |          5  t          |d	                                       d           d d d            d S # 1 swxY w Y   d S )
NrR   rZ  z)Trying to coerce float values to integersri   rk   r;   r   rh   r   )r>   r"  r#  r  rp   rq   r   r   roundr-  ru  ro   r   r   rA   )rD   rE   rr   rF   s       rH   "test_floating_values_integer_dtypezLTestDataFrameConstructorWithDtypeCoercion.test_floating_values_integer_dtype;  s    i##A&&66w??
 :]:S111 	' 	'c&&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' syy{{$///	T!&&((((( FD	J]-S999 	' 	'c&&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	']-S999 	' 	'3q6&&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' K]-S999 	( 	(cNN!!$'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(]-S999 	( 	(3q6NN!!$'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(sZ   A..A25A2'DD	D	+EEE7#F&&F*-F*)HH	HN)r  r  r  r  r   rJ   rH   r  r  :  s#        ( ( ( ( (rJ   r  c                      e Zd Zej                            dddg          d             Ze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                            deeg          d             Zd Zd Zd Zd Zej                            e d          ej                            dg dg dg ddg          d                         ZdS ) &TestDataFrameConstructorWithDatetimeTZrQ   rU  zdateutil/US/Easternc           	      &   t          dddd          }|                    |          }t          d|d|          }t          d|j                  }|d	         j        |k    sJ d
 |D             }d |D             }t          d|i          }||d<   ||d<   ||d<   |j        }t          t          j        d          t          |          t          j        d          t          |d          gg d          }	t          j
        ||	           d S )N2011/1/12012/1/1W-FRIr]   )rJ  r+  r   rr  r_   rz   c                 6    g | ]}|                                 S r   r}  r  s     rH   r   zeTestDataFrameConstructorWithDatetimeTZ.test_construction_preserves_tzaware_dtypes.<locals>.<listcomp>f  s$    ;;;"2++--;;;rJ   c                 6    g | ]}|                                 S r   r}  r  s     rH   r   zeTestDataFrameConstructorWithDatetimeTZ.test_construction_preserves_tzaware_dtypes.<locals>.<listcomp>g  s$    @@@BR--//@@@rJ   r  dr_tzdatetimes_naivedatetimes_with_tzdatetime64[ns]rV  r  r*  )rQ   r+  )r  r  r  r  )r#   r}   r   r   r  r<   r-  r   r>   rB   r   )
rD   rQ   r  r  rF   tz_expectedr  r  r   rG   s
             rH   *test_construction_preserves_tzaware_dtypeszQTestDataFrameConstructorWithDatetimeTZ.test_construction_preserves_tzaware_dtypes[  sG    
JW4HHHr""U//r:::%dEL99#w}++++ <;;;;@@%@@@bz""7 /"3)**2&&&)**2D111	 JII
 
 
 	vx00000rJ   pydtTFc                    |}t          d|          }|r|                                }d}t          j        t          |          5  t          d|gid           d d d            n# 1 swxY w Y   d}t          j        t          |          5  t          d|idgd	           d d d            n# 1 swxY w Y   t          j        t          |          5  t          |gd           d d d            n# 1 swxY w Y   t          j        t          |          5  t          t          j        |gt                    d           d d d            n# 1 swxY w Y   t          j        t          |          5  t          |dgdgd
           d d d            n# 1 swxY w Y   t          j        t          |          5  t          t          |g          gd           d d d            n# 1 swxY w Y   t          j        t          |          5  t          |ggdgd           d d d            d S # 1 swxY w Y   d S )N2019rV  sCannot convert timezone-aware data to timezone-naive dtype. Use pd.Series\(values\).dt.tz_localize\(None\) instead.ri   r   r  r;   /Cannot unbox tzaware Timestamp to tznaive dtyper\  r  ri  )r!   r~  rp   rq   r   r   r   r>   rn   r|   r   )rD   tz_aware_fixturer  rQ   r  rr   msg2s          rH   'test_constructor_data_aware_dtype_naivezNTestDataFrameConstructorWithDatetimeTZ.test_constructor_data_aware_dtype_naivex  sV    v"%%% 	$!!##BG 	 ]:S111 	9 	9q2$i'78888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 A]9D111 	B 	Bq"gaS0@AAAA	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B ]:S111 	4 	4rd"23333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 ]:S111 	L 	Lbht6222:JKKKK	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L ]9D111 	J 	JbaS8HIIII	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J ]:S111 	> 	>vrd||n,<====	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> ]:S111 	C 	Ctfqc1ABBBB	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	Cs~   A((A,/A,B22B69B6C77C;>C;,EEE;FF!$F!!G00G47G4H99H= H=c                    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                     d S )Nr  r:   rU  rO   r   r{   20130110rl  rr  r  zM8[ns, US/Easternrz   )r   r#   r   r<   rm   rB   r   r   )rD   r   r  rF   s       rH   test_from_dictz5TestDataFrameConstructorWithDatetimeTZ.test_from_dict  s     Jz1FFFUSSS
A... Sr**++#w}11111}#w|s""""
r#ws(=(=(=>>>
r#wr(<(<(<=====rJ   c                 L   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                     d S )	Nr  r:   rU  r   )rP   rQ   rm   r{   rO   r   )r#   r   rB   r   r   )rD   rC  r  s      rH   test_from_indexz6TestDataFrameConstructorWithDatetimeTZ.test_from_index  s    *aLuMMMoo
s5z6$U+C+C+CDDDt%%
s5z6$U+C+C+CDDD*aLAAAoo
s1vvd';';';<<<t%%
s1vvd';';';<<<<<rJ   c                     t          dd          }t          ||          }t          d|d|           t          d|j        d|           d S )Nr  r!  rl  r_   r   r3  )r#   r   r   r   )rD   r  r"  s      rH   +test_frame_dict_constructor_datetime64_1680zRTestDataFrameConstructorWithDatetimeTZ.test_frame_dict_constructor_datetime64_1680  sf    
B///2R    	A&&b1111AH--R888888rJ   c                     t          ddd          }t          |          }t          d|d|          }|d                                                                         sJ d S )	Nr  r  r  rI  r   rr  r_   rz   )r#   r   r   r$   ru  )rD   r  r  r   s       rH   +test_frame_datetime64_mixed_index_ctor_1681zRTestDataFrameConstructorWithDatetimeTZ.test_frame_datetime64_mixed_index_ctor_1681  sg    
JW===BZZ E++2666v{{}}  """""""rJ   c           	         t          ddddd          }t          |dg          }t          dt          dd	          t          d
d	          t          dd	          gid          }t          j        ||           d S )Nz20130101T10:00:00r:   minrU  r]   )r{  rP   rJ  rQ   r+  
timestampsr   rV  z20130101T10:01:00z20130101T10:02:00zM8[ns, US/Eastern]r;   )r#   r   r!   rB   rC   )rD   r  r   rG   s       rH   test_frame_timeseries_columnzCTestDataFrameConstructorWithDatetimeTZ.test_frame_timeseries_column  s    %quTX
 
 
 2~6661lCCC1lCCC1lCC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        ||           d S )NNevadaOhio333333@333333@)rq    r  333333?@)r  rq  r  )r  r  )rq  r  i  r   )r  r  )r  r  r  )r   r>   ro   r   rB   rC   )rD   r   popr   rG   s        rH   test_nested_dict_constructionzDTestDataFrameConstructorWithDatetimeTZ.test_nested_dict_construction  s    V$ ,,c55
 
 3&8&8&8'JJJbfbf%56***++
 
 

 	fh/////rJ   c                 h   t          ddd          }|j                            t                                        dd          }t          |          }|j        dk    sJ |j        |j        k    	                                sJ ||k    	                                	                                sJ d S )Nz2016-04-05 04:30r:   r  rO   rS   r=  rN  )
r#   rU   rA   r|   r@   r   ry  r-  r<   ru  )rD   rY   r   rF   s       rH   test_from_tzaware_object_arrayzETestDataFrameConstructorWithDatetimeTZ.test_from_tzaware_object_array  s    +Q5AAAy''//266t__x6!!!!	SY&++-----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    	                                sJ d S )Nz2013-01-01 00:00:00z2013-01-02 00:00:00z2013-01-03 00:00:00z2013-01-01 00:00:00-0500rU  rV  z2013-01-03 00:00:00-0500z2013-01-01 00:00:00+0100CETz2013-01-03 00:00:00+0100r;   r  r   )r  r  zdatetime64[us, CET])
r>   rn   r!   rK  r   r|   r  r   r-  ru  )rD   rE   r  expected_dtypess       rH   $test_from_tzaware_mixed_object_arrayzKTestDataFrameConstructorWithDatetimeTZ.test_from_tzaware_mixed_object_array  s   h 344344344 8\JJJF8\JJJ 8UCCCF8UCCC" %
 
 
& ' 	( ___555
 
 

 
o-224444444rJ   c                     t          j        d                              d          }t          |d          }t          |                              d          }t          j        ||           d S )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  se    Yr]]**622
z)>???Z((//0EFF
b(+++++rJ   r.  c                 D    |h d          }d|j          d}t          j        t          |          5  t	          d|i           d d d            n# 1 swxY w Y   t          j        t          |          5  t          |           d d d            d S # 1 swxY w Y   d S )N>   rS   rR   r:   'z' type is unorderedri   r   )r  rp   rq   r   r   r   )rD   r.  r   rr   s       rH   !test_construction_from_set_raiseszHTestDataFrameConstructorWithDatetimeTZ.test_construction_from_set_raises  s)    YYY3#,333]9C000 	% 	%sFm$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% ]9C000 	 	6NNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s#   AAA8BBBc                     t          j        ddd                              dd          }t          |          }t	          d |j        j        D                       sJ d S )Nr   r8   r  r;   r9   r:   c              3   J   K   | ]}t          |j        t                    V  d S r   )r   r   r%   )r   blocks     rH   r   zeTestDataFrameConstructorWithDatetimeTZ.test_construction_from_ndarray_datetimelike.<locals>.<genexpr>'  s.      WWu:elM::WWWWWWrJ   )r>   r?   r@   r   ru  rW   rX   rD   rE   rF   s      rH   +test_construction_from_ndarray_datetimelikezRTestDataFrameConstructorWithDatetimeTZ.test_construction_from_ndarray_datetimelike"  sc     i2%5666>>q!DDs^^WWWWWWWWWWWWrJ   c                    t           j                            d                              d          }t	          j        dg          j        }d}t          j        t          |          5  t          |dg|           d d d            n# 1 swxY w Y   t	          j        g d          }t          j        t          |          5  t          |dd	g
           d d d            d S # 1 swxY w Y   d S )NrR   r  r   z'len\(arrays\) must match len\(columns\)ri   r   ri  )r   r   r  r  r   )r>   r"  r#  r  rK  rn   r<   rp   rq   r   r   )rD   rE   r<   rr   arr2s        rH   >test_construction_from_ndarray_with_eadtype_mismatched_columnszeTestDataFrameConstructorWithDatetimeTZ.test_construction_from_ndarray_with_eadtype_mismatched_columns)  sb   i##A&&66w??#%8]:S111 	9 	9cE7%8888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 x((]:S111 	4 	4dUEN3333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4s$   *B

BBC''C+.C+c                 0   g dg dg}t          j        t          d          5  t          |ddh           d d d            n# 1 swxY w Y   t          j        t          d          5  t          |h d	
           d d d            d S # 1 swxY w Y   d S )Nr  r  zindex cannot be a setri   r   r   r_   zcolumns cannot be a set>   r   r   r   r   r  rv  s     rH   "test_columns_indexes_raise_on_setszITestDataFrameConstructorWithDatetimeTZ.test_columns_indexes_raise_on_sets4  s'   		999%]:-DEEE 	. 	.d3*----	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.]:-FGGG 	5 	5dOOO4444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5s#   AAA*BBBc                     t          dt          j        idgt          d                    }t          dt	          t          j        t          j        g          i          }t          j        ||           d S )Nr   rR   r  )r   rK  r   r   r   rB   rC   r  s      rH   %test_from_dict_with_columns_na_scalarzLTestDataFrameConstructorWithDatetimeTZ.test_from_dict_with_columns_na_scalar<  s`    C=3%uQxxHHHc62626*:#;#;<==
fh/////rJ   z/StringDType only available in numpy 2 and above)reasonr   r   )r   r   r   r  c                    ddl m} t          j        |d          |                      |d<   t	          |          }|d         j        t          j        k    sJ |d         |d         k                                    sJ d S )Nr   )StringDTyper   r;   )numpy.dtypesr   r>   rn   r   r<   r   ru  )rD   r   r   r  s       rH    test_np_string_array_object_castzGTestDataFrameConstructorWithDatetimeTZ.test_np_string_array_object_castB  s     	-,,,,,HT#Ykkmm<<<S	oo3x~++++CDI%**,,,,,,,rJ   N)r  r  r  rp   r  r  r  r  r  r  r  r  r  r  r  r  r  set	frozensetr  r  r  r  r  skipifr   r  r   rJ   rH   r  r  Z  s       [TL2G#HII1 1 JI18 [VdE]33C C 43CB> > >= = =9 9 9# # #0 0 0$0 0 0' ' '5 5 5>, , , [US)$455  65X X X	4 	4 	45 5 50 0 0 [#T    [!//oooNN	
 - -  - - -rJ   r  c                 `    t          | t                    r| j        d         S | j        d         S )Nr   r   )r   r   r   r2  s    rH   get1r  T  s,    #v x{x~rJ   c                   >   e Zd Z ej        eedg          d             Zej        d             Zej	        
                    dddg          d             Zd	 Zd
 Zd Zej	        
                    dej        ej        g          d             Zej	        
                    deej        g          d             Zd Zej	        
                    deej        g          d             Zej	        
                    dej        ej        g          d             Zd ZdS )TestFromScalarNparamsc                     |j         S r   paramrD   requests     rH   boxzTestFromScalar.box\  
    }rJ   c                     dt          d          it          u rdgd<   |t          j        fi S |t          u rt
          u rfdS fdS t
          u rfdS fdS )	Nr`   rR   r  r   c                       | | dfi |S )NrT   r   r   kwargsextrar   s     rH   r   z,TestFromScalar.constructor.<locals>.<lambda>k  s1    ??aLL, ,$),-3, , rJ   c                      d| ifi |S Nr  r   r  s     rH   r   z,TestFromScalar.constructor.<locals>.<lambda>o  s#    ??C8+W+Wu+WPV+W+W rJ   c                      | | gfi |S r   r   r  s     rH   r   z,TestFromScalar.constructor.<locals>.<lambda>q  s"    1v'Q'Q'Q&'Q'Q rJ   c                 "     d| | gifi |S r  r   r  s     rH   r   z,TestFromScalar.constructor.<locals>.<lambda>s  s'    aV}'X'X'XQW'X'X rJ   )r   r   	functoolspartialr,  r   )rD   r   r  r  s    ` @rH   r   zTestFromScalar.constructor`  s    %((#i'' #uE);$_>>>>>D[[&((      XWWWWW&&QQQQQQXXXXXXrJ   r<   r   r   c                      |t           j        |          }t          j        |j        |k              sJ t          j        |                                          sJ d S r  )rK  r   r>   ru  r-  r$   )rD   r<   r   r   s       rH   test_from_nat_scalarz#TestFromScalar.test_from_nat_scalaru  sY    k"&...vcjE)*****vchhjj!!!!!!!rJ   c                 h    t          d          } ||d          }t          |          |k    sJ d S )NrS   r   r;   r    r  )rD   r   rD  r   s       rH   *test_from_timedelta_scalar_preserves_nanosz9TestFromScalar.test_from_timedelta_scalar_preserves_nanos{  s8    q\\k"H---CyyBrJ   c                 n    |t          d          z   } ||d          }t          |          |k    sJ d S )NrS   r   r;   r!  )rD   r   fixed_now_tsr  r   s        rH   *test_from_timestamp_scalar_preserves_nanosz9TestFromScalar.test_from_timestamp_scalar_preserves_nanos  s=    IaLL(k"H---CyyBrJ   c                     t          d          }|                                } ||t                    }t          t	          |          t
          j                  sJ d S )NrS   r;   )r    to_timedelta64r|   r   r  r>   r5  )rD   r   rD  td64r   s        rH   #test_from_timedelta64_scalar_objectz2TestFromScalar.test_from_timedelta64_scalar_object  sV    q\\  ""k$f---$s))R^4444444rJ   r  c                     |dd          }t           j        dt           j        di|         }|t           j        u rd}nd}d                    d|g          }t	          j        t          |	          5   |||
           d d d            n# 1 swxY w Y    |dd          }t	          j        t          |	          5   |||
           d d d            d S # 1 swxY w Y   d S )Nr   r]   r   r   r   z:<class 'numpy.timedelta64'> is not convertible to datetime|r  ri   r;   r9   )r>   r   r5  joinrp   rq   r   )rD   r   r  r  r<   msg1rr   s          rH   (test_from_scalar_datetimelike_mismatchedz7TestFromScalar.test_from_scalar_datetimelike_mismatched  sw   UD!!".(CCH"-RDDODhht,--]9C000 	- 	-Ke,,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- Q]9C000 	- 	-Ke,,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-s$   2BBB>CC Cc                 6   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 d S )N'  rS   ru   r  rs  )
r
   r>   r   r  rB   rv  rA  r!   asm8r<   )rD   r   r  r  r  r   r  rE  r   itemr<   s              rH   #test_from_out_of_bounds_ns_datetimez2TestFromScalar.test_from_out_of_bounds_ns_datetime  s    
 $1%%	"-]63//FIV$$F||V$$DzzY&&&&y)++++	!!!!!!rJ   c                 "   t          j        t          j        t           j                  j        d          } ||          }t          |          }t          |          t           j        u sJ t          j        |          }|t          k    sJ d S r4  )
r>   r   iinfor4   maxr  rA  rB   rv  r|   )rD   r   r  r   r2  r<   s         rH   test_out_of_s_bounds_datetime64z.TestFromScalar.test_out_of_s_bounds_datetime64  su    rx115s;;V$$F||DzzR]****V$$rJ   c                 Z   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 d S )Nr0  rS   i  r9  r  r6  )
r
   r>   r5  r  rB   rv  rA  r    r1  r<   )
rD   r   r  r  r   r  rE  r   r2  r<   s
             rH   $test_from_out_of_bounds_ns_timedeltaz3TestFromScalar.test_from_out_of_bounds_ns_timedelta  s     $1%%q!(<(<<	".  ^FC00FIV$$F||V$$DzzY&&&&y)++++	!!!!!!rJ   c                      |t          j        t           j                  j        d          } ||          }t	          |          }t          |          |u sJ t          j        |          }|t          k    sJ d S r4  )	r>   r5  r4   r6  r  rA  rB   rv  r|   )rD   r   r  r  r   r2  r<   s          rH    test_out_of_s_bounds_timedelta64z/TestFromScalar.test_out_of_s_bounds_timedelta64  ss    RXbh''+S11V$$F||DzzS    V$$rJ   c                     d}t          d|          }||t          u r|t          u r
d}t          }n	d}t          }t          j        ||          5   ||d           d d d            d S # 1 swxY w Y   d S )	NrU  r  rV  r  r  ri   r   r;   )r!   r   r,  r   r   rp   rq   )rD   r   r  r   rQ   r  rr   errs           rH   test_tzaware_data_tznaive_dtypez.TestFromScalar.test_tzaware_data_tznaive_dtype  s    v"%%%;?i77C4KKCCCCK  C]3c*** 	, 	,K(++++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,s   A,,A03A0)r  r  r  rp   fixturer?  r,  r  r   r  r  r  r"  r%  r)  r>   r   r5  r.  r
   r3  r7  r   r9  r;  r>  r   rJ   rH   r	  r	  [  s       V^D$-...  /. ^Y Y ^Y( [Wx&:;;" " <;"
    5 5 5 [UR]BN$CDD- - ED-" [UXr}$=>>" " ?>"&   [UY$?@@" " A@"" [UR]BN$CDD  ED, , , , ,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dS )TestAllowNonNanoTFr
  c                     |j         S r   r  r  s     rH   as_tdzTestAllowNonNano.as_td  r  rJ   c                    t          j        d                              t           j                                      d          }|r&||d         z
  }t          j        ||j                  S t          j        ||j                  S )Nr   rs  r   r;   )	r>   r?   rA   r4   r   r)   _simple_newr<   r%   )rD   rC  r   s      rH   rE   zTestAllowNonNano.arr  st    1$$RX..33G<< 	IfQi'F!-fFLIIII ,V6<HHHHrJ   c                 H    t          |          }|j        |j        k    sJ d S r   )r   r<   )rD   rE   r   s      rH   test_index_allow_non_nanoz*TestAllowNonNano.test_index_allow_non_nano  s(    CjjyCI%%%%%%rJ   c                 v    |rt          j        |          }nt          |          }|j        |j        k    sJ d S r   )rK  TimedeltaIndexr   r<   )rD   rE   rC  r   s       rH   test_dti_tdi_allow_non_nanoz,TestAllowNonNano.test_dti_tdi_allow_non_nano  sD     	%#C((CC$$CyCI%%%%%%rJ   c                 H    t          |          }|j        |j        k    sJ d S r   )r   r<   )rD   rE   r  s      rH   test_series_allow_non_nanoz+TestAllowNonNano.test_series_allow_non_nano  s(    SkkyCI%%%%%%rJ   c                 T    t          |          }|j        d         |j        k    sJ d S r   r   r-  r<   r  s      rH   test_frame_allow_non_nanoz*TestAllowNonNano.test_frame_allow_non_nano
  s,    s^^y|sy((((((rJ   c                 X    t          d|i          }|j        d         |j        k    sJ d S r   rN  r  s      rH   #test_frame_from_dict_allow_non_nanoz4TestAllowNonNano.test_frame_from_dict_allow_non_nano  s2    3x  y|sy((((((rJ   N)r  r  r  rp   r?  rC  rE   rG  rJ  rL  rO  rQ  r   rJ   rH   rA  rA    s         V^D%=)))  *) ^I I ^I& & && & && & &) ) )) ) ) ) )rJ   rA  )Frn   collectionsr   r   r   r   collections.abcr   dataclassesr   r
   r	   r   r  r%  r  numpyr>   r   numpy.mar   rp   pandas._libsr   pandas.compat.numpyr   pandas.errorsr   pandas.core.dtypes.commonr   pandas.core.dtypes.dtypesr   r   r   r   pandasrK  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  r  r  r  r	  rA  r   rJ   rH   <module>r`     s               % $ $ $ $ $ & & & & & &         
     				                         . . . . . . , , , , , , 6 6 6 6 6 6                                                "                    766 	 	 	 `*, `*, `*, `*, `*, `*, `*, `*,FUH0 H0 H0 H0 H0 H0 H0 H0V( ( ( ( ( ( ( (@w- w- w- w- w- w- w- w-t  K, K, K, K, K, K, K, K,^&) &) &) &) &) &) &) &) &) &)rJ   