a
    nÝEb À  ã                   @  s  U d dl mZ d dlmZ d dlmZ d dlmZ d dlZd dl	m
Z
 d dlZd dlZd dlZd dlmZmZmZmZmZmZ d dlmZ d dlmZ d d	lmZmZmZ d d
lm Z! d dl"m#Z#m$Z$ ej%eeej&gd�dd„ ƒZ'dd„ Z(dd„ Z)eegZ*de+d< edddƒgZ,de+d< e, -dd„ dD ƒ¡ G dd„ dƒZ.G dd„ dƒZ/G dd „ d ƒZ0G d!d"„ d"ƒZ1G d#d$„ d$ƒZ2G d%d&„ d&ƒZ3G d'd(„ d(ƒZ4G d)d*„ d*ƒZ5d+d,„ Z6d-d.„ Z7ej8 9d/g d0¢g d1¢fg¡d2d3„ ƒZ:d4d5„ Z;ej8 9d6g d7¢¡ej8 9d8g d9¢¡d:d;„ ƒƒZ<dS )<é    )Úannotations)Úabc)ÚDecimal)ÚcombinationsN)ÚAny)ÚIndexÚ
RangeIndexÚSeriesÚ	TimedeltaÚTimedeltaIndexÚarray)Úops)ÚFloat64IndexÚ
Int64IndexÚUInt64Index)Úexpressions)Úassert_invalid_addsub_typeÚassert_invalid_comparison)Úparamsc                 C  s   | j S )zL
    Fixture to test behavior for Index, Series and tm.to_array classes
    )Úparam)Úrequest© r   úd/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/pandas/tests/arithmetic/test_numeric.pyÚbox_pandas_1d_array&   s    r   c                 C  s8   t  t  | ¡¡ ¡ r4t  t  | ¡¡ ¡ s,J ‚|d9 }|S )z_
    Helper to adjust the expected result if we are dividing by -0.0
    as opposed to 0.0
    éÿÿÿÿ)ÚnpZsignbitr   ÚanyÚall)ÚzeroÚexpectedr   r   r   Úadjust_negative_zero.   s    r    c                 C  sˆ   |t jtjfv rt | ¡n| }|t jtjfv r8t |¡n|}|||ƒ}| ||¡}t|tƒrx|j	 
| j	¡sx|j	 d ¡|_	t ||¡ d S ©N)r   ÚrpowÚoperatorÚpowr   ÚabsÚcombineÚ
isinstancer	   ÚindexÚequalsÚ
_with_freqÚtmÚassert_series_equal)ÚseriesÚotherÚopÚleftÚrightZcython_or_numpyÚpythonr   r   r   Ú
compare_op=   s    
r3   z	list[Any]Úser_or_indexé
   é(   Úleftsc                 C  s&   g | ]}t D ]}|g d ¢|d�‘qqS ))r5   é   é   ©Údtype)r4   )Ú.0r;   Úclsr   r   r   Ú
