HOME


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

���h�N�@sddlZddlZddlZddlmZmZmZmZm	Z	m
Z
mZmZm
Z
mZmZmZmZmZmZddljZddlmZddljjjZdd�Zdd�Z dd	�Z!d
d�Z"dd
�Z#dd�Z$dd�Z%dd�Z&dd�Z'ej(j)deddd�e
j*e
d�e
j+ge
j,e
j*e
d�fe
d�e
j+fg�fd�ddgej-ej.ej/�j*dej.ej/�j+gdd�e
j,ej.ej/�j*dfdej.ej/�j+fg�fej0d��ej0d�ej0d�gej-ej0ej.ej/�j+�ej0d�ej0ej.ej/�j+�g�e
j,ej0ej.ej/�j+�ej0d�fej0d�ej0ej.ej/�j+�fg�fg�dd��Z1d d!�Z2ej(j)d"gd#d$fdd#dgd%d&fg�d'd(��Z3ej(j)d)d#ej4d#�eej4d#��g�ej(j)d*eeg�d+d,���Z5ej(j)d-ddd#dd.ej6gej6ddd#dd.gej6ddd#dd.ej6gg�d/d0��Z7d1d2�Z8ej(j)d3d4d�d6d%d7dgd8fd9dd6d%d7d�gd:fg�d;d<��Z9d=d>�Z:d?d@�Z;ej(j)dAdd9g�dBdC��Z<dDdE�Z=dFdG�Z>ej(j)dHdIdJ�dKdJ�fdLdJ�dMdJ�fg�dNdO��Z?dPdQ�Z@ej(j)dRejAdS�ejAdS�dTg�dUdV��ZBej(j)dWd�d�d�d�g�d\d]��ZCd^d_�ZDd`da�ZEej(j)dbeFdcdd�dfeF�defeFdfdd�defeFdgdd�dhfg�didj��ZGej(j)d-dkd�dlg�ej(j)dmdd#g�dndo���ZHej(j)dpd�d�d�g�dqdr��ZIej(j)dsdtdJ�dudJ�dvdJ�dwdJ�g�dxdy��ZJej(j)d-eedzd{d|g��ejKdz�ejKd{�ejKd|�gej-ejKdz�ejKd{�ejKd|�g�edzd{d|g�g�d}d~��ZLej(j)dde
d��e
d��e
d��e
d��gg�ej(j)d�eMej-eeg�d�d����ZNd�d��ZOd�d��ZPej(j)d�dd�d�g�d�d���ZQd�d��ZRej(j)dd�d�g�ej(j)d�eejSfej-ejTfeMejUfg�d�d����ZVej(j)dAdgdd4g�d�d���ZWej(j)dddd�d�gg�ej(j)d8d4d9g�ej(j)d�d4d9g�d�d�����ZXej(j)d�d�d�d�gd�d�d�d�gd�d�d�gdddgd�d�gfddd�gdd#d.d�d�gd#ddd#gd#ddgddd#gfg�d�d���ZYej(j)d�d�d�d�gd�d�d�d�gd�d�d�gddd#gd�d�d�gfddd�gdd#d.d�d�gdddd#gddd#gdddd#gfg�d�d���ZZd�d��Z[d�d��Z\dS)��N)�Categorical�	DataFrame�
DatetimeIndex�Index�Interval�
IntervalIndex�Series�TimedeltaIndex�	Timestamp�cut�
date_range�isna�qcut�timedelta_range�to_datetime)�CategoricalDtypecCsDtjddd�}t|ddd�}tjdddddg�}tj||dd�dS)	N��int64)�dtype�F)�labels�)Zcheck_dtype)�npZonesr�array�tm�assert_numpy_array_equal)�data�result�expected�r�?/tmp/pip-build-5_djhm0z/pandas/pandas/tests/reshape/test_cut.py�test_simplesr!cCs�tjddddddg�}t|ddd	�\}}tj|jd��}|jd
d
d
ddd
g�}t|dd
�}tj	||�tj
|tjddddg��dS)Ng�������?gffffff�?g@g������@gffffff#@g������@�T)�retbinsrr�)�orderedg����Mb�?g>wa���
@g���!""@)rrrr�from_breaks�round�takerr�assert_categorical_equal�assert_almost_equal)rr�bins�	intervalsrrrr �	test_bins#sr-cCs�tjdddddddg�}t|dd	d	d
�\}}tj|jd��}t|d	d�}|jd
d
d
ddd
d
g�}tj	||�tj
|tjdddddg��dS)Ng�������?gffffff�?g@g������@gffffff#@g������@g������@rT)�rightr#r")r%rr$g����Mb�?g������@g�����L@)rrrrr&r'rr(rr)r*)rrr+r,rrrr �
test_right/sr/cCs�tjdddddddg�}t|dd	d
d�\}}tj|jd�d
d�}|jdddddddg�}t|d
d�}tj	||�tj
|tjdddddg��dS)Ng�������?gffffff�?g@g������@gffffff#@g������@g������@rFT)r.r#r"�left)�closedrr$r)r%g������@g�����L@g%��Ck#@)rrrrr&r'r(rrr)r*)rrr+r,rrrr �
test_no_right;sr2cCs~ddddddg}t|ddd	�\}}tj|jd��}|jd
d
d
ddd
g�}t|dd
�}tj||�tj|t	j
ddddg��dS)Ng�������?gffffff�?g@g������@gffffff#@g������@r"T)r#rrr$)r%g����Mb�?g>wa���
@g���!""@)rrr&r'r(rrr)r*rr)rrr+r,rrrr �test_array_likeGsr3cCsnttd�d�}|}ttd�|jd�}tj||�tjtj|j	d�|jdd�}ttd�|jd�}tj||�dS)	Nrr")r+rT)�
categoriesr%����)
r�ranger4rr)r�
from_codesr�append�codes)�crrrrr �test_bins_from_interval_indexSsr<c
Cs�tjddddddddd	g	�}t|d
ddd
gd�}tjdddg�}tj|j|�tdddg|jd�}tj|j|�tj|j	tjdddgdd��dS)N�
��
�����;�<r��#�F)r+��2rr$Zint8)r)rrF)rFrG)rGrH)
rrrr�from_tuplesr�assert_index_equalr4rr:)Zagesr;rrrrr �)test_bins_from_interval_index_doc_example`srMcCsBd}tjdd
dg�}tjt|d��td	d
g|d�WdQRXdS)Nz)Overlapping IntervalIndex is not acceptedrr=r$r@r�)�matchrr5)r+)rr=)r$r@)rrN)rrK�pytest�raises�
ValueErrorr)�msg�iirrr �-test_bins_not_overlapping_from_interval_indexlsrUc
CsDd}ddddddg}tjt|d��t|d	d
ddg�WdQRXdS)
Nz bins must increase monotonicallyg�������?gffffff�?g@g������@gffffff#@g������@)rOg�������?g�?rr=)rPrQrRr)rSrrrr �test_bins_not_monotonicusrVzx, bins, expectedz
2017-12-31r")�periodsz
2018-01-01rr)rcCst||�}tj|j|�dS)N)rrrLr4)�xr+rrrrr �#test_bins_monotonic_not_overflowing}s*
rYc
CsLd}ddddddg}tjt|d�� t|d	d
dgdd
dgd�WdQRXdS)Nz9Bin labels must be one fewer than the number of bin edgesg�������?gffffff�?g@g������@gffffff#@g������@)rOrrr=�foo�barZbaz)r)rPrQrRr)rSrrrr �test_wrong_num_labels�sr\z
x,bins,msgr$zCannot cut empty arrayg�?z#`bins` should be a positive integerc
Cs(tjt|d��t||�WdQRXdS)N)rO)rPrQrRr)rXr+rSrrr �test_cut_corner�sr]�arg�cut_funcc
Cs,d}tjt|d��||d�WdQRXdS)Nz!Input array must be 1 dimensional)rOr$)rPrQrR)r^r_rSrrr �test_cut_not_1d_arg�sr`rrcCs.d}tjt|d��t|dd�WdQRXdS)Nz?cannot specify integer `bins` when input data contains infinity)rOr")r+)rPrQrRr)rrSrrr �test_int_bins_with_inf�s
racCsZd}tddddd	g|d�}t|ddgdd�}ttjtjtjdtjg|d�}tj||�dS)
NrXrrr")�nameF)rr6���)rrr�nanr�assert_series_equal)rb�ser�ind�exprrr �test_cut_out_of_range_more�s
rizright,breaks,closedTg����MbP?g�?g�?r.Fr0cCsJtjtjddd�d�}t|dd|d�\}}tj||d�}tj|j|�dS)Nrg)\��(�?g�������?rT)r#r.)r1)	r�tile�arangerrr&rrLr4)r.Zbreaksr1�arrrr+�	ex_levelsrrr �test_labels�srncCs4d}ttjjd�|d�}t|d�}|j|ks0t�dS)NrZ�d)rbr)rr�random�randnrrb�AssertionError)rbrfZfactorrrr �#test_cut_pass_series_name_to_factor�s
rscCsBtjddd�}t|ddd�}tjddd	d
dg�}tj|j|�dS)
Nrg\��(\�?g{�G�z�?rr$)�	precisiong�9̗G?g
ףp=
�?g
ףp=
�?gH�z�G�?g
ףp=
�?g�9̗G�)rrkrrr&rrLr4)rlrrmrrr �test_label_precision�srurcCsZtjddd�}tj|ddd�<t|d|d�}tj|�}tjt|�tj|�}tj||�dS)Nrg�?g{�G�z�?r"r)r)	rrkrdrZasarray�wherer
rr*)rrlrrrrr �test_na_handlings
rwcCs�tjd�}t|dd�}tjddtjg}t||�}t||�}tj|�}tj|j	|�|dt
dtj�kslt�|dt
tjd�ks�t�|dt
dtj�ks�t�|dt
tjd�ks�t�dS)Nr5r)rr$rrr)rrkr�infrrr&rrLr4rrr)rZdata_serr+rZ
result_serZ
ex_uniquesrrr �test_inf_handlings



