o
    dF                     @  s   d dl mZ d dlmZ d dlZd dlZd dlZd dlmZ d dl	m
Z
mZ d dlmZ d dlZd dlmZmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZ G d	d
 d
ZG dd deZ dS )    )annotations)datetimeN)	Timestamp)is_datetime64tz_dtypeis_integer_dtype)CategoricalDtype)
CategoricalIndexDatetimeIndexIndexIntervalIndex
MultiIndexPeriodIndex
RangeIndexSeriesTimedeltaIndexisna)BaseMaskedArrayc                   @  s  e Zd ZU dZded< ejdd Zdqdd	Zd
d Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Zd4d5 Zd6d7 Zd8d9 Z d:d; Z!d<d= Z"d>d? Z#ej$%d@dAdB dCdB gdDdE Z&dFdG Z'ej$%dHdIdJgej$%dKdLdMgej$%dNdIdJgdOdP Z(dQdR Z)ej$j*dSdT Z+dUdV Z,dWdX Z-dYdZ Z.d[d\ Z/d]d^ Z0d_d` Z1dadb Z2dcdd Z3dedf Z4dgdh Z5didj Z6dkdl Z7dmdn Z8dodp Z9dLS )rBasez/
    Base class for index sub-class tests.
    ztype[Index]
_index_clsc                 C     t dNzMethod not implementedNotImplementedErrorself r   `/var/www/html/visualizacion-main/env/lib/python3.10/site-packages/pandas/tests/indexes/common.pysimple_index)   s   zBase.simple_indexreturnr
   c                 C  r   r   r   r   r   r   r   create_index-   s   zBase.create_indexc                 C  sJ   d g d}tjt|d |   W d    d S 1 sw   Y  d S )N|)zNIndex\(\.\.\.\) must be called with a collection of some kind, None was passedzPDatetimeIndex\(\) must be called with a collection of some kind, None was passedzQTimedeltaIndex\(\) must be called with a collection of some kind, None was passedz:__new__\(\) missing 1 required positional argument: 'data'z2__new__\(\) takes at least 2 arguments \(1 given\)match)joinpytestraises	TypeErrorr   )r   msgr   r   r   test_pickle_compat_construction0   s   
"z$Base.test_pickle_compat_constructionc                 C  s   |}dt |j }tjt|d |d W d    n1 s!w   Y  tjt|d |dd W d    d S 1 s?w   Y  d S )Nz\This method is only implemented for DatetimeIndex, PeriodIndex and TimedeltaIndex; Got type r!         )type__name__r$   r%   r   shiftr   r   idxr'   r   r   r   
test_shiftA   s   "zBase.test_shiftc                 C  sH   |}t jtdd t||g d W d    d S 1 sw   Y  d S )Nz"Index.name must be a hashable typer!   name)r$   r%   r&   r+   r   r   r/   r   r   r    test_constructor_name_unhashableM   s   "z%Base.test_constructor_name_unhashablec                 C  s   |}t |ts%d|_t|}t|| t|dd}d|_t|| d S ddg|_t|}t|ttg dddddgd t|dd	gd}t|ttg ddddd	gd d S )
Nfoobarr1   ))r5   one)r5   two)r6   r7   )bazr8   )quxr7   )r:   r8   objectdtype)namesAB)
isinstancer   r2   r
   tmassert_index_equalr>   )r   r   expectedresultr   r   r   test_create_index_existing_nameT   s>   

z$Base.test_create_index_existing_namec           	      C  s  |}t |tr	J t|tu rd S t|jj}t|j}dd| dd| d| dg}tjt	|d |d  W d    n1 sDw   Y  dd| d	d
| d| dg}tjt	|d d|  W d    n1 sqw   Y  |
dd}tjt	|d |d  W d    n1 sw   Y  |
dd}tjt	|d d|  W d    n1 sw   Y  |
dd}tjt	|d |d  W d    n1 sw   Y  |
dd}tjt	|d d|  W d    d S 1 sw   Y  d S )Nr    z'unsupported operand type\(s\) for \*: 'z' and 'int'zIcannot perform (__mul__|__truediv__|__floordiv__) with this index type: ()r!   r)   z1unsupported operand type\(s\) for \*: 'int' and ''zLcannot perform (__rmul__|__rtruediv__|__rfloordiv__) with this index type: (*/z//)rA   r   r+   r
   _datar,   r#   r$   r%   r&   replace)	r   r   r/   typclslmsgrmsgdiv_errfloordiv_errr   r   r   test_numeric_compat   s\   








"zBase.test_numeric_compatc                 C  sv   |}t jtdd |  W d    n1 sw   Y  t jtdd |  W d    d S 1 s4w   Y  d S )Nzcannot perform allr!   zcannot perform any)r$   r%   r&   allanyr3   r   r   r   test_logical_compat   s   

"zBase.test_logical_compatc                 C  s   |}t tt|| d S N)rB   rC   evalreprr3   r   r   r   test_repr_roundtrip   s   zBase.test_repr_roundtripc                 C  sX   |}| d}tdd  t| dt|vsJ W d    d S 1 s%w   Y  d S )N2   zdisplay.max_seq_itemsz...)repeatpdoption_contextrY   strr3   r   r   r   test_repr_max_seq_item_setting   s   
"z#Base.test_repr_max_seq_item_settingc                 C  s:  i }t |tr|j|d< nt |tttfrd S |jtkr&|jdkr&|j|d< t	|}||j
fddi|}t|jrC|d|j}t |ttfrO|d }t|| t |trq|d|jdd|}tj|j|jd	d
 d S t |trxd S t	|tu rt |jtjs||j
fddi|}t|| t |jtrt|jj|jjsJ tj|jj|jjd	d
 t|jj|jjsJ tj|jj|jjd	d
 d S |jdkrt|jj|jjsJ tj|jj|jjd	d
 d S |jdkrt|j|jsJ d S t|j||j
fddi|}tj|j
|j
d	d
 d S )Nfreqbooleanr=   copyTUTCF)ordinalrc   same)
check_samezstring[python]zstring[pyarrow]r   ) rA   r   ra   r   r   r   r=   r;   inferred_typer+   valuesr   tz_localize
tz_converttzr	   r   
_with_freqrB   rC   asi8assert_numpy_array_equalr   r
   np_valuesr   shares_memoryrK   _mask_ndarrayr   )r   indexinit_kwargs
index_typerE   r   r   r   test_ensure_copied_data   sR   









zBase.test_ensure_copied_datac                 C  s   |j   | }|jr|dksJ d S ||d  | }|jdd}t|ttfs?t|t	u r9t|j
tj
r?||ks?J |jdkrJ||ksLJ d S d S )Nr   Tdeepr;   )_engineclear_mappingmemory_usageemptyget_locrA   r   r   r+   r
   r=   rp   rh   )r   ru   rE   result2result3r   r   r   test_memory_usage   s$   


zBase.test_memory_usagec                 C  s8   t |trd S | }t| }tj||dd d S )NF)check_dtype)rA   r   argsortrp   arrayrB   ro   )r   ru   rE   rD   r   r   r   test_argsort  s
   
zBase.test_argsortc                 C  s   t |}| }t|| t j|dd}|jdd}t|| t|ttfrld}tjt	|d t j|dd W d    n1 sDw   Y  d}tjt	|d t j|dd	 W d    d S 1 sew   Y  d S d S )
N	mergesort)kind%the 'axis' parameter is not supportedr!   r)   axisz&the 'order' parameter is not supported)ab)order)
rp   r   rB   ro   rA   r   r   r$   r%   
ValueError)r   ru   rE   rD   r'   r   r   r   test_numpy_argsort  s    
	"zBase.test_numpy_argsortc                 C  sx   d}|  }|j}||j||jd}t||| |}tt	|}||j||jd}t||| d S )Nr*   r1   )
rc   _constructorri   r\   r2   rB   rC   rp   arangelen)r   r   repr/   new_index_clsrD   r   r   r   test_repeat8  s   zBase.test_repeatc                 C  sn   d}|}| |}tt ||| d}tjt|d tj ||dd W d    d S 1 s0w   Y  d S )Nr*   r   r!   r   r   )r\   rB   rC   rp   r$   r%   r   )r   r   r   r/   rD   r'   r   r   r   test_numpy_repeatD  s   
"zBase.test_numpy_repeatc                 C  s   |}|}t |ttfr|d }dgt| }|||}|}t|| dgdgt|dd    }t|j	g|dd  
  |jd}|||}t|| d S )NTFr)   r<   )rA   r	   r   rm   r   whererB   rC   r
   	_na_valuetolistr=   )r   listlike_boxr   klassr/   condrE   rD   r   r   r   
test_whereN  s   
"zBase.test_wherec                 C  s>   |dd }t |sd S |dd |d|d sJ d S )Nr)      r   )r   equalsinsert)r   ru   rE   r   r   r   test_insert_base`  s   &zBase.test_insert_basec                 C  s   t |dkr	t}nt}t |dkrd}nd}tj||d |dd W d    n1 s.w   Y  ddd	g}tjt|d |t |d
 d
 W d    n1 sVw   Y  tjt|d |t | d
 d
 W d    d S 1 syw   Y  d S )Nr   z5index (0|0.5) is out of bounds for axis 0 with size 0zBslice indices must be integers or None or have an __index__ methodr!   g      ?r5   r    z5index -?\d+ is out of bounds for axis 0 with size \d+zloc must be an integer betweenr)   )r   r&   