<listcomp>N   s   þr>   )Úi1Úi2Úi4Úi8Úu1Úu2Zu4Úu8Úf2Zf4Úf8c                   @  s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚTestNumericComparisonsc                 C  s¢   t  d¡tg d¢ƒk}dtg d¢ƒk}t ||¡ tg d¢ƒt  d¡k }tg d¢ƒdk }t ||¡ t  g d¢¡d tg d¢ƒk}dtg d¢ƒk}t ||¡ d S )Nr   ©é   é   é   ç        ©r   rJ   rK   )r   Úfloat64r	   r+   r,   r   )ÚselfÚresultr   r   r   r   Ú(test_operator_series_comparison_zerorankZ   s    z?TestNumericComparisons.test_operator_series_comparison_zerorankc                 C  s.   |}t  tdƒ¡}t ||¡}t|||ƒ d S ©Né   )r   r   Úranger+   Úbox_expectedr   )rP   Úbox_with_arrayÚfixed_now_tsÚtsÚobjr   r   r   Útest_df_numeric_cmp_dt64_raisesf   s    z6TestNumericComparisons.test_df_numeric_cmp_dt64_raisesc                 C  sL   t tj d¡dd�}t tj d¡ƒ}t d¡|_t || d||  ¡ d S )NrT   r   ©Únamez
2000-01-01rJ   )	r	   r   ÚrandomÚrandnÚpdÚ	Timestampr]   r+   r,   )rP   ÚaÚbr   r   r   Útest_compare_invalidn   s    z+TestNumericComparisons.test_compare_invalidc                 C  sÀ   |}|t ur|ntj}ttj d¡ƒ}tj||dd�}|dk}ttjdt	d�ƒ}tj||dd�}t 
||¡ |dk}t 
|| ¡ d}tjt|d�� |dk  W d   ƒ n1 s²0    Y  d S )Ni † F©Z	transposerb   r:   z0Invalid comparison between dtype=float64 and str©Úmatch)r   r   Zndarrayr	   r^   r_   r+   rV   ÚzerosÚboolÚassert_equalÚpytestÚraisesÚ	TypeError)rP   rW   ÚboxZxboxrZ   rQ   r   Úmsgr   r   r   Ú$test_numeric_cmp_string_numexpr_pathv   s    z;TestNumericComparisons.test_numeric_cmp_string_numexpr_pathN)Ú__name__Ú
__module__Ú__qualname__rR   r[   rd   rp   r   r   r   r   rH   Y   s   rH   c                   @  sê  e Zd Zej dejee	g¡ejjde
dd„ d�dd„ ƒƒZej dejee	g¡ejjde
dd„ d�d	d
„ ƒƒZejjdedd�edd� ¡ edd� ¡ edd� ¡  d¡edd� ¡  d¡gdd„ d�dd„ ƒZejjdedd�edd� ¡ edd� ¡ gdd„ d�ej dejejg¡dd„ ƒƒZdd„ Zej dedd�edd� ¡ edd� ¡ edd� ¡  d¡e d¡e dd¡ej d¡ej d ¡ejd!d"d#�e d!¡e d!¡ ¡ ejd!d$d#� ¡ e d!¡ ¡ e dd%¡ejg¡d&d'„ ƒZ d(S ))Ú.TestNumericArraylikeArithmeticWithDatetimeLikeÚbox_clsr0   c                 C  s   t | ƒjt| jƒ S r!   ©Útyperq   Ústrr;   ©Úxr   r   r   Ú<lambda>“   ó    z7TestNumericArraylikeArithmeticWithDatetimeLike.<lambda>©Úidsc                 C  sl   t jg d¢dd�}||ƒ}tg d¢ƒ}t|tƒs8|tu r@t|ƒ}|| }t ||¡ || }t ||¡ d S )NrI   úm8[s]r:   )Z10sZ40sZ90s)r   r   r   r'   r	   r+   rj   )rP   r0   ru   r1   r   rQ   r   r   r   Útest_mul_td64arr‘   s    z?TestNumericArraylikeArithmeticWithDatetimeLike.test_mul_td64arrc                 C  s   t | ƒjt| jƒ S r!   rv   ry   r   r   r   r{   ¦   r|   c                 C  sÜ   t jg d¢dd�}||ƒ}tg d¢ƒ}t|tƒs8|tu r@t|ƒ}|| }t ||¡ || }t ||¡ d}tjt	|d�� ||  W d   ƒ n1 s˜0    Y  tjt	|d�� ||  W d   ƒ n1 sÎ0    Y  d S )N)r5   r6   éZ   r   r:   )Z1sZ2sZ3szCannot dividerf   )
r   r   r   r'   r	   r+   rj   rk   rl   rm   )rP   r0   ru   r1   r   rQ   ro   r   r   r   Útest_div_td64arr¤   s    &z?TestNumericArraylikeArithmeticWithDatetimeLike.test_div_td64arrÚ	scalar_tdrJ   ©Údaysztimedelta64[s]ztimedelta64[ms]c                 C  s
   t | ƒjS r!   ©rw   rq   ry   r   r   r   r{   É   r|   c           	      C  sf   |}|}t dd„ tt|ƒƒD ƒƒ}t ||¡}t ||¡}|| }t ||¡ || }t ||¡ d S )Nc                 S  s   g | ]}t |d �‘qS )r„   )r
   )r<   Únr   r   r   r>   Ï   r|   z`TestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_mul_tdscalar.<locals>.<listcomp>)r   rU   Úlenr+   rV   rj   )	rP   rƒ   Únumeric_idxrW   rn   r(   r   rQ   Zcommuter   r   r   Útest_numeric_arr_mul_tdscalarÀ   s    zLTestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_mul_tdscalarc                 C  s
   t | ƒjS r!   r†   ry   r   r   r   r{   á   r|   r;   c           
      C  s„   |}t  d¡jt jdd�}|j|dd�}tj||dd�}| d¡ d¡}tj||dd�}|| }	t |	|¡ || }	t |	|¡ d S )Ni N  F©Úcopyre   ztimedelta64[D]ztimedelta64[ns])r   ÚarangeÚastypeÚint64r+   rV   Úviewrj   )
rP   r;   rƒ   rW   rn   Zarr_i8ÚarrrZ   r   rQ   r   r   r   Ú*test_numeric_arr_mul_tdscalar_numexpr_pathÚ   s    zYTestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_mul_tdscalar_numexpr_pathc           	      C  s†   |}|dd… }t ddgƒ}t ||¡}t ||¡}|| }t ||¡ d}tjt|d�� ||  W d   ƒ n1 sx0    Y  d S )NrJ   rL   z3 Daysz36 Hoursú$cannot use operands with types dtyperf   )r   r+   rV   rj   rk   rl   rm   )	rP   Z
three_daysr‰   rW   rn   r(   r   rQ   ro   r   r   r   Útest_numeric_arr_rdiv_tdscalar÷   s    zMTestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_rdiv_tdscalarr.   é   )Úhourszm8[h]ÚNaTÚDrL   r   z
2021-01-01z
Asia/Tokyo)ÚtzÚUTCÚnsc                 C  s.   |}t  ||¡}d g d¢¡}t|||ƒ d S )Nú|)	úunsupported operand typez3Addition/subtraction of integers and integer-arrayszInstead of adding/subtractingr“   z;Concatenation operation is not implemented for NumPy arraysz+Cannot (add|subtract) NaT (to|from) ndarrayzBoperand type\(s\) all returned NotImplemented from __array_ufunc__z(can only perform ops with numeric valuesz*cannot subtract DatetimeArray from ndarray)r+   rV   Újoinr   )rP   r‰   r.   rW   rn   r0   ro   r   r   r   Ú&test_add_sub_datetimedeltalike_invalid  s    ÿzUTestNumericArraylikeArithmeticWithDatetimeLike.test_add_sub_datetimedeltalike_invalidN)!rq   rr   rs   rk   ÚmarkÚparametrizer   r   r   r	   r7   r€   r‚   r
   Zto_timedelta64Zto_pytimedeltarŽ   rŠ   r�   rO   r’   r”   Ztimedelta64r`   ÚoffsetsZMinuteZSecondra   Úto_pydatetimeZto_datetime64Z
datetime64r—   rŸ   r   r   r   r   rt   �   sh   
ÿ
ÿû÷
ýù	



ïþrt   c                   @  sö   e Z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ej 	dejejejg¡dd„ ƒZej 	dejejejg¡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+S ),ÚTestDivisionByZeroc                 C  sv   |}t tjtjtjtjtjgtjd�}t||ƒ}|| }t ||¡ t|ƒ 	d¡t 
|¡ 	d¡ }t |t|ƒ¡ d S ©Nr:   rB   ©r   r   ÚnanÚinfrO   r    r+   Úassert_index_equalr	   rŽ   r   r,   ©rP   r   r‰   Úidxr   Z	expected2rQ   Ú
ser_compatr   r   r   Útest_div_zero:  s    "
z TestDivisionByZero.test_div_zeroc                 C  sv   |}t tjtjtjtjtjgtjd�}t||ƒ}|| }t ||¡ t|ƒ 	d¡t 
|¡ 	d¡ }t |t|ƒ¡ d S r¥   r¦   rª   r   r   r   Útest_floordiv_zeroG  s    "
z%TestDivisionByZero.test_floordiv_zeroc                 C  sl   |}t tjtjtjtjtjgtjd�}|| }t ||¡ t|ƒ d¡t |¡ d¡ }t 	|t|ƒ¡ d S r¥   )
r   r   r§   rO   r+   r©   r	   rŽ   r   r,   )rP   r   r‰   r«   r   rQ   r¬   r   r   r   Útest_mod_zeroT  s    "z TestDivisionByZero.test_mod_zeroc                 C  s€   |}t tjtjtjtjtjgtjd�}t tjtjtjtjtjgtjd�}t||ƒ}t||ƒ}t |d |¡ t |d |¡ d S )Nr:   r   rJ   )	r   r   r§   r¨   rO   r    Údivmodr+   r©   )rP   r   r‰   r«   ZexleftZexrightrQ   r   r   r   Útest_divmod_zero]  s    ""

