a
    é´«j ã                   @   sL  d dl mZ d dlmZmZ d dlmZ d dlZd dlZd dlZd dl	Z
d dlZd dlmZ d dlm  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 d dlmZm Z  ej!d	d
„ ƒZ"ej!dd dgddgd�dd„ ƒZ#G dd„ dƒZ$G dd„ dƒZ%G dd„ dƒZ&G dd„ dƒZ'G dd„ dƒZ(dd„ Z)dd„ Z*d d!„ Z+G d"d#„ d#ƒZ,d$d%„ Z-d&d'„ Z.d(d)„ Z/ej0 1d*ed+d,gd-d.gge2d/ƒd0�d1fed+d2gd-d2gge2d/ƒd0� 3d2e4i¡d3fg¡d4d5„ ƒZ5d6d7„ Z6ej0 1d8ed9d9gƒged9d9gƒed9d9gƒgg¡d:d;„ ƒZ7d<d=„ Z8d>d?„ Z9d@dA„ Z:dBdC„ Z;ej0 <dD¡dEdF„ ƒZ=dGdH„ Z>dIdJ„ Z?dS )Ké    )Údeque)ÚdatetimeÚtimezone)ÚEnumN)ÚHAS_PYARROW)Ú	DataFrameÚIndexÚ
MultiIndexÚSeries)Úexpressions)Ú_check_mixed_floatÚ_check_mixed_intc                  C   s2   t  g d¢g d¢g d¢g¡} t| g d¢g d¢d�S )zË
    Fixture for simple 3x3 DataFrame

    Columns are ['one', 'two', 'three'], index is ['a', 'b', 'c'].

       one  two  three
    a  1.0  2.0    3.0
    b  4.0  5.0    6.0
    c  7.0  8.0    9.0
    ©ç      ð?ç       @ç      @)ç      @ç      @g      @)g      @g       @g      "@©ÚoneÚtwoÚthree©ÚaÚbÚc©ÚcolumnsÚindex)ÚnpÚarrayr   )Úarr© r"   úa/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/frame/test_arithmetic.pyÚsimple_frame    s    r$   Téd   ZnumexprÚpython)ZautouseÚparamsÚidsc                 c   sD   |  ¡ �(}| td| j¡ | jV  W d   ƒ n1 s60    Y  d S )NZ_MIN_ELEMENTS)ÚcontextÚsetattrÚexprÚparam)ÚrequestZmonkeypatchÚmr"   r"   r#   Úswitch_numexpr_min_elements1   s    
r/   c                   @   s\   e Zd Zddœdd„Zddd„Zedœdd„Zedœd	d
„Zddd„Zdd„ Z	ddd„Z
dS )ÚDummyElementN©Úreturnc                 C   s   || _ t |¡| _d S ©N)Úvaluer   Údtype)Úselfr4   r5   r"   r"   r#   Ú__init__9   s    zDummyElement.__init__c                 C   s   t j| j| jd�S )N©r5   )r   r    r4   r5   ©r6   r5   Úcopyr"   r"   r#   Ú	__array__=   s    zDummyElement.__array__c                 C   s   d| j › d| j› d�S )NzDummyElement(z, ú))r4   r5   ©r6   r"   r"   r#   Ú__str__@   s    zDummyElement.__str__c                 C   s   t | ƒS r3   )Ústrr=   r"   r"   r#   Ú__repr__C   s    zDummyElement.__repr__Fc                 C   s
   || _ | S r3   r8   r9   r"   r"   r#   ÚastypeF   s    zDummyElement.astypec                 C   s   t | ƒ| j |¡|ƒS r3   )Útyper4   Úview)r6   r5   r"   r"   r#   rC   J   s    zDummyElement.viewc                 C   s
   t | jƒS r3   )Úboolr4   )r6   Úaxisr"   r"   r#   ÚanyM   s    zDummyElement.any)NN)F)N)Ú__name__Ú
__module__Ú__qualname__r7   r;   r?   r>   r@   rA   rC   rF   r"   r"   r"   r#   r0   8   s   

r0   c                   @   sœ  e Zd Zdd„ Zdd„ Zej dej	 
d¡jddd�ejd	dd
�dœej	 
d¡jddd�ej	 
d¡jddd�dœgej	 
d¡jddd�ej	 
d¡jddd�dœej	 
d¡jddd�ejd	dd
�dœgejd	dd
�ejd	dd
�dœej	 
d¡jddd�ej	 
d¡jddd�dœgej	 
d¡jddd�ejd	dd
�dœejd	dd
�ejd	dd
�dœgg¡dd„ ƒZej dg d¢¡dd„ ƒZdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚTestFrameComparisonsc                 C   s^   t dg d¢iƒ}t dg d¢iƒ}|dk}t ||¡ |d  d¡|d< |dk}t ||¡ d S )NÚA)ÚfooÚbarÚbaz)TFFrL   Úcategory)r   ÚtmÚassert_frame_equalrA   )r6   ÚdfÚexpÚresr"   r"   r#   Ú&test_comparison_with_categorical_dtypeX   s    z;TestFrameComparisons.test_comparison_with_categorical_dtypec                 C   s\   t tj d¡ d¡tdƒd�}d}tjt|d�� |dv  W d   ƒ n1 sN0    Y  d S )Né   )é   é   ÚABCD©r   z+The truth value of a DataFrame is ambiguous©Úmatchr3   )	r   r   ÚrandomÚdefault_rngÚstandard_normalÚlistÚpytestÚraisesÚ
ValueError)r6   rR   Úmsgr"   r"   r#   Útest_frame_in_listg   s    ÿz'TestFrameComparisons.test_frame_in_listz	arg, arg2rV   é
   ©ÚsizeÚ20010101©Úperiods©r   r   c                    sr  t |ƒ‰ t |ƒ‰ˆ ˆk}t ‡ ‡fdd„ˆ jD ƒˆ jˆ jd�}t ||¡ ˆ ˆk}t ‡ ‡fdd„ˆ jD ƒˆ jˆ jd�}t ||¡ g d¢}d |¡}tjt|d�� ˆ ˆk W d   ƒ n1 s¾0    Y  tjt|d�� ˆ ˆk W d   ƒ n1 sô0    Y  tjt|d�� ˆ ˆk  W d   ƒ n1 �s,0    Y  tjt|d�� ˆ ˆk W d   ƒ n1 �sd0    Y  d S )Nc                    s   i | ]}|ˆ | ˆ| k“qS r"   r"   ©Ú.0Úcol©ÚxÚyr"   r#   Ú
<dictcomp>¦   ó    z@TestFrameComparisons.test_comparison_invalid.<locals>.<dictcomp>©r   r   c                    s   i | ]}|ˆ | ˆ| k“qS r"   r"   rm   rp   r"   r#   rs   ®   rt   )z=Invalid comparison between dtype=datetime64\[ns\] and ndarrayzinvalid type promotionzbThe DTypes <class 'numpy.dtype\[.*\]'> and <class 'numpy.dtype\[.*\]'> do not have a common DType.ú|r[   )	r   r   r   rP   rQ   Újoinra   rb   Ú	TypeError)r6   ÚargZarg2ÚresultÚexpectedZmsgsrd   r"   rp   r#   Útest_comparison_invalidp   s4    0ýý	
&&(z,TestFrameComparisons.test_comparison_invalidzleft, right))ÚgtÚlt)r~   r}   )ÚgeÚle)r€   r   )Úeqr�   )Úner‚   c           	      C   s  t tjddd�tjddd�tj d¡jddd�tj d¡ d¡dd	„ tdƒD ƒd
œƒ}tj	|j
tj d¡ t|ƒ¡dkdf< tt|ƒ}tt|ƒ}|dv rÆ||t d¡ƒ}|t d¡|ƒ}t ||¡ n‚d}tjt|d��  ||t d¡ƒ W d   ƒ n1 sþ0    Y  tjt|d��  |t d¡|ƒ W d   ƒ n1 �s>0    Y  |dv �r€||t d¡ƒ}|t d¡|ƒ}t ||¡ n„d}tjt|d��  ||t d¡ƒ W d   ƒ n1 �sº0    Y  tjt|d��  |t d¡|ƒ W d   ƒ n1 �sú0    Y  d S )Nri   rf   rj   Z20010102rV   i Êš;rg   c                 S   s   g | ]}t d | ƒ‘qS )r%   )Úchr©rn   Úir"   r"   r#   Ú
<listcomp>Û   rt   z?TestFrameComparisons.test_timestamp_compare.<locals>.<listcomp>)Zdates1Údates2ZintcolZfloatcolZ	stringcolg      à?r‡   )r�   r‚   Z20010109zL'(<|>)=?' not supported between instances of 'numpy.ndarray' and 'Timestamp'r[   ZnatzJ'(<|>)=?' not supported between instances of 'numpy.ndarray' and 'NaTType')r   ÚpdÚ
date_ranger   r]   r^   Úintegersr_   ÚrangeÚNaTÚlocÚlenÚgetattrÚoperatorÚ	TimestamprP   rQ   ra   rb   rx   )	r6   ÚleftÚrightrR   Zleft_fZright_fr{   rz   rd   r"   r"   r#   Útest_timestamp_compareÇ   s>    ûÿ	&

ÿ.0
ÿ0z+TestFrameComparisons.test_timestamp_comparec                 C   s\   t ddgddggƒ}t ddgddggƒ}||k}| ¡  ¡ r@J ‚||k}| ¡  ¡ sXJ ‚d S )Nz
1989-08-01é   rV   r   r   r   Úd)r   rF   Úall)r6   rR   Úotherrz   r"   r"   r#   Útest_mixed_comparisonÿ   s    z*TestFrameComparisons.test_mixed_comparisonc                 C   s^   t t d¡ d¡ƒ}t ddgddgddggƒ}|dk}t ||¡ |ddgk}t ||¡ d S )NrW   ©é   rV   FT©rV   rV   rV   )r   r   ÚarangeÚreshaperP   rQ   )r6   rR   r{   rz   r"   r"   r#   Ú test_df_boolean_comparison_error  s    z5TestFrameComparisons.test_df_boolean_comparison_errorc                 C   sB   t tj d¡ d¡tdƒg d¢d�}| d ¡}| ¡  ¡ r>J ‚d S )NrV   )é   r›   r    ©rK   ÚBÚCru   )r   r   r]   r^   r_   r‹   Ú__eq__rF   ©r6   rR   rz   r"   r"   r#   Útest_df_float_none_comparison  s    ý
z2TestFrameComparisons.test_df_float_none_comparisonc                 C   s¼   t dddœdddœgƒ}|jdk}t || |jdd…d d …f ¡ t ||  |jdd…d d …f ¡ |jdk}t || |jdd…d d …f ¡ t ||  |jdd…d d …f ¡ d S )Nr•   rL   rl   rV   rM   r   )r   r   rP   rQ   r�   r   )r6   rR   Zmask_aZmask_br"   r"   r#   Útest_df_string_comparison$  s    
"$
"z.TestFrameComparisons.test_df_string_comparisonN)rG   rH   rI   rU   re   ra   ÚmarkÚparametrizer   r]   r^   rŠ   rˆ   r‰   r|   r”   r™   rŸ   r¦   r§   r"   r"   r"   r#   rJ   U   sX   	þþûþþûþþûþþûáþ-
*þ
-
rJ   c                   @   sž   e Zd Zej dg d¢¡dd„ ƒZej deje	g¡dd„ ƒZ
dd	„ Zd
d„ Zdd„ Zdd„ Zej dg d¢¡dd„ ƒZej dg d¢¡dd„ ƒZdd„ ZdS )ÚTestFrameFlexComparisonsÚop)r�   r‚   r}   r~   r   r€   c                 C   sf  t j d¡ d¡}t j d¡ d¡}t|ƒ}t|ƒ}t  |jd ¡}| |¡j 	¡ sXJ ‚| 
|¡j ¡ rlJ ‚t||ƒ}tt|ƒ}t ||ƒ|||ƒ¡ |jdd …dd …f  ¡ }	||	ƒ}
|||	j|j|jd�ƒ}t |
|¡ t ||jƒ|||jƒ¡ t |dƒ||dƒ¡ d}t |t jƒ||t jƒ¡ tjt|d	�� ||ƒ W d   ƒ n1 �sX0    Y  d S )
NrV   ©é   r›   )r•   r›   r›   r•   ru   r   ú$Unable to coerce to Series/DataFramer[   )r   r]   r^   r_   r   ÚonesÚshaper�   Úvaluesr—   r‚   rF   r�   r�   rP   rQ   r�   r:   Úreindexr   r   Únanra   rb   rc   )r6   r«   ÚdataZ
other_datarR   r˜   Úndim_5ÚfÚoZpart_oÚrsZxprd   r"   r"   r#   Útest_bool_flex_frame1  s(    

