
    Nqh                    >	   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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j6                  g d      d	        Zej6                  d
        Zej6                  d        Zej6                  d        Z G d d      Z  G d de       Z! G d de       Z"ejF                  jI                  d      ejF                  jI                  d       G d de                     Z%ejF                  jM                  d eg d      jN                  e ejP                  dd      ff ejR                  ddd      jN                  e ejT                  dd      ff ejV                  ddd      jN                  effgd        d!        Z,ejF                  jM                  d" eg d      jN                   ejT                  dd      ejZ                  ff ejR                  ddd      jN                   ejP                  dd      ejZ                  ff ejV                  ddd      jN                   ejT                  dd       ejP                  dd      ejZ                  ffgd#        d$        Z.ejF                  jM                  d% ejR                  d&d'(      j^                   ej`                  d&d'(      j^                  g      d)        Z1ejF                  jM                  d*d+d,g      ejF                  jM                  d- ejd                  d.d/g       ejf                  d0d1gd2       ed.d/gd3      g      ejF                  jM                  d4e4ej^                  ej^                  ejj                  ejl                  ejn                  ejp                  g      d5                      Z9ejF                  jM                  d- ejd                  d.d/g       ejf                  d0d1gd2       ed.d/gd3      g      ejF                  jM                  d6d0d1gd7d8g e
d.d9:      gd1z  g      d;               Z:ejF                  jM                  d4e4e;ej^                  ejj                  g      d<        Z<ejF                  jM                  d=d>d?g      d@        Z=y)A    )annotationsN)NaTOutOfBoundsDatetime	Timestamp)freq_to_period_freqstr)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    f/srv/www/ollama/chat-ollama/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_indexr/   '   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_indexr3   ;   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_indexr9   I   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.arr1dX   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)rJ   rM   rL   idxs       r   test_compare_len1_raisesz$SharedTests.test_compare_len1_raisesb   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)rJ   rV   expecteds      r   test_compare_with_Categoricalz)SharedTests.test_compare_with_Categoricalo   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)orderedr@   )	r,   ra   CategoricalIndexrF   onesshapebooltmassert_numpy_array_equal)rJ   rM   rg   rf   ri   otherleftrightrk   zerosrV   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?   r@   rB   rC   rD      	period[D])r!      ^   )rF   rG   randomdefault_rngshufflerH   r   r<   rI   _simple_newtakern   assert_index_equalarray)rJ   rK   rL   rT   takersrV   rd   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_valuerv   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'. GotrO   r   r!   T
allow_fillr   )_scalar_type__name__rQ   rR   	TypeErrorr~   )rJ   r   rM   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   rF   nan)rJ   rM   rL   rV   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   rO   foo)	r~   strrn   assert_equalr   r   rQ   rR   r   rJ   rM   rV   rd   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objectrF   concatenatern   r   )rJ   rM   rL   rT   rV   arr2rd   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 .rO   r   )_unbox_scalar_ndarrayrA   type
isinstancer   scalar_typer   rQ   rR   rS   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   rJ   rM   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   )rJ   rM   rV   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'rO   znot a method)rQ   rR   r   _reduce)rJ   rM   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?   r@   rB   rC   rD   rw   rx   r   rX      )r   )rF   rG   rH   r   _from_sequencer   _pad_or_backfill)rJ   r   rK   rL   r   rV   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?   r@   rB   rC   rD   rw   r!   rv   rr   siderX   )rF   rG   rH   r   r   searchsortedr   intprn   ro   r   )rJ   rK   rL   rV   rd   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!   rv   rr   r   rX   r@   r   z/', 'NaT', or array of those. Got 'str' instead.rO   r   string_storagez6', 'NaT', or array of those. Got string array instead.baz)r<   r,   Seriesr   r   rF   r   r   rn   ro   rQ   rR   r   reescaper   r   option_context)rJ   rM   r   r   rL   rV   xrd   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?   r@   z
period[ns]nsrE   r   )rF   asarrayranger   _valuerH   r   r<   rI   r,   Indexr   )rJ   ni8valsrL   r   sers         r   'test_getitem_near_implementation_boundsz3SharedTests.test_getitem_near_implementation_boundsR  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 )Nr@   rX   r   )r   r   r   )r   r}   r   rF   newaxisrA   rn   r   )rJ   rM   rd   rV   arr2ds        r   test_getitem_2dzSharedTests.test_getitem_2db  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 )NrX   r@   r!   )
r   rF   r   r   r}   rA   listlenr   ndim)rJ   rM   data2dr   rV   r   s         r   test_iter_2dzSharedTests.test_iter_2du  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 )
NrX   r@   <z>
[
['r   z'],
['r!   rv   z']
]
Shape: (3, 1), dtype: )r   rF   r   r   r}   rA   reprr   r   r   
_repr_base)rJ   rM   r   r   rV   rd   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?   r@   rB   rC   rD   rw   r   rE   r!   r   rv   )	rF   rG   rH   r   r<   rI   rn   ro   asi8rJ   rK   rL   rd   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Mr@   )copyrA   kind
_with_freqr   rF   r   r   r   r   r   rn   r   )rJ   r   rM   rd   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!   rv   r   )r   r   rn   r   )rJ   rM   rd   rV   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,   ra   rj   rn   r   )rJ   rM   rg   rd   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 boundsrO   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 thanrX   )rQ   rR   
IndexErrorr   r   rS   )rJ   rM   rL   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. GotrO   r   r!   rv   g        g      ?)r   r   rQ   rR   r   )rJ   rM   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?   r@   rB   rC   rD   rw   r   rE   r!   days)
rF   rG   rH   r   r<   rI   r,   	Timedeltarn   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 arO   r!   )r   )rQ   rR   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 )
Nrv   r   r   r!   F)skipna)axis)r
  r	  r@   )r   medianr   r   r   r	   meanreshaper   rA   rn   r   )rJ   rM   rL   rd   rV   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!   rv   rX   r@   Int64)
