
    *go                    J	   d dl mZ d dlZd dlZd dlZd dlZd dlmZm	Z	m
Z
 d dlmZ d dlmZ 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mZmZmZ  ej:                  g d	      d
        Zej:                  d        Zej:                  d        Z ej:                  d        Z! G d d      Z" G d de"      Z# G d de"      Z$ejJ                  jM                  d      ejJ                  jM                  d       G d de"                    Z'ejJ                  jQ                  d eg d      jR                  e ejT                  dd      ff ejV                  ddd      jR                  e ejX                  dd      ff ejZ                  ddd      jR                  effgd  !      d"        Z.ejJ                  jQ                  d# eg d      jR                   ejX                  dd      ej^                  ff ejV                  ddd      jR                   ejT                  dd      ej^                  ff ejZ                  ddd      jR                   ejX                  dd       ejT                  dd      ej^                  ffgd$ !      d%        Z0ejJ                  jQ                  d& ejV                  d'd()      jb                   ejd                  d'd()      jb                  g      d*        Z3ejJ                  jQ                  d+d,d-g      ejJ                  jQ                  d. ejh                  d/d0g       ejj                  d1d2gd3       ed/d0gd4      g      ejJ                  jQ                  d5e6ejb                  ejb                  ejn                  ejp                  ejr                  ejt                  g      d6                      Z;ejJ                  jQ                  d. ejh                  d/d0g       ejj                  d1d2gd3       ed/d0gd4      g      ejJ                  jQ                  d7d1d2gd8d9g e
d/d:;      gd2z  g      d<               Z<ejJ                  jQ                  d5e6e=ejb                  ejn                  g      d=        Z>ejJ                  jQ                  d>d?d@g      dA        Z?y)B    )annotationsN)NaTOutOfBoundsDatetime	Timestamp)freq_to_period_freqstr)np_version_gt2)DatetimeIndexPeriodPeriodIndexTimedeltaIndex)DatetimeArrayNumpyExtensionArrayPeriodArrayTimedeltaArray)DBWMEQEYE)paramsc                    | j                   S )z:Fixture returning parametrized frequency in string format.)param)requests    o/var/www/html/articles-backend/trend/venv/lib/python3.12/site-packages/pandas/tests/arrays/test_datetimelike.pyfreqstrr   "   s     ==    c                    t        j                         5  t        j                  ddt               t	        d|       } t        j                  t        d      d|       }ddd       |S # 1 sw Y   S xY w)	z
    A fixture to provide PeriodIndex objects with different frequencies.

    Most PeriodArray behavior is already tested in PeriodIndex tests,
    so here we just test that the PeriodArray behavior matches
    the PeriodIndex behavior.
    ignorezPeriod with BDay freq)messagecategory   
2000-01-01d   startperiodsfreqN)warningscatch_warningsfilterwarningsFutureWarningr   pdperiod_ranger   )r   pis     r   period_indexr0   (   sl     
	 	 	" W5	
 )G4__9\#:CgVW IW Is   A
A))A3c                H    t        j                  t        d      d|       }|S )z
    A fixture to provide DatetimeIndex objects with different frequencies.

    Most DatetimeArray behavior is already tested in DatetimeIndex tests,
    so here we just test that the DatetimeArray behavior matches
    the DatetimeIndex behavior.
    r#   r$   r%   )r-   
date_ranger   )r   dtis     r   datetime_indexr4   <   s      --i5s
QCJr   c                     t        g d      S )a  
    A fixture to provide TimedeltaIndex objects with different frequencies.
     Most TimedeltaArray behavior is already tested in TimedeltaIndex tests,
    so here we just test that the TimedeltaArray behavior matches
    the TimedeltaIndex behavior.
    1 Day3 Hoursr   )r    r   r   timedelta_indexr:   J   s     566r   c                     e Zd ZU ded<   ej
                  d        Zd Zej                  j                  d e
j                  dd       e
j                  ddd	
       e
j                  dd       e
j                  ddd      g      d        Zej                  j                  dddg      ej                  j                  dddg      d               Zd Zej                  j                  ddd edddd      j$                  g      d        Zd Zej                  j+                  d      d        Zd  Zd! Zd" Zd# Zd$ Zej                  j                  d%d&d'g      d(        Zd) Zej                  j                  d*g d+      d,        Zd- Zd. Z d/ Z!d0 Z"d1 Z#ej                  j                  d*e
jH                  e
jJ                  e&jN                  e(e)g      d2        Z*d3 Z+ej                  j                  dddg      d4        Z,d5 Z-ej                  j                  d*e(e&jN                  e
jH                  e
jJ                  g      d6        Z.d7 Z/d8 Z0d9 Z1d: Z2y;)<SharedTestsz2type[DatetimeIndex | PeriodIndex | TimedeltaIndex]	index_clsc                    t        j                  dd      dz  dz  dz  }| j                  t        u r| j                  |d      }|S | j	                  |d      j
                  }|S )	z5Fixture returning DatetimeArray with daily frequency.
   i8dtype      ʚ;r   r(   )nparange	array_clsr   r=   _data)selfdataarrs      r   arr1dzSharedTests.arr1dY   sg     yy4(2-4u<>>[(..C.0C 
 ..C.066C
r   c                   |}| j                  |      }t        j                  t        d      5  ||d d k(   d d d        t        j                  t        d      5  ||dg   k   d d d        y # 1 sw Y   7xY w# 1 sw Y   y xY w)NzLengths must matchmatchr"   r   )r=   pytestraises
ValueError)rK   rN   rM   idxs       r   test_compare_len1_raisesz$SharedTests.test_compare_len1_raisesc   s     nnS!]]:-AB 	3r7N	 ]]:-AB 	3s8O	 			 		 	s   	A.
A:.A7:Bresult2020   r'   UTC)r'   tzz0 days2020Q1Qr'   r(   c                n    t        j                  |      }t        ||k(        sJ t        ||k7        rJ y N)r-   Categoricalallany)rK   rW   expecteds      r   test_compare_with_Categoricalz)SharedTests.test_compare_with_Categoricalp   s;     >>&)6X%&&&v)****r   reverseTFas_indexc                   t        j                  ||      }|rt        j                  |      }||}}|r||}}t        j                  |j
                  t              }| }	||k(  }