rycCsDtjjd�}t|dddg�}t|�}|dk|dkB}tj||�dS)Nrorrr6r6)rrprqrr
rr)rlr�maskZex_maskrrr �test_cut_out_of_boundss
r{zget_labels,get_expectedcCs|S)Nr)rrrr �<lambda>*sr|cCs"tdgddgddg|dd�S)N�Mediumr�Small�LargeT)r4r%)r)rrrr r|+scCstjdddg|�S)Nrrr$)rr8)rrrr r|2scCs tjdgddgddg|�S)Nrrrr$)rr8)rrrr r|3scCsNddddg}dddddd	d
g}ddd
g}t||||�d�}tj|||��dS)NrrBrJrorr=r>rI�rHr~r}r)r)rrr))Z
get_labelsZget_expectedr+rlrrrrr �test_cut_pass_labels&s

r�cCsRdddddddg}dd	d
g}t|d|d�}t|dt||d
d�d�}tj||�dS)NrJrr=r>rIr�rHZGoodr}ZBadr")rT)r4r%)rrrr))rlrrrhrrr �test_cut_pass_labels_compat@s

r�rXg&@g _�BcCst|d�dS)Nr$)r)rXrrr �test_round_frac_just_worksJsr�zval,precision,expected眢#��]@�v�ݔ	�~. ?�iUMu?cCstj||d�}||kst�dS)N)rt)�tmodZ_round_fracrr)�valrtrrrrr �test_round_fracPsr�cCs�tddddddddd	g	�}t|d�}tjdd	dd
�jd�}|dd8<ttj|dd
�jdddddddddg	��jt	dd��}t
j||�dS)Nrrr$r"rrr5��)�numg����Mb�?r.)r1T)r%)rrrZlinspacer'rr&r(�astype�CDTrre)rfrZexp_binsrrrr �test_cut_return_intervals_s
r�cCsZttjd��}t|ddd�\}}ttjdddgdd	�jd��jtdd
��}t	j
||�dS)Nrr$T)r#g�~j�t�h?g�?r"r.)r1)r%g�~j�t�h�)rrrkrrr&�repeatr�r�rre)rfrr+rrrr �test_series_ret_binsnsr�z
kwargs,msg�drop)�
duplicateszBin edges must be unique�raiserZz(invalid value for 'duplicates' parameterc
Cs�ddddddg}ttjdddd	d
g�ddd
ddgd�}|dk	rhtjt|d��t||f|�WdQRXn*t||f|�}t|tj|��}t	j
||�dS)Nrr$rr5r=rr"rr��	�a�br;�d�e)�index)rO)rrrrPrQrRr�pd�uniquerre)�kwargsrSr+�valuesrrrrr �test_cut_duplicates_binys&r�g"@g�lengthcCs:t|g|�}t|ddd�}tdg|�}tj||�dS)NrF)rr)rrrre)rr�rfrrrrr �test_single_bin�sr�z#array_1_writeable,array_2_writeablecCsRtjddd�}||j_tjddd�}||j_tjd�}tjt||�t||��dS)Nrror=)rrk�flagsZ	writeablerr)r)Zarray_1_writeableZarray_2_writeableZarray_1Zarray_2Zhundred_elementsrrr �test_cut_read_only�s
r��convcCst|�S)N)r
)�vrrr r|�scCst|�S)N)r)r�rrr r|�scCs
tj|�S)N)r�
datetime64)r�rrr r|�scCst|�j�S)N)r
Z
to_pydatetime)r�rrr r|�scs�tjd�tjd�g}dddg}tttt|d�t|d��tt|d�t|d��g��jtd	d
��}�fdd�|D�}tt||d
��}t	j
||�dS)Nz
2012-12-13z
2012-12-15z
2012-12-12z
2012-12-14z
2012-12-16rrr$T)r%csg|]}�|��qSrr)�.0r�)r�rr �
<listcomp>�sz%test_datetime_bin.<locals>.<listcomp>)r+)rr�rrrr
r�r�rrre)r�rZbin_datarr+rr)r�r �test_datetime_bin�s

 r�z