z#TestDivisionByZero.test_divmod_zeror/   c                 C  sb   t |tƒrd S |d }ttj tj tj tjtjgtjd�}t||ƒ}|||ƒ}t 	||¡ d S )NrL   r:   )
r'   r   r   r   r¨   r§   rO   r    r+   r©   )rP   r   r‰   r/   r«   r   rQ   r   r   r   Útest_div_negative_zeroh  s    
(

z)TestDivisionByZero.test_div_negative_zeroÚdtype1c           	      C  sà   |}t g d¢dd� |¡}t g d¢dd� |¡}tjdd��. t |j tj¡|j dd d	�}W d   ƒ n1 sp0    Y  tj|jd
d…< |jdkr¶|jdkr¶t	j
r¶|d
kr¶| d¡}|| }t ||¡ | || ¡rÜJ ‚d S )N©rL   é   rT   é   Úfirstr\   ©r   r   r   rL   ÚsecondÚignore©r   rO   )r;   r]   r   rL   r�   Zfloat32)r	   rŽ   r   ÚerrstateÚvaluesrO   r¨   Úilocr;   ÚexprZUSE_NUMEXPRr+   r,   r)   )	rP   Zswitch_numexpr_min_elementsr³   Úany_real_numpy_dtypeÚdtype2r·   r¹   r   rQ   r   r   r   Útest_ser_div_serw  s     ý$
z#TestDivisionByZero.test_ser_div_serc                 C  sÌ   |}t ddgƒ |¡}t ddgƒ |¡}|| || f}t|ƒ}|d  tj¡|d< tj|d d< t||ƒ}t |d |d ¡ t |d |d ¡ t|j	|ƒ}t |d |d ¡ t |d |d ¡ d S )NrJ   r   rK   )
r	   rŽ   Úlistr   rO   r¨   r°   r+   r,   r½   )rP   r³   rÀ   rÁ   r0   r1   r   rQ   r   r   r   Útest_ser_divmod_zero•  s    
z'TestDivisionByZero.test_ser_divmod_zeroc                 C  s–   t tjdgƒ}t tjdgƒ}|| || f}t||ƒ}t |d |d ¡ t |d |d ¡ t|j|ƒ}t |d |d ¡ t |d |d ¡ d S )Nç      ð?ç       @r   rJ   )r	   r   r¨   r°   r+   r,   r½   )rP   r0   r1   r   rQ   r   r   r   Útest_ser_divmod_inf¬  s    
z&TestDivisionByZero.test_ser_divmod_infc                 C  sz   t  dgd ¡}t j d¡}tdgd ƒ}|t|ƒ }t ||¡ t|ƒ| }t ||¡ t|ƒt|ƒ }t ||¡ d S )Nr   rT   rM   )r   r   r^   r_   r	   r+   r,   )rP   Z
zero_arrayÚdatar   rQ   r   r   r   Útest_rdiv_zero_compat»  s    z(TestDivisionByZero.test_rdiv_zero_compatc                 C  sB   t g d¢dd�}t tj tjtjgdd�}|d }t ||¡ d S ©N©r   r   rJ   r·   r\   r   ©r	   r   r¨   r§   r+   r,   ©rP   Úserr   rQ   r   r   r   Útest_div_zero_inf_signsÊ  s    z*TestDivisionByZero.test_div_zero_inf_signsc                 C  s<   t g d¢dd�}t dtjdgdd�}d| }t ||¡ d S )NrË   r·   r\   rM   r   )r	   r   r§   r+   r,   rÍ   r   r   r   Útest_rdiv_zeroÒ  s    z!TestDivisionByZero.test_rdiv_zeroc                 C  sB   t g d¢dd�}|d }t tj tjtjgdd�}t ||¡ d S rÊ   rÌ   )rP   rÎ   rQ   r   r   r   r   Útest_floordiv_divÚ  s    z$TestDivisionByZero.test_floordiv_divc                 C  sb   t  g d¢g d¢dœ¡}|| }tg d¢ƒ}ttjtjtjdgƒ}t  ||dœ¡}t ||¡ d S )Nr´   r¸   ©r·   r¹   ©rÅ   rÅ   rÅ   rÅ   rJ   )r`   Ú	DataFramer	   r   r§   r+   Úassert_frame_equal)rP   ÚdfrQ   r·   r¹   r   r   r   r   Útest_df_div_zero_dfâ  s    z&TestDivisionByZero.test_df_div_zero_dfc                 C  s¬   t  g d¢g d¢dœ¡}tg d¢ƒ}ttjtjtjdgƒ}t  ||dœ¡}tjdd��" |j d¡|j }W d   ƒ n1 s~0    Y  t j||j|j	d	�}t
 ||¡ d S )
Nr´   r¸   rÒ   rÓ   rJ   rº   r»   Úfloat©r(   Úcolumns)r`   rÔ   r	   r   r§   r¼   r½   rŽ   r(   rÚ   r+   rÕ   )rP   rÖ   r·   r¹   r   r‘   rQ   r   r   r   Útest_df_div_zero_arrayì  s    0z)TestDivisionByZero.test_df_div_zero_arrayc                 C  s¶   t  g d¢g d¢dœ¡}|d }t jtj|j|jd�}tj|jdd…df< t 	||¡ tj
dd	��  |j d
¡d }W d   ƒ n1 sˆ0    Y  t j||j|jd�}t 	||¡ d S )Nr´   r¸   rÒ   r   rÙ   rL   rJ   rº   r»   rO   )r`   rÔ   r   r¨   r(   rÚ   r§   r¾   r+   rÕ   r¼   r½   rŽ   ©rP   rÖ   rQ   r   r‘   Úresult2r   r   r   Útest_df_div_zero_intù  s    .z'TestDivisionByZero.test_df_div_zero_intc                 C  sJ   t  tj dd¡¡}|d }|| }|| }| d¡ | d¡¡rFJ ‚d S ©Nr5   rT   r   ©r`   rÔ   r   r^   r_   Zfillnar)   ©rP   rÖ   rÎ   ÚresZres2r   r   r   Ú(test_df_div_zero_series_does_not_commute  s
    z;TestDivisionByZero.test_df_div_zero_series_does_not_commutec                 C  sÖ   t  g d¢g d¢dœ¡}tg d¢ƒ}|s2| d¡}ttjtjtjdgƒ}t  ||dœ¡}|| }t ||¡ t jg d¢g d¢dœdd�}tg d¢d	d