IndexErrorr$   r%   r   r#   )r   ru   errr'   r   r   r   test_insert_out_of_boundsi  s(   "zBase.test_insert_out_of_boundsc                 C  s   t |sd S t|trd S |dd  }|d}||sJ |j|jks'J |d d }|d}||s9J |j|jksAJ t |}d| d| }tjt|d || W d    d S 1 sew   Y  d S )Nr)   r   zindex z' is out of bounds for axis 0 with size r!   )	r   rA   r   deleter   r2   r$   r%   r   )r   ru   rD   rE   lengthr'   r   r   r   test_delete_base  s"   


"zBase.test_delete_basec                 C  s   t |trd S t|tu ot |jtj }||sJ || s%J |s1||t	s1J |t
|r:J |t|rDJ t |ts_|s_t|t	d}||sXJ ||s_J |jdkrm|t|roJ d S d S )Nr<   r)   )rA   r   r+   r
   r=   rp   r   rc   astyper;   listr   r   nlevelsr   )r   ru   	is_ea_idxsame_valuesr   r   r   test_equals  s"   

zBase.test_equalsc                 C  sX  |}t |}|dd }|dd |dd }|dd }d}tjt|d ||k W d    n1 s7w   Y  tdg| }tdg|d  dg }	t||k| t||k|	 t|}
t|dd }t|dd |dd }t|dd }tjt|d ||k W d    n1 sw   Y  t||
k| t||k|	 t	|
}t	|}t	|}t	|}tjt|d ||k W d    n1 sw   Y  t||k| t||k|	 tjtd	d ||k W d    n	1 sw   Y  tjtd	d ||k W d    n	1 s!w   Y  tjtd	d ||k W d    n	1 s=w   Y  d
}tjt|d ||k W d    n	1 s[w   Y  tjtd	d ||k W d    n	1 sww   Y  t
|tstdgt |d  ddg }|d }t||k| t||kt	| d S d S )Nr   r   r)   z)Lengths must match|could not be broadcastr!   TFzLengths must matchz3Can only compare identically-labeled Series objectsr*   )r   appendr$   r%   r   rp   r   rB   ro   r   rA   r   assert_series_equal)r   r   index_anindex_bindex_cindex_dr'   	expected1	expected2array_aarray_barray_carray_dseries_aseries_bseries_cseries_d	expected3itemr   r   r   test_equals_op  sj   

 






 zBase.test_equals_opc                 C  s&   |}dd |D }|  |ksJ d S )Nc                 S     g | ]}t |qS r   r_   .0xr   r   r   