rF   r   int64r,   rH   r   example_dtyper   rn   assert_extension_array_equal)rJ   rL   rK   rd   rV   s        r   test_from_integer_arrayz#SharedTests.test_from_integer_arrayS  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__rQ   fixturerM   rU   markparametrizer,   r1   timedelta_ranger-   re   rt   r   r   timer   r   r*   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rF   r   r   r   r   r   r   r   r   r  r  r  r  r8   r   r   r;   r;   U   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,   r1   rI   )rJ   tz_naive_fixturer   r[   r2   dtas         r   rM   zTestDatetimeArray.arr1df  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2minrE   r!   )minutes)	r<   roundr,   r  r   rn   r   rI   assert_datetime_array_equal)rJ   rM   r2   rV   rd   r$  s         r   
test_roundzTestDatetimeArray.test_roundq  s    nnU#'a00&&t,
fh/ii'>>,,T2
&&vx8r   c                   |j                   }t        j                  |      }|j                  }||u sJ t	        j
                  ||       t        j                  |d      }||u sJ t	        j
                  ||       t        j                  |d      }|j                  }||u sJ t	        j
                  ||       t        j                  |dd      }||u sJ t	        j
                  ||       t        j                  |d      }||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]r@   rA   r   r  float64rI   rF   r   r   rn   ro   r   r   r   r   may_share_memoryr   r   r   )rJ   r3   rL   rV   rd   rA   s         r   test_array_interfacez&TestDatetimeArray.test_array_interface  s   "" C<<!!!