�}ttjtjtjdgƒ}t  ||dœ¡}|| }t ||¡ d S )Nr´   r¸   rÒ   ©r   r   r   r   rO   r   Fr‹   r�   r:   )r`   rÔ   r	   rŽ   r   r§   r+   rÕ   )rP   Zusing_array_managerrÖ   r·   r¹   r   rQ   r   r   r   Útest_df_mod_zero_df  s    
z&TestDivisionByZero.test_df_mod_zero_dfc                 C  sÀ   t  g d¢g d¢dœ¡}tg d¢dd�}ttjtjtjdgƒ}t  ||dœ¡}tjdd	�� |j|j }W d   ƒ n1 s|0    Y  t j||j|jdd
�}tj|j	dd…df< t
 ||¡ d S )Nr´   r¸   rÒ   rä   rO   r:   r   rº   r»   )r(   rÚ   r;   rL   rJ   )r`   rÔ   r	   r   r§   r¼   r½   r(   rÚ   r¾   r+   rÕ   )rP   rÖ   r·   r¹   r   r‘   rÝ   r   r   r   Útest_df_mod_zero_array+  s    *z)TestDivisionByZero.test_df_mod_zero_arrayc                 C  s¢   t  g d¢g d¢dœ¡}|d }t jtj|j|jd�}t ||¡ tjdd��  |j	 
d¡d }W d   ƒ n1 st0    Y  t j||j|jd�}t ||¡ d S )	Nr´   r¸   rÒ   r   rÙ   rº   r»   rO   )r`   rÔ   r   r§   r(   rÚ   r+   rÕ   r¼   r½   rŽ   rÜ   r   r   r   Útest_df_mod_zero_int<  s    .z'TestDivisionByZero.test_df_mod_zero_intc                 C  sJ   t  tj dd¡¡}|d }|| }|| }| d¡ | d¡¡rFJ ‚d S rß   rà   rá   r   r   r   Ú(test_df_mod_zero_series_does_not_commuteJ  s
    z;TestDivisionByZero.test_df_mod_zero_series_does_not_commuteN)!rq   rr   rs   r­   r®   r¯   r±   rk   r    r¡   r#   ÚtruedivÚfloordivr²   r   r�   rO   Úuint64rÂ   rÄ   rÇ   rÉ   rÏ   rÐ   rÑ   r×   rÛ   rÞ   rã   rå   ræ   rç   rè   r   r   r   r   r¤   9  s.   	



r¤   c                	   @  sò   e Zd Zdd„ Zdd„ Zdd„ Zej de	j
eje	jg¡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d„ Zdd„ Zdd„ Zej d ejd!d"d#d$ejg¡d%d&„ ƒZd'd(„ Z d)d*„ Z!d+d,„ Z"d-S ).ÚTestMultiplicationDivisionc                 C  sl   |}t tdƒgƒ}t tdƒgƒ}t ||¡}t ||¡}|tdƒ }t ||¡ |tdƒ }t ||¡ d S )Nr5   rT   rK   )r	   r   r+   rV   rj   )rP   rW   rn   rÎ   r   rQ   r   r   r   Útest_divide_decimalX  s    z.TestMultiplicationDivision.test_divide_decimalc                 C  sb   t ddgdd�}t ddgdd�}t dtj gƒ}| |¡}tj||dd	� || }t ||¡ d S )
NrJ   r   r·   r\   g{®Gáz„¿g{®Gáz”¿r¹   F©Zcheck_names)r	   r   r¨   Údivr+   r,   )rP   r·   r¹   r   rQ   r   r   r   Útest_div_equiv_binoph  s    
z/TestMultiplicationDivision.test_div_equiv_binopc                 C  sH   |}|d }|  d¡}t ||¡ |d }t|jd ƒ}t ||¡ d S )NrJ   rO   rK   )rŽ   r+   r©   r   r½   )rP   r‰   r«   rQ   r   r   r   r   Útest_div_intv  s    
z'TestMultiplicationDivision.test_div_intr/   c                 C  s*   |}t  ||¡}||dƒ}t  ||¡ d S ©NrJ   )r+   rV   rj   )rP   r/   r‰   rW   r«   rQ   r   r   r   Útest_mul_int_identity€  s    
z0TestMultiplicationDivision.test_mul_int_identityc                 C  sb   |}|| }|t jddd� }t ||d ¡ t|tƒr<dnd}|t jd|d� }t ||¡ d S )NrT   r�   r:   rë   )r   r   r+   r©   r'   r   r�   )rP   r‰   r«   ÚdidxrQ   Ú	arr_dtyper   r   r   Útest_mul_int_arrayˆ  s    z-TestMultiplicationDivision.test_mul_int_arrayc                 C  sH   |}|| }t |tƒrdnd}|ttjd|d�ƒ }t |t|ƒ¡ d S )Nrë   r�   rT   r:   )r'   r   r	   r   r�   r+   r,   )rP   r‰   r«   rô   rõ   rQ   r   r   r   Útest_mul_int_series“  s
    z.TestMultiplicationDivision.test_mul_int_seriesc                 C  sB   |}t jddd�}|t|d ƒ }t||d  ƒ}t ||¡ d S )NrT   rO   r:   gš™™™™™¹?)r   r�   r	   r+   r,   )rP   r‰   r«   Zrng5rQ   r   r   r   r   Útest_mul_float_series›  s
    z0TestMultiplicationDivision.test_mul_float_seriesc                 C  s    |}|| }t  ||d ¡ d S ©NrK   )r+   r©   )rP   r‰   r«   rQ   r   r   r   Útest_mul_index£  s    z)TestMultiplicationDivision.test_mul_indexc                 C  sL   |}d}t jt|d��" |tjddd�  W d   ƒ n1 s>0    Y  d S )Nz,cannot perform __rmul__ with this index typerf   Ú20130101rT   ©Zperiods)rk   rl   rm   r`   Ú
