o
    Û­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"   ú_/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pandas/tests/frame/test_arithmetic.pyÚsimple_frame    s   r$   Téd   ÚnumexprÚpython)ÚautouseÚparamsÚidsc                 c   sH   � |  ¡ �}| td| j¡ | jV  W d   ƒ d S 1 sw   Y  d S )NÚ_MIN_ELEMENTS)ÚcontextÚsetattrÚexprÚparam)ÚrequestÚmonkeypatchÚmr"   r"   r#   Úswitch_numexpr_min_elements1   s
   €

"þr3   c                   @   sX   e Zd Zddd„Zddd„Zdefdd„Zdefd	d
„Zddd„Zdd„ Z	ddd„Z
dS )ÚDummyElementÚreturnNc                 C   s   || _ t |¡| _d S ©N)Úvaluer   Údtype)Úselfr7   r8   r"   r"   r#   Ú__init__9   s   zDummyElement.__init__c                 C   s   t j| j| jd�S )N©r8   )r   r    r7   r8   ©r9   r8   Úcopyr"   r"   r#   Ú	__array__=   s   zDummyElement.__array__c                 C   s   d| j › d| j› d�S )NzDummyElement(z, ú))r7   r8   ©r9   r"   r"   r#   Ú__str__@   ó   zDummyElement.__str__c                 C   s   t | ƒS r6   )Ústrr@   r"   r"   r#   Ú__repr__C   s   zDummyElement.__repr__Fc                 C   s
   || _ | S r6   r;   r<   r"   r"   r#   ÚastypeF   s   zDummyElement.astypec                 C   s   t | ƒ| j |¡|ƒS r6   )Útyper7   Úview)r9   r8   r"   r"   r#   rG   J   rB   zDummyElement.viewc                 C   s
   t | jƒS r6   )Úboolr7   )r9   Úaxisr"   r"   r#   ÚanyM   s   
zDummyElement.any©r5   N)NN)Fr6   )Ú__name__Ú
__module__Ú__qualname__r:   r>   rC   rA   rD   rE   rG   rJ   r"   r"   r"   r#   r4   8   s    


r4   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)TFFrQ   Úcategory)r   ÚtmÚassert_frame_equalrE   )r9   Ú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   ƒ d S 1 s(w   Y  d S )Né   )é   é   ÚABCD©r   z+The truth value of a DataFrame is ambiguous©Úmatchr6   )	r   r   ÚrandomÚdefault_rngÚstandard_normalÚlistÚpytestÚraisesÚ
ValueError)r9   rW   Úmsgr"   r"   r#   Útest_frame_in_listg   s   ÿ
"ÿz'TestFrameComparisons.test_frame_in_listz	arg, arg2r[   é
   ©ÚsizeÚ20010101©Úperiods©r   r   c                    sp  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_w   Y  tjt|d�� ˆ ˆk W d   ƒ n1 szw   Y  tjt|d�� ˆ ˆk  W d   ƒ n1 s•w   Y  tjt|d�� ˆ ˆk W d   ƒ d S 1 s±w   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"   rr   ru   r"   r#   rx   ®   ry   )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   rU   rV   Újoinrf   rg   Ú	TypeError)r9   ÚargÚarg2ÚresultÚexpectedÚmsgsri   r"   ru   r#   Útest_comparison_invalidp   s<   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 rc||t d¡ƒ}|t d¡|ƒ}t ||¡ n@d}tjt|d�� ||t d¡ƒ W d   ƒ n1 sw   Y  tjt|d�� |t d¡|ƒ W d   ƒ n1 sžw   Y  |dv r¿||t d¡ƒ}|t d¡|ƒ}t ||¡ d S d}tjt|d�� ||t d¡ƒ W d   ƒ n1 sÛw   Y  tjt|d�� |t d¡|ƒ W d   ƒ d S 1 sûw   Y  d S )Nrn   rk   ro   Ú20010102r[   i Êš;rl   c                 S   s   g | ]}t d | ƒ‘qS )r%   )Úchr©rs   Úir"   r"   r#   Ú