t        j                  |
|       ||k7  }
t        j                  |
|	       |sp|sm||k  }
t        j                  |
|	       ||k  }
t        j                  |
|       ||kD  }
t        j                  |
|	       ||k\  }
t        j                  |
|       y y y )N)orderedrA   )	r-   rb   CategoricalIndexrG   onesshapebooltmassert_numpy_array_equal)rK   rN   rh   rg   rj   otherleftrightrl   zerosrW   s              r   test_compare_categorical_dtypez*SharedTests.test_compare_categorical_dtype~   s     ug6''.EUe%Dwwu{{$/
##FD1
##FE2x E\F''6U]F''5E\F''6U]F''5  (wr   c                   t        j                  dd      dz  dz  dz  }t         j                  j                  d      j	                  |       | j
                  t        u rt        |d      }n| j                  |      j                  }| j                  j                  |      }g d	}|j                  |      }|j                  |      }t        j                  | j                  |      |       t        j                  g d	      }|j                  |      }|j                  |      }t        j                  | j                  |      |       y )
Nr$   r@   rA   rC   rD   rE      	period[D])r"      ^   )rG   rH   randomdefault_rngshufflerI   r   r=   rJ   _simple_newtakero   assert_index_equalarray)rK   rL   rM   rU   takersrW   re   s          r   	test_takezSharedTests.test_take   s    yyD)B.5=
		a ((.>>[(d+6C..&,,Cnn((-&!88F#
dnnV4h?*%&!88F#
dnnV4h?r   
fill_valuerw   g       @i  r"      c                    d|j                   j                   d}t        j                  t        |      5  |j                  ddgd|       d d d        y # 1 sw Y   y xY w)Nvalue should be a '' or 'NaT'. GotrP   r   r"   T
allow_fillr   )_scalar_type__name__rR   rS   	TypeErrorr   )rK   r   rN   msgs       r   test_take_fill_raisesz!SharedTests.test_take_fill_raises   sZ    #E$6$6$?$?#@P]]9C0 	GJJ1v$:JF	G 	G 	Gs   AAc                    |}|j                  ddgdd       }|d   t        u sJ |j                  ddgdt        j                        }|d   t        u sJ |j                  ddgdt              }|d   t        u sJ y )Nr"   Tr   r   )r   r   rG   nan)rK   rN   rM   rW   s       r   test_take_fillzSharedTests.test_take_fill   s    2q'dtDayC2q'drvvFayC2q'dsCayCr   8ignore:Period with BDay freq is deprecated:FutureWarningc                B   |j                  ddgdt        |d               }|ddg   }t        j                  ||       d|j                  j
                   d}t        j                  t        |      5  |j                  ddgdd       d d d        y # 1 sw Y   y xY w)	Nr   r"   Tr   r   r   rP   foo)	r   strro   assert_equalr   r   rR   rS   r   rK   rN   rW   re   r   s        r   test_take_fill_strzSharedTests.test_take_fill_str   s    
 RGU2YP"a>
)#E$6$6$?$?#@P]]9C0 	CJJAw4EJB	C 	C 	Cs   5BBc                \   |}| j                  |      }|j                  dt              }|}|j                  |d d |dd  |g      }|j	                  t
              }| j                  t        j                  |d d |dd  |g            }t        j                  | j                  |      |       y )Nr   r   r"   )
r=   insertr   _concat_same_typeastypeobjectrG   concatenatero   r   )rK   rN   rM   rU   rW   arr2re   s          r   test_concat_same_typez!SharedTests.test_concat_same_type   s    nnS!jjC &&CR#ab'3'?@zz&!>>"..$s)T!"Xt1L"MN
dnnV4h?r   c                   |j                  |d         }|j                  j                  j                  }t	        ||      sJ |j                  t
              }t	        ||      sJ d| j                  j                   d}t        j                  t        |      5  |j                  d       d d d        y # 1 sw Y   y xY w)Nr   z'value' should be a .rP   r   )_unbox_scalar_ndarrayrB   type
isinstancer   scalar_typer   rR   rS   rT   r   s        r   test_unbox_scalarzSharedTests.test_unbox_scalar   s    $$U1X.>>'',,&(+++$$S)&(+++$T%5%5%>%>$?qA]]:S1 	'&	' 	' 	's   B66B?c                ~    |j                  |d          |j                  |d d        |j                  t               y )Nr   r"   )_check_compatible_withr   rK   rN   s     r   test_check_compatible_withz&SharedTests.test_check_compatible_with   s6    $$U1X.$$U2AY/$$S)r   c                R    |j                  t        |d               }||d   k(  sJ y )Nr   )_scalar_from_stringr   )rK   rN   rW   s      r   test_scalar_from_stringz#SharedTests.test_scalar_from_string   s,    **3uQx=9q!!!r   c                    d}t        j                  t        |      5  |j                  d       d d d        y # 1 sw Y   y xY w)Nz)does not support reduction 'not a method'rP   znot a method)rR   rS   r   _reduce)rK   rN   r   s      r   test_reduce_invalidzSharedTests.test_reduce_invalid   s6    9]]9C0 	*MM.)	* 	* 	*	   9Amethodpadbackfillc                H   t        j                  dd      dz  dz  dz  }| j                  t        u r| j                  |d      }n| j                  j	                  |      }t
        |d<   |d	k(  r|d
   n|d   }|j                  |      }|d   |k(  sJ |d   t
        u sJ y )Nr?   r@   rA   rC   rD   rE   rx   ry   r   rY      )r   )rG   rH   rI   r   _from_sequencer   _pad_or_backfill)rK   r   rL   rM   r   rW   s         r   %test_fillna_method_doesnt_change_origz1SharedTests.test_fillna_method_doesnt_change_orig   s    yy4(2-4u<>>[(..[.9C..//5CA%SVCF
%%V%4ayJ&&& 1v}}r   c                   t        j                  dd      dz  dz  dz  }| j                  t        u r| j                  |d      }n| j                  j	                  |      }|j                  |d         }|dk(  sJ |j                  |d	   d
      }|dk(  sJ |j                  |dd       }t        j                  dd	gt         j                        }t        j                  ||       |j                  |dd d
      }t        j                  d	dgt         j                        }t        j                  ||       |j                  t              }|dk(  sJ y )Nr?   r@   rA   rC   rD   rE   rx   r"   rw   rs   siderY   )rG   rH   rI   r   r   searchsortedr   intpro   rp   r   )rK   rL   rM   rW   re   s        r   test_searchsortedzSharedTests.test_searchsorted  s;   yy4(2-4u<>>[(..[.9C..//5C !!#a&){{!!#a&w!7{{ !!#a(+88QF"''2