z-TestFrameFlexComparisons.test_bool_flex_frameÚboxc                 C   s"  t j d¡ d¡}t|ƒ}|t j d¡ d¡ƒ}|t j d¡ d¡ƒ}|j|dd�}| |¡}|j|dd�}| |¡}	t ||t	|ƒk¡ t ||	 ¡ t || ¡ t ||j
 |¡j
¡ t || t|ƒ¡¡ t ||jt	|ƒdd�¡ t ||jt|ƒdd�¡ |j|dd�}
| |¡}|j|dd�}| |¡}t ||t	|ƒk¡ t || ¡ t |
| ¡ t |
|j
 |¡j
¡ |j|dd�}| |¡}|j|dd�}| |¡}t ||t	|ƒk¡ t || ¡ t || ¡ t ||j
 |¡j
¡ t	t j d¡ d¡ƒ}t	t j d¡ d¡ƒ}d S )NrV   r¬   r­   r›   r   ©rE   )r   r]   r^   r_   r   r�   r‚   rP   rQ   r
   ÚTr`   r}   r€   r   r~   )r6   rº   r´   rR   Zidx_serZcol_serZidx_eqZcol_eqZidx_neZcol_neZidx_gtZcol_gtZidx_leZcol_leZidx_geZcol_geZidx_ltZcol_ltr"   r"   r#   Útest_bool_flex_seriesO  sB    





z.TestFrameFlexComparisons.test_bool_flex_seriesc                 C   s¶   t tj d¡ d¡ƒ}tj|jd< | |¡}|jd r:J ‚| |¡}|jd sRJ ‚| 	|¡}|jd rjJ ‚| 
|¡}|jd r‚J ‚| |¡}|jd ršJ ‚| |¡}|jd r²J ‚d S )NrV   r¬   ©r   r   )r   r   r]   r^   r_   r³   r�   r�   r‚   r}   r~   r   r€   )r6   rR   r¸   r"   r"   r#   Útest_bool_flex_frame_naz  s    





z0TestFrameFlexComparisons.test_bool_flex_frame_nac           	      C   sð  t  t jddt jg¡}t  dt jdd g¡}td|iƒ}td|iƒ}d ddg¡}tjt|d	�� | |¡ W d   ƒ n1 s~0    Y  tjt|d	��" |d  |d ¡ W d   ƒ n1 s¾0    Y  tjt|d	�� |j	|j	k W d   ƒ n1 sø0    Y  | 
|¡}|j	 ¡ �sJ ‚t  dt jd g¡}td|iƒ}tjt|d	�� | d¡ W d   ƒ n1 �sj0    Y  tjt|d	�� |d  d¡ W d   ƒ n1 �s¨0    Y  tjt|d	�� |j	dk W d   ƒ n1 �sâ0    Y  d S )
Nr•   rW   y               @é   r   rv   z9'>' not supported between instances of '.*' and 'complex'z unorderable types: .*complex\(\)r[   )r   r    r³   r   rw   ra   rb   rx   r}   r±   r‚   r—   )	r6   r!   Zarr2rR   Údf2rd   r¸   Zarr3Údf3r"   r"   r#   Ú"test_bool_flex_frame_complex_dtype‹  s2    þÿ(0*
*.z;TestFrameFlexComparisons.test_bool_flex_frame_complex_dtypec                 C   s\   t ddtjdgitd�}t ddt ¡ dgitd�}| |¡}t dg d¢iƒ}t ||¡ d S )Nro   rL   rM   r8   )FTF)	r   r   r³   Úobjectr   Únowr‚   rP   rQ   )r6   Údf1rÁ   rz   rS   r"   r"   r#   Ú!test_bool_flex_frame_object_dtype²  s
    
z:TestFrameFlexComparisons.test_bool_flex_frame_object_dtypec                 C   s”   t tjgƒ}|tjk}|jd  ¡ du s,J ‚| tj¡}|jd  ¡ du sNJ ‚|tjk}|jd  ¡ du snJ ‚| tj¡}|jd  ¡ du s�J ‚d S )Nr¾   FT)r   rˆ   rŒ   ÚilocÚitemr�   r‚   r¥   r"   r"   r#   Útest_flex_comparison_natº  s    

z1TestFrameFlexComparisons.test_flex_comparison_natÚopnamec                 C   sR   t g d¢g d¢dœƒ}d}t||ƒ|ƒj ¡ }t |tdgt t	¡gdd�¡ d S )N©r•   rV   r›   r   rp   rV   Úcount©r   Úname)
r   r�   ÚdtypesÚvalue_countsrP   Úassert_series_equalr
   r   r5   rD   )r6   rË   rR   Úconstrz   r"   r"   r#   Ú&test_df_flex_cmp_constant_return_typesÌ  s    ÿz?TestFrameFlexComparisons.test_df_flex_cmp_constant_return_typesc                 C   s`   t g d¢g d¢dœƒ}d}|jd d… }t||ƒ|ƒj ¡ }t |tdgt 	t
¡gdd�¡ d S )NrÌ   r   rp   rV   r   rÍ   rÎ   )r   rÈ   r�   rÐ   rÑ   rP   rÒ   r
   r   r5   rD   )r6   rË   rR   rÓ   Úemptyrz   r"   r"   r#   Ú,test_df_flex_cmp_constant_return_types_empty×  s    ÿzETestFrameFlexComparisons.test_df_flex_cmp_constant_return_types_emptyc                 C   sŒ   t j g d¢¡}t||dœƒ}tddgƒ}|j|dd�}tddgddgdœƒ}t ||¡ tddgdd	gd