date_range©rP   r‰   r«   ro   r   r   r   Útest_mul_datelike_raises©  s    z3TestMultiplicationDivision.test_mul_datelike_raisesc                 C  sŠ   |}d}t jt|d��  ||dd…   W d   ƒ n1 s<0    Y  t jt|d��" |t ddg¡  W d   ƒ n1 s|0    Y  d S )Nz(operands could not be broadcast togetherrf   r   rL   rJ   rK   )rk   rl   Ú
ValueErrorr   r   rþ   r   r   r   Útest_mul_size_mismatch_raises¯  s    .z8TestMultiplicationDivision.test_mul_size_mismatch_raisesc                 C  sJ   |}|}t ||jdƒƒ}t ||¡}t ||¡}||dƒ}t ||¡ d S )NrÆ   )r   r½   r+   rV   rj   )rP   r/   r‰   rW   rn   r«   r   rQ   r   r   r   Útest_pow_float·  s    
z)TestMultiplicationDivision.test_pow_floatc                 C  sF   |}|}t |jd ƒ}t ||¡}t ||¡}|d }t ||¡ d S rù   )r   r½   r+   rV   rj   )rP   r‰   rW   rn   r«   r   rQ   r   r   r   Útest_moduloÄ  s    z&TestMultiplicationDivision.test_moduloc           	      C  s~   |}t |dƒ}tjdd��  t |jdƒ\}}W d   ƒ n1 s@0    Y  t|ƒt|ƒf}t||ƒD ]\}}t ||¡ qdd S )NrK   rº   r»   )r°   r   r¼   r½   r   Úzipr+   r©   )	rP   r‰   r«   rQ   rï   Úmodr   ÚrÚer   r   r   Útest_divmod_scalarÐ  s    
.z-TestMultiplicationDivision.test_divmod_scalarc           
      C  s˜   |}t j|jj|jjd�d }t||ƒ}t jdd��  t|j|ƒ\}}W d   ƒ n1 sZ0    Y  t|ƒt|ƒf}t||ƒD ]\}}	t	 
||	¡ q~d S ©Nr:   rK   rº   r»   )r   Úonesr½   Úshaper;   r°   r¼   r   r  r+   r©   ©
rP   r‰   r«   r.   rQ   rï   r  r   r  r  r   r   r   Útest_divmod_ndarrayÛ  s    
.z.TestMultiplicationDivision.test_divmod_ndarrayc           
      C  sœ   |}t j|jj|jjd�d }t|t|ƒƒ}t jdd��  t|j|ƒ\}}W d   ƒ n1 s^0    Y  t|ƒt|ƒf}t||ƒD ]\}}	t	 
||	¡ q‚d S r	  )r   r
  r½   r  r;   r°   r	   r¼   r  r+   r,   r  r   r   r   Útest_divmod_seriesç  s    .z-TestMultiplicationDivision.test_divmod_seriesr.   é   iéÿÿÿgX9´Èv¾@g…ëQ¸	Àc                 C  sš   t j dd¡}dd„ }||ƒ}t |t  |¡ ||| ƒ¡ t t  |¡| ||| ƒ¡ t |t  |¡ ||| ƒ¡ t t  |¡| ||| ƒ¡ d S )NrT   rL   c                 S  s   t j| tdƒg d¢d�S )NZABCDE)ZjimZjoeZjolierÙ   )r`   rÔ   rÃ   ry   r   r   r   r{   ö  s   ÿz?TestMultiplicationDivision.test_ops_np_scalar.<locals>.<lambda>)r   r^   r_   r+   rÕ   r   )rP   r.   ÚvalsÚfrÖ   r   r   r   Útest_ops_np_scalaró  s    z-TestMultiplicationDivision.test_ops_np_scalarc                 C  s�   t  ¡ }d|_t d|i¡}t j|| ||d  dd� t j|| ||d  dd� t j||k ||d k dd� t j|| ||d  dd� d S )NrY   ÚAFrî   )r+   ÚmakeTimeSeriesr]   r`   rÔ   r,   )rP   rY   rÖ   r   r   r   Útest_operators_frame  s    z/TestMultiplicationDivision.test_operators_framec                 C  s6  t jdd��� t g d¢g d¢dœ¡}|d |d  }t|d j|d j dd	�}t j|jd
d…< t 	||¡ |d d
 }tt j|j
dd�}t 	||¡ | d¡}|d |d  }t|d j|d j ƒ}t 	||¡ | d¡}|d |d  }|d |d  }| |¡�rJ ‚W d   ƒ n1 �s(0    Y  d S )Nrº   r»   r´   r¸   rÒ   r·   r¹   rO   r:   r   rL   ©r(   r]   )r   r¼   r`   rÔ   r	   r½   r§   r¾   r+   r,   r(   rŽ   r)   )rP   ÚprQ   r   rÝ   r   r   r   Útest_modulo2  s"    

z'TestMultiplicationDivision.test_modulo2c                 C  s‚   t jdd��b tddgƒ}|d }tt jt jgƒ}t ||¡ d| }tt jdgƒ}t ||¡ W d   ƒ n1 st0    Y  d S )Nrº   r»   r   rJ   rM   )r   r¼   r	   r§   r+   r,   )rP   ÚsrQ   r   r   r   r   Útest_modulo_zero_int(  s    z/TestMultiplicationDivision.test_modulo_zero_intN)#rq   rr   rs   rí   rð   rñ   rk   r    r¡   r#   Úmulr   Zrmulrê   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ì   T  s,   



rì   c                   @  s  e Zd Zej deg d¢edƒdd�eg d¢edƒdd�edd	ej	ej	ged
ƒdd�feg d¢edƒdd�eg d¢ed
ƒdd�edddej	ged
ƒdd�fg¡dd„ ƒZ
ej dejdg d¢iedƒd�ejdg d¢iedƒd�ejddd	ej	ej	gied
ƒd�fejdg d¢iedƒd�ejdg d¢ied
ƒd�ejddddej	gied
ƒd�fg¡dd„ ƒZdd„ Zdd„ Zdd„ Zejjddd„ dd„ dd„ gg d¢d �d!d"„ ƒZejjdd#d„ d$d„ gd%d&gd �d'd(„ ƒZejjdd)d„ d*d„ d+d„ gg d¢d �d,d-„ ƒZd.d/„ Zd0S )1ÚTestAdditionSubtractionzfirst, second, expectedrI   ÚABCrz   r  )rK   rK   rK   ZABDç      @ç      @ÚABCD)rK   rK   rK   rK   rL   rµ   rT   c                 C  s$   t  || |¡ t  || |¡ d S r!   )r+   r,   ©rP   r·   r¹   r   r   r   r   Útest_add_series:  s    z'TestAdditionSubtraction.test_add_series©r(   c                 C  s$   t  || |¡ t  || |¡ d S r!   )r+   rÕ   r!  r   r   r   Útest_add_framesN  s    z'TestAdditionSubtraction.test_add_framesc           	      C  s   t t dd¡ƒ}d| }| dd„ ¡}t ||¡ t d|i¡}d| }t d| dd„ ¡i¡}t ||¡ t ¡ }d|_	| 
¡ }d	 d
dg¡}tjt|d�� ||  W d   ƒ n1 s¼0    Y  tjt|d�� ||  W d   ƒ n1 sò0    Y  d S )NrT   r5   Úfoo_c                 S  s   d|  S ©Nr%  r   ry   r   r   r   r{   g  r|   zDTestAdditionSubtraction.test_series_frame_radd_bug.<locals>.<lambda>r  c                 S  s   d|  S r&  r   ry   r   r   r   r{   l  r|   rY   rœ   r�   zConcatenation operationrf   )r	   r+   Zrands_arrayÚmapr,   r`   rÔ   rÕ   r  r]   r£   rž   rk   rl   rm   )	rP   rX   r  rQ   r   ÚframerY   Zfix_nowro   r   r   r   Útest_series_frame_radd_bugc  s(    ýÿ&z2TestAdditionSubtraction.test_series_frame_radd_bugc                 C  s,  t tj d¡ƒ}||j ¡  }||j }t ||¡ t tj	ddd�tj	ddd�d�}||j ¡  }||j }t ||¡ d}t
jt|d�� ||j ¡  }W d   ƒ n1 s®0    Y  tjtj dd¡tj	ddd�d�}t d¡|d	< |d	 |j ¡  |d
< |d	 |j |d< tj|d |d
 dd� d S )NrT   rû   rü   r#  zcannot subtract periodrf   rK   Z20130102Údater   rQ   Frî   )r	   r   r^   r_   r(   Z	to_seriesr+   r,   r`   rý   rk   rl   rm   Z	to_periodrÔ   ra   )rP   rÎ   r   rQ   ro   rÖ   r   r   r   Útest_datetime64_with_index‚  s*    