##FH5!!#a(!988QF"''2
##FH5 !!#&||r   box)Nindexseriesc           	        |}|n,|dk(  r| j                  |      }nt        j                  |      }|j                  t	        |d               }|dk(  sJ |j                  t	        |d         d      }|dk(  sJ |j                  |dd D cg c]  }t	        |       c}      }t        j                  ddgt
        j                        }t        j                  ||       t        j                  t        t        j                  d|j                  j                    d	      
      5  |j                  d       d d d        t        j"                  d|      5  t        j                  t        t        j                  d|j                  j                    d      
      5  |j                  t	        |d         dg       d d d        d d d        y c c}w # 1 sw Y   xY w# 1 sw Y   #xY w# 1 sw Y   y xY w)Nr   r"   rw   rs   r   rY   rA   r   z/', 'NaT', or array of those. Got 'str' instead.rP   r   string_storagez6', 'NaT', or array of those. Got string array instead.baz)r=   r-   Seriesr   r   rG   r   r   ro   rp   rR   rS   r   reescaper   r   option_context)rK   rN   r   r   rM   rW   xre   s           r   "test_searchsorted_castable_stringsz.SharedTests.test_searchsorted_castable_strings)  s   ;G^..%C ))C.C !!#c!f+.{{!!#c!f+G!<{{!!3q8"<a3q6"<=88QF"''2
##FH5]]))%e&8&8&A&A%B C8 8
 	$ U#	$ /@ 	7ii)%*<*<*E*E)F GC C 7   #c!f+u!567	7 	7 #=	$ 	$7 7	7 	7s7   G*GAG/! G#G/G #G,	(G//G8c                   t        j                  t        dd      D cg c]  }t        j                  |z    c}d      }| j
                  t        u r| j                  |d      }n| j                  |d      j                  }|d    t        j                  |      }|d    t        j                  |      }|d    y c c}w )	Nr"   r   r@   rA   z
period[ns]nsrF   r   )rG   asarrayranger   _valuerI   r   r=   rJ   r-   Indexr   )rK   ni8valsrM   r   sers         r   'test_getitem_near_implementation_boundsz3SharedTests.test_getitem_near_implementation_boundsS  s     U1a[ASZZ!^AN>>[(..|.<C..d.399CAaiinA Bs   B>c                   t        |      j                  |j                  d d t        j                  f   |j
                        }|d d t        j                  f   }t        j                  ||       |}t        |      j                  |j                  d ddf   |j
                        }|d ddf   }t        j                  ||       |d   }|d   }||k(  sJ y )NrA   rY   r   )r   r   r   )r   r~   r   rG   newaxisrB   ro   r   )rK   rN   re   rW   arr2ds        r   test_getitem_2dzSharedTests.test_getitem_2dc  s    ;**NN1bjj=) + 
 q"**}%
) ;**5>>"1"a%+@*Trr1u
) u9!!!r   c                \   |j                   d dt        j                  f   }t        |      j	                  ||j
                        }t        |      }t        |      dk(  sJ |D ]E  }t        |t        |            sJ |j                  dk(  sJ |j
                  |j
                  k(  rEJ  y )NrY   rA   r"   )
r   rG   r   r   r~   rB   listlenr   ndim)rK   rN   data2dr   rW   r   s         r   test_iter_2dzSharedTests.test_iter_2dv  s    BJJ/U''ekk'Be6{a 	*Aae---66Q;;77ekk)))	*r   c           
        |j                   d dt        j                  f   }t        |      j	                  ||j
                        }t        |      }t        |t              rbdt        |      j                   d|d   j                          d|d   j                          d|d   j                          d	|j
                   
}n7dt        |      j                   d|d    d|d    d|d    d	|j
                   
}||k(  sJ y )
NrY   rA   <z>
[
['r   z'],
['r"   rw   z']
]
Shape: (3, 1), dtype: )r   rG   r   r   r~   rB   reprr   r   r   
_repr_base)rK   rN   r   r   rW   re   s         r   test_repr_2dzSharedTests.test_repr_2d  s$   BJJ/U''ekk'Bee^,DK(() *1X((*+ ,1X((*+ ,1X((*+ ,)).7  DK(() *1XJ 1XJ 1XJ )).7  !!!r   c                   t        j                  dd      dz  dz  dz  }| j                  t        u r| j                  |d      }n| j	                  |d	      j
                  }|d
   |d<   t        j                  dd      dz  dz  dz  }|d
   |d<   t        j                  |j                  |       |dd  |d d |dd  |d d t        j                  |j                  |       y )Nr?   r@   rA   rC   rD   rE   rx   r   rF   r"   r   rw   )	rG   rH   rI   r   r=   rJ   ro   rp   asi8rK   rL   rM   re   s       r   test_setitemzSharedTests.test_setitem  s    yy4(2-4u<>>[(..[.9C..C.066CQA99Rt,r1D85@qk
##CHHh7bc(BQ}!
##CHHh7r   c                   |j                         d d d   }|j                  j                  dv r|j                  d       }|}|t        u rt	        |      }n|t
        j                  u r)t        j                  |j                  t                    }nE|t        u r" |t        j                  |t                    }n ||      j                  t              }||d d  t        j                  ||       y )Nr   )mMrA   )copyrB   kind
_with_freqr   rG   r   r   r   r   r   ro   r   )rK   r   rN   re   valss        r   test_setitem_object_dtypez%SharedTests.test_setitem_object_dtype  s     ::<"%>>*,**40H$;:DBHH_88DKK/0D''rzz$f56Dt9##F+Da
x(r   c                j   |j                         }|dd  |ddg<   |j                         }|dd  D cg c]  }t        |       c}|d d t        j                  ||       |j                         }|d   |d<   |j                         }t        |d         |d<   t        j                  ||       y c c}w )Nr   r   r"   rw   r   )r   r   ro   r   )rK   rN   re   rW   r   s        r   test_setitem_strszSharedTests.test_setitem_strs  s     ::< :!Q&+BCj1c!f1r

) ::<Bib	Nq	
) 2s   B0c                   |j                         d d d   }t        |t              s|j                  d       }t	        j
                  |      }|rt	        j                  |      }|d d d   |d d  t        j                  ||       y )Nr   )	r   r   r   r   r-   rb   rk   ro   r   )rK   rN   rh   re   cats        r   test_setitem_categoricalz$SharedTests.test_setitem_categorical  sp    ::<"%(K0**40HnnU#%%c*Ctt9a