�}|j|dd�}t ||¡ d S )NrÌ   ©rK   r¢   r   r»   Fr•   rV   rK   r¢   ©r   )rˆ   ZIntervalIndexZfrom_breaksr   r
   r�   rP   rQ   )r6   ÚiirR   ÚserrT   r{   Zser2Úres2r"   r"   r#   Ú-test_df_flex_cmp_ea_dtype_with_ndarray_seriesã  s    zFTestFrameFlexComparisons.test_df_flex_cmp_ea_dtype_with_ndarray_seriesN)rG   rH   rI   ra   r¨   r©   r¹   r   r    r
   r½   r¿   rÃ   rÇ   rÊ   rÔ   rÖ   rÜ   r"   r"   r"   r#   rª   /  s   

*'


rª   c                   @   s  e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zej 	d	g d
¢¡dd„ ƒZ
ej 	deddƒ¡dd„ ƒZdd„ Zej 	d	g d¢¡dd„ ƒZdd„ Zej 	dddg¡dd„ ƒZdd„ Zd d!„ Zd"d#„ Zej 	d	g d$¢¡d%d&„ ƒZej 	d'd(d)g¡d*d+„ ƒZd,d-„ Zd.d/„ Zd0d1„ Zd2d3„ Zd)S )4ÚTestFrameFlexArithmeticc                    st   t  d¡}t|ƒ‰tˆˆdœƒ‰ ˆ jˆdd�}t‡ ‡fdd„ˆ jD ƒƒ}t ||¡ ˆ jˆjdd�}t ||¡ d S )Nr›   r×   r   r»   c                    s   i | ]}|ˆ | ˆ “qS r"   r"   rm   ©rR   rÚ   r"   r#   rs   ÿ  rt   z?TestFrameFlexArithmetic.test_floordiv_axis0.<locals>.<dictcomp>)	r   r�   r
   r   Úfloordivr   rP   rQ   r±   )r6   r!   rz   r{   Úresult2r"   rÞ   r#   Útest_floordiv_axis0÷  s    
z+TestFrameFlexArithmetic.test_floordiv_axis0c                 C   sf   t jddd�}t jddd�}t|ƒ}t||dœƒ}|j|dd�}t|| || dœƒ}t ||¡ d S )Nú
2016-01-01rf   rj   Ú1©r   r•   r   r»   )rˆ   r‰   Ztimedelta_ranger
   r   ÚaddrP   rQ   )r6   ÚdtiZtdiZtserrR   rz   r{   r"   r"   r#   Útest_df_add_td64_columnwise  s    z3TestFrameFlexArithmetic.test_df_add_td64_columnwisec                 C   s†   t jddd�}tg d¢dd�}t||dœƒ}t||dœƒ}t jdd	� ¡ }|j||d
�}ttg d¢dd�|d dœƒ}t ||¡ d S )Nrâ   r›   rj   )z1 DayrŒ   z2 Daysútimedelta64[ns]r8   r×   r•   )Údays©Ú
fill_value)z
2016-01-02z
2016-01-03z
2016-01-05zdatetime64[ns]rV   )	rˆ   r‰   r
   r   Ú	TimedeltaZto_timedelta64rå   rP   rQ   )r6   ræ   rÚ   rR   r˜   Úfillrz   r{   r"   r"   r#   Ú$test_df_add_flex_filled_mixed_dtypes  s    ÿüÿz<TestFrameFlexArithmetic.test_df_add_flex_filled_mixed_dtypesc                    s|   |‰ ‡ fdd„}t |ˆ ƒd| ƒ}||d| ƒ}t ||¡ t |ˆ ƒd| ƒ}||d| ƒ}t ||¡ t|dd id� d S )Nc                    s2   ˆ   d¡r"ttˆ  dd¡ƒ|| ƒS ttˆ ƒ| |ƒS )NÚ__rÚ__)Ú
startswithr�   r�   Úreplacerp   ©r«   r"   r#   r¶   *  s    
z8TestFrameFlexArithmetic.test_arith_flex_frame.<locals>.frV   r£   r8   )r�   rP   rQ   r   )r6   Úall_arithmetic_operatorsÚfloat_frameÚmixed_float_framer¶   rz   r{   r"   ró   r#   Útest_arith_flex_frame$  s    z-TestFrameFlexArithmetic.test_arith_flex_framer«   )Ú__add__Ú__sub__Ú__mul__c           
      C   sö   t t|ƒ}t ||ƒd| ƒ}||d| ƒ}d }	|dv rBdd dœ}	n|dv rRdd i}	tjrr|dkrrd| d j|	d< t ||¡ t||	d	� t ||ƒd| ƒ}||d| ƒ}t ||¡ t|dd id	� t ||ƒd| ƒ}||d| ƒ}t ||¡ d S )
NrV   )rù   Zuint64)r¢   r£   )rø   rú   r£   r   rK   r8   )	r�   r�   r+   ÚUSE_NUMEXPRr5   rP   rQ   r   r   )
r6   r«   Z	int_frameÚmixed_int_framerö   r/   r¶   rz   r{   r5   r"   r"   r#   Útest_arith_flex_frame_mixed:  s&    	
z3TestFrameFlexArithmetic.test_arith_flex_frame_mixedÚdimr›   rW   c                 C   sV   |}t  d| ¡}d}tjt|d�� t||ƒ|ƒ W d   ƒ n1 sH0    Y  d S )N)r•   r®   r[   )r   r¯   ra   rb   rc   r�   )r6   rô   rõ   rþ   r«   r!   rd   r"   r"   r#   Útest_arith_flex_frame_raisec  s
    z3TestFrameFlexArithmetic.test_arith_flex_frame_raisec                 C   sü   |  d¡}t ||d ¡ |  |d d… ¡}| ¡ tj }t ||¡ |d d…   |¡}| ¡ tj }t ||¡ tjtdd��$ |j |j	d dd� W d   ƒ n1 sª0    Y  tjtdd��& |j |j	d ddd� W d   ƒ n1 sî0    Y  d S )	Nr•   r   rë   r[   r›   rê   r   ©rE   rë   )
rå   rP   rQ   Ú
sort_indexr   r³   ra   rb   ÚNotImplementedErrorrÈ   )r6   rõ   Z	const_addrz   r{   r"   r"   r#   Útest_arith_flex_frame_cornern  s    
2z4TestFrameFlexArithmetic.test_arith_flex_frame_corner)rå   ÚsubÚmulÚmodc                 C   sb   |}|  d¡}|d }t||ƒ}tt|ƒ}t ||ƒ|||ƒ¡ t ||dd�||j|ƒj¡ d S )Nr   r   r   r»   )Úxsr�   r�   rP   rQ   r¼   )r6   r$   r«   rR   Úrowro   r¶   r"   r"   r#   Útest_arith_flex_series_ops�  s    


z2TestFrameFlexArithmetic.test_arith_flex_series_opsc                 C   sh   |}|  d¡}|d }t |j|d d�|| ¡ t | |¡|| ¡ t |j|dd�|j| j¡ d S )Nr   r   r»   r   )r  rP   rQ   rå   Údivr¼   )r6   r$   rR   r  ro   r"   r"   r#   Útest_arith_flex_series�  s    
z.TestFrameFlexArithmetic.test_arith_flex_seriesr5   Úint64Úfloat64c                 C   sX   t t d¡ d¡|d�}t tjtjgddgddggƒ}|j|d dd	�}t ||¡ d S )
NrW   rš   r8   r   ç      ø?g      ô?r   r   r»   )	r   r   r�   rž   r³   Úinfr
  rP   rQ   )r6   r5   rR   r{   rz   r"   r"   r#   Ú#test_arith_flex_series_broadcasting™  s    z;TestFrameFlexArithmetic.test_arith_flex_series_broadcastingc                 C   s¸   t g td�}tddgd�}tddgddggddgd�}tjtd	d
�� |j|dd� W d   ƒ n1 sh0    Y  tjtd	d
��$ |j|d d dd� W d   ƒ n1 sª0    Y  d S )Nr8   rK   r¢   rZ   r•   rV   r›   rX   rë   r[   ÚErê   r   )r
   rÄ   r   ra   rb   r  rå   r  )r6   Zser_len0Zdf_len0rR   r"   r"   r#   Útest_arith_flex_zero_len_raises¡  s    ,z7TestFrameFlexArithmetic.test_arith_flex_zero_len_raisesc                 C   s^   t jddt jdddgdd�}td|itd	ƒd
�}| d¡ d¡}|jddd�}t ||¡ d S )Nr   r•   r›   rX   r­   Úfloatr8   rL   rW   rØ   rV   rê   )	r   r    r³   r   r‹   Úfillnarå   rP   rQ   )r6   ZdatrR   rS   rT   r"   r"   r#   Útest_flex_add_scalar_fill_value®  s
    z7TestFrameFlexArithmetic.test_flex_add_scalar_fill_valuec                 C   sV   t g d¢g d¢d�}t g d¢g d¢d�}t g d¢g d¢d�}| |¡}t ||¡ d S )N)r•   rV   r›   rX   r­   )r•   rV   r•   rV   r›   rØ   rÌ   )r   rV   r   rV   rV   )r•   r•   rV   rV   r›   )r   r  rP   rQ   )r6   rÆ   rÁ   r{   rz   r"   r"   r#   Ú'test_sub_alignment_with_duplicate_index·  s
    
z?TestFrameFlexArithmetic.test_sub_alignment_with_duplicate_index)rø   rú   rù   Ú__truediv__c                 C   sb   t t d¡tj d¡ d¡dœƒ}t||ƒ|ƒ}ddg|_ddg|_t||ƒ|ƒ}t ||¡ d S )Nrf   rV   r×   rK   )	r   r   r�   r]   r^   r�   r   rP   rQ   )r6   r«   rR   r{   rz   r"   r"   r#   Ú&test_arithmetic_with_duplicate_columns¿  s    "

z>TestFrameFlexArithmetic.test_arithmetic_with_duplicate_columnsÚlevelr   Nc                 C   s’   t g d¢g d¢dœƒ}|j d¡|_t g d¢g d¢dœƒ}|j ddg¡|_|j||d�}t g d¢g d¢dœƒ}|j ddg¡|_t ||¡ d S )	N©r   r•   rV   rÌ   r×   ZL1©r   r   r   ))rK   r£   )rK   ÚDZL2)r  )r   r   Z	set_namesrå   rP   rQ   )r6   r  rÆ   rÁ   rz   r{   r"   r"   r#   Útest_broadcast_multiindexÉ  s    z1TestFrameFlexArithmetic.test_broadcast_multiindexc                 C   s®   t g d¢g d¢dœtjdgdgg d¢gg d¢d�d	�}td
gtjdgdggddgd�d	�}t g d¢g d¢dœtjdgdgg d¢gg d¢d�d	�}|j|dd�}t ||¡ d S )NrÌ   ©r›   rX   r­   ©iÚ  iä  r   r   r  ©Úscenr  Úid©ÚnamesrØ   çš™™™™™Ù?r  r!  )çffffffö?ç333333@ç333333@)r(  çš™™™™™@gš™™™™™@r   r»   ©r   r	   Úfrom_productr
   rå   rP   rQ   ©r6   rR   Úseriesr{   rz   r"   r"   r#   Ú test_frame_multiindex_operationsØ  s$    ÿþþÿþz8TestFrameFlexArithmetic.test_frame_multiindex_operationsc                 C   s¬   t dgdgdœtjdgdggddgd�d	�}tg d
¢tjdgdgg d¢gg d¢d�d	�}t g d¢g d¢dœtjdgdgg d¢gg d¢d�d	�}|j|dd�}t ||¡ d S )Nr•   r›   r  r   r   r!  r  r#  rØ   )ç      $@g      4@g      >@r  r   )g      &@é   g      ?@)g      *@g      7@g     €@@r   r»   r*  r,  r"   r"   r#   Ú<test_frame_multiindex_operations_series_index_to_frame_indexð  s$    þÿþÿþzTTestFrameFlexArithmetic.test_frame_multiindex_operations_series_index_to_frame_indexc              	   C   s¬   t g d¢g d¢dœtjdgdgg d¢gg d¢d�d	�}td
gtjdgdggddgd�d	�}t tjtjdœtjdddddtjfgg d¢d�d	�}|j|dd�}t 	||¡ d S )NrÌ   r  r  r   r   r  r   r#  rØ   r%  r   r  r!  ©r   r   r   ©r   r   r•   )r   r   rV   r   r»   )
r   r	   r+  r
   r   r³   Úfrom_tuplesrå   rP   rQ   r,  r"   r"   r#   Ú)test_frame_multiindex_operations_no_align  s.    ÿþþ