##FH5#E*!!!
##FH5 C'78<<!!!
##FH5#%5EB!!!
##FH5#%56X%%%
##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 Nr@   )r<   rF   r   r   r   rn   ro   rJ   rM   rL   r2   rd   rV   s         r   test_array_object_dtypez)TestDatetimeArray.test_array_object_dtype  si    nnU#88DI&#V,
##FH5 #V,
##FH5r   c                   |}| j                  |      }|j                  j                  d      }t        j                  |d      }t        j                  ||       t        j                  |d      }t        j                  ||       t        j                  |dd      }|j                  |j                  u sJ |j                  J t        j                  |dd      }|j                  |j                  u sJ |j                  J y )Nr!  r@   r-  Fr.  )r<   r   viewrF   r   rn   ro   baser5  s         r   test_array_tzzTestDatetimeArray.test_array_tz  s    nnU#88==*#X.
##FH5#%56
##FH5 #XE:{{hmm+++{{&&&#%5EB{{hmm+++{{&&&r   c                   |}| j                  |      }|j                  }t        j                  |d      }t	        j
                  ||       t        j                  |t        j                        }t	        j
                  ||       t        j                  |dd      }|j                  |j                  usJ |j                  J y )Nr?   r@   Fr.  )r<   r   rF   r   rn   ro   r  r9  r5  s         r   test_array_i8_dtypez%TestDatetimeArray.test_array_i8_dtype  s    nnU#88#T*
##FH5#RXX.
##FH5 #T6{{(--///{{"""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!  r@   r   )rF   r   r   r   r   r9  )rJ   rL   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 r`   )r<   r   r,   r   r   r   )rJ   rM   rL   r2   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   rF   ndarrayrA   r   )rJ   rM   rL   r2   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!   rE   )rI   r   	to_periodr   r   rn   r   )rJ   r3   r   r2   rL   rd   rV   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[   UserWarningrn   assert_produces_warningrK  assert_period_array_equal)rJ   rM   r   warnrV   rd   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 r4  )r<   r'   getattrrF   r   rA   rn   ro   rJ   rM   rS  r2   rL   rV   rd   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 r4  )r<   rU  rF   r   rA   rn   ro   rV  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   rO   2014Q1z
US/Easternz:Cannot compare tz-naive and tz-aware datetime-like objectsr   r   zAustralia/Melbourne)r<   tz_localizer[   r~   r   r   rQ   rR   r   r	   r   r   rF   timedelta64
tz_convertrA   rn   r   )rJ   rM   fixed_now_tsrL   r2   nowrV   r   r[   valuerd   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)NrZ   zto_concat must have the samerO   )r[   r\  rQ   rR   rS   r   )rJ   rM   rL   rp   s       r   test_concat_same_type_invalidz/TestDatetimeArray.test_concat_same_type_invalidR  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2000rv   r   z
US/Central)r&   r'   r[   unith)2000-01-01 00:00:00z2000-01-02 00:00:00ri  z2000-01-01 01:00:00)
r,   r1   rI   r   r   to_datetimer\  as_unitrn   r)  )rJ   rg  abrV   rd   s         r   $test_concat_same_type_different_freqz6TestDatetimeArray.test_concat_same_type_different_freq^  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 %br@   strftimerF   r   r   rn   ro   )rJ   rM   rL   rV   tsrd   s         r   test_strftimezTestDatetimeArray.test_strftimes  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-%dr@   )
r   r   rI   rq  rF   r   r   r   rn   ro   rJ   rL   rV   rd   s       r   test_strftime_natz#TestDatetimeArray.test_strftime_natz  sN    \3/066j)88\2662&A
##FH5r   N)#r   r  r  r   r<   r   rH   r   r   r  rQ   r  rM   r*  r2  r6  r:  r<  r>  rA  rH  r  r*   rL  rR  r  	_bool_opsrW  
_field_opsrY  rb  rd  rn  rs  ry  r8   r   r   r   r   `  s    IIKM^^ 9(:T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 )Nr6   r7   )r   rI   r   r,   r   r   )rJ   tdirL   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 )Nr6   r7   rD  )r   rI   r   r   rF   rF  rA   r   )rJ   r  rL   rG  s       r   rH  z%TestTimedeltaArray.test_astype_object  sc    gy12ii

3%,,,{{c!!!E{d3i'''r   c                    |}|j                   }|j                         }|j                         }t        j                  ||       y r`   )rI   to_pytimedeltarn   ro   rJ   r9   r  rL   rd   rV   s         r   test_to_pytimedeltaz&TestTimedeltaArray.test_to_pytimedelta  s<    ii%%'##%
##FH5r   c                    |}|j                   }|j                         }|j                         }t        j                  ||j                         y r`   )rI   total_secondsrn   ro   valuesr  s         r   test_total_secondsz%TestTimedeltaArray.test_total_seconds  s@    ii$$&""$
##FHOO<r   rS  c                    |}|j                   }t        ||      }t        j                  t        ||      |j                        }t        j                  ||       y r4  )rI   rU  rF   r   rA   rn   ro   )rJ   r9   rS  r  rL   rV   rd   s          r   rY  z&TestTimedeltaArray.test_int_properties  sG    iih'88GC2&,,G
##FH5r   c                   |j                   }t        j                  |      }|j                  }||u sJ t	        j
                  ||       t        j                  |d      }||u sJ t	        j
                  ||       t        j                  |d      }|j                  }||u sJ t	        j
                  ||       t        j                  |dd      }||u sJ t	        j
                  ||       t        j                  |d      }||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]r@   r.  r  r/  r0  )rJ   r9   rL   rV   rd   rA   s         r   r2  z'TestTimedeltaArray.test_array_interface  s   ## C<<!!!