þ
,ÿz2TestAdditionSubtraction.test_datetime64_with_indexc              	   C  s¸  |}t j|g d¢d�}tj d¡}t|t |j¡d�}|| }|| }| ¡ D ]P\}}	|	 ¡ D ]>\}
}|| |
 d }t |¡sŽ||ksœJ ‚q^t |¡s^J ‚q^qN| ¡ D ]T\}}	|	 ¡ D ]B\}
}|| |
 ||  }t |¡sì||ksúJ ‚q¸t |¡s¸J ‚q¸q¨|| }|d }t	 
||¡ t  dg d¢i¡}t	 
|| t  ddtjd	gi¡¡ d
D ]`}t j|d�t jdg|d�t jdg|d�g}|D ]*}||  |¡�sœJ ‚t	 
|| |¡ �q„�qRd S )N)r˜   ÚCÚBr  )rÚ   rµ   r#  rK   rb   )rb   Nrc   ZaaZbb)rØ   r�   r:   r  )rÚ   r;   r   ©r(   r;   )r`   rÔ   r   r^   r	   r   rÚ   ÚitemsÚisnanr+   rÕ   r§   r)   )rP   Zfloat_framer(  Zframe2ÚgarbageZ	colSeriesZidSumZ	seriesSumÚcolr-   r«   ÚvalZorigValÚaddedr   rÖ   r;   Úframesr   r   r   Útest_frame_operators¡  s>    

"
ýz,TestAdditionSubtraction.test_frame_operatorsÚfuncc                 C  s   | d S rù   r   ry   r   r   r   r{   Ï  r|   z TestAdditionSubtraction.<lambda>c                 C  s   | d d d… S rù   r   ry   r   r   r   r{   Ï  r|   c                 C  s   dS rS   r   ry   r   r   r   r{   Ï  r|   )ÚmultiplyÚsliceÚconstantr}   c                 C  s*   |}t  ¡  d¡}||ƒ}t|||ƒ d S ©NrY   ©r+   r  Úrenamer3   )rP   Zall_arithmetic_functionsr7  r/   r-   r.   r   r   r   Ú test_series_operators_arithmeticÍ  s    z8TestAdditionSubtraction.test_series_operators_arithmeticc                 C  s   | d S rò   r   ry   r   r   r   r{   Ù  r|   c                 C  s   dS rS   r   ry   r   r   r   r{   Ù  r|   Úaddr:  c                 C  s*   |}t  ¡  d¡}||ƒ}t|||ƒ d S r;  r<  )rP   Zcomparison_opr7  r/   r-   r.   r   r   r   Útest_series_operators_compareØ  s    z5TestAdditionSubtraction.test_series_operators_comparec                 C  s   | d S rù   r   ry   r   r   r   r{   ã  r|   c                 C  s   | d d d… S rù   r   ry   r   r   r   r{   ã  r|   c                 C  s   dS rS   r   ry   r   r   r   r{   ã  r|   c           
      C  sþ   t  ¡  d¡}||ƒ}t||ƒ}t|tjƒrbt|ƒt|ƒkrbg }|D ]}| |¡ | t	j
¡ qDn|}t	 |¡}t	jdd��" t|jt	 |¡ƒ}W d   ƒ n1 s¤0    Y  t||ƒD ]@\}}	t  t	 |¡|	¡ |j|jksâJ ‚t  |j|j d ¡¡ q¸d S )NrY   rº   r»   )r+   r  r=  r°   r'   r   ÚIterablerˆ   Úappendr   r§   Zasarrayr¼   r½   r  Zassert_almost_equalr]   r©   r(   r*   )
rP   r7  r-   r.   ÚresultsZother_npr‡   Ú	expectedsrQ   r   r   r   r   Útest_divmodá  s     


0z#TestAdditionSubtraction.test_divmodc                 C  s|   t  ¡  d¡}|d }t||ƒ}ttjgt|ƒ |jdd�}ttj	gt|ƒ |jdd�}t  
|d |¡ t  
|d |¡ d S )NrY   r   r  rJ   )r+   r  r=  r°   r	   r   r¨   rˆ   r(   r§   r,   )rP   Ztserr.   rQ   Úexp1Úexp2r   r   r   Útest_series_divmod_zeroþ  s    
z/TestAdditionSubtraction.test_series_divmod_zeroN)rq   rr   rs   rk   r    r¡   r	   rÃ   r   r§   r"  r`   rÔ   r$  r)  r+  r6  r>  r@  rE  rH  r   r   r   r   r  6  s\   ýýúþ
 ýýúþ