<listcomp>Û   s    z?TestFrameComparisons.test_timestamp_compare.<locals>.<listcomp>)Údates1Údates2ÚintcolÚfloatcolÚ	stringcolg      à?r�   )rˆ   r‰   Ú20010109zL'(<|>)=?' not supported between instances of 'numpy.ndarray' and 'Timestamp'r`   ÚnatzJ'(<|>)=?' not supported between instances of 'numpy.ndarray' and 'NaTType')r   ÚpdÚ
date_ranger   rb   rc   Úintegersrd   ÚrangeÚNaTÚlocÚlenÚgetattrÚoperatorÚ	TimestamprU   rV   rf   rg   r}   )	r9   ÚleftÚrightrW   Úleft_fÚright_fr�   r€   ri   r"   r"   r#   Útest_timestamp_compareÇ   sF   ûÿ&	

ÿÿÿÿÿ"ÿ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}| ¡  ¡ s,J ‚d S )Nz
1989-08-01é   r[   r   r   r   Úd)r   rJ   Úall)r9   rW   Úotherr€   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 )Nr\   ©é   r[   FT©r[   r[   r[   )r   r   ÚarangeÚreshaperU   rV   )r9   rW   r�   r€   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 )Nr[   )é   r«   r°   ©rP   ÚBÚCrz   )r   r   rb   rc   rd   r™   Ú__eq__rJ   ©r9   rW   r€   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¥   rQ   rq   r[   rR   r   )r   r   rU   rV   r›   r   )r9   rW   Úmask_aÚmask_br"   r"   r#   Útest_df_string_comparison$  s   
"$
"(z.TestFrameComparisons.test_df_string_comparisonN)rL   rM   rN   rZ   rj   rf   ÚmarkÚparametrizer   rb   rc   r˜   r–   r—   rƒ   r¤   r©   r¯   r¶   r¹   r"   r"   r"   r#   rO   U   sZ    	þþûþþûþþûþþûáþ
-*þ
-
rO   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 	¡ s,J ‚| 
|¡j ¡ r6J ‚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   ƒ d S 1 s¬w   Y  d S )
Nr[   ©é   r«   )r¥   r«   r«   r¥   rz   r   ú$Unable to coerce to Series/DataFramer`   )r   rb   rc   rd   r   ÚonesÚshaperˆ   Úvaluesr§   r‰   rJ   r�   rž   rU   rV   r›   r=   Úreindexr   r   Únanrf   rg   rh   )r9   r½   ÚdataÚ
other_datarW   r¨   Úndim_5ÚfÚoÚpart_oÚrsÚxpri   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 )Nr[   r¾   r¿   r«   r   ©rI   )r   rb   rc   rd   r   rˆ   r‰   rU   rV   r
   ÚTre   r„   r‡   r†   r…   )r9   rÏ   rÆ   rW   Úidx_serÚcol_serÚidx_eqÚcol_eqÚidx_neÚcol_neÚidx_gtÚcol_gtÚidx_leÚcol_leÚidx_geÚcol_geÚidx_ltÚ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 s)J ‚| 	|¡}|jd r5J ‚| 
|¡}|jd rAJ ‚| |¡}|jd rMJ ‚| |¡}|jd rYJ ‚d S )Nr[   r¾   ©r   r   )r   r   rb   rc   rd   rÅ   r›   rˆ   r‰   r„   r…   r†   r‡   )r9   rW   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?w   Y  tjt|d	�� |d  |d ¡ W d   ƒ n1 s_w   Y  tjt|d	�� |j	|j	k W d   ƒ n1 s|w   Y  | 
|¡}|j	 ¡ s�J ‚t  dt jd g¡}td|iƒ}tjt|d	�� | d¡ W d   ƒ n1 s³w   Y  tjt|d	�� |d  d¡ W d   ƒ n1 sÑw   Y  tjt|d	�� |j	dk W d   ƒ d S 1 sîw   Y  d S )
Nr¥   r\   y               @é   r   r{   z9'>' not supported between instances of '.*' and 'complex'z unorderable types: .*complex\(\)r`   )r   r    rÅ   r   r|   rf   rg   r}   r„   rÃ   r‰   r§   )	r9   r!   Úarr2rW   Údf2ri   rÌ   Úarr3Údf3r"   r"   r#   Ú"test_bool_flex_frame_complex_dtype‹  s>   þÿþþþ
þþ"þ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 )Nrt   rQ   rR   r;   )FTF)	r   r   rÅ   Úobjectr   Únowr‰   rU   rV   )r9   Údf1rå   r€   rX   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 s'J ‚|tjk}|jd  ¡ du s7J ‚| tj¡}|jd  ¡ du sHJ ‚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¥   r[   r«   r   ru   r[   Úcount©r   Úname)
r   r�   ÚdtypesÚvalue_countsrU   Úassert_series_equalr
   r   r8   rH   )r9   rð   rW   Úconstr€   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   ru   r[   r   rò   ró   )r   rí   r�   rõ   rö   rU   r÷   r
   r   r8   rH   )r9   rð   rW   rø   Úemptyr€   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ñ   ©rP   r²   r   rÐ   Fr¥   r[   rP   r²   ©r   )r–   ÚIntervalIndexÚfrom_breaksr   r
   rˆ   rU   rV   )r9   ÚiirW   ÚserrY   r�   Úser2Úres2r"   r"   r#   Ú-test_df_flex_cmp_ea_dtype_with_ndarray_seriesã  s   zFTestFrameFlexComparisons.test_df_flex_cmp_ea_dtype_with_ndarray_seriesN)rL   rM   rN   rf   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"   rr   ©rW   r  r"   r#   rx   ÿ  ó    z?TestFrameFlexArithmetic.test_floordiv_axis0.<locals>.<dictcomp>)	r   r­   r
   r   Úfloordivr   rU   rV   rÃ   )r9   r!   r€   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-01rk   ro   Ú1©r   r¥   r   rÐ   )r–   r—   Útimedelta_ranger
   r   ÚaddrU   rV   )r9   ÚdtiÚtdiÚtserrW   r€   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«   ro   )z1 Dayrš   z2 Daysútimedelta64[ns]r;   rü   r¥   )Údays©Ú
fill_value)z
2016-01-02z
2016-01-03z
2016-01-05zdatetime64[ns]r[   )	r–   r—   r
   r   Ú	TimedeltaÚto_timedelta64r  rU   rV   )r9   r  r  rW   r¨   Úfillr€   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ž   Úreplaceru   ©r½   r"   r#   rÉ   *  s   
z8TestFrameFlexArithmetic.test_arith_flex_frame.<locals>.fr[   r³   r;   )r�   rU   rV   r   )r9   Úall_arithmetic_operatorsÚfloat_frameÚmixed_float_framerÉ   r€   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 r!dd dœ}	n|dv r)dd i}	tjr9|dkr9d| d j|	d< t ||¡ t||	d	� t ||ƒd| ƒ}||d| ƒ}t ||¡ t|dd id	� t ||ƒd| ƒ}||d| ƒ}t ||¡ d S )
Nr[   )r&  Úuint64)r²   r³   )r%  r'  r³   r   rP   r;   )	r�   rž   r.   ÚUSE_NUMEXPRr8   rU   rV   r   r   )
r9   r½   Ú	int_frameÚmixed_int_framer#  r3   rÉ   r€   r�   r8   r"   r"   r#   Útest_arith_flex_frame_mixed:  s&   
	z3TestFrameFlexArithmetic.test_arith_flex_frame_mixedÚdimr«   r\   c                 C   sX   |}t  d| ¡}d}tjt|d�� t||ƒ|ƒ W d   ƒ d S 1 s%w   Y  d S )N)r¥   rÀ   r`   )r   rÁ   rf   rg   rh   r�   )r9   r!  r"  r-  r½   r!   ri   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 sUw   Y  tjtdd�� |j |j	d ddd� W d   ƒ d S 1 sxw   Y  d S )	Nr¥   r   r  r`   r«   r  r   ©rI   r  )