2013-01-01z
2013-01-02z
2013-01-03cCsnt|ddd�\}}ttttd�td��ttd�td��ttd�td��g��jtdd��}tjt|�|�dS)	Nr"T)r#z2012-12-31 23:57:07.200000z2013-01-01 16:00:00z2013-01-02 08:00:00z2013-01-03 00:00:00)r%)	rrrrr
r�r�rre)rr�_rrrr �test_datetime_cut�sr�r+z2013-01-01 04:57:07.200000z2013-01-01 21:00:00z2013-01-02 13:00:00z2013-01-03 05:00:00�boxc
Cs�d}ttdd|d��}t|t�s(||�}t||�}ttttd|d�td|d��ttd|d�td|d��ttd|d�td	|d��g��jt	d
d��}t
j||�dS)Nz
US/Eastern�20130101r")rW�tzz2012-12-31 23:57:07.200000)r�z2013-01-01 16:00:00z2013-01-02 08:00:00z2013-01-03 00:00:00T)r%)rr�
isinstance�intrrrr
r�r�rre)r+r�r��srrrrr �test_datetime_tz_cut�s$




r�cCs<d}tjt|d�� ttddd�dddgd	�WdQRXdS)
Nz bins must be of datetime64 dtype)rOr�r")rWrr$r)r+)rPrQrRrr)rSrrr �test_datetime_nan_errorsr�cCsbttddd�tddd�d�}|jj�}tj|tjdg��|j�}tj|tjdddddg��dS)	NZ20130102r)rWr�r$)r+FT)rrr4r
rrrr)rrzrrr �test_datetime_nan_mask$s
r�r��UTCz
US/PacificcCsbttdd|d��}t|ddd�\}}t||�}tj||�tddd	g�}|j|�}tj||�dS)
NZ20180101r")rWr�r$T)r#z2017-12-31 23:57:07.200000z2018-01-02 00:00:00z2018-01-03 00:00:00)rrrrrerZtz_localizerL)r�rfr�result_binsr�
expected_binsrrr �test_datetime_cut_roundtrip0s