<listcomp>      z$Base.test_format.<locals>.<listcomp>)formatr   r   r/   rD   r   r   r   test_format  s   zBase.test_formatc                 C  s4   |  g }| g ksJ |jdddgksJ d S )NTr1    )r   r   )r   	empty_idxr   r   r   test_format_empty  s   
zBase.test_format_emptyc                 C  s  t |dkrd S |jtkrd S t|trt|jrd S t|trI|jdd}d}tj	t
|d ||d  W d    d S 1 sBw   Y  d S |jdd}||d }t|| ||usbJ d}tj	t|d ||d g W d    n1 s~w   Y  |jdd}|j}tj|d< t||}d}tj	t
|d |j|d d	d
 W d    n1 sw   Y  tjdgt | td}d|d< t|j| |jdu sJ d S )Nr   Try   "isna is not defined for MultiIndexr!   z"'value' must be a scalar, passed: r)   zdoes not support 'downcast'infer)downcastFr<   )r   r=   boolrA   r
   r   r   rc   r$   r%   r   fillnarB   rC   r&   rq   rp   nanr+   r   ro   _isnanhasnans)r   ru   r/   r'   rE   ri   rD   r   r   r   test_fillna   s@   

"
zBase.test_fillnac                 C  s   t |dkrt| tjg td d S t|tr>|	 }d}t
jt|d |  W d    d S 1 s7w   Y  d S |jsat| tjt |td t| tjt |td d S t|}t| | t| |  d S )Nr   r<   r   r!   )r   rB   ro   r   rp   r   r   rA   r   rc   r$   r%   r   r   zerosnotnaones)r   ru   r/   r'   rE   r   r   r   
test_nulls)  s   