r  rU   rV   Ú
sort_indexr   rÅ   rf   rg   ÚNotImplementedErrorrí   )r9   r"  Ú	const_addr€   r�   r"   r"   r#   Útest_arith_flex_frame_cornern  s   
ÿ"ÿ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ž   rU   rV   rÑ   )r9   r$   r½   rW   Úrowrt   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   )r7  rU   rV   r  ÚdivrÑ   )r9   r$   rW   r8  rt   r"   r"   r#   Útest_arith_flex_series�  s   
"z.TestFrameFlexArithmetic.test_arith_flex_seriesr8   Ú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 )
Nr\   rª   r;   r   ç      ø?g      ô?r   r   rÐ   )	r   r   r­   r®   rÅ   Úinfr:  rU   rV   )r9   r8   rW   r�   r€   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 s4w   Y  tjtd	d
�� |j|d d dd� W d   ƒ d S 1 sVw   Y  d S )Nr;   rP   r²   r_   r¥   r[   r«   r]   r  r`   ÚEr  r/  )r
   ré   r   rf   rg   r1  r  r4  )r9   Úser_len0Údf_len0rW   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«   r]   r¿   Úfloatr;   rQ   r\   rý   r[   r  )	r   r    rÅ   r   r™   Úfillnar  rU   rV   )r9   ÚdatrW   rX   rY   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¥   r[   r«   r]   r¿   )r¥   r[   r¥   r[   r«   rý   rñ   )r   r[   r   r[   r[   )r¥   r¥   r[   r[   r«   )r   r4  rU   rV   )r9   rë   rå   r�   r€   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 )Nrk   r[   rü   rP   )	r   r   r­   rb   rc   r�   r   rU   rV   )r9   r½   rW   r�   r€   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¥   r[   rñ   rü   ÚL1©r   r   r   ))rP   r³   )rP   ÚDÚL2)rL  )r   r   Ú	set_namesr  rU   rV   )r9   rL  rë   rå   r€   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«   r]   r¿   ©iÚ  iä  r   r   rM  ©Úscenr6  Úid©Únamesrý   çš™™™™™Ù?r6  rW  )çffffffö?ç333333@ç333333@)r^  çš™™™™™@gš™™™™™@r   rÐ   ©r   r	   Úfrom_productr
   r  rU   rV   ©r9   rW   Úseriesr�   r€   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«   rU  r   r   rW  r6  rY  rý   )ç      $@g      4@g      >@rM  rV  )g      &@é   g      ?@)g      *@g      7@g     €@@r   rÐ   r`  rb  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ñ   rT  rU  r   r   rM  rV  rY  rý   r[  r   r6  rW  ©r   r   r   ©r   r   r¥   )r   r   r[   r   rÐ   )
r   r	   ra  r
   r   rÅ   Úfrom_tuplesr  rU   rV   rb  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ñ   rT  rU  )rh  ri  )r   r   r[   rV  rY  rý   r[  r   r   r6  rW  r\  r]  r^  r_  r   rÐ   )
r   r	   rj  r
   ra  r   rÅ   r  rU   rV   rb  r"   r"   r#   Ú+test_frame_multiindex_operations_part_align%  s(   úþþúþzCTestFrameFlexArithmetic.test_frame_multiindex_operations_part_align)rL   rM   rN   r
  r  r  r$  rf   rº   r»   r,  r™   r.  r3  r9  r;  r@  rD  rH  rI  rK  rS  rd  rg  rk  rl  r"   r"   r"   r#   r  ö  s4    
(



	
	
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  r;   r¥   r[   r«   r]   r  ©r
   r   rU   rV   )r9   r  rW   r€   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s)J ‚tdd	gd	dgdd