üùþzATestFrameFlexArithmetic.test_frame_multiindex_operations_no_alignc                 C   s¢   t g d¢g d¢dœtjg d¢g d¢d�d�}tdgtjd	gd
ggddgd�d�}t ddtjgddtjgdœtjg d¢g d¢d�d�}|j|dd�}t 	||¡ d S )NrÌ   r  r  )r2  r3  )r   r   rV   r   r#  rØ   r%  r   r   r  r!  r&  r'  r(  r)  r   r»   )
r   r	   r4  r
   r+  r   r³   rå   rP   rQ   r,  r"   r"   r#   Ú+test_frame_multiindex_operations_part_align%  s(    úþþúþzCTestFrameFlexArithmetic.test_frame_multiindex_operations_part_align)rG   rH   rI   rá   rç   rî   r÷   ra   r¨   r©   rý   r‹   rÿ   r  r	  r  r  r  r  r  r  r  r.  r1  r5  r6  r"   r"   r"   r#   rÝ   ö  s2   
(



	
	
rÝ   c                   @   s.  e Z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ddg¡dd„ ƒZe
j dddgde ddg¡eddƒeddgƒg¡dd„ ƒZdd„ Zdd„ Zdd „ Ze
j d!d"d#d$d%d&d'e d(d)¡d*fe d(d)¡d+fg¡e
jjd,ejejejejejejgd-d.„ d/�d0d1„ ƒƒZd2d3„ Z d4d5„ Z!d6S )7ÚTestFrameArithmeticc                 C   sJ   t ddgdd�}tddgddggƒ}|| }t||dœƒ}t ||¡ d S )	NrŒ   rè   r8   r•   rV   r›   rX   rä   ©r
   r   rP   rQ   )r6   rÚ   rR   rz   r{   r"   r"   r#   Útest_td64_op_nat_castingH  s
    z,TestFrameArithmetic.test_td64_op_nat_castingc                 C   s¦   t  d¡ dd¡}t|ddgg d¢d�}|dgd d …f }|jd|jd fksRJ ‚tdd	gd	dgdd
gg|j|j|jd�}|| }t 	||¡ || }t 	||¡ d S )NrW   r›   rV   TFr¡   r   r•   rX   r    ©r   r   r5   ©
r   r�   rž   r   r°   r   r   r5   rP   rQ   )r6   r!   rR   Úrowliker{   rz   r"   r"   r#   Ú'test_df_add_2d_array_rowlike_broadcastsR  s    úz;TestFrameArithmetic.test_df_add_2d_array_rowlike_broadcastsc                 C   s¦   t  d¡ dd¡}t|ddgg d¢d�}|d d …dgf }|j|jd	 dfksRJ ‚tddgd
dgddgg|j|j|jd�}|| }t 	||¡ || }t 	||¡ d S )NrW   r›   rV   TFr¡   r   r•   r   r­   é	   rf   r:  r;  )r6   r!   rR   Úcolliker{   rz   r"   r"   r#   Ú'test_df_add_2d_array_collike_broadcastsg  s    úz;TestFrameArithmetic.test_df_add_2d_array_collike_broadcastsc                 C   sâ   |}|r|dv rt  |¡ t d¡ dd¡}t|ddgg d¢d�}|d	gd d …f }|jd	|jd	 fkslJ ‚t|jd
 |ƒ| 	¡ ƒt|jd |ƒ| 	¡ ƒt|jd |ƒ| 	¡ ƒg}t||j
|jd�}	t||ƒ|ƒ}
t |
|	¡ d S )N©Ú__rmod__Ú__rfloordiv__rW   r›   rV   TFr¡   r   r•   rK   r¢   r£   )ÚtdÚ&mark_array_manager_not_yet_implementedr   r�   rž   r   r°   r�   r�   Úsqueezer   r   rP   rQ   )r6   r-   rô   Úusing_array_managerrË   r!   rR   r<  Úexvalsr{   rz   r"   r"   r#   Ú)test_df_arith_2d_array_rowlike_broadcasts|  s    
ýz=TestFrameArithmetic.test_df_arith_2d_array_rowlike_broadcastsc                 C   sð   |}|r|dv rt  |¡ t d¡ dd¡}t|ddgg d¢d�}|d d …d	gf }|j|jd
 d	fkslJ ‚t|d |ƒ| ¡ ƒt|d |ƒ| ¡ ƒdœ}d }	|dv r¾tj	dd„ | 