,ý
ÿ
ý
r  c                   @  sp   e Zd Zej deeee	e
g¡dd„ ƒZej deeee
g¡dd„ ƒZej deeee
g¡dd„ ƒZdd	„ Zd
S )ÚTestUFuncCompatÚholderc                 C  st   |t u rt nt}|tu r(tdddd�}n|tjddd�dd�}t |¡}|t tjddd�¡dd�}t ||¡ d S )Nr   rT   Úfoor\   r�   r:   )r	   r   r   r   r�   Úsinr+   rj   )rP   rJ  rn   r«   rQ   r   r   r   r   Útest_ufunc_compat  s    
z!TestUFuncCompat.test_ufunc_compatc                 C  sò  |g d¢dd�}|t u rt nt}t |¡}|jdkr>t||ƒsBJ ‚tt t g d¢¡¡dd�}t 	||¡}t 
||¡ t |d¡}|jdkr–t||ƒsšJ ‚tg d¢dd�}t 	||¡}t 
||¡ |d }|jdkrÞt||ƒsâJ ‚tg d¢dd�}t 	||¡}t 
||¡ |d }|jdk�r*t||ƒ�s.J ‚tg d¢dd�}t 	||¡}t 
||¡ |d	 }|jdk�rvt||ƒ�szJ ‚tg d
¢dd�}t 	||¡}t 
||¡ |d }|jdk�rÂt||ƒ�sÆJ ‚tg d¢dd�}t 	||¡}t 
||¡ d S )N)rJ   rK   rL   rµ   rT   rz   r\   rG   rÆ   )g      à?rÅ   g      ø?rÆ   g      @)r  r  ç      @g      @g      @)g      ð¿rM   rÅ   rÆ   r  rÅ   )rÅ   rÆ   r  r  rN  )r	   r   r   Úsqrtr;   r'   r   r   r+   rV   rj   Údivide)rP   rJ  r«   rn   rQ   Úexpr   r   r   Útest_ufunc_coercions   s@    
z$TestUFuncCompat.test_ufunc_coercionsc                 C  sŒ   |g d¢dd�}|t u rt nt}t |¡}t|tƒs8J ‚tg d¢dd�}tg d¢dd�}t |d t 	||¡¡ t |d t 	||¡¡ d S )NrI   rz   r\   )rM   rM   rM   )rÅ   rÆ   r  r   rJ   )
r	   r   r   Úmodfr'   Útupler   r+   rj   rV   )rP   rJ  rZ   rn   rQ   rF  rG  r   r   r   Ú!test_ufunc_multiple_return_valuesJ  s    
z1TestUFuncCompat.test_ufunc_multiple_return_valuesc                 C  sP   t g d¢g d¢dd�}tj |ddgd¡ t g d¢g d¢dd�}t ||¡ d S )	NrN   rI   rz   r  r   rK   r5   )r5   rJ   é   )r	   r   r?  Úatr+   r,   )rP   r  r   r   r   r   Útest_ufunc_atV  s    zTestUFuncCompat.test_ufunc_atN)rq   rr   rs   rk   r    r¡   r   r   r   r   r	   rM  rR  rU  rX  r   r   r   r   rI    s   þ

)
rI  c                   @  sj   e Zd Zej ddeg¡dd„ ƒZej ddeg¡dd„ ƒZej de	j
e	je	je	je	jg¡dd	„ ƒZdS )
ÚTestObjectDtypeEquivalencer;   Nc                 C  st   |}t g d¢|d�}t tjtjtjg|d�}t ||¡}t ||¡}tj| }t ||¡ |tj }t ||¡ d S )NrI   r:   )r	   r   r§   r+   rV   rj   ©rP   r;   rW   rn   rÎ   r   rQ   r   r   r   Útest_numarr_with_dtype_add_nan`  s    

z9TestObjectDtypeEquivalence.test_numarr_with_dtype_add_nanc                 C  sh   |}t g d¢|d�}t g d¢|d�}t ||¡}t ||¡}d| }t ||¡ |d }t ||¡ d S )NrI   r:   )rK   rL   rµ   rJ   )r	   r+   rV   rj   rZ  r   r   r   Útest_numarr_with_dtype_add_into  s    z9TestObjectDtypeEquivalence.test_numarr_with_dtype_add_intr/   c                 C  sL   t tj d¡t d¡td�}|d|ƒ}|d| t¡ƒ}t 	| t¡|¡ d S )Nr5   r.  rÅ   )
r	   r   r^   r_   r�   ÚobjectrŽ   rØ   r+   r,   )rP   r/   r‘   rQ   r   r   r   r   Útest_operators_reverse_object  s    
z8TestObjectDtypeEquivalence.test_operators_reverse_object)rq   rr   rs   rk   r    r¡   r]  r[  r\  r#   r?  Úsubr  ré   rê   r^  r   r   r   r   rY  ]  s   

þrY  c                
   @  sŽ   e Zd Zdd„ Zdd„ Zdd„ Zej de	j
e	je	je	je	je	je	jg¡dd	„ ƒZd
d„ Zej dejejg¡ej dg d¢¡dd„ ƒƒZdS )ÚTestNumericArithmeticUnsortedc                 C  sž   |D ]”}t |dƒD ]H\}}| d¡}| d¡}|||ƒ}|t|ƒt|ƒƒ}tj||dd� q|D ]6}	|D ],}
||	|
ƒ}|t|	ƒ|
ƒ}tj||dd� qhq`qd S )NrK   rK  ÚbarÚequiv©Úexact)r   Z_renamer   r+   r©   )rP   r   ÚscalarsÚidxsr/   rb   rc   rQ   r   r«   Zscalarr   r   r   Úcheck_binop�  s    



z)TestNumericArithmeticUnsorted.check_binopc                 C  s^   t jt jt jt jt jg}g d¢}tdddƒtdddƒtdddƒtdd	d
ƒg}|  |||¡ d S )N)r   rJ   rK   r   r5   rJ   r8   rK   éöÿÿÿrT   éûÿÿÿr   )r#   r?  r_  r  rê   ré   r   rg  ©rP   r   re  rf  r   r   r   Útest_binopsž  s    û