""zBase.test_nullsc                 C  s$   |}|j rJ |d d j sJ d S Nr   )r~   r3   r   r   r   
test_empty;  s   
zBase.test_emptyc                 C  s0   |}|j r|j||d}||k sJ d S d S )N)how)	is_uniquer#   rT   )r   	join_typer   r/   joinedr   r   r   test_join_self_uniqueA  s   zBase.test_join_self_uniquec                 C  s&   |}| dd }tj||dd d S )Nc                 S  s   | S rW   r   )r   r   r   r   <lambda>K  s    zBase.test_map.<locals>.<lambda>equivexact)maprB   rC   )r   r   r/   rE   r   r   r   test_mapG  s   zBase.test_mapmapperc                 C  s   dd t | |D S )Nc                 S  s   i | ]\}}||qS r   r   )r   eir   r   r   
<dictcomp>R  s    z!Base.<lambda>.<locals>.<dictcomp>)zipri   ru   r   r   r   r   R  r   zBase.<lambda>c                 C  s
   t | |S rW   )r   r   r   r   r   r   S  s   
 c                 C  s   |}t |trtdt|  ||j|}||}tj||dd d }|j	j
dkr/|j	}ttjgt| |d}||||}t|| d S )Nzskipping tests for r   r   fr<   )rA   r   r$   skipr+   ri   r   rB   rC   r=   r   r
   rp   r   r   )r   r   r   r/   identityrE   r=   rD   r   r   r   test_map_dictlikeO  s   

zBase.test_map_dictlikec                 C  s4   |}| t}tdd |D td}t|| d S )Nc                 S  r   r   r   r   r   r   r   r   r  r   z%Base.test_map_str.<locals>.<listcomp>r<   )r   r_   r
   r;   rB   rC   )r   r   r/   rE   rD   r   r   r   test_map_strn  s   
zBase.test_map_strrc   TFr2   Nr5   orderedc           	      C  s   |}|r	| |}t|d}|j||d}t|||d}tj||dd t|  d d |}|j||d}t|||d}tj||dd |du rb|jd	|d}t||d
}tj||dd d S d S )N)r   )rc   )r2   r   Tr   r   )r2   r=   Fcategoryr1   )renamer   r   r   rB   rC   uniquer   )	r   rc   r2   r   r   r/   r=   rE   rD   r   r   r   test_astype_categoryu  s    

zBase.test_astype_categoryc                 C  s   |  }|jdu sJ |d d }|jdu sJ |d|d }|jdu s'J |dtj}|jdu s5J |dtj}|jdu sCJ d S )NTr   F)drop_duplicatesr   r   rp   r   )r   r   ru   index_empty	index_dupindex_naindex_na_dupr   r   r   test_is_unique  s   zBase.test_is_uniquec                 C  s2   |}t t|}|j t t||ksJ d S rW   )r   gcget_referrersr{   )r   r   ru   	nrefs_prer   r   r   test_engine_reference_cycle  s   z Base.test_engine_reference_cyclec                 C  s8  |}d}t jt|d |d d d f  W d    n1 sw   Y  t|tsat jt|d |d  W d    n1 s>w   Y  t jt|d |d  W d    d S 1 sZw   Y  d S d}t jt|d |d  W d    n1 syw   Y  t jt|d |d  W d    d S 1 sw   Y  d S )NzMulti-dimensional indexingr!   TFzonly integers, slices)r$   r%   r   rA   r   r   r.   r   r   r   test_getitem_2d_deprecated  s&   