gg|j|j|jd�}|| }t 	||¡ || }t 	||¡ d S )Nr\   r«   r[   TFr±   r   r¥   r]   r°   ©r   r   r8   ©
r   r­   r®   r   rÂ   r   r   r8   rU   rV   )r9   r!   rW   Úrowliker�   r€   r"   r"   r#   Ú'test_df_add_2d_array_rowlike_broadcastsR  ó   ú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s)J ‚tddgd
dgddgg|j|j|jd�}|| }t 	||¡ || }t 	||¡ d S )Nr\   r«   r[   TFr±   r   r¥   r   r¿   é	   rk   rp  rq  )r9   r!   rW   Úcolliker�   r€   r"   r"   r#   Ú'test_df_add_2d_array_collike_broadcastsg  rt  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s6J ‚t|jd
 |ƒ| 	¡ ƒt|jd |ƒ| 	¡ ƒt|jd |ƒ| 	¡ ƒg}t||j
|jd�}	t||ƒ|ƒ}
t |
|	¡ d S )N©Ú__rmod__Ú__rfloordiv__r\   r«   r[   TFr±   r   r¥   rP   r²   r³   )ÚtdÚ&mark_array_manager_not_yet_implementedr   r­   r®   r   rÂ   r�   r›   Úsqueezer   r   rU   rV   )r9   r0   r!  Úusing_array_managerrð   r!   rW   rr  Úexvalsr�   r€   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s6J ‚t|d |ƒ| ¡ ƒt|d |ƒ| ¡ ƒdœ}d }	|dv r_tj	dd„ | 
¡ D ƒŽ }	t||j|j|	d�}
t||ƒ|ƒ}t ||
¡ d S )Nrx  r\   r«   r[   TFr±   r   r¥   r   )TFc                 s   s   � | ]}|j V  qd S r6   )rÃ   ©rs   rv   r"   r"   r#   Ú	<genexpr>°  s   € zPTestFrameArithmetic.test_df_arith_2d_array_collike_broadcasts.<locals>.<genexpr>rp  )r{  r|  r   r­   r®   r   rÂ   r�   r}  Úcommon_typerÃ   r   r   rU   rV   )r9   r0   r!  r~  rð   r!   rW   rv  r  r8   r�   r€   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 ¡ s2J ‚d S )NFTr¥   c                 S   ó   | j S r6   ©Úkind©rv   r"   r"   r#   Ú<lambda>¿  ó    z:TestFrameArithmetic.test_df_bool_mul_int.<locals>.<lambda>r�   c                 S   r…  r6   r†  rˆ  r"   r"   r#   r‰  Ã  rŠ  )r   rõ   Úapplyr§   )r9   rW   r€   Ú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ü   )ÚaaÚbbÚcc©r[   r]   r\   ©r   rU   rV   )r9   r    r€   r�   r"   r"   r#   Útest_arith_mixedÆ  s   z$TestFrameArithmetic.test_arith_mixedrt   rP   r²   c                 C   sB   t ddgddgdœƒ}||dƒ| }||| dƒ}t ||¡ d S )Ngš™™™™™ñ?gffffff
@g      @g333333Àrü   r¥   )r   rU   r÷   )r9   Úall_arithmetic_functionsrt   rW   r€   r�   r"   r"   r#   Útest_arith_getitem_commuteÍ  s   z.TestFrameArithmetic.test_arith_getitem_commuterÃ   r¥   r[   ©r¥   r[   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ü   r[   r«   r’  )r9   rÃ   rW   r�   r€   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¥   rk   Úf8r;   r«   r   r   r   r   rz   r   rÐ   r   r   r[   )r   r   r­   r®   r7  rÃ   r   r   rU   rV   rÑ   r  re   rb   rc   rÂ   )r9   rW   Úval1ÚaddedÚval2Ú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¥   r[   r_   rk   c                    s   g | ]	}t |ˆƒˆ ƒ‘qS r"   )r�   )rs   Ún©Únumr½   r"   r#   rŽ      r  zVTestFrameArithmetic.test_operations_with_interval_categories_index.<locals>.<listcomp>)r–   ÚCategoricalIndexÚinterval_ranger   r�   rU   rV   )r9   r!  ÚindrÆ   rW   r€   r�   r"   r¢  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 )NÚ2019Ú2020Ú2018Ú2021)rQ   rR   rQ   rR   úM8[ns]©r   r8   r   r_   )r   r–   rŸ   r  r   rÅ   rU   rV   )r9   rW   rå   r€   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)r°  r±  )TrH   é   Únsú<m8[ns]ú<M8[ns]r½   c                 C   r…  r6   )rL   rˆ  r"   r"   r#   r‰  .  rŠ  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sd|dkrg|t jkrgd }
n#|dkrnd}
n|t j
u rƒd}
|dkr‚tjr‚|d	kr‚t}	nd
|j› d�}
tjt|
d��, t |	¡� |||jƒ W d   ƒ n1 s¨w   Y  W d   ƒ d S W d   ƒ d S 1 sÀw   Y  d S ||f|v �r$|t jt jfv �rtjrá|d	krát}	nd }	t |	¡� |||jƒ W d   ƒ d S 1 súw   Y  d S d}
tjt|
d�� |||jƒ W d   ƒ d S 1 �sw   Y  d S t d ¡� |||jƒj}|||ƒj}W d   ƒ n	1 �sBw   Y  t ||¡ d S )NrH   rP   r;   rµ  r´  r±  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  r5  r4   r   r7   r8   r6  r4  r.   r)  ÚUserWarningrL   rf   rg   r}   rU   Úassert_produces_warningr1  rõ   r÷   )r9   r½   r7   r8   r3   ÚskipÚelemrW   ÚinvalidÚwarnri   r€   r�   r"   r"   r#   Útest_binop_other  st   ü
÷
ÿ€ÿÿÿ"ÿ"ÿ$ÿþ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¥   r[   r«   r]   ÚInt8r;   r_   r   ©r	   Úfrom_arraysr
   r   rU   rV   ©r9   ÚmidxÚmidx2r    r¡   r€   r�   r"   r"   r#   Ú*test_arithmetic_midx_cols_different_dtypesv  ó   "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¥   r[   r«   r]   r¿  r;   r_   éÿÿÿÿrÀ  rÂ  r"   r"   r#   Ú:test_arithmetic_midx_cols_different_dtypes_different_order€  rÆ  zNTestFrameArithmetic.test_arithmetic_midx_cols_different_dtypes_different_orderN)"rL   rM   rN   ro  rs  rw  r€  r„  r�  r“  rf   rº   r»   r•  r   r    r™   r   r—  r�  r§  r®  Útimedelta64Ú