üz)TestNumericArithmeticUnsorted.test_binopsc                 C  s8   t g}ddg}tdddƒtdddƒg}|  |||¡ d S )NrJ   rK   r   r5   r8   )r$   r   rg  rj  r   r   r   Útest_binops_pow¯  s    z-TestNumericArithmeticUnsorted.test_binops_powr/   c                 C  s~   t dƒ}ttj d¡ƒ}|t|ƒ|ƒ}|||ƒ}t ||¡ t tj dd¡¡}|t ||g¡|ƒ}|||ƒ}t 	||¡ d S )NrT   rK   )
r   r	   r   r^   r_   r+   r,   r`   rÔ   rÕ   )rP   r/   r(   r.   r   rQ   r   r   r   Ú$test_arithmetic_with_frame_or_series¸  s    

zBTestNumericArithmeticUnsorted.test_arithmetic_with_frame_or_seriesc                 C  s<  t dddƒ}|d }t dddƒ}tj||dd� |d }t dddƒ}tj||dd� |d }t d	d
dƒ}tj||dd� |d }t dddƒ d¡}tj||dd� |d }t dddƒd }tj||dd� |d }|}tj||dd� || }t|j|j ƒ}tj||dd� t dddƒ}|d }t|jƒd }tjt|jƒ|dd� t dddƒdt dddƒft dddƒdt dddƒft dddƒdtt dddƒjƒd ft dddƒdtt dddƒjƒd ft dƒdt dƒft dddƒdt dddƒft dddƒdt d	ddƒft dddƒdt dƒfg}|D ] \}}}tj|| |dd� �qd S )Nr   r5   rK   r8   rµ   Trc  rV  éþÿÿÿr¶   rT   rJ   rO   iè  iô  i�ÿÿÿi7ÿÿÿéýÿÿÿé!   éC   éd   rÆ   é2   rL   ri  rh  iúÿÿÿr   iœÿÿÿi8ÿÿÿ)r   r+   r©   rŽ   r   r½   r   Z_values)rP   r«   rQ   r   Zcases_exactrï   r   r   r   Útest_numeric_compat2Ó  sV    
ý
ýðz2TestNumericArithmeticUnsorted.test_numeric_compat2r;   Údelta)rJ   r   r   c                 C  sž   ||ƒ}t g d¢|d�}|| }t |j| |d�}t ||¡ || }t |j| |d�}t ||¡ t || d| ¡ t || d| ¡ || jršJ ‚d S )N)r5   é   rV  r:   rK   r   )r   r½   r+   r©   Úempty)rP   r;   ru  r(   rQ   r   r   r   r   Útest_addsub_arithmetic  s    z4TestNumericArithmeticUnsorted.test_addsub_arithmeticN)rq   rr   rs   rg  rk  rl  rk   r    r¡   r#   r?  r_  r  rê   ré   r$   r  rm  rt  r   r�   rO   rx  r   r   r   r   r`  Œ  s&   	ùþ
?r`  c                  C  sv   t  g d¢g d¢dœ¡} t jdg d¢ig d¢d�}| j|dd	�}t  tjd
dd
gdtjdtjgdœ¡}t ||¡ d S )NrN   )çš™™™™™ñ?Nry  )r  r-  r  )ry  g333333ó?gÍÌÌÌÌÌô?)r   rK   rL   r#  rJ   ©Z
fill_valuerÅ   rM   )r`   rÔ   Z	rfloordivr   r¨   r§   r+   rÕ   )rÖ   r.   rQ   r   r   r   r   Útest_fill_value_inf_masking&  s    ÿr{  c                  C  s¤   t jt d¡tjddddgd tjgd t d¡dœtdƒtdƒd	�} t jtj dd¡td
ƒtdƒd	�}t 	d ¡� | j
|dd� W d   ƒ n1 s–0    Y  d S )Nr5   rJ   rK   rL   rµ   )r  r-  r,  r˜   Z
abcdefghijr   rÙ   Z
abcdefghjkZABCXr   rz  )r`   rÔ   r   r�   r§   rÃ   r^   r_   r+   Zassert_produces_warningrï   )Zpdf1Zpdf2r   r   r   Útest_dataframe_div_silenced4  s    
üø
ÿr|  zdata, expected_datarN   )r   rK   rµ   c           
      C  s|   t |dd�}| |ƒ}|||ƒ }||ƒ| }t|| fv r>t}nt|| fv rPt}nt }||dd�}	t ||	¡ t ||	¡ d S )NZInt64r:   )r   r	   r   r+   rj   )
r   Zbox_1d_arrayrÈ   Zexpected_datar‘   Ú	containerr0   r1   r=   r   r   r   r   Ú test_integer_array_add_list_likeG  s    r~  c                  C  s€   t jdtj d¡it jjddgg d¢gddgd�d�} |  ¡ }|j 	d	d
¡|_| | }t jdgd dg| jd�}t
 ||¡ d S )Nrb   é   rc   rN   ZlevAZlevB)Únamesr#  r   rJ   rM   )rÚ   r(   )r`   rÔ   r   r^   r_   Z
MultiIndexZfrom_productrŒ   r(   Z	swaplevelr+   rÕ   )rÖ   Zdf2rQ   r   r   r   r   Ú"test_sub_multiindex_swapped_levelsa  s    ÿþr�  Úpower)rJ   rK   rT   Ústring_size)r   rJ   rK   rT   c                 C  sX   t  td|  ƒ¡}tj|t jd�}d| }||k}t t j|jtd�¡}t	 
||¡ d S )Nr5   r:   ú )r   r   rU   r`   rÔ   r�   rh   r  ri   r+   rÕ   )r‚  rƒ  rb   r1   r0   rQ   r   r   r   r   Útest_empty_str_comparisonp  s    r…  )=Ú
__future__r   Úcollectionsr   Údecimalr   Ú	itertoolsr   r#   Útypingr   Únumpyr   rk   Zpandasr`   r   r   r	   r
   r   r   Zpandas._testingZ_testingr+   Zpandas.corer   Zpandas.core.apir   r   r   Zpandas.core.computationr   r¿   Zpandas.tests.arithmetic.commonr   r   ZfixtureZto_arrayr   r    r3   r4   Ú__annotations__r7   ÚextendrH   rt   r¤   rì   r  rI  rY  r`  r{  r|  r    r¡   r~  r�  r…  r   r   r   r   Ú<module>   sd    
þÿ7 *   c [M/ þ