r�cCsVttddd��}t|ddd�\}}t||�}tj||�tddd	g�}tj||�dS)
NZ1dayr")rWr$T)r#z0 days 23:57:07.200000z2 days 00:00:00z3 days 00:00:00)rrrrrer	rL)rfrr�rr�rrr �test_timedelta_cut_roundtrip@s
r�r5r�zbox, comparecCsV|dddddgd�}|dddddgd�}t||dd�}t||dd�}|||�dS)Nrrr=FTr�)r�)r)r+r��compareZ
data_expectedZdata_resultrrrrr �test_cut_bool_coercion_to_intNs
r�cCs8td�}d}tjt|d��t|d|d�WdQRXdS)NrzJBin labels must either be False, None or passed in as a list-like argument)rOr)r)r7rPrQrRr)rr�rSrrr �test_cut_incorrect_labels`sr�rr>�include_lowestcCsbtjjdddd�jt�}tj|ddd�<ttj|dd�|||d�}t||||d�}t	j
||�dS)	Nrr=rJ)�sizer$ZInt64)r)r.r�)rrp�randintr��floatrdrr�rrr))r+r.r�r�rrrrr �test_cut_nullable_integerisr�z3data, bins, labels, expected_codes, expected_labels��rN�rFrI�A�Br�cCs0t|||dd�}tj||dd�}tj||�dS)NF)r+rr%)r4r%)rrr8rr))rr+r�expected_codes�expected_labelsrrrrr �test_cut_non_unique_labelsvs	r��CcCs0t|||dd�}tj||dd�}tj||�dS)NF)r+rr%)r4r%)rrr8rr))rr+rr�r�rrrrr �test_cut_unordered_labels�s	r�cCs:d}tjt|d��tddgdddgdd	�WdQRXdS)
Nz.'labels' must be provided if 'ordered = False')rOg�?r"rrr$F)r+r%)rPrQrRr)rSrrr �3test_cut_unordered_with_missing_labels_raises_error�sr�cCsptjdddddg�}tjddddg�}tjdd	d
g�}tj|||dd�}tjddd	d	d
gd
d�}tj||�dS)Nrr$r"rrrr5r�r�r;F)r+rr%�category)r)r�rrrre)r�r+rrrrrr �%test_cut_unordered_with_series_labels�sr�r6r6g����MbP�gj�t��?眢#��]����)r�r"r�)r�r"r�)r�r$r�)r�r$r�g"�)TT)TF)FF)]ZnumpyrrPZpandasr�rrrrrrrr	r
rrr
rrrZpandas._testingZ_testingrZpandas.api.typesrr�Zpandas.core.reshape.tile�coreZreshaperjr�r!r-r/r2r3r<rMrUrV�markZparametrize�min�maxrKrZiinforZtimedelta64rYr\r]Zeyer`rxrarirnrsrurwryr{r�r�rkr�r�r�r��dictr�r�r�r�r�r��listr�r�r�r�r�rer)Zassert_equalr�r�r�r�r�r�r�rrrr �<module>sD

	
"&0"$
 	

*	

"
	*>,@