"

"zBase.test_getitem_2d_deprecatedc                 C  s.   |}| |d  | }|j|ju sJ d S r   )r   rc   _cache)r   r   r/   rc   r   r   r   test_copy_shares_cache  s   zBase.test_copy_shares_cachec                 C  sX   |}| |d  | }|j|ju sJ ||j}|j|jus#J |ji ks*J d S r   )r   _viewr  _shallow_copyrK   )r   r   r/   shallow_copyr   r   r   test_shallow_copy_shares_cache  s   z#Base.test_shallow_copy_shares_cachec              	   C  s   |d d }t ddt jddg}t|||ddg |ddg d ttdd	dtdd
dtj	tdd
dtdd	dgddj
}tdtdg}|d |ddg |d |ddg i}t||| d S )N   r)   r*   r   r      )g      ?g       @i        rd   )rl   z
2011-11-01z
2011-12-01)rp   r   r   rB   assert_dict_equalgroupbyr	   r   r]   NaTri   r   )r   r   r/   
to_groupbyex_keysrD   r   r   r   test_index_groupby  s&    



	$zBase.test_index_groupbyc                 C  s   |}t |}||}|j|jksJ tj|d | |dd tj||d  |dd |tt|d }tj||dd d S )NT)check_exactr*   )r   r   r=   rB   rC   taker   range)r   r   ru   NrE   altr   r   r   test_append_preserves_dtype  s   
z Base.test_append_preserves_dtypec                 C  s   |}|j jdv r)| }t|j |jd}t|| t| }t|t| d S |j jdkr2d}nd}t	j
t|d |  W d    n1 sIw   Y  t	j
t|d t|  W d    d S 1 sfw   Y  d S )N)r   ur1   r   z0ufunc 'invert' not supported for the input typeszbad operandr!   )r=   r   r
   ri   r2   rB   rC   r   r   r$   r%   r&   )r   r   r/   resrD   res2r'   r   r   r   test_inv  s    
"zBase.test_invc                 C  <   |}t t |  W d    d S 1 sw   Y  d S rW   )rB   assert_produces_warningFutureWarning
is_booleanr3   r   r   r   test_is_boolean_is_deprecated     
"z"Base.test_is_boolean_is_deprecatedc                 C  r!  rW   )rB   r"  r#  is_floatingr3   r   r   r   test_is_floating_is_deprecated  r&  z#Base.test_is_floating_is_deprecatedc                 C  r!  rW   )rB   r"  r#  
is_integerr3   r   r   r   test_is_integer_is_deprecated  r&  z"Base.test_is_integer_is_deprecatedc                 C  sP   |}t |j d}tjt|d |  W d    d S 1 s!w   Y  d S )Nz.holds_integer is deprecated. r!   )r+   r,   rB   r"  r#  holds_integerr.   r   r   r   test_holds_integer_deprecated!  s
   
"z"Base.test_holds_integer_deprecatedc                 C  sL   |}t jtt|j dd |  W d    d S 1 sw   Y  d S )Nz.is_numeric is deprecated. r!   )rB   r"  r#  r+   r,   
is_numericr3   r   r   r   test_is_numeric_is_deprecated(  s   
"z"Base.test_is_numeric_is_deprecatedc                 C  s@   |}t jtdd |  W d    d S 1 sw   Y  d S )Nz4Use pandas\.api\.types\.is_categorical_dtype insteadr!   )rB   r"  r#  is_categoricalr3   r   r   r   !test_is_categorical_is_deprecated1  s   
"z&Base.test_is_categorical_is_deprecatedc                 C  r!  rW   )rB   r"  r#  is_intervalr3   r   r   r   test_is_interval_is_deprecated:  r&  z#Base.test_is_interval_is_deprecatedc                 C  r!  rW   )rB   r"  r#  	is_objectr3   r   r   r   test_is_object_is_deprecated@  r&  z!Base.test_is_object_is_deprecated)r   r
   ):r,   