¡ D ƒŽ }	t||j|j|	d�}
t||ƒ|ƒ}t ||
¡ d S )NrA  rW   r›   rV   TFr¡   r   r•   r   )TFc                 s   s   | ]}|j V  qd S r3   )r±   ©rn   rq   r"   r"   r#   Ú	<genexpr>°  rt   zPTestFrameArithmetic.test_df_arith_2d_array_collike_broadcasts.<locals>.<genexpr>r:  )rD  rE  r   r�   rž   r   r°   r�   rF  Zcommon_typer±   r   r   rP   rQ   )r6   r-   rô   rG  rË   r!   rR   r?  rH  r5   r{   rz   r"   r"   r#   Ú)test_df_arith_2d_array_collike_broadcasts—  s     
þz=TestFrameArithmetic.test_df_arith_2d_array_collike_broadcastsc                 C   sh   t ddgddggƒ}|d }|j dd„ ¡}|dk ¡ s<J ‚d| }|j dd„ ¡}|dk ¡ sdJ ‚d S )NFTr•   c                 S   s   | j S r3   ©Úkind©rq   r"   r"   r#   Ú<lambda>¿  rt   z:TestFrameArithmetic.test_df_bool_mul_int.<locals>.<lambda>r…   c                 S   s   | j S r3   rM  rO  r"   r"   r#   rP  Ã  rt   )r   rÐ   Úapplyr—   )r6   rR   rz   Úkindsr"   r"   r#   Útest_df_bool_mul_int·  s    z(TestFrameArithmetic.test_df_bool_mul_intc                 C   sD   t g d¢g d¢dœƒ}|| }t g d¢g d¢dœƒ}t ||¡ d S )Nr   rÌ   r×   )ZaaZbbÚcc©rV   rX   rW   ©r   rP   rQ   )r6   r’   rz   r{   r"   r"   r#   Útest_arith_mixedÆ  s    z$TestFrameArithmetic.test_arith_mixedro   rK   r¢   c                 C   sB   t ddgddgdœƒ}||dƒ| }||| dƒ}t ||¡ d S )Ngš™™™™™ñ?gffffff
@g      @g333333Àr×   r•   )r   rP   rÒ   )r6   Zall_arithmetic_functionsro   rR   rz   r{   r"   r"   r#   Útest_arith_getitem_commuteÍ  s    z.TestFrameArithmetic.test_arith_getitem_commuter±   r•   rV   ©r•   rV   r›   c                 C   sD   t ddgddgdœƒ}t ddgddgdœƒ}|| }t ||¡ d S )Nr•   r×   rV   r›   rV  )r6   r±   rR   r{   rz   r"   r"   r#   Ú&test_arith_alignment_non_pandas_objectÔ  s    z:TestFrameArithmetic.test_arith_alignment_non_pandas_objectc                 C   s8  t tjdddd� dd¡g d¢g d¢d�}| d	¡j}t |j| |j|jd
�}t 	|| |¡ t |jj
| j
|j|jd
�}t 	|j|dd�|¡ t|d ƒ}t |j| |j|jd
�}t 	|| |¡ t |jj
| j
|j|jd
�}t 	|j|dd�|¡ tj d¡ |j¡}t |j| |j|jd
�}t 	| |¡|¡ d S )Nr•   rf   Úf8r8   r›   r   r   r   r   ru   r   r»   r   r   rV   )r   r   r�   rž   r  r±   r   r   rP   rQ   r¼   rå   r`   r]   r^   r°   )r6   rR   Zval1ÚaddedZval2Zval3r"   r"   r#   Útest_arith_non_pandas_objectÞ  s$    ýz0TestFrameArithmetic.test_arith_non_pandas_objectc                    sn   |‰t  t jddd�¡}ddg}t|g|d�}d‰ t|ˆƒˆ ƒ}t‡ ‡fdd	„|D ƒg|d�}t ||¡ d S )
Nç        r   )ÚstartÚendr•   rV   rZ   rf   c                    s   g | ]}t |ˆƒˆ ƒ‘qS r"   )r�   )rn   Ún©Únumr«   r"   r#   r†      rt   zVTestFrameArithmetic.test_operations_with_interval_categories_index.<locals>.<listcomp>)rˆ   ZCategoricalIndexZinterval_ranger   r�   rP   rQ   )r6   rô   Úindr´   rR   rz   r{   r"   rb  r#   Ú.test_operations_with_interval_categories_indexø  s    zBTestFrameArithmetic.test_operations_with_interval_categories_indexc                 C   sˆ   t t d¡t d¡gt d¡t d¡gdœddgdd	�}|dg }|| }t t d
¡t d
¡gtjtjgdœddgd�}t ||¡ d S )NZ2019Z2020Z2018Z2021)rL   rM   rL   rM   úM8[ns]©r   r5   r   rZ   )r   rˆ   r‘   rì   r   r³   rP   rQ   )r6   rR   rÁ   rz   r{   r"   r"   r#   Útest_frame_with_frame_reindex  s    þú
 þz1TestFrameArithmetic.test_frame_with_frame_reindexzvalue, dtype)r•   Úi8)r   r[  )ì            r[  )y              ð?Ú
complex128)rj  rk  )TrD   é   Únsú<m8[ns]ú<M8[ns]r«   c                 C   s   | j S r3   )rG   rO  r"   r"   r#   rP  .  rt   zTestFrameArithmetic.<lambda>)r(   c              
   C   s˜  t jdft jdft jdft jdfh}t||ƒ}td|j|jgi|jd�}t jdft j	dft jdft jdft jdft jdft jdft j
dft j	dfh	}||f|v �rŠd }	|dkr¸|t jksÊ|dkrÐ|t jkrÐd }
nN|dkrÞd}
n@|t j
u �rd}
|dk�rtj�r|d	k�rt}	nd
|j› d�}
tjt|
d��H t |	¡� |||jƒ W d   ƒ n1 �s\0    Y  W d   ƒ n1 �s|0    Y  �n
||f|v �rB|t jt jfv �r tj�rÂ|d	k�rÂt}	nd }	t |	¡� |||jƒ W d   ƒ n1 �sô0    Y  n@d}
tjt|
d�� |||jƒ W d   ƒ n1 �s60    Y  nRt d ¡�* |||jƒj}|||ƒj}W d   ƒ n1 �s~0    Y  t ||¡ d S )NrD   rK   r8   ro  rn  rk  z3ufunc 'remainder' not supported for the input typesz-numpy boolean subtract, the `-` operator, is r   zcannot perform __z7__ with this index type: (DatetimeArray|TimedeltaArray)r[   z+operator '.*' not implemented for .* dtypes)r�   ÚtruedivÚpowrå   r  r0   r   r4   r5   r  r  r+   rû   ÚUserWarningrG   ra   rb   rx   rP   Úassert_produces_warningr  rÐ   rÒ   )r6   r«   r4   r5   r/   ÚskipÚelemrR   ÚinvalidÚwarnrd   rz   r{   r"   r"   r#   Útest_binop_other  sn    ü
÷ÿÿÿþýÿP..,z$TestFrameArithmetic.test_binop_otherc                 C   s    t  tddgƒtddgƒg¡}t  tddgdd�tddgƒg¡}tddgddgg|d�}tddgddgg|d�}|| }tddgddgg|d�}t ||¡ d S )	Nr•   rV   r›   rX   ÚInt8r8   rZ   r   ©r	   Zfrom_arraysr
   r   rP   rQ   ©r6   ÚmidxZmidx2r’   r“   rz   r{   r"   r"   r#   Ú*test_arithmetic_midx_cols_different_dtypesv  s    "z>TestFrameArithmetic.test_arithmetic_midx_cols_different_dtypesc                 C   s    t  tddgƒtddgƒg¡}t  tddgdd�tddgƒg¡}tddgddgg|d�}tddgddgg|d�}|| }tddgddgg|d�}t ||¡ d S )	Nr•   rV   r›   rX   ry  r8   rZ   éÿÿÿÿrz  r{  r"   r"   r#   Ú:test_arithmetic_midx_cols_different_dtypes_different_order€  s    "zNTestFrameArithmetic.test_arithmetic_midx_cols_different_dtypes_different_orderN)"rG   rH   rI   r9  r=  r@  rI  rL  rS  rW  ra   r¨   r©   rX  r   r    r‹   r   rZ  r]  re  rh  Ztimedelta64Z
datetime64r�   rå   r  r  rp  r  rq  rx  r}  r  r"   r"   r"   r#   r7  G  sT   
 
*ÿ
øþúöF
r7  c                  C   sâ   t tj d¡ d¡ dd¡ddgd�} ttjd�}| | }t | jtj	 | j
d�}t ||¡ tjtdd	�� | |k W d   ƒ n1 sˆ0    Y  t | j d
¡| j
d�}tjtdd	�� ||k W d   ƒ n1 sÔ0    Y  d S )NrV   rW   r›   rK   r¢   rZ   r8   znot alignedr[   rf  )r   r   r]   r^   r_   rž   r
   r  r±   r³   r   rP   rQ   ra   rb   rc   rC   )rR   rÚ   rz   r{   rÁ   r"   r"   r#   Ú,test_frame_with_zero_len_series_corner_cases‹  s    ÿ&r€  c                  C   sB   t ddgtjd�} tddgddgd�}| | }| }t ||¡ d S )NrK   r¢   rg  r•   rV   rØ   )r   r   r  r
   rP   rQ   )rR   rÚ   rz   r{   r"   r"   r#   Ú,test_zero_len_frame_with_series_corner_cases¢  s
    r�  c                  C   sD   dt ddtjgƒi} t| ƒ}|jdd�}t g d¢ƒ}t ||¡ d S )NZOnerK   ç333333ó?r•   r»   )rK   r‚  r   )r
   r   r³   r   ÚsumrP   rÒ   )r´   rR   rz   r{   r"   r"   r#   Ú+test_frame_single_columns_object_sum_axis_1¬  s    ÿr„  c                   @   sÔ  e Zd Zdd„ Zdd„ Zej dej	ej
ejejg¡dd„ ƒZej dd	d
g¡ej d¡dd„ ƒƒZej dg d¢¡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ej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"ej dd*d+ej#d,ejj$e%d-d.�d/�d0d1d2d3d4d5d6d7g¡d8d9„ ƒZ&ej d:g d;¢d;e'j(g d;¢e'j)d<�e*d=d>ƒg¡d?d@„ ƒZ+ej d:d=dAgdBe' (d=dAg¡e*d=dCƒg¡dDdE„ ƒZ,dFdG„ Z-dHdI„ Z.dJdK„ Z/dLdM„ Z0dNS )OÚTestFrameArithmeticUnsortedc                 C   sv   t jddddd�}ttj d¡ t|ƒ¡|dgd�}| d	¡}|| }|j	j
tju sXJ ‚|| }|j	j
tju srJ ‚d S )
Nz1/1/2011rf   Úhú
US/Eastern)rk   ÚfreqÚtzrV   r   ru   zEurope/Moscow)rˆ   r‰   r   r   r]   r^   r_   rŽ   Ú
tz_convertr   r‰  r   Úutc)r6   ÚrngrR   Z	df_moscowrz   r"   r"   r#   Ú*test_frame_add_tz_mismatch_converts_to_utc¾  s    ÿ
zFTestFrameArithmeticUnsorted.test_frame_add_tz_mismatch_converts_to_utcc                 C   s¨   t jdddd�}ttj d¡ t|ƒdf¡|d�}||d d d…  }|| }tj|j	dd d…< t
 ||¡ |d d d… }|| tj d¡ t|ƒ¡¡ }t
 ||¡ d S )	Nz1/1/2000z1/1/2010ÚY)rˆ  rV   r›   rØ   r•   )rˆ   Zperiod_ranger   r   r]   r^   r_   rŽ   r³   rÈ   rP   rQ   ZtakeZpermutation)r6   rŒ  Útsrz   r{   Zhalfr"   r"   r#   Útest_align_frameË  s    ÿ z,TestFrameArithmeticUnsorted.test_align_framer«   c                 C   sf  t g d¢g d¢dœtd�}d}tjt|d�� | tj¡}W d   ƒ n1 sN0    Y  ||dƒ}||dƒ t¡}tj|t	 
|¡< t ||¡ |||ƒ}|||ƒ t¡}tj|t	 
|¡< t ||¡ d}tjt|d��  ||| d¡ƒ}W d   ƒ n1 sü0    Y  t ||¡ d}tjt|d��  || d¡|ƒ}W d   ƒ n1 �sL0    Y  t ||¡ d S )	N)rV   r   é{   N)r•   rV   r›   rX   )Úcol1Zcol2r8   zDowncasting object dtype arraysr[   r›   rÀ   )r   rÄ   rP   rs  ÚFutureWarningr  r   r³   rA   rˆ   ZisnarQ   )r6   r«   rR   rd   Zfilledrz   r{   r"   r"   r#   Útest_operators_none_as_naÚ  s,    ÿ*

.0z5TestFrameArithmeticUnsorted.test_operators_none_as_nazop,res)r¤   F)Ú__ne__Tz ignore:elementwise:FutureWarningc                 C   s*   t ||ƒdƒ}t| ¡  ¡ ƒ|u s&J ‚d S )NrL   )r�   rD   r—   )r6   r«   rT   rõ   rz   r"   r"   r#   Ú%test_logical_typeerror_with_non_validû  s    zATestFrameArithmeticUnsorted.test_logical_typeerror_with_non_valid)rå   r  r  r
  rp  c                    s  t jtdƒg d¢g d¢gg d¢d�}tt d¡ dd¡|g d	¢d
� ¡ ‰ tj	‰t
t|d ƒ‰ˆd u rfd S tg d¢g d¢ƒ}t
ˆ |ƒ|ddd�}t ‡ ‡‡fdd„| ¡ D ƒ¡ ¡ }t ||¡ tddgddgƒ}t
ˆ |ƒ|ddd�}t ‡ ‡‡fdd„| ¡ D ƒ¡ ˆ ¡ ¡ }t ||¡ d S )NÚabcr   rÌ   )ÚfirstÚsecondÚthirdr#  éQ   é   r›   )Zvalue1Zvalue2Zvalue3ru   )r   r/  g      Y@rš  r   )r  rE   c                    s:   g | ]2\}}ˆˆ j ˆd d …d d …|f d d …f |ƒ‘qS r3   ©r�   ©rn   r…   Úv©rR   ÚidxÚopar"   r#   r†     rt   zETestFrameArithmeticUnsorted.test_binary_ops_align.<locals>.<listcomp>r   r/  r   r   r™  c                    s4   g | ],\}}ˆˆ j ˆd d …|f d d …f |ƒ‘qS r3   r�  rž  r   r"   r#   r†   $  rt   )r	   r+  r`   r   r   r�   rž   r  rˆ   Z
IndexSlicer�   r�   r
   ÚconcatÚitemsrP   rQ   Zreindex_like)r6   r«   r   rq   rz   r{   r"   r   r#   Útest_binary_ops_align  s4    þý
ÿ ÿÿz1TestFrameArithmeticUnsorted.test_binary_ops_alignc                 C   s*  t  ddgddgg¡}ttjddd�|d�}td	d
dœƒ}| ¡ }ddg|j_| ¡ }d|j	_
|j|d	d	d�}|j|d	d	d�}|j|d	d	d�}|j|d	d	d�}	|j|d	dd�}
|j|d	dd�}ttjg d¢g d¢gdd�|d�}||fD ]}t ||¡ qèddg|j_||	|
|fD ]}t ||¡ �qd S )NrK   r¢   r   r   )rV   rX   r  r8   rZ   r•   rV   rl   Zlvl0Zlvl1)rE   r  )r•   rV   r•   rV   )r	   r+  r   r   r¯   r
   r:   r   r$  r   rÏ   r  r    rP   rQ   )r6   r|  rR   ÚsrÁ   Ús2Zres1rÛ   Zres3Zres4Zres5Zres6rS   rT   r"   r"   r#   Ú&test_binary_ops_align_series_dataframe*  s*    ÿzBTestFrameArithmeticUnsorted.test_binary_ops_align_series_dataframec                 C   sŒ   t jg d¢dd�}| d¡d d… }| d¡dd … }tdddgi|d	�}tdddgi|d	�}tdtjd