datetime64rž   r  r4  r5  r¶  r6  r·  r¾  rÅ  rÈ  r"   r"   r"   r#   rm  G  sV    
 
*ÿ
øþúöF
rm  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 sDw   Y  t | j d
¡| j
d�}tjtdd	�� ||k W d   ƒ d S 1 skw   Y  d S )Nr[   r\   r«   rP   r²   r_   r;   znot alignedr`   r¬  )r   r   rb   rc   rd   r®   r
   r=  rÃ   rÅ   r   rU   rV   rf   rg   rh   rG   )rW   r  r€   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 )NrP   r²   r­  r¥   r[   rý   )r   r   r=  r
   rU   rV   )rW   r  r€   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 )NÚOnerP   ç333333ó?r¥   rÐ   )rP   rÎ  r   )r
   r   rÅ   r   ÚsumrU   r÷   )rÆ   rW   r€   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 s,J ‚|| }|j	j
tju s9J ‚d S )
Nz1/1/2011rk   Úhú
US/Eastern)rp   ÚfreqÚtzr[   r   rz   zEurope/Moscow)r–   r—   r   r   rb   rc   rd   rœ   Ú
tz_convertr   rÕ  r   Úutc)r9   ÚrngrW   Ú	df_moscowr€   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Ô  r[   r«   rý   r¥   )r–   Úperiod_ranger   r   rb   rc   rd   rœ   rÅ   rí   rU   rV   ÚtakeÚpermutation)r9   rØ  Útsr€   r�   Úhalfr"   r"   r#   Útest_align_frameË  s   ÿ z,TestFrameArithmeticUnsorted.test_align_framer½   c                 C   sd  t g d¢g d¢dœtd�}d}tjt|d�� | tj¡}W d   ƒ n1 s'w   Y  ||dƒ}||dƒ t¡}tj|t	 
|¡< t ||¡ |||ƒ}|||ƒ t¡}tj|t	 
|¡< t ||¡ d}tjt|d�� ||| d¡ƒ}W d   ƒ n1 s~w   Y  t ||¡ d}tjt|d�� || d¡|ƒ}W d   ƒ n1 s¥w   Y  t ||¡ d S )	N)r[   r   é{   N)r¥   r[   r«   r]   )Úcol1Úcol2r;   zDowncasting object dtype arraysr`   r«   rã   )r   ré   rU   r¹  ÚFutureWarningrF  r   rÅ   rE   r–   ÚisnarV   )r9   r½   rW   ri   Úfilledr€   r�   r"   r"   r#   Útest_operators_none_as_naÚ  s2   ÿÿ

ÿÿ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 )NrQ   )r�   rH   r§   )r9   r½   rY   r"  r€   r"   r"   r#   Ú%test_logical_typeerror_with_non_validû  s   zATestFrameArithmeticUnsorted.test_logical_typeerror_with_non_valid)r  r4  r5  r:  r¶  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 r3d 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ÚthirdrY  éQ   é   r«   )Úvalue1Úvalue2Úvalue3rz   )r   re  g      Y@rî  r   )rL  rI   c                    s:   g | ]\}}ˆˆ j ˆd d …d d …|f d d …f |ƒ‘qS r6   ©r›   ©rs   r�   Úv©rW   ÚidxÚopar"   r#   rŽ     s   : zETestFrameArithmeticUnsorted.test_binary_ops_align.<locals>.<listcomp>r   re  r   r   rí  c                    s4   g | ]\}}ˆˆ j ˆd d …|f d d …f |ƒ‘qS r6   rô  rõ  r÷  r"   r#   rŽ   $  s   4 )r	   ra  re   r   r   r­   r®   r0  r–   Ú
IndexSlicer�   rž   r
   ÚconcatÚitemsrU   rV   Úreindex_like)r9   r½   r   rv   r€   r�   r"   r÷  r#   Útest_binary_ops_align  s<   þýüÿþý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 ||¡ qtddg|j_||	|
|fD ]}t ||¡ q‰d S )NrP   r²   r   r   )r[   r]   r<  r;   r_   r¥   r[   rq   Úlvl0Úlvl1)rI   rL  )r¥   r[   r¥   r[   )r	   ra  r   r   rÁ   r
   r=   r   rZ  r   rô   r5  r    rU   rV   )r9   rÃ  rW   Úsrå   Ús2Úres1r  Úres3Úres4Úres5Úres6rX   rY   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/Tokyor[   rÓ  r¥   rP   rý   r«   )r–   ÚDatetimeIndexrÖ  r   r   rÅ   rU   rV   )r9   ÚbaseÚidx1Úidx2rë   rå   rX   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… ¡ ¡ sgJ ‚t 
