HOME


sh-3ll 1.0
DIR:/usr/local/lib64/python3.6/site-packages/pandas/tests/indexes/__pycache__/
Upload File :
Current File : //usr/local/lib64/python3.6/site-packages/pandas/tests/indexes/__pycache__/common.cpython-36.pyc
3

���h}�@s�ddlZddlmZddlZddlZddlmZddlm	Z	ddl
mZddlm
Z
ddlZddlmZmZmZmZmZmZmZmZmZmZmZmZddljZddlm Z Gd	d
�d
�Z!dS)�N)�Type)�iNaT)�InvalidIndexError)�is_datetime64tz_dtype)�CategoricalDtype)�CategoricalIndex�
DatetimeIndex�Index�
Int64Index�
IntervalIndex�
MultiIndex�PeriodIndex�
RangeIndex�Series�TimedeltaIndex�UInt64Index�isna)�DatetimeIndexOpsMixinc@s^eZdZUdZeeddddgZed�dd�Zd	d
�Z	e
jjddd
g�dd��Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Z e
jjd6e!e"e#j$e%g�d7d8��Z&e
jjd9d:d;g�e
jjd<d=d>d?d@g�dAdB���Z'dCdD�Z(dEdF�Z)dGdH�Z*dIdJ�Z+dKdL�Z,dMdN�Z-dOdP�Z.dQdR�Z/dSdT�Z0dUdV�Z1dWdX�Z2dYdZ�Z3d[d\�Z4d]d^�Z5d_d`�Z6dadb�Z7e
jjdcddde�dfde�g�dgdh��Z8didj�Z9dkdl�Z:e
jjdmdndog�e
jjdddpg�e
jjdqdndog�drds����Z;dtdu�Z<dvdw�Z=dxdy�Z>dzd{�Z?d|d}�Z@d~d�ZAdS)��Basez& base class for index sub-class tests �shape�ndim�size�nbytes)�returncCstd��dS)NzMethod not implemented)�NotImplementedError)�self�r�=/tmp/pip-build-5_djhm0z/pandas/pandas/tests/indexes/common.py�create_index&szBase.create_indexc	Cs*d}tjt|d��|j�WdQRXdS)Nz�Index\(\.\.\.\) must be called with a collection of some kind, None was passed|__new__\(\) missing 1 required positional argument: 'data'|__new__\(\) takes at least 2 arguments \(1 given\))�match)�pytest�raises�	TypeError�_holder)r�msgrrr�test_pickle_compat_construction)sz$Base.test_pickle_compat_construction�nameN�new_namecCs�|j�}|r|}n
|jpd}|j|d�}|j|ks6t�t|j�dksHt�|jd|ksZt�||j|jk	snt�|jd|d�}|j|k	s�t�dS)Nr)r&�F)�indexr&)rr&Zto_framer)�AssertionError�len�columns�values)rr&�idxZidx_nameZdfrrr�
test_to_frame4s
zBase.test_to_framecCsf|j�}dt|�j��}tjt|d��|jd�WdQRXtjt|d��|jdd�WdQRXdS)NzNot supported for type )rr(�)r�type�__name__r r!r�shift)rr.r$rrr�
test_shiftHszBase.test_shiftcCs6|j�}tjtdd��t|�|gd�WdQRXdS)Nz"Index.name must be a hashable type)r)r&)rr r!r"r1)rr.rrr� test_constructor_name_unhashableRsz%Base.test_constructor_name_unhashablecCs�|j�}t|t�sPd|_tj|�}tj||�tj|dd�}d|_tj||�n~ddg|_tj|�}tj|ttd
dddddgdd	�ddgd
��tj|ddgd
�}tj|ttddddddgdd	�ddgd
��dS)N�foo�bar)r&�one�two�baz�qux�object)�dtype)�names�A�B)r6r8)r6r9)r7r8)r:r9)r;r8)r;r9)r6r8)r6r9)r7r8)r:r9)r;r8)r;r9)	r�
isinstancerr&�pdr	�tm�assert_index_equalr>)r�expected�resultrrr�test_create_index_existing_nameYsF