tjgi|d	�}t || |¡ d S )N)z
2011-01-01z
2011-01-02z
2011-01-03ÚUTC)r‰  z
Asia/TokyorV   r‡  r•   rK   rØ   r›   )rˆ   ZDatetimeIndexrŠ  r   r   r³   rP   rQ   )r6   ÚbaseZidx1Zidx2rÆ   rÁ   rS   r"   r"   r#   Ú test_add_with_dti_mismatched_tzsI  s    z<TestFrameArithmeticUnsorted.test_add_with_dti_mismatched_tzsc                 C   s  |  |jd d d… ¡}|d= tj|jd |jd …df< || }|d  ¡ j}|d d  ¡ }t |d  ¡ |j| ¡ tj|j|j 	|¡ < t |d |j|d j ¡ t 
|d   |j¡d d… ¡ ¡ sÎJ ‚t 
|d ¡ ¡ säJ ‚|| }t |j|j¡ || }	t 
|d ¡ ¡ �sJ ‚t 
|	d ¡ ¡ �s4J ‚|tƒ  }
t 
|
j¡ ¡ �sTJ ‚tƒ | }t 
|j¡ ¡ �stJ ‚tƒ tƒ  }|j�sŒJ ‚|j |jd d d… d�}t || |d ¡ || }t|d	d
� || }t|d	d
� || }t|dd id
� || }t|d	d
� d S )NrV   r  rX   r£   rK   r­   r~  rZ   r  r8   )r²   r   r   r³   r�   Zdropnar:   rP   rÒ   ÚisinÚisnanr—   Úassert_index_equalr   r±   rÕ   r   rQ   r   )r6   rõ   rö   rü   Z
frame_copyr\  ZindexerrS   Z
self_addedZ	added_revZ
plus_emptyZ
empty_plusZempty_emptyÚreverser"   r"   r#   Útest_combineFrameS  s@    &

z-TestFrameArithmeticUnsorted.test_combineFramec           
      C   s\  |  |jd ¡}|| }| ¡ D ] \}}t ||| ||  ¡ q | ¡ }d|d< t|ƒ}|| }	| ¡ D ] \}}t |	| |||  ¡ qjd|	v s˜J ‚t |	d ¡ 	¡ s®J ‚|| }t 	|j
|jk¡sÌJ ‚|| d¡ }t|dd id� || d¡ }t|dd id� |d|  d	¡ }t|d	d
d	d	dœd� |d|  d¡ }t|dd
dd	dœd� d S )Nr   r•   r  Zfloat32r£   r8   Zfloat16r%   r  r  )rK   r¢   r£   r  Zint32)r  r   r¤  rP   rÒ   Úto_dictr
   r   r­  r—   rÐ   r5   rA   r   r   )