##FH5#E*!!!
##FH5 C'89<<!!!
##FH5#%6UC!!!
##FH5#%67X%%%
##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   rO   r   r   r   )rI   r,   r  r~   r   r   rQ   rR   r   rK  rF   
datetime64)	rJ   r9   r_  r  rL   td1rV   ra  r   s	            r   rb  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   rH   r,   r  r   r  r  rH  r  r  rQ   r  r  r{  rY  r2  rb  r8   r   r   r}  r}    sf    II,,KM'(6= [[Z)B)BC6 D6(:TAr   r}  r   rI  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   rE   c                    |j                   S )zW
        Fixture returning DatetimeArray from parametrized PeriodIndex objects
        )rI   )rJ   r/   s     r   rM   zTestPeriodArray.arr1d  s    
 !!!r   c                    | j                  |      }|}t        |      t        |      k(  sJ t        j                  |      }t	        |t
              sJ t        |      t        |      k(  sJ y r`   )r<   r   r,   r   r   r
   )rJ   rM   r.   rL   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 rC  rE  )rJ   rM   r.   rL   rG  s        r   rH  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   rO   r   r!   Tr   r   r   )
r   r   r   r   rQ   rR   r   r~   rF   r]  )rJ   rM   rL   ra  r   s        r   rb  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_timestamprI   r   r   rn   r   )rJ   r  rM   r.   rL   rd   rV   s          r   test_to_timestampz!TestPeriodArray.test_to_timestamp)  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-18rX   r   r^   rv   2B)r,   r1   rI   rK  r  r'   rn   r  )	rJ   r$  parrrV   dta2parr2result2parr3result3s	            r    test_to_timestamp_roundtrip_bdayz0TestPeriodArray.test_to_timestamp_roundtrip_bday4  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YrX   )r'   r&   z7Out of bounds nanosecond timestamp: 1500-01-01 00:00:00rO   )r,   r-   rQ   rR   r   r  rI   )rJ   r.   r   s      r   test_to_timestamp_out_of_boundsz/TestPeriodArray.test_to_timestamp_out_of_boundsG  s    __V#q9G]].c: 	OO	 ]].c: 	$HH!!#	$ 	$	 		$ 	$s   B*BBB#rS  c                    | j                  |      }|}t        ||      }t        j                  t        ||            }t	        j
                  ||       y r`   r<   rU  rF   r   rn   ro   rJ   rM   rS  r.   rL   rV   rd   s          r   rW  z$TestPeriodArray.test_bool_propertiesQ  sH     ^^E"h'88GB12
##FH5r   c                    | j                  |      }|}t        ||      }t        j                  t        ||            }t	        j
                  ||       y r`   r  r  s          r   rY  z#TestPeriodArray.test_int_properties\  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)Nr@   r  zEfloat\(\) argument must be a string or a( real)? number, not 'Period'rO   r/  S20)rF   r   r   r   r   rn   ro   r   rQ   rR   r   r   )rJ   rM   rL   rV   rd   r   s         r   r2  z$TestPeriodArray.test_array_interfacef  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%Yr@   rp  )rJ   rM   rL   rV   perrd   s         r   rs  zTestPeriodArray.test_strftime~  sO    d#883?CS\\$/?vN
##FH5 @rt  c                    t        t        dt        gd            }|j                  d      }t	        j
                  dt        j                  gt              }t        j                  ||       y )Nrv  rw   r@   rw  )
r   r
   r   rq  rF   r   r   r   rn   ro   rx  s       r   ry  z!TestPeriodArray.test_strftime_nat  sO    +|S&9MNj)88\2662&A
##FH5r   N)r   r  r  r
   r<   r   rH   r	   r   rA   r  rQ   r  rM   r  rH  rb  r  r  r  r  r  rz  rW  r{  rY  r2  rs  ry  r8   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_natsr5   r   r   r"   rX   r   r^   c                ,    t        |       j                  S r`   r   r   r   s    r   <lambda>r        $q'"" r   )idsc                    t        |       j                  t        | d   | d   g| j                        }|D ]-  }| j	                         } || d<   t        j                  | |       / y )Nr!   rv   r@   r   )r   r   r   rA   r   rn   r   )rL   casting_natsrd   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 r`   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.rO   r   )rQ   rR   r   )rL   non_casting_natsr   r  s       r   test_invalid_nat_setitem_arrayr    sN    (	6 
   ]]9C0 	CF	 		 	s   4=	rL   rf  rx   rY   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  r@   l         )rA   na_valuer!   )r  Fr,  )r   r   to_numpyrF   isnanrn   r   )rL   originalrV   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   rg   TFr  z