z$Base.test_create_index_existing_namec,Cs�|j�}t|t�st�tjtdd��|dWdQRXtjtdd��d|WdQRXd}tjt|d��|dWdQRX|jdd�}tjt|d��d|WdQRXtjtdd��|dWdQRXtjtd	d��d|WdQRXdS)
Nzcannot perform __mul__)rr(zcannot perform __rmul__zcannot perform __truediv__z __z __rzcannot perform __floordiv__zcannot perform __rfloordiv__)rrArr*r r!r"�replace)rr.Zdiv_errrrr�test_numeric_compat�s zBase.test_numeric_compatcCsP|j�}tjtdd��|j�WdQRXtjtdd��|j�WdQRXdS)Nzcannot perform all)rzcannot perform any)rr r!r"�all�any)rr.rrr�test_logical_compat�s
zBase.test_logical_compatcCs\|j�}tj|jtjd�}|j|�}tj||�tj	t
dd��|j|dd�WdQRXdS)N)r=zInvalid fill method)r�invalid)�method)r�np�aranger�intp�get_indexerrC�assert_numpy_array_equalr r!�
ValueError)rr.rE�actualrrr�test_reindex_base�s
zBase.test_reindex_basecCs�t|t�rdS|jst|t�rR|j|dd��}t|tj�s@t�|jtj	ks�t�n0d}t
jt|d��|j|dd��WdQRX|j
|dd��\}}t|tj�s�t�|jtj	ks�t�dS)Nrr0z8Reindexing only valid with uniquely valued Index objects)r)rAr�	is_uniquerrRrO�ndarrayr*r=rQr r!rZget_indexer_non_unique)rr)�indexer�e�_rrr�test_get_indexer_consistency�s
z!Base.test_get_indexer_consistencycCsj|j�}|jj|�st�|j�j|�s*t�|j}x&|jD]}t||�t||�ks8t�q8W|j|jjdS)N)	r�T�equalsr*Z	transposer-�
_compat_props�getattrr)rr.r-�proprrr�test_ndarray_compat_properties�sz#Base.test_ndarray_compat_propertiescCs |j�}tjtt|��|�dS)N)rrCrD�eval�repr)rr.rrr�test_repr_roundtrip�szBase.test_repr_roundtripc
CsF|j�}|jd�}tjdd��t|�dt|�ks8t�WdQRXdS)N�2zdisplay.max_seq_itemsz...)r�repeatrBZoption_contextrd�strr*)rr.rrr�test_repr_max_seq_item_setting�s

z#Base.test_repr_max_seq_item_settingcCs�t|t�rdSt|�|ddd�}t|�|dd�}||k	s<t�|j|�sJt�|jdksXt�|jdksft�td|d�}td|dd
�d�}t|t�s�||}|jjdks�t�dS)NTZmario)�copyr&F)rjr0)r)�r(���)	rArr1r*r^r&rrr))rr)�first�second�s1�s2Zs3rrr�test_copy_name�s

zBase.test_copy_namecCs�i}t|t�r|j|d<nt|tttf�r.dSt|�}||jfddi|��}t|j	�rh|j
d�j|j�}t|t
tf�r�|jd�}tj||�t|t�r�|f|jdd�|��}tj|j|jdd�n6t|t�r�n*||jfddi|��}tj|j|jdd�dS)	N�freqrjT�UTCF)ZordinalrjZsame)Z
check_same)rAr
rrrrrr1r-rr=Ztz_localizeZ
tz_convert�tzrr�
_with_freqrCrD�asi8rSr)rr)Zinit_kwargsZ
index_typerFrrr�test_ensure_copied_data�s&




zBase.test_ensure_copied_datacCs~|jj�|j�}|jr(|dks$t�dS|j|d�|j�}|jdd�}t|ttf�sd||ksdt�|j	dkrz||kszt�dS)NrT)�deepr<)
�_engineZ
clear_mappingZmemory_usage�emptyr*�get_locrArrZ
inferred_type)rr)rFZresult2Zresult3rrr�test_memory_usages