x(r   c                   |d d }|d   }t        j                  t        d      5  ||d<   d d d        t        j                  t        d      5  t	               |d<   d d d        d}t        j                  t
        |      5  |d   g|g <   d d d        d	}t        j                  t
        |      5  |d d
 |dd d d d        y # 1 sw Y   xY w# 1 sw Y   sxY w# 1 sw Y   PxY w# 1 sw Y   y xY w)Nr?   r   zindex 12 is out of boundsrP   r   zvalue should be a.* 'object'z<cannot set using a list-like indexer with a different lengthr"   z=cannot set using a slice indexer with a different length thanrY   )rR   rS   
IndexErrorr   r   rT   )rK   rN   rM   valr   s        r   test_setitem_raiseszSharedTests.test_setitem_raises  s    CRj!f]]:-HI 	CG	 ]]9,JK 	XCF	 M]]:S1 	1vhCG	 N]]:S1 	2AwC!H	 		 		 		 	
	 	s/   CC
C1	C'CCC$'C0c                ,   d|j                   j                   d}t        j                  t        |      5   |ddg      |d d d d d        t        j                  t        |      5   |ddg      |d d d d d        y # 1 sw Y   ;xY w# 1 sw Y   y xY w)	Nr   z ', 'NaT', or array of those. GotrP   r   r"   rw   g        g      ?)r   r   rR   rS   r   )rK   rN   r   r   s       r   test_setitem_numeric_raisesz'SharedTests.test_setitem_numeric_raises  s    
 "%"4"4"="=!> ?, , 	 ]]9C0 	$QFE"1I	$ ]]9C0 	(S#JE"1I	( 	(	$ 	$	( 	(s   A>'B
>B
Bc                   t        j                  dd      dz  dz  dz  }| j                  t        u r| j                  |d      }n| j	                  |d	      j
                  }|t        j                  d
      z   }|t        j                  d
      z  }t        j                  ||       |t        j                  d
      z
  }|t        j                  d
      z  }t        j                  ||       y )Nr?   r@   rA   rC   rD   rE   rx   r   rF   r"   days)
rG   rH   rI   r   r=   rJ   r-   	Timedeltaro   r   r   s       r   test_inplace_arithmeticz#SharedTests.test_inplace_arithmetic  s    yy4(2-4u<>>[(..[.9C..C.066C1--r||##
X&1--r||##
X&r   c                    t        j                  t        d      5  |j                  dd       d d d        y # 1 sw Y   y xY w)Nzvalue should be arP   r"   )r   )rR   rS   r   shiftr   s     r   test_shift_fill_int_deprecatedz*SharedTests.test_shift_fill_int_deprecated  s6    ]]9,?@ 	)KKaK(	) 	) 	)s	   9Ac                   |}t        |      dz  dk(  r|d d }|t        |      dz     }|j                         }t        |      t        |      u sJ ||k(  sJ t        |t        |      dz  <   t	        |t
              s1|t        |      dz  dz
  t        |      dz  dz    j                         }|j                  d      t        u sJ |j                         }t        |      t        |      u sJ ||k(  sJ |d d j                         t        u sJ |d d j                  d      t        u sJ |j                  dd      }|j                  d       }t        |      t        |      u sJ ||k(  sJ |j                  d d      t        u sJ |j                  d      }t        |      j                  |g|j                  	      }t        j                  ||       |j                  dd      }t        |      j                  t        g|j                  	      }t        j                  ||       |j                  d      }t        j                  ||       |j                  dd      }t        j                  ||       y )
Nrw   r   r   r"   F)skipna)axis)r  r
  rA   )r   medianr   r   r   r
   meanreshaper   rB   ro   r   )rK   rN   rM   re   rW   r   	expected2s          r   test_medianzSharedTests.test_median$  sK   s8a<1cr(Cs3x1}%F|tH~---!!! CHM(F+3s8q=1,s3x1}q/@AFFHHzzz'3...F|tH~---!!!2Aw~~3&&&2Aw~~U~+s222 {{2q!$'F|tH~---!!!{{U{3s:::!$I,,hZsyy,I	
	*!E2I,,cU#)),D	
	*!$
$!E2
$r   c                   t        j                  g dt         j                        }t        j                  |d      }| j                  t
        u r;| j	                  || j                        }| j	                  || j                        }nN| j                  j                  || j                        }| j                  j                  || j                        }t        j                  ||       y )Nr"   rw   rY   rA   Int64)