2020-01-01z
2020-02-01r!   rv   )rg  rE   klassc                    |s| j                   } | j                   ||             }t        j                  ddg|j                        }t        j                  ||       y )Nr   r!   r@   )rI   r   rF   r   rA   rn   ro   )r  r  rg   rV   rd   s        r   ,test_searchsorted_datetimelike_with_listliker    sL    .   v/FxxAfll3H1r   argrl  rm  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]rO   )rQ   rR   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\   2020Q2rv   r]   rE   )r
   r	   rn   r   )r  stringsrK   rV   srd   s         r   +test_period_index_construction_from_stringsr    sV     "Q&G>DC(Fw7!F1I78H&(+ 8s   ArA   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  r@   )r!  r~  z.__init__ is deprecatedrO   )rF   r   r   r   r   r   rn   rO  r+   r  r   r,   rj  to_timedeltar   r   r   r   )	rA   rK   rL   clsdepr_msgrV   rd   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(   numpyrF   rQ   pandas._libsr   r   r   pandas._libs.tslibs.dtypesr   pandasr,   r   r	   r
   r   pandas._testing_testingrn   pandas.core.arraysr   r   r   r   r  r   r/   r3   r9   r;   r   r}  r  r*   r  r  rI   r]  r1   r  r-   r  r   r  r   r  r  rj  r  r   r   r   ra   rj   r  r  tupler  r  r8   r   r   <module>r     s   " 	    
 >     89 :
  & 
 
 7 7H: H:V`6 `6F	tA tAn 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   