zBase.test_memory_usagecCs8t|t�rdS|j�}tj|�j�}tj||dd�dS)NF)Zcheck_dtype)rAr�argsortrO�arrayrCrS)r�requestr)rFrErrr�test_argsort2s

zBase.test_argsortcCs�tj|�}|j�}tj||�tt|�ttf�r�d}tj	t
|d��tj|dd�WdQRXd}tj	t
|d��tj|dd�WdQRXd}tj	t
|d��tj|dd�WdQRXdS)
Nz%the 'axis' parameter is not supported)rr()�axisz%the 'kind' parameter is not supportedZ	mergesort)�kindz&the 'order' parameter is not supported�a�b)�order)r�r�)rOr}rCrSrAr1rrr r!rT)rr)rFrEr$rrr�test_numpy_argsort;s
	zBase.test_numpy_argsortc	Cstddddg}t|�dkrdS|j|�}||}|j|�s<t�t|tttf�spd}tj	t
|d��|jWdQRXdS)N�rkrr0�z*'(.*Index)' object has no attribute 'freq')r)r+�taker^r*rArr
rr r!�AttributeErrorrr)rr)rYrFrEr$rrr�	test_takeTs
zBase.test_takecCs�|j�}ddg}d}tjt|d��|j|dd�WdQRXd}tjt|d��|j||d�WdQRXd}tjt|d��|j|d	d
�WdQRXdS)Nr(r0z1take\(\) got an unexpected keyword argument 'foo')r)r6z$the 'out' parameter is not supported)�outz%the 'mode' parameter is not supportedZclip)�mode)rr r!r"r�rT)rr.�indicesr$rrr�test_take_invalid_kwargsdszBase.test_take_invalid_kwargscCszd}|j�}tj|jj|�|jd�}tj|j|�|�|j�}tj	t
|��}tj|jj|�|jd�}tj|j|�|�dS)Nr0)r&)rrBr	r-rgr&rCrDrOrPr+)r�rep�irErrr�test_repeattszBase.test_repeatcCs\d}|j�}|j|�}tjtj||�|�d}tjt|d��tj||dd�WdQRXdS)Nr0z%the 'axis' parameter is not supported)rr)r�)rrgrCrDrOr r!rT)rr�r�rEr$rrr�test_numpy_repeats
zBase.test_numpy_repeat�klasscCs�|j�}t|tjtjf�r$|jd�}dgt|�}|j||��}|}tj	||�dgdgt|dd��}tj
|jg|dd�j�|j
d�}|j||��}tj	||�dS)NTFr()r=)rrArBrrrur+�whererCrDr	Z	_na_value�tolistr=)rr�r�ZcondrFrErrr�
test_where�s
$zBase.test_where�caseg�?ZxxxrN�intersection�union�
difference�symmetric_differencec
Cs0d}tjt|d��t||�|�WdQRXdS)Nz!Input must be Index or array-like)r)r r!r"r`)rr�rNr)r$rrr�test_set_ops_error_cases�szBase.test_set_ops_error_casescs�t|t�rdS|dd�}|dd��|j��}tj|��s@t�t|j�rNdS�fdd�tj	t
tgD�}x&|D]}|j|�}tj|��snt�qnWt|t�r�d}t
jt|d��|jdddg�WdQRXdS)	Nr�rkcsg|]}|�j��qSr)r-)�.0r�)rnrr�
<listcomp>�sz/Base.test_intersection_base.<locals>.<listcomp>z.other must be a MultiIndex or a list of tuples)rr(r0)rArr�rC�
equalContentsr*rr=rOr~r�listrr r!r")rr)rmZ	intersect�casesr�rFr$r)rnr�test_intersection_base�s 