|d ¡ ¡ srJ ‚|| }t |j|j¡ || }	t 
|d ¡ ¡ s�J ‚t 
|	d ¡ ¡ s˜J ‚|tƒ  }
t 
|
j¡ ¡ s§J ‚tƒ | }t 
|j¡ ¡ s¶J ‚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 )Nr[   rP  r]   r³   rP   r¿   rÇ  r_   r=  r;   )rÄ   r   r   rÅ   r›   Údropnar=   rU   r÷   ÚisinÚisnanr§   Úassert_index_equalr   rÃ   rú   r   rV   r   )r9   r"  r#  r+  Ú
frame_copyrš  ÚindexerrX   Ú
self_addedÚ	added_revÚ
plus_emptyÚ
empty_plusÚempty_emptyÚreverser"   r"   r#   Útest_combineFrameS  s@   &


z-TestFrameArithmeticUnsorted.test_combineFramec           
      C   s\  |  |jd ¡}|| }| ¡ D ]\}}t ||| ||  ¡ q| ¡ }d|d< t|ƒ}|| }	| ¡ D ]\}}t |	| |||  ¡ q5d|	v sLJ ‚t |	d ¡ 	¡ sWJ ‚|| }t 	|j
|jk¡sfJ ‚|| 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¥   rA  Úfloat32r³   r;   Úfloat16r%   r<  r=  )rP   r²   r³   rP  Úint32)r7  r   rü  rU   r÷   Úto_dictr
   r   r  r§   rõ   r8   rE   r   r   )
r9   r"  r#  r+  rc  rš  Úkeyr  Úlarger_seriesÚlarger_addedr"   r"   r#   Útest_combine_series�  s4   ÿ
ÿz/TestFrameArithmeticUnsorted.test_combine_seriesc                 C   sv  |d }|j |dd�}| ¡ D ]0\}}|| }tj|| |dd� || j|ks*J ‚|j|jkr8|jdks7J ‚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s¹J ‚d S )NrP   r   rÐ   F)Úcheck_nameséûÿÿÿr   rz   r¥   r_   )r  rü  rU   r÷   rô   r  r   rV   r   r   rÅ   r   rÄ   r5  rœ   )r9   Údatetime_framerß  rš  r   rt   r€   Úsmaller_frameÚsmaller_addedÚ
smaller_tsÚ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sGJ ‚d S )Nr[   r³   r;   r   )
rU   Úassert_numpy_array_equalrÃ   rü  r   r   r   Úequalsrœ   r   )r9   r"  r#  r€   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 sXw   Y  |||ƒ}
t |
j||j|jƒ¡ ||dƒ}t |j||jdƒ¡ d}	tjt|	d�� |||d d… ƒ W d   ƒ d S 1 sœw   Y  d S )Nr[   )é   r]   r^   r;   z
2000-01-01r1  r²   )rp   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   rb   rc   rd   r   re   ré   r–   r—   r=   r7  rÁ   rÂ   rU   r-  rÃ   rf   rg   rh   ÚreÚescape)r9   r$   r"  r0  rë   rå   r8  rÈ   r€   ri   r	  Úresult3r"   r"   r#   Útest_comparisonsô  s4   ý