rG   r   int64r-   rI   r   example_dtyper   ro   assert_extension_array_equal)rK   rM   rL   re   rW   s        r   test_from_integer_arrayz#SharedTests.test_from_integer_arrayT  s    hhy1xx7+>>[(~~c1C1C~DH^^D0B0B^CF~~44S@R@R4SH^^224t?Q?Q2RF
''9r   N)3r   
__module____qualname____annotations__rR   fixturerN   rV   markparametrizer-   r2   timedelta_ranger.   rf   ru   r   r   timer   r   r+   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rG   r   r   r   r   r   r   r   r   r  r  r  r  r9   r   r   r<   r<   V   s   AA^^  [[BMM&!,BMM&!6Bx3BOOHac:		
++
 [[Yu6[[Z$76 8 76B@, [[\AsIdAq"4M4R4R+STG UG

  [[BCC
@
'*
"*
 [[Xz':; < 8 [[U$=>'7 ?'7R "&*":8" [[HHIIHH	
	)	)(*& [[Z$7) 8)( [[UT288RXXryy$IJ( K(' )
.%`
:r   r<   c                     e Zd ZeZeZeZdZ	e
j                  d        Zd Zd Zd Zd Zd Zd Zd	 Zd
 Ze
j*                  j-                  d      d        Zd Ze
j*                  j3                  dej4                        d        Ze
j*                  j3                  dej8                        d        Zd Zd Zd Z d Z!d Z"y)TestDatetimeArrayM8[ns]c                T    |}t        j                  dd||      }|j                  }|S )zc
        Fixture returning DatetimeArray with parametrized frequency and
        timezones
        z2016-01-01 01:01:00r   )r'   r(   r\   )r-   r2   rJ   )rK   tz_naive_fixturer   r\   r3   dtas         r   rN   zTestDatetimeArray.arr1dg  s,     mm117rRii
r   c                h   | j                  |      }|j                  d      }|t        j                  d      z
  }|j	                  d       }t        j                  ||       |j                  }|j                  d      }|j                  j	                  d       }t        j                  ||       y )N2minrF   r"   )minutes)	r=   roundr-   r  r   ro   r   rJ   assert_datetime_array_equal)rK   rN   r3   rW   re   r%  s         r   
test_roundzTestDatetimeArray.test_roundr  s    nnU#'a00&&t,
fh/ii'>>,,T2
&&vx8r   c                   |j                   }t        rd nd}t        j                  |      }|j                  }||u sJ t        j                  ||       t        j                  ||      }||u sJ t        j                  ||       t        j                  |d      }|j                  }||u sJ t        j                  ||       t        j                  |d|      }||u sJ t        j                  ||       t        j                  |d      }t        s||usJ t        j                  ||       t        j                  |t              }t        j                  t        |      t              }t        j                  ||       t        j                  |d      }||j                  usJ t        j                  ||      rJ |j                  j                         }t        j                  ||       dt        fD ]S  }t        j                  ||      }t        j                  |      j                  |      }t        j                  ||       U y )NFr   datetime64[ns]rA   rB   r   r  float64rJ   r   rG   r   r   ro   rp   r   r   r   r   may_share_memoryr   r   r   )rK   r4   rM   
copy_falserW   re   rB   s          r   test_array_interfacez&TestDatetimeArray.test_array_interface  s   ""+T
 C<<!!!
##FH5#J/!!!
##FH5 C'78<<!!!
##FH5#%5JG!!!
##FH5#%56)))
##FH5 Cv.88DIV4
##FH5 Cw/SXX%%%&&sF33388==?
##FH5  % 	:EZZ51Fzz#--e4H''9	:r   c                *   |}| j                  |      }t        j                  t        |            }t        j                  |t              }t        j                  ||       t        j                  |t              }t        j                  ||       y NrA   )r=   rG   r   r   r   ro   rp   )rK   rN   rM   r3   re   rW   s         r   test_array_object_dtypez)TestDatetimeArray.test_array_object_dtype  si    nnU#88DI&#V,
##FH5 #V,
##FH5r   c                (   |}| j                  |      }t        rd nd}|j                  j                  d      }t	        j
                  |d      }t        j                  ||       t	        j
                  |d      }t        j                  ||       t	        j
                  |d|      }|j                  |j                  u sJ |j                  J t	        j
                  |d|      }|j                  |j                  u sJ |j                  J y )NFr"  rA   r.  r/  )	r=   r   r   viewrG   r   ro   rp   baserK   rN   rM   r3   r3  re   rW   s          r   test_array_tzzTestDatetimeArray.test_array_tz  s    nnU#+T
88==*#X.
##FH5#%56
##FH5 #XJ?{{hmm+++{{&&&#%5JG{{hmm+++{{&&&r   c                   |}| j                  |      }t        rd nd}|j                  }t        j                  |d      }t        j                  ||       t        j                  |t        j                        }t        j                  ||       t        j                  |d|      }|j                  |j                  usJ |j                  J y )NFr@   rA   r/  )	r=   r   r   rG   r   ro   rp   r  r:  r;  s          r   test_array_i8_dtypez%TestDatetimeArray.test_array_i8_dtype  s    nnU#+T
88#T*
##FH5#RXX.
##FH5 #T
;{{(--///{{"""r   c                    t        j                  ddgd      }t        j                  |      }|j                  |u sJ t        j                  |d d       }|j                  j
                  |u sJ y )Nr#   z
2000-01-02r"  rA   r   )rG   r   r   r   r   r:  )rK   rM   r%  s      r   test_from_array_keeps_basez,TestDatetimeArray.test_from_array_keeps_base  sg    hhl38D**3/||s"""**3r73||  C'''r   c                    |}| j                  |      }t        |      t        |      k(  sJ t        j                  |      }t	        |t
              sJ t        |      t        |      k(  sJ y ra   )r=   r   r-   r   r   r	   )rK   rN   rM   r3   dti2s        r   test_from_dtizTestDatetimeArray.test_from_dti  s`    nnU#CyDI%%% xx}$...DzT#Y&&&r   c                    |}| j                  |      }|j                  d      }t        |t        j                        sJ |j
                  dk(  sJ t        |      t        |      k(  sJ y NOr=   r   r   rG   ndarrayrB   r   )rK   rN   rM   r3   asobjs        r   test_astype_objectz$TestDatetimeArray.test_astype_object  s^    nnU#

3%,,,{{c!!!E{d3i'''r   3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                    |}|j                   }t        d|      }|j                  |      }|j                  |      }t        |t              sJ t        j                  ||j                          y )Nr"   rF   )rJ   r   	to_periodr   r   ro   r   )rK   r4   r   r3   rM   re   rW   s          r   test_to_periodz TestDatetimeArray.test_to_period  s^    ii(G4==g=.G,&+...
/r   c                4   |j                  dd      }|j                  d nt        }t        j                  |      5  |j                  d      }|j                  d      j                  dd      }d d d        t        j                         y # 1 sw Y    xY w)Nr"   r   r   )r  r\   UserWarningro   assert_produces_warningrM  assert_period_array_equal)rK   rN   r   warnrW   re   s         r   test_to_period_2dz#TestDatetimeArray.test_to_period_2d	  s    a$xx't[''- 	;__S)Fs+33Ar:H	; 	$$VX6	; 	;s   3BBpropnamec                    | j                  |      }|}|j                  |j                  k(  sJ t        ||      }t        j                  t        ||      |j
                        }t        j                  ||       y r6  )r=   r(   getattrrG   r   rB   ro   rp   rK   rN   rU  r3   rM   rW   re   s          r   test_bool_propertiesz&TestDatetimeArray.test_bool_properties  sd     nnU#xx388###h'88GC2&,,G
##FH5r   c                    | j                  |      }|}t        ||      }t        j                  t        ||      |j                        }t        j                  ||       y r6  )r=   rW  rG   r   rB   ro   rp   rX  s          r   test_int_propertiesz%TestDatetimeArray.test_int_properties  sL    nnU#h'88GC2&,,G
##FH5r   c                |   |}| j                  |      }|j                  |j                        }|j                  ddgd|      }|d   |k(  sJ d|j                  j
                   d}t        j                  t        |      5  |j                  ddgd||z
         d d d        t        j                  t        |      5  |j                  ddgdt        d	             d d d        |j                  d nd
}|j                  |      }d}t        j                  t        |      5  |j                  ddgd|       d d d        t        j                  }	d|j                  j
                   d}t        j                  t        |      5  |j                  ddgd|	       d d d        t        j                  dd      }	t        j                  t        |      5  |j                  ddgd|	       d d d        |j                  w|j                  d      }	|j                  ddgd|	      }|j                  ddgd|	j                  |j                  j                              }
t!        j"                  ||
       y y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   \xY w# 1 sw Y   xY w# 1 sw Y   xY w)Nr   r"   Tr   r   r   r   rP   2014Q1z
US/Easternz:Cannot compare tz-naive and tz-aware datetime-like objectsr   r   zAustralia/Melbourne)r=   tz_localizer\   r   r   r   rR   rS   r   r
   r   r   rG   timedelta64
tz_convertrB   ro   r   )rK   rN   fixed_now_tsrM   r3   nowrW   r   r\   valuere   s              r   test_take_fill_validz&TestDatetimeArray.test_take_fill_valid(  s   nnU#&&svv.2q'dsCayC#E$6$6$?$?#@P]]9C0 	EHHb!W#)HD	E ]]9C0 	LHHb!W&:JHK	L VV'T\&&r*J]]9C0 	?HHb!W#H>	? 

#E$6$6$?$?#@P]]9C0 	AHHb!W%H@	A ud+]]9C0 	AHHb!W%H@	A 66 !,,-BCEXXr1g$5XIFxxQ ++CIILL9   H
 OOFH- 5	E 	E	L 	L	? 	?	A 	A
	A 	As<   I> J'JJ%J2>JJJ"%J/2J;c                    |}|j                   |j                  d      }n|j                  d       }t        j                  t        d      5  |j                  ||g       d d d        y # 1 sw Y   y xY w)Nr[   zto_concat must have the samerP   )r\   r^  rR   rS   rT   r   )rK   rN   rM   rq   s       r   test_concat_same_type_invalidz/TestDatetimeArray.test_concat_same_type_invalidX  sb    66>OOE*EOOD)E]]:-KL 	0!!3,/	0 	0 	0s   A**A3c                l   t        j                  dddd|      j                  }t        j                  dddd|      j                  }t        j                  ||g      }t        j
                  g d      j                  d      j                  |      j                  }t        j                  ||       y )N2000rw   r   z
US/Central)r'   r(   r\   unith)2000-01-01 00:00:00z2000-01-02 00:00:00rk  z2000-01-01 01:00:00)
r-   r2   rJ   r   r   to_datetimer^  as_unitro   r*  )rK   ri  abrW   re   s         r   $test_concat_same_type_different_freqz6TestDatetimeArray.test_concat_same_type_different_freqd  s    MM&!#,TRXXMM&!#,TRXX00!Q8NN [&WT]U 	 	&&vx8r   c                    |}|j                  d      }t        j                  |D cg c]  }|j                  d       c}t              }t	        j
                  ||       y c c}w )Nz%Y %brA   strftimerG   r   r   ro   rp   )rK   rN   rM   rW   tsre   s         r   test_strftimezTestDatetimeArray.test_strftimey  sO    g&88C@bR[[1@O
##FH5 A   A#c                    t        dt        g      j                  }|j                  d      }t	        j
                  dt        j                  gt              }t        j                  ||       y )N
2019-01-01%Y-%m-%drA   )
r	   r   rJ   rs  rG   r   r   r   ro   rp   rK   rM   rW   re   s       r   test_strftime_natz#TestDatetimeArray.test_strftime_nat  sN    \3/066j)88\2662&A
##FH5r   N)#r   r  r  r	   r=   r   rI   r   r   r  rR   r  rN   r+  r4  r7  r<  r>  r@  rC  rJ  r  r+   rN  rT  r  	_bool_opsrY  
_field_opsr[  rd  rf  rp  ru  r{  r9   r   r   r!  r!  a  s    IIKM^^ 9+:Z6'*#"('( [[ VW	0 X	07 [[Z)@)@A	6 B	6 [[Z)A)AB6 C6..`
09*66r   r!  c                      e Zd ZeZeZej                  Z	dZ
d Zd Zd Zd Zej                   j#                  dej$                        d        Zd Zd	 Zy
)TestTimedeltaArraym8[ns]c                    t        ddg      }|j                  }t        |      t        |      k(  sJ t        j                  |      }t        |t               sJ t        |      t        |      k(  sJ y )Nr7   r8   )r   rJ   r   r-   r   r   )rK   tdirM   tdi2s       r   test_from_tdiz TestTimedeltaArray.test_from_tdi  se    gy12iiCyDI%%% xx}$///DzT#Y&&&r   c                    t        ddg      }|j                  }|j                  d      }t        |t        j
                        sJ |j                  dk(  sJ t        |      t        |      k(  sJ y )Nr7   r8   rF  )r   rJ   r   r   rG   rH  rB   r   )rK   r  rM   rI  s       r   rJ  z%TestTimedeltaArray.test_astype_object  sc    gy12ii

3%,,,{{c!!!E{d3i'''r   c                    |}|j                   }|j                         }|j                         }t        j                  ||       y ra   )rJ   to_pytimedeltaro   rp   rK   r:   r  rM   re   rW   s         r   test_to_pytimedeltaz&TestTimedeltaArray.test_to_pytimedelta  s<    ii%%'##%
##FH5r   c                    |}|j                   }|j                         }|j                         }t        j                  ||j                         y ra   )rJ   total_secondsro   rp   valuesr  s         r   test_total_secondsz%TestTimedeltaArray.test_total_seconds  s@    ii$$&""$
##FHOO<r   rU  c                    |}|j                   }t        ||      }t        j                  t        ||      |j                        }t        j                  ||       y r6  )rJ   rW  rG   r   rB   ro   rp   )rK   r:   rU  r  rM   rW   re   s          r   r[  z&TestTimedeltaArray.test_int_properties  sG    iih'88GC2&,,G
##FH5r   c                   |j                   }t        rd nd}t        j                  |      }|j                  }||u sJ t        j                  ||       t        j                  ||      }||u sJ t        j                  ||       t        j                  |d      }|j                  }||u sJ t        j                  ||       t        j                  |d|      }||u sJ t        j                  ||       t        j                  |d      }t        s||usJ t        j                  ||       t        j                  |t              }t        j                  t        |      t              }t        j                  ||       t        j                  |d      }||j                  usJ t        j                  ||      rJ |j                  j                         }t        j                  ||       dt        fD ]S  }t        j                  ||      }t        j                  |      j                  |      }t        j                  ||       U y )NFr-  ztimedelta64[ns]rA   r/  r  r0  r1  )rK   r:   rM   r3  rW   re   rB   s          r   r4  z'TestTimedeltaArray.test_array_interface  s   ##+T
 C<<!!!
##FH5#J/!!!
##FH5 C'89<<!!!
##FH5#%6ZH!!!
##FH5#%67)))
##FH5 Cv.88DIV4
##FH5 Cw/SXX%%%&&sF33388==?
##FH5  % 	:EZZ51Fzz#--e4H''9	:r   c                   |}|j                   }t        j                  d      }|j                  ddgd|      }|d   |k(  sJ |}d|j                  j
                   d}t        j                  t        |	      5  |j                  ddgd|       d d d        |j                  d
      }t        j                  t        |	      5  |j                  ddgd|       d d d        t        j                  dd      }t        j                  t        |	      5  |j                  ddgd|       d d d        y # 1 sw Y   xY w# 1 sw Y   fxY w# 1 sw Y   y xY w)Nr"   r  r   Tr   r   r   r   rP   r   r   r   )rJ   r-   r  r   r   r   rR   rS   r   rM  rG   
datetime64)	rK   r:   ra  r  rM   td1rW   rc  r   s	            r   rd  z'TestTimedeltaArray.test_take_fill_valid  sI   iill"2q'dsCayC#C$4$4$=$=#>oN]]9C0 	@HHaVH?	@ &&s+]]9C0 	@HHaVH?	@ eT*]]9C0 	AHHb!W%H@	A 	A	@ 	@
	@ 	@
	A 	As$   <D7EE7E EEN)r   r  r  r   r=   r   rI   r-   r  r   r  r  rJ  r  r  rR   r  r  r}  r[  r4  rd  r9   r   r   r  r    sf    II,,KM'(6= [[Z)B)BC6 D6+:ZAr   r  r   rK  c                     e Zd ZeZeZeZ eg d      j                  Z
ej                  d        Zd Zd Zd Zej"                  j%                  ddd	g      d
        Zd Zd Zej"                  j%                  dej,                        d        Zej"                  j%                  dej0                        d        Zd Zd Zd Zy)TestPeriodArrayr   rF   c                    |j                   S )zW
        Fixture returning DatetimeArray from parametrized PeriodIndex objects
        )rJ   )rK   r0   s     r   rN   zTestPeriodArray.arr1d  s    
 !!!r   c                    | j                  |      }|}t        |      t        |      k(  sJ t        j                  |      }t	        |t
              sJ t        |      t        |      k(  sJ y ra   )r=   r   r-   r   r   r   )rK   rN   r/   rM   pi2s        r   test_from_pizTestPeriodArray.test_from_pi  s`    ^^E"CyDH$$$ hhsm#{+++CyDI%%%r   c                    | j                  |      }|}|j                  d      }t        |t        j                        sJ |j
                  dk(  sJ t        |      t        |      k(  sJ y rE  rG  )rK   rN   r/   rM   rI  s        r   rJ  z"TestPeriodArray.test_astype_object  s^    ^^E"

3%,,,{{c!!!E{d2h&&&r   c                   |}t         j                  }d|j                  j                   d}t	        j
                  t        |      5  |j                  ddgd|       d d d        t        j                  dd	      }t	        j
                  t        |      5  |j                  ddgd|       d d d        y # 1 sw Y   ZxY w# 1 sw Y   y xY w)
Nr   r   rP   r   r"   Tr   r   r   )
r   r   r   r   rR   rS   r   r   rG   r_  )rK   rN   rM   rc  r   s        r   rd  z$TestPeriodArray.test_take_fill_valid$  s    

#E$6$6$?$?#@P]]9C0 	AHHb!W%H@	A ud+]]9C0 	AHHb!W%H@	A 	A	A 	A
	A 	As   B8C8CChowSEc                    | j                  |      }|}t        |j                  |            j                  }|j                  |      }t	        |t
              sJ t        j                  ||       y )N)r  )r=   r	   to_timestamprJ   r   r   ro   r   )rK   r  rN   r/   rM   re   rW   s          r   test_to_timestampz!TestPeriodArray.test_to_timestamp2  sa    ^^E" S!9:@@!!c!*&-000
)r   c                   t        j                  ddd      j                  }|j                         }|j	                         }|j
                  dk(  sJ t        j                  ||       |d d d   }|j                         }|j	                         }|j
                  dk(  sJ t        j                  ||       |j                  d      }|j	                         }|j
                  dk(  sJ t        j                  ||       y )Nz
2021-10-18rY   r   r_   rw   2B)r-   r2   rJ   rM  r  r(   ro   r  )	rK   r%  parrrW   dta2parr2result2parr3result3s	            r    test_to_timestamp_roundtrip_bdayz0TestPeriodArray.test_to_timestamp_roundtrip_bday=  s    mmL!#>DD}}""${{c!!!
''43Q3x $$&||t###
''6d#$$&||s"""
''5r   c                L   t        j                  ddd      }d}t        j                  t        |      5  |j                          d d d        t        j                  t        |      5  |j                  j                          d d d        y # 1 sw Y   HxY w# 1 sw Y   y xY w)N1500YrY   )r(   r'   z7Out of bounds nanosecond timestamp: 1500-01-01 00:00:00rP   )r-   r.   rR   rS   r   r  rJ   )rK   r/   r   s      r   test_to_timestamp_out_of_boundsz/TestPeriodArray.test_to_timestamp_out_of_boundsP  s    __V#q9G]].c: 	OO	 ]].c: 	$HH!!#	$ 	$	 		$ 	$s   B*BBB#rU  c                    | j                  |      }|}t        ||      }t        j                  t        ||            }t	        j
                  ||       y ra   r=   rW  rG   r   ro   rp   rK   rN   rU  r/   rM   rW   re   s          r   rY  z$TestPeriodArray.test_bool_propertiesZ  sH     ^^E"h'88GB12
##FH5r   c                    | j                  |      }|}t        ||      }t        j                  t        ||            }t	        j
                  ||       y ra   r  r  s          r   r[  z#TestPeriodArray.test_int_propertiese  sF    ^^E"h'88GB12
##FH5r   c                   |}t        j                  |      }t        j                  t        |      t              }t        j                  ||       t        j                  |t              }t        j                  ||       t        j                  |d      }t        j                  ||j                         d}t        j                  t        |      5  t        j                  |d       d d d        t        j                  |d      }t        j                  |      j                  d      }t        j                  ||       y # 1 sw Y   [xY w)NrA   r  zEfloat\(\) argument must be a string or a( real)? number, not 'Period'rP   r0  S20)rG   r   r   r   r   ro   rp   r   rR   rS   r   r   )rK   rN   rM   rW   re   r   s         r   r4  z$TestPeriodArray.test_array_interfaceo  s     C88DIV4
##FH5 Cv.
##FH5Cw/
##FCHH5 W]]9C0 	-JJs),	- Cu-::c?))%0
##FH5	- 	-s   E		Ec                    |}|j                  d      }t        j                  |D cg c]  }|j                  d       c}t              }t	        j
                  ||       y c c}w )Nz%YrA   rr  )rK   rN   rM   rW   perre   s         r   ru  zTestPeriodArray.test_strftime  sO    d#883?CS\\$/?vN
##FH5 @rv  c                    t        t        dt        gd            }|j                  d      }t	        j
                  dt        j                  gt              }t        j                  ||       y )Nrx  rx   rA   ry  )
r   r   r   rs  rG   r   r   r   ro   rp   rz  s       r   r{  z!TestPeriodArray.test_strftime_nat  sO    +|S&9MNj)88\2662&A
##FH5r   N)r   r  r  r   r=   r   rI   r
   r   rB   r  rR   r  rN   r  rJ  rd  r  r  r  r  r  r|  rY  r}  r[  r4  ru  r{  r9   r   r   r  r    s     IIK-33M^^" "&'A [[US#J/* 0*6&$ [[Z)>)>?6 @6 [[Z)?)?@6 A66066r   r  zarr,casting_natsr6   r   r   r#   rY   r   r_   c                ,    t        |       j                  S ra   r   r   r   s    r   <lambda>r        $q'"" r   )idsc                    t        |       j                  t        | d   | d   g| j                        }|D ]-  }| j	                         } || d<   t        j                  | |       / y )Nr"   rw   rA   r   )r   r   r   rB   r   ro   r   )rM   casting_natsre   nats       r   test_casting_nat_setitem_arrayr    sa      Cy''c!fc!f(=SYY'OH 'hhjA
X&'r   zarr,non_casting_natsc                ,    t        |       j                  S ra   r  r  s    r   r  r    r  r   c                    d}|D ]+  }t        j                  t        |      5  || d<   d d d        - y # 1 sw Y   8xY w)Nzwvalue should be a '(Timestamp|Timedelta|Period)', 'NaT', or array of those. Got '(timedelta64|datetime64|int)' instead.rP   r   )rR   rS   r   )rM   non_casting_natsr   r  s       r   test_invalid_nat_setitem_arrayr    sN    (	6 
   ]]9C0 	CF	 		 	s   4=	rM   rh  ry   rZ   c                   t         | d<   | j                         }| j                         }t        j                  |d         sJ | j                  d      }|d   dk(  sJ | j                  dd      }|d   dk(  sJ | j                  | d   j                               }|d   |d   k(  sJ | j                  | d   j                  d	            }|d   |d   k(  sJ t        j                  | |       y )
Nr   r  rA   l         )rB   na_valuer"   )r  Fr-  )r   r   to_numpyrG   isnanro   r   )rM   originalrW   s      r   test_to_numpy_extrar    s     CFxxzH\\^F88F1I\\\(F!9,,,,\\!\4F!9>>\\3q6??#4\5F!9q	!!!\\3q6???#>\?F!9q	!!!OOC"r   rh   TFr  z
2020-01-01z
2020-02-01r"   rw   )ri  rF   klassc                    |s| j                   } | j                   ||             }t        j                  ddg|j                        }t        j                  ||       y )Nr   r"   rA   )rJ   r   rG   r   rB   ro   rp   )r  r  rh   rW   re   s        r   ,test_searchsorted_datetimelike_with_listliker    sL    .   v/FxxAfll3H1r   argrn  ro  zEurope/London)r\   c                    d}t        j                  t        |      5  | j                  |       d d d        y # 1 sw Y   y xY w)Nz [Unexpected type|Cannot compare]rP   )rR   rS   r   r   )r  r  r   s      r   :test_searchsorted_datetimelike_with_listlike_invalid_dtyper  	  s:     -C	y	, !C ! ! !r   c                    ddgdz  } | |      }t        |d      }t        |D cg c]  }t        |       c}      }t        j                  ||       y c c}w )Nr]   2020Q2rw   r^   rF   )r   r
   ro   r   )r  stringsrL   rW   sre   s         r   +test_period_index_construction_from_stringsr    sV     "Q&G>DC(Fw7!F1I78H&(+ 8s   ArB   r"  r  c                   t        j                  g d|       }t        |      }t        t        d|    }|j
                   d}t        j                  t        |      5   ||      } ||      }d d d        t        j                         |j                  ||       }|j                  ||       }t        j                  ||       t        j                  t        j                  d|    } ||      j                  } ||      j                  }t        j                  ||       t        t         d|    } ||      } ||      }t        j"                  ||       y # 1 sw Y   xY w)Nr  rA   )r"  r  z.__init__ is deprecatedrP   )rG   r   r   r   r   r   ro   rQ  r,   r  r   r-   rl  to_timedeltar   r	   r   r   )	rB   rL   rM   clsdepr_msgrW   re   funcidx_clss	            r   test_from_pandas_arrayr  %  s5    88IU+D
d
#C"n
=e
DC,,67H		#	#M	B St9 ##FH551F!!$e!4H##FH5nn@GD#Y__FDzHOOFH% '.A%HGS\Ft}H&(+% s   EE()@
__future__r   r   r)   numpyrG   rR   pandas._libsr   r   r   pandas._libs.tslibs.dtypesr   pandas.compat.numpyr   pandasr-   r	   r
   r   r   pandas._testing_testingro   pandas.core.arraysr   r   r   r   r  r   r0   r4   r:   r<   r!  r  r  r+   r  r  rJ   r_  r2   r  r.   r  r   r  r   r  r  rl  r  r   r   r   rb   rk   r  r  tupler  r  r9   r   r   <module>r     s   " 	    
 > .     89 :
  & 
 
 7 7H: H:Ve6 e6P	wA wAt WXRSO6k O6 T YO6d  67==."..-.	

 BMM,<BB-"--t,-	
 
qs	;	A	AC6J
 	#  ''  67==R]]5$'4	

 BMM,<BBR^^E4(#**5	

 BOOL!#>DDR]]5$'t)DcjjQ	
 	#!  $%$ 	fa(..61-33##, dE]3l34AS)\<0s; 


		


2 4*2 l34AS)\<0s; 	QFS#J<O!L MPQ QR!! 4"))"DE, F, 8X"67, 8,r   