zBase.test_intersection_basec	s�|dd�}|dd��|}|j��}tj||�s6t�t|j�rDdS�fdd�tjtt	gD�}x0|D](}t
|t�sd|j|�}tj||�sdt�qdWt
|t�r�d}t
jt|d��|jdddg�WdQRXdS)	Nrkr�csg|]}|�j��qSr)r-)r�r�)rnrrr��sz(Base.test_union_base.<locals>.<listcomp>z.other must be a MultiIndex or a list of tuples)rr(r0)r�rCr�r*rr=rOr~rr�rArrr r!r")	rr)rmZ
everythingr�r�r�rFr$r)rnr�test_union_base�s 





zBase.test_union_basec	s|dd�}|dd��t|t�s*|j�r0g}n|dd�}|j�|�}tj||�sXt��fdd�tjt	t
gD�}xd|D]\}t|ttf�r�t
|�t
|�ks�t�tj|j�j|j�j�qx|j||�}tj||�sxt�qxWt|t��rd}tjt|d��|jdddg|�WdQRXdS)	Nr0r�csg|]}|�j��qSr)r-)r�r�)rnrrr��sz-Base.test_difference_base.<locals>.<listcomp>z.other must be a MultiIndex or a list of tuples)rr(rk)rArZ
is_booleanr�rCr�r*rOr~rr�rrr1rSZsort_valuesrvrr r!r")	r�sortr)rm�answerrFr�r�r$r)rnr�test_difference_base�s&
zBase.test_difference_basecs�t|t�rdS|dd�}|dd	��|dd
g}|j��}tj||�sLt��fdd�tjtt	gD�}x&|D]}|j|�}tj||�slt�qlWt|t
�r�d}tjt
|d��|jdddg�WdQRXdS)Nr(rcsg|]}|�j��qSr)r-)r�r�)rnrrr��sz2Base.test_symmetric_difference.<locals>.<listcomp>z.other must be a MultiIndex or a list of tuples)rr0rkrlrl)rArr�rCr�r*rOr~rr�rr r!r")rr)rmr�rFr�r�r$r)rnr�test_symmetric_difference�s




zBase.test_symmetric_differencecCs>|dd�}t|�sdS|dd�j|jd|d��s:t�dS)Nr(r�r)r+r^�insertr*)rr)rFrrr�test_insert_baseszBase.test_insert_basec	Cs�t|�sdSt|t�rdS|dd�}|jd�}|j|�s>t�|j|jksNt�|dd�}|jd�}|j|�srt�|j|jks�t�t|�}d|�d|��}tjt	|d��|j|�WdQRXdS)Nr(rzindex z' is out of bounds for axis 0 with size )rrlrl)
r+rAr�deleter^r*r&r r!�
IndexError)rr)rErF�lengthr$rrr�test_delete_bases 


zBase.test_delete_basecCs�t|t�rdS|j|�st�|j|j��s.t�|j|jt��sBt�|jt|��sVt�|jtj	|��slt�t|t
�s�t|td�}|j|�s�t�|j|�s�t�|jdkr�|jt
|��s�t�dS)N)r=r()rArr^r*rj�astyper<r�rOr~rr	Znlevelsr)rr)Zsame_valuesrrr�test_equals%s


zBase.test_equalsc<Cs�|j�}t|t�rtjd�t|�}|dd�}|dd�j|d
d��}|dd�}d}tjt|d��||kWdQRXt	j
dg|�}t	j
dg|ddg�}tj||k|�tj||k|�t	j
|�}	t	j
|dd��}
t	j
|dd�j|dd���}t	j
|dd��}tjt|d��||
kWdQRXtj||	k|�tj||k|�t
|	�}
t
|
�}t
|�}t
|�}tjt|d��||kWdQRXtj||
k|�tj||k|�tjtd	d��||kWdQRXtjtd	d��||kWdQRXtjtd	d��||kWdQRXd
}tjt|d��|
|kWdQRXtjtd	d��|
|kWdQRXt|t��s�t	j
dgt|�dddg�}|d}tj||k|�tj|
|kt
|��dS)NzSkip check for PeriodIndexrr(r0z)Lengths must match|could not be broadcast)rTFzLengths must matchz3Can only compare identically-labeled Series objectsrlrl���rlrlrlr�rlr�)rrAr
r �skipr+�appendr!rTrOr~rCrSrrZassert_series_equal)rZindex_a�nZindex_bZindex_cZindex_dr$Z	expected1Z	expected2Zarray_aZarray_bZarray_cZarray_dZseries_aZseries_bZseries_cZseries_dZ	expected3�itemrrr�test_equals_op;s\


  zBase.test_equals_opcCs*|j�}dd�|D�}|j�|ks&t�dS)NcSsg|]}t|��qSr)rh)r��xrrrr�~sz$Base.test_format.<locals>.<listcomp>)r�formatr*)rr.rErrr�test_format{szBase.test_formatcCs4|jg�}|j�gkst�|jdd�dgks0t�dS)NT)r&�)r#r�r*)rZ	empty_idxrrr�test_format_empty�s