r6   rõ   rö   rü   r-  r\  Úkeyr¦  Zlarger_seriesZlarger_addedr"   r"   r#   Útest_combine_series�  s4    ÿÿz/TestFrameArithmeticUnsorted.test_combine_seriesc                 C   sx  |d }|j |dd�}| ¡ D ]`\}}|| }tj|| |dd� || j|ksTJ ‚|j|jkrp|jdks~J ‚q|jd u sJ ‚q|d d… }|j |dd�}t |j|j¡ |d d… }	|j |	dd�}
t ||
¡ |j |d d… dd�}tt	j
|j|jd�}t ||¡ |d d… j |dd�}tt	j
|j|jd�}t ||¡ |d d	… jg d
�}|j|dd�}t|ƒt|ƒk�stJ ‚d S )NrK   r   r»   F)Zcheck_nameséûÿÿÿr   ru   r•   rZ   )rå   r¤  rP   rÒ   rÏ   r®  r   rQ   r   r   r³   r   r²   r  rŽ   )r6   Zdatetime_framer�  r\  r²  ro   rz   Zsmaller_frameZsmaller_addedZ
smaller_tsZsmaller_added2r{   Úframer"   r"   r#   Útest_combine_timeseries¸  s8    ÿÿz3TestFrameArithmeticUnsorted.test_combine_timeseriesc                 C   s’   |d }t  |j|jd ¡ |d }| ¡ D ] \}}t  |j|| jd ¡ q,t|dd id� tƒ d }|j tƒ j¡s|J ‚t|j	ƒdksŽJ ‚d S )NrV   r£   r8   r   )
rP   Úassert_numpy_array_equalr±   r¤  r   r   r   ÚequalsrŽ   r   )r6   rõ   rö   rz   r   r¦  r"   r"   r#   Útest_combineFuncæ  s    
z,TestFrameArithmeticUnsorted.test_combineFuncÚfuncc                 C   sF  t tj d¡ d¡ttdƒtd�tj	dddd�d	�}| 
¡ }| d
¡}t |jd ¡}|||ƒ}t |j||j|jƒ¡ d}	tjtt |	¡d�� |||ƒ W d   ƒ n1 s°0    Y  |||ƒ}
t |
j||j|jƒ¡ ||dƒ}t |j||jdƒ¡ d}	tjt|	d��" |||d d… ƒ W d   ƒ n1 �s80    Y  d S )NrV   )é   rX   rY   r8   z
2000-01-01r»  r¢   )rk   rˆ  r   r   ©r•   r•   r•   zNUnable to coerce to Series/DataFrame, dimension must be <= 2: (30, 4, 1, 1, 1)r[   r   zQCan only compare identically-labeled \(both index and columns\) DataFrame objects)r   r   r]   r^   r_   r   r`   rÄ   rˆ   r‰   r:   r  r¯   r°   rP   r·  r±   ra   rb   rc   ÚreÚescape)r6   r$   rõ   rº  rÆ   rÁ   r  rµ   rz   rd   rà   Úresult3r"   r"   r#   Útest_comparisonsô  s0    ý

ÿ(
ÿ
ÿz,TestFrameArithmeticUnsorted.test_comparisonsc                 C   sf   t dd„ dD ƒƒ}tt|ƒ}d ddg¡}tjt|d�� ||dƒ W d   ƒ n1 sX0    Y  d S )	Nc                 S   s   i | ]}|d dddœ“qS )rL   rM   rN   )rq   rr   Úzr"   rJ  r"   r"   r#   rs     rt   zZTestFrameArithmeticUnsorted.test_strings_to_numbers_comparisons_raises.<locals>.<dictcomp>r   rv   z;'[<>]=?' not supported between instances of 'str' and 'int'z,Invalid comparison between dtype=str and intr[   r   )r   r�   r�   rw   ra   rb   rx   )r6   Zcompare_operators_no_eq_nerR   r¶   rd   r"   r"   r#   Ú*test_strings_to_numbers_comparisons_raises  s    ÿ
þÿzFTestFrameArithmeticUnsorted.test_strings_to_numbers_comparisons_raisesc                 C   s¶   t tjdtjd�ttdƒtd�d�}tj|j|j	d df< tj
dd�� |jdk }W d   ƒ n1 sf0    Y  tj
d	d�� |dk j}W d   ƒ n1 sœ0    Y  t ||¡ d S )
N)rf   rX   r8   rY   rZ   r   rK   Úignore)rv  Úraise)r   r   r¯   r  r   r`   rÄ   r³   r�   r   Zerrstater±   rP   r·  )r6   Z
missing_dfr{   rz   r"   r"   r#   Ú'test_comparison_protected_from_errstate,  s    þ((zCTestFrameArithmeticUnsorted.test_comparison_protected_from_errstatec                 C   s^  t t d¡ d¡ƒ}t ddg¡}t ddg¡}|j}g d¢}t|ƒ}t ddgddgddggƒ}||k}t 	||¡ |j
|k}t ||j
¡ d}	d}
d	}tjt|	d
�� ||k W d   ƒ n1 sÄ0    Y  tjt|	d
�� ||k W d   ƒ n1 sú0    Y  ||k}t 	||¡ |j
|k}t ||j
¡ tjt|
d
�� ||k W d   ƒ n1 �s^0    Y  tjt|d
�� |j
|k W d   ƒ n1 �s˜0    Y  t ddgddgddggƒ}||k}t 	||¡ tjt|	d
�� ||k W d   ƒ n1 �sþ0    Y  tjt|	d
�� ||k W d   ƒ n1 �s60    Y  ||k}t 	||¡ |j
|k}t ||j
¡ tjt|
d
�� ||k W d   ƒ n1 �sš0    Y  |j
j|jk�s¸J ‚t t d¡ d¡tdƒtdƒd�}|j|_|j|_tjt|	d
�� ||k W d   ƒ n1 �s0    Y  tjt|	d
�� ||k W d   ƒ n1 �sP0    Y  d S )NrW   rš   rV   ©rV   rV   rV   FTz5Unable to coerce to Series, length must be 2: given 3ú,Unable to coerce to DataFrame, shape must bez4operands could not be broadcast together with shapesr[   ZABr—  r   )r   r   r�   rž   r    Z
atleast_2dr¼   ÚtuplerP   rQ   r±   r·  ra   rb   rc   r°   r`   r   r   )r6   rR   r   Zb_rZb_cÚlstÚtupr{   rz   Zmsg1dZmsg2dZmsg2dbr"   r"   r#   Útest_boolean_comparison8  sb    
&&
(*((
(ÿ(z3TestFrameArithmeticUnsorted.test_boolean_comparisonc                 C   sž  t dƒ}tt dt|ƒ ¡ dt|ƒ¡|tdƒd�}d|jd d …dd…f  ¡  }t dƒ}t dƒ}| ¡ }|| | j	|d	�}||  |7  < |j	|d	�}| ¡ }|| ||  j	|d	�}	||  || 7  < |j	|d	�}
t
 ||¡ t
 ||	¡ t
 ||
¡ | ¡ }|| | j	|d	�}||  |8  < |j	|d	�}| ¡ }|| ||  j	|d	�}	||  || 8  < |j	|d	�}
t
 ||¡ t
 ||	¡ t
 ||
¡ d S )
NZabcdefgrf   r~  r   r%   r•   ZbedcfZbcdefrZ   )r`   r   r   r�   rŽ   rž   r‹   rÈ   r:   r²   rP   rQ   )r6   r   ZX_origÚZZblock1ÚsubsÚXZresult1rà   r¿  Zresult4r"   r"   r#   Útest_inplace_ops_alignment†  s>    ýz6TestFrameArithmeticUnsorted.test_inplace_ops_alignmentc           	      C   s.  t g d¢ƒ}ttj d¡jdddd� dd¡ƒ}| ¡ }|}|d7 }t 	||¡ t 	|d |¡ ||u slJ ‚|j
|j
u s|J ‚| ¡ }|}|d7 }t ||¡ t |d |¡ ||u s¸J ‚|j
|j
u sÈJ ‚| ¡ }|}|d	7 }t 	||¡ t 	|d	 |¡ | ¡ }|}|d	7 }t ||¡ t |d	 |¡ ||u �s6J ‚|j
|j
u �sHJ ‚tj d¡jdddd�}t| ¡ d
dœƒ}| ¡ }|}|d  d7  < t| ¡ d d
dœƒ}t ||¡ t ||¡ |j
|j
u �sÎJ ‚| ¡ }|}|d  d	7  < t| ¡ d	 d
dœƒ}t ||¡ t ||¡ |j
|j
u �s*J ‚d S )NrÌ   rV   r   r­   rf   rg   r~  r•   r  rL   r×   rK   )r
   r   r   r]   r^   rŠ   rž   r:   rP   rÒ   Z_mgrrQ   )	r6   Zs_origÚdf_origr¦  r§  rR   rÁ   r!   r{   r"   r"   r#   Útest_inplace_ops_identity¶  s\    ÿz5TestFrameArithmeticUnsorted.test_inplace_ops_identityrå   Úandr
  z__idiv__ not implemented)rb   Úreason)Zmarksrß   r  r  Úorrq  r  rp  Úxorc                 C   s’   t g d¢g d¢dœƒ}d}|dv r.g d¢|d< | ¡ }d|› d	�}d	|› d	�}t||ƒ|ƒ t||ƒ|ƒ}t ||¡ t|ƒ}t|ƒ|ksŽJ ‚d S )
Nr   rÌ   rl   rV   )rÒ  rÔ  rÕ  )TFTr   Z__irð   )r   r:   r�   rP   rQ   r"  )r6   r«   rR   ÚoperandZdf_copyZiopr{   r"   r"   r#   Útest_inplace_ops_identity2ñ  s    z6TestFrameArithmeticUnsorted.test_inplace_ops_identity2ÚvalrÌ   r8   r•   rX   c                 C   s¢   g d¢}g d¢}t tj d¡ d¡||d�}t j}t |||dœ|jd�}t |||dd�d	 |¡ t g d
¢g d¢g d¢dœ|jd�}t |||d	d�d	 |¡ d S )Nr¡   ©rÎ  rŽ  rÌ  rV   ©r›   r›   ru   rØ   r   r»   r•   r¼  rÆ  ©r›   r›   r›   )	r   r   r]   r^   r_   Ú_align_for_opr   rP   rQ   )r6   rØ  r   r   rR   Úalignr{   r"   r"   r#   Útest_alignment_non_pandas  s    
ýÿz5TestFrameArithmeticUnsorted.test_alignment_non_pandasrV   rY  r›   c                 C   s²   g d¢}g d¢}t tj d¡ d¡||d�}t j}d}tjt|d�� |||dd	� W d   ƒ n1 sh0    Y  tjt|d�� |||d
d	� W d   ƒ n1 s¤0    Y  d S )Nr¡   rÙ  rV   rÚ  ru   z5Unable to coerce to Series, length must be 3: given 2r[   r   r»   r•   )	r   r   r]   r^   r_   rÜ  ra   rb   rc   )r6   rØ  r   r   rR   rÝ  rd   r"   r"   r#   Ú)test_alignment_non_pandas_length_mismatch5  s    ý,zETestFrameArithmeticUnsorted.test_alignment_non_pandas_length_mismatchc                 C   sÆ  g d¢}g d¢}t tj d¡ d¡||d�}t j}t g d¢g d¢g d¢g¡}t |||d	d
�d t ||j	|j
d�¡ t |||dd
�d t ||j	|j
d�¡ d}t g d¢g d¢g¡}tjt|d�� |||d	d
� W d   ƒ n1 sê0    Y  tjt|d�� |||dd
� W d   ƒ n1 �s(0    Y  t d¡}t d¡}tjt|d�� |||d	d
� W d   ƒ n1 �sz0    Y  tjt|d�� |||dd
� W d   ƒ n1 �s¸0    Y  d S )Nr¡   rÙ  rV   rÚ  ru   rÌ   ©rX   r­   rW   )rÀ   r    r>  r   r»   r•   rÇ  r[   rÛ  zGUnable to coerce to Series/DataFrame, dimension must be <= 2: (3, 3, 3))r   r   r]   r^   r_   rÜ  r    rP   rQ   r   r   ra   rb   rc   Zzerosr½  r¾  )r6   r   r   rR   rÝ  rØ  rd   r"   r"   r#   Ú'test_alignment_non_pandas_index_columnsH  s>    ýþþ,.
ÿ.zCTestFrameArithmeticUnsorted.test_alignment_non_pandas_index_columnsc                 C   sZ   t ddgdd gdœƒ}|d }t d ¡� t||ƒ|ƒ W d   ƒ n1 sL0    Y  d S )Nr^  r×   r¢   )r   rP   rs  r�   ©r6   rô   rR   r   r"   r"   r#   Útest_no_warningn  s    z+TestFrameArithmeticUnsorted.test_no_warningc                 C   s`   t ddgdd gdœƒ}|d }tjtdd��  t||ƒ|dƒ W d   ƒ n1 sR0    Y  d S )Nr^  r×   r¢   ztakes 2 positional argumentsr[   r   )r   ra   rb   rx   r�   râ  r"   r"   r#   Útest_dunder_methods_binaryt  s    z6TestFrameArithmeticUnsorted.test_dunder_methods_binaryc                 C   sj   t jddd� dd¡}t jdtd�}t|ƒ}| ¡ |d< | t¡}|| 	¡  }|| 	¡  }t
 ||¡ d S )Nr%   r  r8   rf   )rf   r•   z0.X)r   r�   rž   r¯   Úintr   rF  rA   r  ÚmeanrP   rQ   )r6   rÎ  rŽ  rÆ   rÁ   rz   r{   r"   r"   r#   Útest_align_int_fill_bug{  s    
z3TestFrameArithmeticUnsorted.test_align_int_fill_bugN)1rG   rH   rI   r�  r�  ra   r¨   r©   r�   rå   r  r  rp  r”  Úfilterwarningsr–  r¥  r¨  r«  r°  r³  r¶  r¹  r�   r‚   r~   r}   r   r€   rÀ  rÂ  rÅ  rË  rÏ  rÑ  r,   ZxfailÚAttributeErrorr×  r   r    r  r‹   rÞ  rß  rá  rã  rä  rç  r"   r"   r"   r#   r…  ½  s~   ÿ