ÿÿ
ÿ
ÿ"ÿz,TestFrameArithmeticUnsorted.test_comparisonsc                 C   sh   t dd„ dD ƒƒ}tt|ƒ}d ddg¡}tjt|d�� ||dƒ W d   ƒ d S 1 s-w   Y  d S )	Nc                 S   s   i | ]	}|d dddœ“qS )rQ   rR   rS   )rv   rw   Úzr"   r�  r"   r"   r#   rx     r  zZTestFrameArithmeticUnsorted.test_strings_to_numbers_comparisons_raises.<locals>.<dictcomp>r   r{   z;'[<>]=?' not supported between instances of 'str' and 'int'z,Invalid comparison between dtype=str and intr`   r   )r   r�   rž   r|   rf   rg   r}   )r9   Úcompare_operators_no_eq_nerW   rÉ   ri   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 s3w   Y  tj
d	d�� |dk j}W d   ƒ n1 sNw   Y  t ||¡ d S )
N)rk   r]   r;   r^   r_   r   rP   Úignore)r¼  Úraise)r   r   rÁ   r=  r   re   ré   rÅ   r›   r   ÚerrstaterÃ   rU   r-  )r9   Ú
missing_dfr�   r€   r"   r"   r#   Ú'test_comparison_protected_from_errstate,  s   þÿÿzCTestFrameArithmeticUnsorted.test_comparison_protected_from_errstatec                 C   sZ  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 sbw   Y  tjt|	d
�� ||k W d   ƒ n1 s}w   Y  ||k}t 	||¡ |j
|k}t ||j
¡ tjt|
d
�� ||k W d   ƒ n1 s®w   Y  tjt|d
�� |j
|k W d   ƒ n1 sÊw   Y  t ddgddgddggƒ}||k}t 	||¡ tjt|	d
�� ||k W d   ƒ n1 süw   Y  tjt|	d
�� ||k W d   ƒ n	1 �sw   Y  ||k}t 	||¡ |j
|k}t ||j
¡ tjt|
d
�� ||k W d   ƒ n	1 �sJw   Y  |j
j|jk�sYJ ‚t t d¡ d¡tdƒtdƒd�}|j|_|j|_tjt|	d
�� ||k W d   ƒ n	1 �s‰w   Y  tjt|	d
�� ||k W d   ƒ d S 1 �s¦w   Y  d S )Nr\   rª   r[   ©r[   r[   r[   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`   ÚABrë  r   )r   r   r­   r®   r    Ú
atleast_2drÑ   ÚtuplerU   rV   rÃ   r-  rf   rg   rh   rÂ   re   r   r   )r9   rW   r   Úb_rÚb_cÚlstÚtupr�   r€   Úmsg1dÚmsg2dÚmsg2dbr"   r"   r#   Útest_boolean_comparison8  st   

þ
þ

ÿÿ
ÿ
ÿ

ÿÿ
ÿ
$ÿ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 )
NÚabcdefgrk   rÇ  r   r%   r¥   ÚbedcfÚbcdefr_   )re   r   r   r­   rœ   r®   r™   rí   r=   rÄ   rU   rV   )r9   r   ÚX_origÚZÚblock1ÚsubsÚXÚresult1r	  r5  Ú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 s6J ‚|j
|j
u s>J ‚| ¡ }|}|d7 }t ||¡ t |d |¡ ||u s\J ‚|j
|j
u sdJ ‚| ¡ }|}|d	7 }t 	||¡ t 	|d	 |¡ | ¡ }|}|d	7 }t ||¡ t |d	 |¡ ||u sšJ ‚|j
|j
u s¢J ‚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ñ   r[   r   r¿   rk   rl   rÇ  r¥   r>  rQ   rü   rP   )r
   r   r   rb   rc   r˜   r®   r=   rU   r÷   Ú_mgrrV   )	r9   Ús_origÚdf_origr  r  rW   rå   r!   r�   r"   r"   r#   Útest_inplace_ops_identity¶  s\   ÿz5TestFrameArithmeticUnsorted.test_inplace_ops_identityr  Úandr:  z__idiv__ not implemented)rg   Úreason)Úmarksr  r6  r5  Úorr·  r4  r¶  Ú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sGJ ‚d S )
Nr   rñ   rq   r[   )r[  r^  r_  )TFTr   Ú__ir  )r   r=   r�   rU   rV   rX  )r9   r½   rW   ÚoperandÚdf_copyÚiopr�   r"   r"   r#   Útest_inplace_ops_identity2ñ  s   z6TestFrameArithmeticUnsorted.test_inplace_ops_identity2Úvalrñ   r;   r¥   r]   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±   ©rS  rÛ  rP  r[   ©r«   r«   rz   rý   r   rÐ   r¥   r2  r?  ©r«   r«   r«   )	r   r   rb   rc   rd   Ú_align_for_opr   rU   rV   )r9   re  r   r   rW   Úalignr�   r"   r"   r#   Útest_alignment_non_pandas  s   
ýÿz5TestFrameArithmeticUnsorted.test_alignment_non_pandasr[   r–  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 s4w   Y  tjt|d�� |||d
d	� W d   ƒ d S 1 sSw   Y  d S )Nr±   rf  r[   rg  rz   z5Unable to coerce to Series, length must be 3: given 2r`   r   rÐ   r¥   )	r   r   rb   rc   rd   ri  rf   rg   rh   )r9   re  r   r   rW   rj  ri   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 suw   Y  tjt|d�� |||dd
� W d   ƒ n1 s“w   Y  t d¡}t d¡}tjt|d�� |||d	d
� W d   ƒ n1 s»w   Y  tjt|d�� |||dd
� W d   ƒ d S 1 sÚw   Y  d S )Nr±   rf  r[   rg  rz   rñ   ©r]   r¿   r\   )rã   r°   ru  r   rÐ   r¥   r@  r`   rh  zGUnable to coerce to Series/DataFrame, dimension must be <= 2: (3, 3, 3))r   r   rb   rc   rd   ri  r    rU   rV   r   r   rf   rg   rh   Úzerosr3  r4  )r9   r   r   rW   rj  re  ri   r"   r"   r#   Ú'test_alignment_non_pandas_index_columnsH  sF   ýþþÿÿ
ÿÿ"ÿzCTestFrameArithmeticUnsorted.test_alignment_non_pandas_index_columnsc                 C   s\   t ddgdd gdœƒ}|d }t d ¡� t||ƒ|ƒ W d   ƒ d S 1 s'w   Y  d S )Nrž  rü   r²   )r   rU   r¹  r�   ©r9   r!  rW   r   r"   r"   r#   Útest_no_warningn  s
   "ÿz+TestFrameArithmeticUnsorted.test_no_warningc                 C   sb   t ddgdd gdœƒ}|d }tjtdd�� t||ƒ|dƒ W d   ƒ d S 1 s*w   Y  d S )Nrž  rü   r²   ztakes 2 positional argumentsr`   r   )r   rf   rg   r}   r�   rp  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=  r;   rk   )rk   r¥   z0.X)r   r­   r®   rÁ   Úintr   r}  rE   rE  ÚmeanrU   rV   )r9   rS  rÛ  rë   rå   r€   r�   r"   r"   r#   Útest_align_int_fill_bug{  s   