zBase.test_format_emptycCst|t�rdS|jdd�}tjdgt|�td�}tj|j	|�|j
dksNt�|jdd�}tj|j
�}t|�dkrvdSt|t�r�t|d<nt|ttf�r�dStj|d<t|t�r�t|�||jd�}nJt|�|�}tjdgt|�td�}d|d<tj|j	|�|j
dk�st�dS)NT)rxF)r=rr()rr)rArrjrOr~r+�boolrCrS�_isnan�hasnansr*�asarrayr-rrr
r�nanr
r1rr)rr)r.rEr-rrr�test_hasnans_isnans�s,




zBase.test_hasnans_isnanscCslt|�dkr�nXt|t�rV|jdd�}d}tjt|d��|j|d�WdQRX�n|jdd�}|j|d�}tj	||�||k	s�t
�d}tjt|d��|j|dg�WdQRX|jdd�}tj
|j�}t|t�r�t|d<nt|ttf�r�dStj|d<t|t��rt|�||jd�}nt|�|�}tjd	gt|�td
�}d|d<tj|j|�|jdk�sht
�dS)NrT)rxz"isna is not defined for MultiIndex)rz"'value' must be a scalar, passed: r()rrF)r=)r+rArrjr r!rZfillnarCrDr*r"rOr�r-rrr
rr�r
r1rrr~r�rSr�r�)rr)r.r$rFr-rErrr�test_fillna�s8



zBase.test_fillnac	Cs�t|�dkr(tj|j�tjgtd��n�t|t�rb|j	�}d}t
jt|d��|j�WdQRXnn|j
s�tj|j�tjt|�td��tj|j�tjt|�td��n*t|�}tj|j�|�tj|j�|�dS)Nr)r=z"isna is not defined for MultiIndex)r)r+rCrSrrOr~r�rArrjr r!rr��zerosZnotna�ones)rr)r.r$rFrrr�
test_nulls�s
 zBase.test_nullscCs*|j�}|jst�|dd�js&t�dS)Nr)rrzr*)rr)rrr�
test_empty�szBase.test_emptycCs0|j�}|jr,|j||d�}||kj�s,t�dS)N)�how)rrW�joinrJr*)rZ	join_typer)Zjoinedrrr�test_join_self_unique�szBase.test_join_self_uniquecCsB|j�}t|tj�r |jd�}n|}|jdd��}tj||�dS)N�int64cSs|S)Nr)r�rrr�<lambda>�szBase.test_map.<locals>.<lambda>)rrArBrr��maprCrD)rr)rErFrrr�test_map�sz
Base.test_map�mappercCsdd�t||�D�S)NcSsi|]\}}||�qSrr)r�rZr�rrr�
<dictcomp>�sz!Base.<lambda>.<locals>.<dictcomp>)�zip)r-r)rrrr��sz
Base.<lambda>cCstj||�S)N)rBr)r-r)rrrr��scCs�|j�}t|tjtjf�r.tjdt|����||j|�}t|tj	�r\t|t
�r\|jd�}n|}|j|�}t
j||�tjtjgt|��}|j|||��}t
j||�dS)Nzskipping tests for r�)rrArBrrr r�r1r-r�dictr�r�rCrDr	rOr�r+)rr�r)�identityrErFrrr�test_map_dictlike�s	
zBase.test_map_dictlikecCs8|j�}|jt�}tdd�|D�td�}tj||�dS)NcSsg|]}t|��qSr)rh)r�r�rrrr�sz%Base.test_map_str.<locals>.<listcomp>)r=)rr�rhr	r<rCrD)rr)rFrErrr�test_map_strs
zBase.test_map_strcCs�|j�}d}tjt|d��$|jtjt|�dtj�d�WdQRXtjt|d��$|jtjt|�dtj�d�WdQRXtjt|d��|jdd�WdQRXdS)Nz,putmask: mask and data must be the same size)rr(r6)	rr r!rTZputmaskrOr�r+Zbool_)rr)r$rrr�test_putmask_with_wrong_masks((z!Base.test_putmask_with_wrong_maskrjTFr6�orderedcCs�|j�}|r|j|�}t|d�}|j||d�}t|j||d�}tj||�t|j�j	�dd	�|�}|j||d�}t|j||d�}tj||�|dkr�|jd|d�}t|j|d�}tj||�dS)
N)r�)rj)r&r�r()r&r=F�category)r&rl)
r�renamerr�rr-rCrD�uniquer�)rrjr&r�r)r=rFrErrr�test_astype_category,s

zBase.test_astype_categorycCs�|j�j�}|jdkst�|dd�}|jdks4t�|jd|d�}|jdksRt�|jdtj�}|jdksnt�|jdtj�}|jdks�t�dS)NTrF)rZdrop_duplicatesrWr*r�rOr�)rr)Zindex_emptyZ	index_dupZindex_naZindex_na_duprrr�test_is_uniqueGszBase.test_is_uniquecCs6|j�}ttj|��}|jttj|��|ks2t�dS)N)rr+�gcZ
get_referrersryr*)rr)Z	nrefs_prerrr�test_engine_reference_cycle\sz Base.test_engine_reference_cyclec
CsN|j�}tjtdd��|dd�df}WdQRXt|tj�sJtt|���dS)NF)Zcheck_stacklevel)	rrCZassert_produces_warning�
FutureWarningrArOrXr*r1)rr.�resrrr�test_getitem_2d_deprecatedcszBase.test_getitem_2d_deprecatedcCsj|j�}d}tjt|d��g|kWdQRXdjdddddg�}tjt|d��i|jkWdQRXdS)	Nzunhashable type: 'list')r�|zunhashable type: 'dict'zmust be real number, not dictzan integer is requiredz\{\}z6pandas\._libs\.interval\.IntervalTree' is not iterable)rr r!r"r�ry)rr.r$rrr�&test_contains_requires_hashable_raisesksz+Base.test_contains_requires_hashable_raisescCsp|j�}|j|d�|j�}|j|jks.t�|j|jk	s>t�x,|jj�D]\}}|j||ksJt|��qJWdS)Nr)rr{rj�_cacher*�items)rr.rj�key�valrrr�test_copy_copies_cache~szBase.test_copy_copies_cachecCsp|j�}|j|d�|j�}|j|jks.t�|j|jk	s>t�x,|jj�D]\}}|j||ksJt|��qJWdS)Nr)rr{Z
_shallow_copyr�r*r�)rr.Zshallow_copyr�r�rrr�test_shallow_copy_copies_cache�sz#Base.test_shallow_copy_copies_cache)Br2�
__module__�__qualname__�__doc__rr	r#r_rr%r �markZparametrizer/r4r5rGrIrLrVr\rbrerirqrwr|r�r�r�r�r�r�r��tuplerOr~rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr sx

5

 	
 	@!'

r)"r�ZtypingrZnumpyrOr Zpandas._libsrZ
pandas.errorsrZpandas.core.dtypes.commonrZpandas.core.dtypes.dtypesrZpandasrBrrr	r
rrr
rrrrrZpandas._testingZ_testingrCZ pandas.core.indexes.datetimelikerrrrrr�<module>s8