&
=(.þ
$N0;ÿþðþ
üþ	
(
&r…  c                  C   sL   t dg d¢iƒ} t g d¢d�}| | }t dtjdtjgiƒ}t ||¡ d S )NrK   r  rØ   r   ©r   r   r³   rP   rQ   )r’   r“   rz   r{   r"   r"   r#   Útest_pow_with_realignmentŠ  s
    rë  c                  C   sž   t tj d¡ ddd¡g d¢d�} tg d¢g d¢d�}|  d	¡| d	¡ d
d¡ }t || jdd�}|  	d¡}|| }t
 ||¡ || 	d¡ }t
 ||¡ d S )NrV   r   r%   )rf   r›   r   rZ   rÌ   rØ   r  r~  r›   ZInt64rg  )r   r   r]   r^   rŠ   r
   Zto_numpyrž   r   rA   rP   rQ   )rR   rÚ   r{   Zdf_earz   r"   r"   r#   Ú&test_dataframe_series_extension_dtypes”  s    ÿ
rì  c                     s  t j d¡ ddd¡} t| ƒ}| ¡  ddddœ¡}t j|jdg d¢f< | ¡  ddi¡}t j|jddgf< | ¡  ddddœ¡}t j|jdt  	dd¡f< | ¡  dddd	œ¡}t j|jdt  	d
d¡f< ||f||f||ffD ]6\‰ ‰ˆ ˆ }t‡ ‡fdd„ˆ j
D ƒƒ}t ||¡ qÞd S )NrV   r   iè  )r%   rf   r  )r•   r›   rÀ   r­   ©rV   r›   rX   rà  rX   rÀ   c                    s   i | ]}|ˆ | ˆ|  “qS r"   r"   r„   ©r’   r“   r"   r#   rs   »  rt   z6test_dataframe_blockwise_slicelike.<locals>.<dictcomp>)r   r]   r^   rŠ   r   r:   rA   r³   rÈ   r�   r   rP   rQ   )r!   rÆ   rÁ   rÂ   Zdf4Zdf5rT   r{   r"   rî  r#   Ú"test_dataframe_blockwise_slicelike¥  s    rï  zdf, col_dtyper   r   r   r   ÚabrZ   r  r   rÄ   c                 C   sT   t dtjgdtjggtdƒd�}| d|i¡}| tdgtdƒd� }t ||¡ d S )	Nr^  r   rð  rZ   r   g      ð¿r   rØ   )r   r   r³   r`   rA   r
   rP   rQ   )rR   Z	col_dtyper{   rz   r"   r"   r#   Ú/test_dataframe_operation_with_non_numeric_types¿  s     rñ  c                  C   sZ   t dggdgd�} t g d¢gg d¢d�}| | }t tjddggg d¢d�}t ||¡ d S )Nr   r™  )r´   r   r  )r˜  r™  r™  rZ   rê  )rÆ   rÁ   rz   r{   r"   r"   r#   Ú"test_arith_reindex_with_duplicatesÓ  s
    rò  Úto_addr•   c                 C   sš   t ddgddgdœƒ}dt| d ƒ› d�}tjt|d�� ||   W d   ƒ n1 sV0    Y  tjt|d�� | |  W d   ƒ n1 sŒ0    Y  d S )Nr•   rV   rp   zUnable to coerce list of r   z to Series/DataFramer[   )r   rB   ra   rb   rc   )ró  rR   rd   r"   r"   r#   Ú"test_arith_list_of_arraylike_raiseÜ  s    &rô  c                 C   s¦   t dg d¢iƒ}| ¡ }|d }|j}t |¡� |d7 }W d   ƒ n1 sN0    Y  | rx|j|usjJ ‚t ||¡ n*|j|u s†J ‚t dg d¢iƒ}t ||¡ d S )NrK   rÌ   r•   rí  )r   r:   Z_valuesrP   Zassert_cow_warningrQ   )Zusing_copy_on_writeZwarn_copy_on_writerR   rÐ  r-  Úvalsr{   r"   r"   r#   Ú%test_inplace_arithmetic_series_updateè  s    &rö  c                  C   sŠ   t dggdgtjdgdggddgd�d�} t dggdgtdgdd�d�}t dggdgtjdgdggddgd�d�}| | }t ||¡ dS )	zP
    Regression test for: https://github.com/pandas-dev/pandas/issues/33765
    r•   r   r   r   r#  ru   ©rÏ   N)r   r	   r+  r   rP   rQ   )rÆ   rÁ   r{   rz   r"   r"   r#   Ú test_arithmetic_multiindex_alignû  s    ýýrø  c                  C   sF   t dtdƒtdƒƒ} | d }t t d¡tdƒtdƒƒ}t ||¡ d S )NTrð  Úcdr   rœ   )r   r`   r   r¯   rP   rQ   )rR   rz   r{   r"   r"   r#   Útest_bool_frame_mult_float  s    rú  c                 C   sP   t g d¢| d�}t g d¢| d�}tg d¢| d�}| ¡ | ¡  }t ||¡ d S )N)r•   rV   Nr8   rÌ   )r   r   N)r
   r   Zto_framerP   rQ   )Zany_int_ea_dtypeZseries1Zseries2r{   rz   r"   r"   r#   Útest_frame_sub_nullable_int  s
    rû  zMignore:Passing a BlockManager|Passing a SingleBlockManager:DeprecationWarningc                     s†   G ‡ ‡fdd„dt ƒ‰G ‡fdd„dtƒ‰ ˆ dg d¢g d¢dœƒ} | d	 }ˆ dg d
¢g d¢dœƒ}t ||¡ | |  }t ||¡ d S )Nc                       s,   e Zd Ze‡fdd„ƒZe‡ fdd„ƒZdS )zEtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeriesc                    s   ˆ S r3   r"   r=   ©ÚSubclassedSeriesr"   r#   Ú_constructor&  s    zRtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeries._constructorc                    s   ˆ S r3   r"   r=   )ÚSubclassedDataFramer"   r#   Ú_constructor_expanddim*  s    z\test_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeries._constructor_expanddimN)rG   rH   rI   Úpropertyrþ  r   r"   ©rÿ  rý  r"   r#   rý  %  s   rý  c                       sD   e Zd ZdgZddœ‡ fdd„Zedd„ ƒZe‡fdd	„ƒZ‡  ZS )
zHtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrameÚmy_extra_dataNr1   c                    s   || _ tƒ j|i |¤Ž d S r3   )r  Úsuperr7   )r6   r  ÚargsÚkwargs©Ú	__class__r"   r#   r7   1  s    zQtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame.__init__c                 S   s   t  t| ƒ| j¡S r3   )Ú	functoolsÚpartialrB   r  r=   r"   r"   r#   rþ  5  s    zUtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame._constructorc                    s   ˆ S r3   r"   r=   rü  r"   r#   Ú_constructor_sliced9  s    z\test_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame._constructor_sliced)	rG   rH   rI   Ú	_metadatar7   r  rþ  r  Ú__classcell__r"   rü  r  r#   rÿ  .  s   
rÿ  Z	some_datarÌ   rà  r×   rV   rU  )r    rf   é   r8  )Zsdfrz   r{   r"   r  r#   Ú+test_frame_op_subclass_nonclass_constructor  s    	r  c                  C   sd   t ddƒ} t| jg d¢iƒ}t| jg d¢iƒ}|| j || j k}tg d¢| jd�}t ||¡ d S )NÚColsz	col1 col2rÌ   )TTTr÷  )r   r   r’  r
   rP   rÒ   )r  Úq1Úq2rz   r{   r"   r"   r#   Útest_enum_column_equalityF  s    
r  c                 C   s‚   t tdƒddgd�}t tdƒddgd�}|j d¡|_|| }t tdƒddgd�}| rrtr`d}nd}|j |¡|_t ||¡ d S )Nr—  r   r   )r   r´   r   r^  Ústringzstring[pyarrow])r   r`   r   rA   r   rP   rQ   )Zusing_infer_stringrÆ   rÁ   rz   r{   r5   r"   r"   r#   Útest_mixed_col_index_dtypeR  s    r  )@Úcollectionsr   r   r   Úenumr   r	  r�   r½  Únumpyr   ra   Zpandas.compatr   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsrD  Zpandasrˆ   r   r   r	   r
   Zpandas._testingZ_testingrP   Zpandas.core.computationr   r+   Zpandas.tests.frame.commonr   r   Zfixturer$   r/   r0   rJ   rª   rÝ   r7  r€  r�  r„  r…  rë  rì  rï  r¨   r©   r`   rA   rÄ   rñ  rò  rô  rö  rø  rú  rû  rè  r  r  r  r"   r"   r"   r#   Ú<module>   s‚   

 [ H  S  F
     R
ÿüþþ
	.
	ÿ
$