z3TestFrameArithmeticUnsorted.test_align_int_fill_bugN)1rL   rM   rN   rÚ  rá  rf   rº   r»   rž   r  r4  r5  r¶  rè  Úfilterwarningsrê  rþ  r  r  r  r#  r,  r/  rˆ   r‰   r…   r„   r†   r‡   r6  r9  r>  rK  rV  rZ  r/   ÚxfailÚAttributeErrorrd  r   r    r<  r™   rk  rl  ro  rq  rr  ru  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 )NrP   rM  rý   r   ©r   r   rÅ   rU   rV   )r    r¡   r€   r�   r"   r"   r#   Útest_pow_with_realignmentŠ  s
   rz  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 )Nr[   r   r%   )rk   r«   r   r_   rñ   rý   r<  rÇ  r«   ÚInt64r­  )r   r   rb   rc   r˜   r
   Úto_numpyr®   r   rE   rU   rV   )rW   r  r�   Údf_ear€   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 ]\‰ ‰ˆ ˆ }t‡ ‡fdd„ˆ j
D ƒƒ}t ||¡ qod S )Nr[   r   iè  )r%   rk   rE  )r¥   r«   rã   r¿   ©r[   r«   r]   rm  r]   rã   c                    s   i | ]}|ˆ | ˆ|  “qS r"   r"   rŒ   ©r    r¡   r"   r#   rx   »  ry   z6test_dataframe_blockwise_slicelike.<locals>.<dictcomp>)r   rb   rc   r˜   r   r=   rE   rÅ   rí   r­   r   rU   rV   )r!   rë   rå   rç   Údf4Údf5rY   r�   r"   r€  r#   Ú"test_dataframe_blockwise_slicelike¥  s   ürƒ  zdf, col_dtyper   r   r   r   Úabr_   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„  r_   r   g      ð¿r   rý   )r   r   rÅ   re   rE   r
   rU   rV   )rW   Ú	col_dtyper�   r€   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   rO  )rì  rí  rí  r_   ry  )rë   rå   r€   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 s+w   Y  tjt|d�� | |  W d   ƒ d S 1 sGw   Y  d S )Nr¥   r[   ru   zUnable to coerce list of r   z to Series/DataFramer`   )r   rF   rf   rg   rh   )rˆ  rW   ri   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 s'w   Y  | r=|j|us5J ‚t ||¡ d S |j|u sDJ ‚t dg d¢iƒ}t ||¡ d S )NrP   rñ   r¥   r  )r   r=   Ú_valuesrU   Úassert_cow_warningrV   )Úusing_copy_on_writeÚwarn_copy_on_writerW   rY  rc  Ú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   rY  rz   ©rô   N)r   r	   ra  r   rU   rV   )rë   rå   r�   r€   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   re   r   rÁ   rU   rV   )rW   r€   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¥   r[   Nr;   rñ   )r   r   N)r
   r   Úto_framerU   rV   )Úany_int_ea_dtypeÚseries1Úseries2r�   r€   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 r6   r"   r@   ©ÚSubclassedSeriesr"   r#   Ú_constructor&  ó   zRtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeries._constructorc                    r™  r6   r"   r@   )ÚSubclassedDataFramer"   r#   Ú_constructor_expanddim*  r�  z\test_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeries._constructor_expanddimN)rL   rM   rN   Úpropertyrœ  rŸ  r"   ©rž  r›  r"   r#   r›  %  s
    r›  c                       s@   e Zd ZdgZ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_datar5   Nc                    s   || _ tƒ j|i |¤Ž d S r6   )r¢  Úsuperr:   )r9   r¢  ÚargsÚkwargs©Ú	__class__r"   r#   r:   1  s   zQtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame.__init__c                 S   s   t  t| ƒ| j¡S r6   )Ú	functoolsÚpartialrF   r¢  r@   r"   r"   r#   rœ  5  s   zUtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame._constructorc                    r™  r6   r"   r@   rš  r"   r#   Ú_constructor_sliced9  r�  z\test_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame._constructor_slicedrK   )	rL   rM   rN   Ú	_metadatar:   r   rœ  rª  Ú__classcell__r"   rš  r¦  r#   rž  .  s    
rž  Ú	some_datarñ   rm  rü   r[   r‘  )r°   rk   é   rn  )Úsdfr€   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
   rU   r÷   )r±  Úq1Úq2r€   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�}| r9tr0d}nd}|j |¡|_t ||¡ d S )Nrë  r   r   )r   rÆ   r   rž  Ústringzstring[pyarrow])r   re   r   rE   r   rU   rV   )Úusing_infer_stringrë   rå   r€   r�   r8   r"   r"   r#   Útest_mixed_col_index_dtypeR  s   r·  )@Úcollectionsr   r   r   Úenumr   r¨  rž   r3  Únumpyr   rf   Úpandas.compatr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsr{  Úpandasr–   r   r   r	   r
   Úpandas._testingÚ_testingrU   Úpandas.core.computationr   r.   Úpandas.tests.frame.commonr   r   Úfixturer$   r3   r4   rO   r¼   r  rm  rË  rÌ  rÐ  rÑ  rz  r~  rƒ  rº   r»   re   rE   ré   r†  r‡  r‰  r�  r‘  r“  r˜  rv  r°  r´  r·  r"   r"   r"   r#   Ú<module>   s„    

 [ H  S  F
     R
ÿüþþ
.	
	ÿ
$