__module____qualname____doc____annotations__r$   fixturer   r   r(   r0   r4   rF   rS   rV   rZ   r`   rx   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   markparametrizer   r   r   r  arm_slowr  r  r  r  r  r  r   r%  r(  r*  r,  r.  r0  r2  r4  r   r   r   r   r   "   s|   
 

4+8	
	>)

		r   c                   @  s~   e Zd ZdZdd Zdd Zdd Zdd	 Zd
d Zdd Z	dd Z
dd Zdd Zejdejejgdd Zdd ZdS )NumericBasezJ
    Base class for numeric index (incl. RangeIndex) sub-class tests.
    c                 C  sD   | j }tddg|d}||}tjddg|jd}t|j| d S )Nr)   r*   r<   )r   r
   rp   r   r=   rB   ro   rK   )r   r=   	index_clsr/   rE   rD   r   r   r   test_constructor_unwraps_indexL  s
   z*NumericBase.test_constructor_unwraps_indexc                 C     d S rW   r   r   r   r   r   r   T  s   zNumericBase.test_wherec                 C  s"   |}|d }| |du sJ d S )Nr   F)$_can_hold_identifiers_and_holds_name)r   r   r/   keyr   r   r   test_can_hold_identifiersX  s   z%NumericBase.test_can_hold_identifiersc                 C  sr   | j }|g |dd}| }|jdksJ ||}tj|||dddd ||}tj|||dddd d S )NFoo)r=   r2   r1   Tr   )r   viewr2   rB   rC   )r   r=   r>  r/   idx_viewr   r   r   	test_view]  s   

zNumericBase.test_viewc                   s<   |}t dd |D   fdd|D }| |ksJ d S )Nc                 s  s    | ]	}t t|V  qd S rW   )r   r_   r   r   r   r   	<genexpr>m  s    z*NumericBase.test_format.<locals>.<genexpr>c                   s   g | ]	}t | qS r   )r_   ljustr   	max_widthr   r   r   n  s    z+NumericBase.test_format.<locals>.<listcomp>)maxr   r   r   rJ  r   r   j  s   zNumericBase.test_formatc                 C  r@  rW   r   r   r   r   r   rS   q  s   zNumericBase.test_numeric_compatc                 C  sD   |}| d|d }t|d gt| |jd}tj||dd d S )Nr   r<   Tr   )r   r
   r   r=   rB   rC   )r   r   ru   rE   rD   r   r   r   test_insert_non_nat  s   zNumericBase.test_insert_non_nac                 C  s   |}|}|t ju rt|d t jgt|dd   td}nt|d tjgt|dd   }|jjdkr;t||jd}|	d|}t
j||dd d S )Nr   r)   r<   r   Tr   )r]   r  r
   r   r;   rp   r   r=   r   r   rB   rC   )r   nulls_fixturer   ru   na_valrD   rE   r   r   r   test_insert_na~  s   
("zNumericBase.test_insert_nac                 C  s   | j }|tu rtd}n	|tjddd}tjdddd }t|tjd}|d }t|| d| }t|| t|tjd}tjddd}|| }t|| t| tjd}tjddd}|| }t|| d S )Nr  int64r<   g	@float64)	r   r   rp   r   r
   rR  rB   rC   r   )r   r>  r/   arrrD   fidxr   rE   r   r   r   $test_arithmetic_explicit_conversions  s$   
z0NumericBase.test_arithmetic_explicit_conversionscomplex_dtypec                 C  s(   | |}t|tu r|j|ksJ d S rW   )r   r+   r
   r=   )r   rV  r   rE   r   r   r   test_astype_to_complex  s   
z"NumericBase.test_astype_to_complexc                 C  s4   | j g d|d}| j g d|d}t|| d S )N)012r<   )r   r)   r*   )r   rB   rC   )r   r=   rE   rD   r   r   r   test_cast_string  s   zNumericBase.test_cast_stringN)r,   r5  r6  r7  r?  r   rC  rG  r   rS   rM  rP  rU  r$   r:  r;  rp   	complex64
complex128rW  r[  r   r   r   r   r=  G  s    

r=  )!
__future__r   r   r  numpyrp   r$   pandas._libs.tslibsr   pandas.core.dtypes.commonr   r   pandas.core.dtypes.dtypesr   pandasr]   r   r	   r
   r   r   r   r   r   r   r   pandas._testing_testingrB   pandas.core.arraysr   r   r=  r   r   r   r   <module>   s(    0      +