
    bMh             
          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c 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	             Z" ej!        d
d dgddg          d             Z# G d d          Z$ G d d          Z% G d d          Z& G d d          Z' G d d          Z(d Z)d Z*d Z+ G d d          Z,d Z-d  Z.d! Z/ej0        1                    d" ed#d$gd%d&gg e2d'          (          d)f ed#d*gd%d*gg e2d'          (          3                    d*e4i          d+fg          d,             Z5d- Z6ej0        1                    d. ed/d/g          g ed/d/g           ed/d/g          gg          d0             Z7d1 Z8d2 Z9d3 Z:d4 Z;ej0        <                    d5          d6             Z=d7 Z>d8 Z?dS )9    )deque)datetimetimezone)EnumN)HAS_PYARROW)	DataFrameIndex
MultiIndexSeries)expressions)_check_mixed_float_check_mixed_intc                  h    t          j        g dg dg dg          } t          | g dg 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   )arrs    b/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/frame/test_arithmetic.pysimple_framer%       sF     (OOO___oooF
G
GCS"9"9"9QQQQ    Td   numexprpython)autouseparamsidsc              #      K   |                                 5 }|                    t          d| j                   | j        V  d d d            d S # 1 swxY w Y   d S )N_MIN_ELEMENTS)contextsetattrexprparam)requestmonkeypatchms      r$   switch_numexpr_min_elementsr6   1   s      					 !			$777m                 s   +AAAc                   L    e Zd ZddZddZdefdZdefdZddZd	 Z	dd
Z
dS )DummyElementreturnNc                 F    || _         t          j        |          | _        d S N)valuer!   dtype)selfr<   r=   s      r$   __init__zDummyElement.__init__9   s    
Xe__


r&   c                 B    t          j        | j        | j                  S )Nr=   )r!   r"   r<   r=   r>   r=   copys      r$   	__array__zDummyElement.__array__=   s    x
$*5555r&   c                 (    d| j          d| j         dS )NzDummyElement(z, ))r<   r=   r>   s    r$   __str__zDummyElement.__str__@   s    :tz::TZ::::r&   c                      t          |           S r;   )strrG   s    r$   __repr__zDummyElement.__repr__C   s    4yyr&   Fc                     || _         | S r;   rA   rB   s      r$   astypezDummyElement.astypeF   s    
r&   c                 d     t          |           | j                            |          |          S r;   )typer<   view)r>   r=   s     r$   rP   zDummyElement.viewJ   s(    tDzz$*//%00%888r&   c                 *    t          | j                  S r;   )boolr<   )r>   axiss     r$   anyzDummyElement.anyM   s    DJr&   r9   N)NN)Fr;   )__name__
__module____qualname__r?   rD   rJ   rH   rK   rM   rP   rT    r&   r$   r8   r8   8   s        % % % %6 6 6 6; ; ; ; ;#       9 9 9           r&   r8   c                      e Zd Zd Zd Zej                            dej	        
                    d                              dd           ej        dd          d	e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                              dd           ej        dd          d	g ej        dd           ej        dd          d	ej	        
                    d                              dd          ej	        
                    d                              dd          d	gej	        
                    d                              dd           ej        dd          d	 ej        dd           ej        dd          d	gg          d
             Zej                            dg d          d             Zd Zd Zd Zd ZdS )TestFrameComparisonsc                     t          dg di          }t          dg di          }|dk    }t          j        ||           |d                             d          |d<   |dk    }t          j        ||           d S )NA)foobarbaz)TFFr^   category)r   tmassert_frame_equalrM   )r>   dfexpress       r$   &test_comparison_with_categorical_dtypez;TestFrameComparisons.test_comparison_with_categorical_dtypeX   s     222344222344Ek
c3''' S'..,,3Ek
c3'''''r&   c                    t          t          j                            d                              d          t          d                    }d}t          j        t          |          5  |dv  d d d            d S # 1 swxY w Y   d S )N   )      ABCDr   z+The truth value of a DataFrame is ambiguousmatchr;   )	r   r!   randomdefault_rngstandard_normallistpytestraises
ValueError)r>   rd   msgs      r$   test_frame_in_listz'TestFrameComparisons.test_frame_in_listg   s    I!!!$$44V<<d6ll
 
 
 <]:S111 	 	&LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   ,A>>BBz	arg, arg2ri   
   size20010101periodsr   r   c                 f   t          |          t          |          k    }t          fdj        D             j        j                  }t          j        ||           k    }t          fdj        D             j        j                  }t          j        ||           g d}d                    |          }t          j        t          |          5  k     d d d            n# 1 swxY w Y   t          j        t          |          5  k     d d d            n# 1 swxY w Y   t          j        t          |          5  k      d d d            n# 1 swxY w Y   t          j        t          |          5  k     d d d            d S # 1 swxY w Y   d S )Nc                 6    i | ]}||         |         k    S rY   rY   .0colxys     r$   
<dictcomp>z@TestFrameComparisons.test_comparison_invalid.<locals>.<dictcomp>   (    888sS!C&AcF"888r&   r    r   c                 6    i | ]}||         |         k    S rY   rY   r   s     r$   r   z@TestFrameComparisons.test_comparison_invalid.<locals>.<dictcomp>   r   r&   )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.|rn   )	r   r   r    rb   rc   joinrt   ru   	TypeError)	r>   argarg2resultexpectedmsgsrw   r   r   s	          @@r$   test_comparison_invalidz,TestFrameComparisons.test_comparison_invalidp   s   ` cNNdOO a88888ai888'I
 
 

 	fh///a88888ai888'I
 
 

 	fh///
 
 
 hhtnn]9C000 	 	FF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	EE	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	EE	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	FF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sH   'C::C>C> D33D7:D7E,,E03E0F&&F*-F*zleft, right))gtlt)r   r   )gele)r   r   )eqr   )ner   c           
      `   t          t          j        dd          t          j        dd          t          j                            d                              dd          t          j                            d                              d          d t          d          D             d	          }t          j	        |j
        t          j                            d                              t          |                    d
k    df<   t          t          |          }t          t          |          }|dv rR ||t          j        d                    } |t          j        d          |          }t          j        ||           nd}t#          j        t&          |          5   ||t          j        d                     d d d            n# 1 swxY w Y   t#          j        t&          |          5   |t          j        d          |           d d d            n# 1 swxY w Y   |dv rS ||t          j        d                    } |t          j        d          |          }t          j        ||           d S d}t#          j        t&          |          5   ||t          j        d                     d d d            n# 1 swxY w Y   t#          j        t&          |          5   |t          j        d          |           d d d            d S # 1 swxY w Y   d S )Nr|   ry   r}   20010102ri   i ʚ;rz   c                 2    g | ]}t          d |z             S )r'   )chr)r   is     r$   
<listcomp>z?TestFrameComparisons.test_timestamp_compare.<locals>.<listcomp>   s"    >>>qc#'ll>>>r&   )dates1dates2intcolfloatcol	stringcolg      ?r   )r   r   20010109zL'(<|>)=?' not supported between instances of 'numpy.ndarray' and 'Timestamp'rn   natzJ'(<|>)=?' not supported between instances of 'numpy.ndarray' and 'NaTType')r   pd
date_ranger!   rp   rq   integersrr   rangeNaTloclengetattroperator	Timestamprb   rc   rt   ru   r   )	r>   leftrightrd   left_fright_fr   r   rw   s	            r$   test_timestamp_comparez+TestFrameComparisons.test_timestamp_compare   s    -
B???-
B???)//22;;JR;PPI11!44DDRHH>>E"II>>> 
 
 LN6ry$$Q''..s2ww77#=xGH4(((E** <vb",z":":;;HWR\*55r::F!&(3333?  y444 5 5r2<
334445 5 5 5 5 5 5 5 5 5 5 5 5 5 5y444 6 6Z00"5556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 <vb",u"5"566HWR\%00"55F!&(33333=  y444 0 0r2<..///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0y444 1 1U++R0001 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1sH   +GGG<H''H+.H+&KKK7L##L'*L'c                    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   ri   r   r   r   d)r   rT   all)r>   rd   otherr   s       r$   test_mixed_comparisonz*TestFrameComparisons.test_mixed_comparison   s     q)L!+<=>>C:Sz233u::<<##%%%%%uzz||!!!!!!!r&   c                    t          t          j        d                              d                    }t          ddgddgddgg          }|dk    }t	          j        ||           |ddgk    }t	          j        ||           d S )Nrj      ri   FTri   ri   ri   )r   r!   arangereshaperb   rc   )r>   rd   r   r   s       r$    test_df_boolean_comparison_errorz5TestFrameComparisons.test_df_boolean_comparison_error  s     ry||++F3344uentUmeU^LMMv
fh///1v
fh/////r&   c                 "   t          t          j                            d                              d          t          d          g d          }|                    d           }|                                                                rJ d S )Nri   )   r   r   r]   BCr   )r   r!   rp   rq   rr   r   __eq__rT   r>   rd   r   s      r$   test_df_float_none_comparisonz2TestFrameComparisons.test_df_float_none_comparison  s~    I!!!$$44V<<((#OO
 
 
 4::<<##%%%%%%%r&   c                    t          ddddddg          }|j        dk    }t          j        ||         |j        ddd d f                    t          j        ||          |j        ddd d f                    |j        dk    }t          j        ||         |j        ddd d f                    t          j        ||          |j        ddd d f                    d S )Nr   r^   r   ri   r_   r   )r   r   rb   rc   r   r   )r>   rd   mask_amask_bs       r$   test_df_string_comparisonz.TestFrameComparisons.test_df_string_comparison$  s    ae,,AE.B.BCDD
bj"&1aaa.999
b&k26!A#qqq&>:::
bj"&1aaa.999
b&k26!A#qqq&>:::::r&   N)rV   rW   rX   rg   rx   rt   markparametrizer!   rp   rq   r   r   r   r   r   r   r   r   r   rY   r&   r$   r[   r[   U   sC       ( ( (   [ ..q11::2B:GG&z2>>> 
 ..q11::2B:GG..q11::2B:GG 	 ..q11::2B:GG..q11::2B:GG 
 ..q11::2B:GG&z2>>> 	 'z2>>>&z2>>> 
 ..q11::2B:GG..q11::2B:GG 	 ..q11::2B:GG&z2>>> 
 'z2>>>&z2>>> 	?)	
, ,Z( ([, ,Z(T [	
 	
 	

 
+1 +1
 
+1Z" " "0 0 0& & &; ; ; ; ;r&   r[   c                   f   e Zd Zej                            dg d          d             Zej                            dej        e	g          d             Z
d Zd Zd Zd	 Zej                            d
g d          d             Zej                            d
g d          d             Zd ZdS )TestFrameFlexComparisonsop)r   r   r   r   r   r   c                 "   t           j                            d                              d          }t           j                            d                              d          }t	          |          }t	          |          }t          j        |j        dz             }|                    |          j        	                                sJ |
                    |          j                                        rJ t          ||          }t          t          |          }t          j         ||           |||                     |j        dd dd f                                         }	 ||	          }
 |||	                    |j        |j                            }t          j        |
|           t          j         ||j                   |||j                             t          j         |d           ||d                     d}t          j         |t           j                   ||t           j                             t-          j        t0          |	          5   ||           d d d            d S # 1 swxY w Y   d S )
Nri      r   )r   r   r   r   r   r   $Unable to coerce to Series/DataFramern   )r!   rp   rq   rr   r   onesshaper   valuesr   r   rT   r   r   rb   rc   r   rC   reindexr    r   nanrt   ru   rv   )r>   r   data
other_datard   r   ndim_5fopart_orsxprw   s                r$   test_bool_flex_framez-TestFrameFlexComparisons.test_bool_flex_frame1  sp   y$$Q''77??Y**1--==fEE
t__*%%F*++ uuRyy##%%%%%5599#'')))))BOOHb!!
aahh"e555122qrr6"''))QvYYQr6>>"*>EEFF
b"%%%
aaooqqU\/B/BCCC
aaddAAb!HH---4
aaii2rv777]:S111 	 	AfIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   +JJJboxc                    t           j                            d                              d          }t	          |          } |t           j                            d                              d                    } |t           j                            d                              d                    }|                    |d          }|                    |          }|                    |d          }|                    |          }	t          j        ||t          |          k               t          j        ||	            t          j        ||            t          j        ||j
                            |          j
                   t          j        ||                    t          |                               t          j        ||                    t          |          d                     t          j        ||                    t          |          d                     |                    |d          }
|                    |          }|                    |d          }|                    |          }t          j        ||t          |          k               t          j        ||            t          j        |
|            t          j        |
|j
                            |          j
                   |                    |d          }|                    |          }|                    |d          }|                    |          }t          j        ||t          |          k               t          j        ||            t          j        ||            t          j        ||j
                            |          j
                   t          t           j                            d                              d                    }t          t           j                            d                              d                    }d S )Nri   r   r   r   r   rS   )r!   rp   rq   rr   r   r   r   rb   rc   r   Trs   r   r   r   r   )r>   r   r   rd   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_lts                     r$   test_bool_flex_seriesz.TestFrameFlexComparisons.test_bool_flex_seriesO  sy    y$$Q''77??t__#bi++A..>>qAABB#bi++A..>>qAABBwQ''wwQ''w
fbF7OO&;<<<
fvg...
fvg...
fbdggg&6&6&8999
fbeeDMM&:&:;;;
fbeeF7OO!e&D&DEEE
fbeeDMMe&B&BCCCwQ''wwQ''w
fb6'??&:;;;
fvg...
fvg...
fbdggg&6&6&8999wQ''wwQ''w
fbF7OO&;<<<
fvg...
fvg...
fbdggg&6&6&8999..q11AA!DDEE..q11AA!DDEEr&   c                 \   t          t          j                            d                              d                    }t          j        |j        d<   |                    |          }|j        d         rJ |                    |          }|j        d         sJ |	                    |          }|j        d         rJ |
                    |          }|j        d         rJ |                    |          }|j        d         rJ |                    |          }|j        d         rJ d S )Nri   r   r   r   )r   r!   rp   rq   rr   r   r   r   r   r   r   r   r   )r>   rd   r   s      r$   test_bool_flex_frame_naz0TestFrameFlexComparisons.test_bool_flex_frame_naz  s   ry,,Q//??GGHHvtUU2YY6$<UU2YYvd|UU2YY6$<UU2YY6$<UU2YY6$<UU2YY6$<r&   c                 @   t          j        t           j        ddt           j        g          }t          j        dt           j        dd g          }t          d|i          }t          d|i          }d                    ddg          }t          j        t          |	          5  |                    |           d d d            n# 1 swxY w Y   t          j        t          |	          5  |d                             |d                    d d d            n# 1 swxY w Y   t          j        t          |	          5  |j	        |j	        k     d d d            n# 1 swxY w Y   |
                    |          }|j	                                        sJ t          j        dt           j        d g          }t          d|i          }t          j        t          |	          5  |                    d           d d d            n# 1 swxY w Y   t          j        t          |	          5  |d                             d           d d d            n# 1 swxY w Y   t          j        t          |	          5  |j	        dk     d d d            d S # 1 swxY w Y   d S )
Nr   rj   y               @   r   r   z9'>' not supported between instances of '.*' and 'complex'z unorderable types: .*complex\(\)rn   )r!   r"   r   r   r   rt   ru   r   r   r   r   r   )	r>   r#   arr2rd   df2rw   r   arr3df3s	            r$   "test_bool_flex_frame_complex_dtypez;TestFrameFlexComparisons.test_bool_flex_frame_complex_dtype  s   h1bf-..xRVQ-..Sz""d$$hhK3
 
 ]9C000 	 	EE#JJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	! 	!sGJJs3x   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! ]9C000 	# 	#I
""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# UU3ZZy}}xRVT*++d$$]9C000 	 	FF2JJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	HKKOOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	JOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sl   #CC	C	+"DD D?EE #E $HH
H
,III:JJJc                 "   t          ddt          j        dgit                    }t          ddt	          j                    dgit                    }|                    |          }t          dg di          }t          j        ||           d S )Nr   r^   r_   rA   )FTF)	r   r!   r   objectr   nowr   rb   rc   )r>   df1r   r   re   s        r$   !test_bool_flex_frame_object_dtypez:TestFrameFlexComparisons.test_bool_flex_frame_object_dtype  s     67vFFF >?vNNN 4 4 4566
fc*****r&   c                    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 sJ |                    t          j                  }|j        d                                         du sJ d S )Nr   FT)r   r   r   ilocitemr   r   r   s      r$   test_flex_comparison_natz1TestFrameFlexComparisons.test_flex_comparison_nat  s     x  rv{4 %%''50000rv{4 %%''50000rv{4 %%''4////rv{4 %%''4//////r&   opnamec           	         t          g dg dd          }d} t          ||          |          j                                        }t	          j        |t          dgt          j        t                    gd                     d S )Nr   ri   r   r   r   r   ri   countr    name)
r   r   dtypesvalue_countsrb   assert_series_equalr   r!   r=   rR   )r>   r  rd   constr   s        r$   &test_df_flex_cmp_constant_return_typesz?TestFrameFlexComparisons.test_df_flex_cmp_constant_return_types  s     YYY___==>>$V$$U++2??AA
FA3rx~~&6WEEE	
 	
 	
 	
 	
r&   c           	      0   t          g dg dd          }d}|j        d d         } t          ||          |          j                                        }t          j        |t          dgt          j	        t                    gd                     d S )Nr  r   r  ri   r   r  r  )r   r	  r   r  r  rb   r  r   r!   r=   rR   )r>   r  rd   r  emptyr   s         r$   ,test_df_flex_cmp_constant_return_types_emptyzETestFrameFlexComparisons.test_df_flex_cmp_constant_return_types_empty  s     YYY___==>>'''..5BBDD
FA3rx~~&6WEEE	
 	
 	
 	
 	
r&   c                    t           j                            g d          }t          ||d          }t	          ddg          }|                    |d          }t          ddgddgd          }t          j        ||           t	          ddgdd	g
          }|                    |d          }t          j        ||           d S )Nr  r]   r   r   r   Fr   ri   r]   r   r    )r   IntervalIndexfrom_breaksr   r   r   rb   rc   )r>   iird   serrf   r   ser2res2s           r$   -test_df_flex_cmp_ea_dtype_with_ndarray_serieszFTestFrameFlexComparisons.test_df_flex_cmp_ea_dtype_with_ndarray_series  s    )))))44Rb))**aVnneeCae  E5>GGHH
c8,,,q!fS#J///uuTu""
dH-----r&   N)rV   rW   rX   rt   r   r   r   r!   r"   r   r   r   r  r  r  r  r  r$  rY   r&   r$   r   r   /  s9       [T#G#G#GHH  IH: [URXv$677(F (F 87(FT     "% % %N+ + +0 0 0$ [X'K'K'KLL
 
 ML
 [X'K'K'KLL	
 	
 ML	
. . . . .r&   r   c                   4   e Zd Zd Zd Zd Zd Zej        	                    dg d          d             Z
ej        	                    d ed	d
                    d             Zd Zej        	                    dg d          d             Zd Zej        	                    dddg          d             Zd Zd Zd Zej        	                    dg d          d             Zej        	                    dddg          d             Zd Zd Zd Zd  ZdS )!TestFrameFlexArithmeticc                 p   t          j        d          }t          |          t          d                              d          }t          fdj        D                       }t          j        ||                               j        d          }t          j        ||           d S )Nr   r  r   r   c                 (    i | ]}||         z  S rY   rY   )r   r   rd   r!  s     r$   r   z?TestFrameFlexArithmetic.test_floordiv_axis0.<locals>.<dictcomp>  s#    HHHcc2c7c>HHHr&   )	r!   r   r   r   floordivr   rb   rc   r   )r>   r#   r   r   result2rd   r!  s        @@r$   test_floordiv_axis0z+TestFrameFlexArithmetic.test_floordiv_axis0  s    illSkkSs++,,Sq))HHHHHRZHHHII
fh///++cjq+11
gx00000r&   c                 (   t          j        dd          }t          j        dd          }t          |          }t	          ||d          }|                    |d          }t	          ||z   ||z   d          }t          j        ||           d S )N
2016-01-01ry   r}   1r   r   r   r   )r   r   timedelta_ranger   r   addrb   rc   )r>   dtitditserrd   r   r   s          r$   test_df_add_td64_columnwisez3TestFrameFlexArithmetic.test_df_add_td64_columnwise  s    mL"555 b111c{{33''((1%%ssSy99::
fh/////r&   c                    t          j        dd          }t          g dd          }t          ||d          }t          ||d          }t          j        d	                                          }|                    ||
          }t          t          g dd          |dz  d          }t          j        ||           d S )Nr-  r   r}   )z1 Dayr   z2 Daystimedelta64[ns]rA   r  r   )days
fill_value)z
2016-01-02z
2016-01-03z
2016-01-05zdatetime64[ns]ri   )	r   r   r   r   	Timedeltato_timedelta64r1  rb   rc   )r>   r2  r!  rd   r   fillr   r   s           r$   $test_df_add_flex_filled_mixed_dtypesz<TestFrameFlexArithmetic.test_df_add_flex_filled_mixed_dtypes  s    mL!444///7HIIISs++,,#..//|###2244$//>>>FV   1W	 
 
 	fh/////r&   c                 <   |fd} t          |          d|z            } ||d|z            }t          j        ||            t          |          d|z            } ||d|z            }t          j        ||           t          |dd i           d S )Nc                                          d          r3 t          t                              dd                    ||           S  t          t                    | |          S )N__r__)
startswithr   r   replace)r   r   r   s     r$   r   z8TestFrameFlexArithmetic.test_arith_flex_frame.<locals>.f*  s^    }}U## HAwxE4)@)@AA!QGGG(78R((A...r&   ri   r   rA   )r   rb   rc   r   )r>   all_arithmetic_operatorsfloat_framemixed_float_framer   r   r   r   s          @r$   test_arith_flex_framez-TestFrameFlexArithmetic.test_arith_flex_frame$  s     &	/ 	/ 	/ 	/ 	/ *b))!k/::1[!k/22
fh/// 0*B//4E0EFF1&,=(=>>
fh///6#t555555r&   r   )__add____sub____mul__c                 j   t          t          |          } t          ||          d|z             } ||d|z             }d }	|dv rdd d}	n|dv rdd i}	t          j        r|dk    rd|z   d         j        |	d<   t          j        ||           t          ||		            t          ||          d|z            } ||d|z            }t          j        ||           t          |dd i	            t          ||          d|z            } ||d|z            }t          j        ||           d S )
Nri   )rJ  uint64)r   r   )rI  rK  r   r   r]   rA   )	r   r   r1   USE_NUMEXPRr=   rb   rc   r   r   )
r>   r   	int_framemixed_int_framerG  r6   r   r   r   r=   s
             r$   test_arith_flex_frame_mixedz3TestFrameFlexArithmetic.test_arith_flex_frame_mixed:  s    Hb!! ."--a/.ABB1_a/&9:: "..EE)))$KE 	: ;q @ @
 o-s39E#J
fh///u---- 0*B//4E0EFF1&,=(=>>
fh///6#t5555 (B''I661YI..
fh/////r&   dimr   rj   c                     |}t          j        d|z            }d}t          j        t          |          5   t          ||          |           d d d            d S # 1 swxY w Y   d S )N)r   r   rn   )r!   r   rt   ru   rv   r   )r>   rE  rF  rR  r   r#   rw   s          r$   test_arith_flex_frame_raisez3TestFrameFlexArithmetic.test_arith_flex_frame_raisec  s     & gdSj!!4]:S111 	* 	*$GK$$S)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s   AA"%A"c                    |                     d          }t          j        ||dz              |                     |d d                   }|                                t          j        z  }t          j        ||           |d d                              |          }|                                t          j        z  }t          j        ||           t          j        t          d          5  |                     |j	        d         d           d d d            n# 1 swxY w Y   t          j        t          d          5  |                     |j	        d         dd           d d d            d S # 1 swxY w Y   d S )	Nr   r   r:  rn   r   r9  r    rS   r:  )
r1  rb   rc   
sort_indexr!   r   rt   ru   NotImplementedErrorr	  )r>   rF  	const_addr   r   s        r$   test_arith_flex_frame_cornerz4TestFrameFlexArithmetic.test_arith_flex_frame_cornern  s   OOA&&	
iq999 RaR11))++bf4
fh///RaR$$[11))++bf4
fh///].lCCC 	? 	?OOK,Q/AO>>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? ].lCCC 	M 	MOOK,Q/g!OLLL	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	Ms$   /#DD"%D"$E55E9<E9)r1  submulmodc                 F   |}|                     d          }|d         }t          ||          }t          t          |          }t          j         ||           |||                     t          j         ||d           ||j        |          j                   d S )Nr   r   r   r   )xsr   r   rb   rc   r   )r>   r%   r   rd   rowr   r   s          r$   test_arith_flex_series_opsz2TestFrameFlexArithmetic.test_arith_flex_series_ops  s     eeCjjiBOOXr""
aaffbbSkk222
aa!nnnbbsmmo>>>>>r&   c                 b   |}|                     d          }|d         }t          j        |                    |d           ||z              t          j        |                    |          ||z             t          j        |                    |d          |j        |z  j                   d S )Nr   r   r   r   )r_  rb   rc   r1  divr   )r>   r%   rd   r`  r   s        r$   test_arith_flex_seriesz.TestFrameFlexArithmetic.test_arith_flex_series  s    eeCjji
bffStf44b3h??? 	bffSkk28444
bffSqf11BD3J>BBBBBr&   r=   int64float64c                 .   t          t          j        d                              d          |          }t          t          j        t          j        gddgddgg          }|                    |d         d	          }t          j        ||           d S )
Nrj   r   rA   r         ?g      ?r   r    r   )	r   r!   r   r   r   infrc  rb   rc   )r>   r=   rd   r   r   s        r$   #test_arith_flex_series_broadcastingz;TestFrameFlexArithmetic.test_arith_flex_series_broadcasting  s     ry''//77uEEErvrv.c
S$KHII1G,,
fh/////r&   c                    t          g t                    }t          ddg          }t          ddgddggddg          }t          j        t
          d	
          5  |                    |d           d d d            n# 1 swxY w Y   t          j        t
          d	
          5  |                    |d         d d           d d d            d S # 1 swxY w Y   d S )NrA   r]   r   rm   r   ri   r   rk   r:  rn   Er9  rV  )r   r  r   rt   ru   rX  r1  r[  )r>   ser_len0df_len0rd   s       r$   test_arith_flex_zero_len_raisesz7TestFrameFlexArithmetic.test_arith_flex_zero_len_raises  sf    "F+++S#J///AA'#s<<<].lCCC 	- 	-FF8F,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- ].lCCC 	: 	:KK3dqK999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:s$   BBB'CCCc                 :   t          j        ddt           j        dddgd          }t          d|it	          d	          
          }|                    d                              d          }|                    dd          }t          j        ||           d S )Nr   r   r   rk   r   floatrA   r^   rj   r  ri   r9  )	r!   r"   r   r   r   fillnar1  rb   rc   )r>   datrd   re   rf   s        r$   test_flex_add_scalar_fill_valuez7TestFrameFlexArithmetic.test_flex_add_scalar_fill_value  s    h1bfaA.g>>>s|588444iillq!!ffQ1f%%
c3'''''r&   c                     t          g dg d          }t          g dg d          }t          g dg d          }|                    |          }t          j        ||           d S )N)r   ri   r   rk   r   )r   ri   r   ri   r   r  r  )r   ri   r   ri   ri   )r   r   ri   ri   r   )r   r[  rb   rc   )r>   r  r   r   r   s        r$   'test_sub_alignment_with_duplicate_indexz?TestFrameFlexArithmetic.test_sub_alignment_with_duplicate_index  sx    ???			333___OOODDD
fh/////r&   )rI  rK  rJ  __truediv__c                 `   t          t          j        d          t          j                            d                              d          d          } t          ||          |          }ddg|_        ddg|_         t          ||          |          }t          j        ||           d S )Nry   ri   r  r]   )	r   r!   r   rp   rq   r   r   rb   rc   )r>   r   rd   r   r   s        r$   &test_arithmetic_with_duplicate_columnsz>TestFrameFlexArithmetic.test_arithmetic_with_duplicate_columns  s     RYr]]1F1Fq1I1I1P1PQS1T1TUUVV"72r??2&&:3Z
 R$$
fh/////r&   levelr   Nc                    t          g dg dd          }|j                            d          |_        t          g dg dd          }|j                            ddg          |_        |                    ||          }t          g dg dd          }|j                            ddg          |_        t	          j        ||           d S )	Nr   r   ri   r  r  L1r   r   r   ))r]   r   )r]   DL2)rz  )r   r   	set_namesr1  rb   rc   )r>   rz  r  r   r   r   s         r$   test_broadcast_multiindexz1TestFrameFlexArithmetic.test_broadcast_multiindex  s     iiiiii8899k++D11YYYIIIFFGGk++T4L99E**)))KKLL#+55tTlCC
fh/////r&   c           	         t          g dg ddt          j        dgdgg dgg d          	          }t          d
gt          j        dgdggddg          	          }t          g dg ddt          j        dgdgg dgg d          	          }|                    |d          }t          j        ||           d S )Nr  r   rk   r   i  i  r   r   r|  scenr]  idnamesr  皙?r]  r  )ffffff?333333@333333@)r  皙@g@r   r   r   r
   from_productr   r1  rb   rc   r>   rd   seriesr   r   s        r$    test_frame_multiindex_operationsz8TestFrameFlexArithmetic.test_frame_multiindex_operations  s   99III..)yyy)1F1F1F  
 
 
 E)C53%.PPP
 
 

 "??///::)yyy)1F1F1F  
 
 
 Q''
fh/////r&   c           	         t          dgdgdt          j        dgdggddg          	          }t          g d
t          j        dgdgg dgg d          	          }t          g dg ddt          j        dgdgg dgg d          	          }|                    |d          }t          j        ||           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  s        r$   <test_frame_multiindex_operations_series_index_to_frame_indexzTTestFrameFlexArithmetic.test_frame_multiindex_operations_series_index_to_frame_index  s!   3qc"")C53%.PPP
 
 

 )yyy)1F1F1F  
 
 
 ###+=+=+=>>)yyy)1F1F1F  
 
 
 Q''
fh/////r&   c                    t          g dg ddt          j        dgdgg dgg d          	          }t          d
gt          j        dgdggddg          	          }t          t          j        t          j        dt          j        dddddt          j        fgg d          	          }|                    |d          }t          j	        ||           d S )Nr  r  r  r   r   r|  r  r  r  r  r   r]  r  r   r   r   r   r   r   )r   r   ri   r   r   )
r   r
   r  r   r!   r   from_tuplesr1  rb   rc   r  s        r$   )test_frame_multiindex_operations_no_alignzATestFrameFlexArithmetic.test_frame_multiindex_operations_no_align  s"   99III..)yyy)1F1F1F  
 
 
 E)C53%.PPP
 
 

 6(((!!!#rv&	 ,++  
 
 
 Q''
fh/////r&   c                    t          g dg ddt          j        g dg d                    }t          dgt          j        d	gd
ggddg                    }t          ddt
          j        gddt
          j        gdt          j        g dg d                    }|                    |d          }t          j	        ||           d S )Nr  r  r  )r  r  )r   r   ri   r  r  r  r  r   r   r]  r  r  r  r  r  r   r   )
r   r
   r  r   r  r!   r   r1  rb   rc   r  s        r$   +test_frame_multiindex_operations_part_alignzCTestFrameFlexArithmetic.test_frame_multiindex_operations_part_align%  s$   99III..(  
 ,++  

 

 

 E)C53%.PPP
 
 

 bf%c3-?@@(  
 ,++  

 

 

 Q''
fh/////r&   )rV   rW   rX   r+  r5  r>  rH  rt   r   r   rQ  r   rT  rZ  ra  rd  rj  ro  rt  rv  ry  r  r  r  r  r  rY   r&   r$   r&  r&    s       1 1 1	0 	0 	00 0 0&6 6 6, [T#D#D#DEE&0 &0 FE&0P [UEE!QKK00* * 10*M M M& [T#?#?#?@@	? 	? A@	?
C 
C 
C [Ww	&:;;0 0 <;0: : :( ( (0 0 0 [T#S#S#STT0 0 UT0 [Wq$i000 0 1000 0 000 0 000 0 0:0 0 0 0 0r&   r&  c                   n   e Zd Zd Zd Zd Zd Zd Zd Zd Z	e
j                            dd	d
g          d             Ze
j                            dddgd ej        ddg           edd           eddg          g          d             Zd Zd Zd Ze
j                            ddddddd ej        dd          df ej        dd          dfg          e
j                            d ej        ej        ej        ej        ej        ej        gd! "          d#                         Zd$ Z d% Z!d&S )'TestFrameArithmeticc                     t          ddgd          }t          ddgddgg          }||z  }t          ||d          }t          j        ||           d S )	Nr   r7  rA   r   ri   r   rk   r/  r   r   rb   rc   )r>   r!  rd   r   r   s        r$   test_td64_op_nat_castingz,TestFrameArithmetic.test_td64_op_nat_castingH  sl     eU^+<===AA'((c--..
fh/////r&   c                    t          j        d                              dd          }t          |ddgg 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                  }||z   }t          j	        ||           ||z   }t          j	        ||           d S )Nrj   r   ri   TFr   r   r   rk   r   r   r    r=   
r!   r   r   r   r   r   r    r=   rb   rc   )r>   r#   rd   rowliker   r   s         r$   'test_df_add_2d_array_rowlike_broadcastsz;TestFrameArithmetic.test_df_add_2d_array_rowlike_broadcastsR  s    ill""1a((sT5MIIIqc111f+}BHQK 00000VaVaV$J( )
 
 
 g
fh///2
fh/////r&   c                    t          j        d                              dd          }t          |ddgg 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                  }||z   }t          j	        ||           ||z   }t          j	        ||           d S )Nrj   r   ri   TFr   r   r   r   r   	   ry   r  r  )r>   r#   rd   colliker   r   s         r$   'test_df_add_2d_array_collike_broadcastsz;TestFrameArithmetic.test_df_add_2d_array_collike_broadcastsg  s    ill""1a((sT5MIIIaaa!f+}!a 00000VaVaW%J( )
 
 
 g
fh///2
fh/////r&   c                    |}|r|dv rt          j        |           t          j        d                              dd          }t          |ddgg d          }|d	gd d f         }|j        d	|j        d	         fk    sJ  t          |j        d
         |          |	                                           t          |j        d         |          |	                                           t          |j        d         |          |	                                          g}t          ||j
        |j                  }	 t          ||          |          }
t          j        |
|	           d S )N__rmod____rfloordiv__rj   r   ri   TFr   r   r   r]   r   r   )td&mark_array_manager_not_yet_implementedr!   r   r   r   r   r   r   squeezer   r    rb   rc   )r>   r3   rE  using_array_managerr  r#   rd   r  exvalsr   r   s              r$   )test_df_arith_2d_array_rowlike_broadcastsz=TestFrameArithmetic.test_df_arith_2d_array_rowlike_broadcasts|  sa    * 	?6-J#J#J5g>>>ill""1a((sT5MIIIqc111f+}BHQK 00000 )GBF3K(():):;;(GBF3K(():):;;(GBF3K(():):;;
 VRZrxHHH$V$$W--
fh/////r&   c                    |}|r|dv rt          j        |           t          j        d                              dd          }t          |ddgg d          }|d d d	gf         }|j        |j        d
         d	fk    sJ  t          |d         |          |                                           t          |d         |          |                                          d}d }	|dv r*t          j	        d |
                                D              }	t          ||j        |j        |	          }
 t          ||          |          }t          j        ||
           d S )Nr  rj   r   ri   TFr   r   r   r   )TFc              3   $   K   | ]}|j         V  d S r;   )r   r   r   s     r$   	<genexpr>zPTestFrameArithmetic.test_df_arith_2d_array_collike_broadcasts.<locals>.<genexpr>  s$      $G$G!QX$G$G$G$G$G$Gr&   r  )r  r  r!   r   r   r   r   r   r  common_typer   r   r    rb   rc   )r>   r3   rE  r  r  r#   rd   r  r  r=   r   r   s               r$   )test_df_arith_2d_array_collike_broadcastsz=TestFrameArithmetic.test_df_arith_2d_array_collike_broadcasts  ss    * 	?6-J#J#J5g>>>ill""1a((sT5MIIIaaa!f+}!a 00000 ,'"T(F++GOO,=,=>>-72e9f--goo.?.?@@
 

 222 N$G$Gv}}$G$G$GHEVRZrxuUUU$V$$W--
fh/////r&   c                    t          ddgddgg          }|dz  }|j                            d           }|dk                                    sJ d|z  }|j                            d           }|dk                                    sJ d S )NFTr   c                     | j         S r;   kindr   s    r$   <lambda>z:TestFrameArithmetic.test_df_bool_mul_int.<locals>.<lambda>      af r&   r   c                     | j         S r;   r  r  s    r$   r  z:TestFrameArithmetic.test_df_bool_mul_int.<locals>.<lambda>  r  r&   )r   r  applyr   )r>   rd   r   kindss       r$   test_df_bool_mul_intz(TestFrameArithmetic.test_df_bool_mul_int  s     u~677a ##$4$455!!#####R##$4$455!!#######r&   c                     t          g dg dd          }||z   }t          g dg dd          }t          j        ||           d S )Nr   r  r  )aabbccri   rk   rj   r   rb   rc   )r>   r   r   r   s       r$   test_arith_mixedz$TestFrameArithmetic.test_arith_mixed  sa    YYY??@@#5#5#5IIIFFGG
fh/////r&   r   r]   r   c                     t          ddgddgd          } ||d          |         } |||         d          }t          j        ||           d S )Ng?gffffff
@g      @g333333r  r   )r   rb   r  )r>   all_arithmetic_functionsr   rd   r   r   s         r$   test_arith_getitem_commutez.TestFrameArithmetic.test_arith_getitem_commute  se    c3ZsDk::;;))"a005++BsGQ77
vx00000r&   r   r   ri   r   ri   r   c                     t          ddgddgd          }t          ddgddgd          }||z   }t          j        ||           d S )Nr   r  ri   r   r  )r>   r   rd   r   r   s        r$   &test_arith_alignment_non_pandas_objectz:TestFrameArithmetic.test_arith_alignment_non_pandas_object  s`    
 aV1a&1122Aq6A7788f
fh/////r&   c                 8   t          t          j        ddd                              dd          g dg d          }|                    d	          j        }t          |j        |z   |j        |j        
          }t          j	        ||z   |           t          |j        j
        |z   j
        |j        |j        
          }t          j	        |                    |d          |           t          |d                   }t          |j        |z   |j        |j        
          }t          j	        ||z   |           t          |j        j
        |z   j
        |j        |j        
          }t          j	        |                    |d          |           t          j                            d                              |j                  }t          |j        |z   |j        |j        
          }t          j	        |                    |          |           d S )Nr   ry   f8rA   r   r   r   r   r   r   r   r   r   r    ri   )r   r!   r   r   r_  r   r    r   rb   rc   r   r1  rs   rp   rq   r   )r>   rd   val1addedval2val3s         r$   test_arith_non_pandas_objectz0TestFrameArithmetic.test_arith_non_pandas_object  s   Ia4(((00A66+++!//
 
 
 uuSzz ")d*"(BJOOO
b4i///29;-0"*UUU
bffTf22E:::BuI")d*"(BJOOO
b4i///29;-0"*UUU
bffTf88%@@@y$$Q''..rx88")d*"(BJOOO
bffTllE22222r&   c                 (   |t          j        t          j        dd                    }ddg}t          |g|          }d t	          |                    }t          fd|D             g|          }t          j        ||           d S )	N        r   )startendr   ri   rm   ry   c                 B    g | ]} t          |                    S rY   )r   )r   nnumr   s     r$   r   zVTestFrameArithmetic.test_operations_with_interval_categories_index.<locals>.<listcomp>   s+    AAAq~wq"~~c22AAAr&   )r   CategoricalIndexinterval_ranger   r   rb   rc   )	r>   rE  indr   rd   r   r   r  r   s	          @@r$   .test_operations_with_interval_categories_indexzBTestFrameArithmetic.test_operations_with_interval_categories_index  s    %!""3#3"G"G"GHH1vvs+++ R%%AAAAADAAABCPPP
fh/////r&   c                    t          t          j        d          t          j        d          gt          j        d          t          j        d          gdddgd	          }|dg         }||z
  }t          t          j        d
          t          j        d
          gt          j        t          j        gdddg          }t          j        ||           d S )N2019202020182021)r^   r_   r^   r_   M8[ns]r   r=   r   rm   )r   r   r   r;  r!   r   rb   rc   )r>   rd   r   r   r   s        r$   test_frame_with_frame_reindexz1TestFrameArithmetic.test_frame_with_frame_reindex  s    V,,bl6.B.BCV,,bl6.B.BC  EN
 
 
 %kc\!__bl1oo6?OPPEN
 
 
 	fh/////r&   zvalue, dtype)r   i8)r   r  )            r  )y              ?
complex128)r  r  )TrR      ns<m8[ns]<M8[ns]r   c                     | j         S r;   )rV   r  s    r$   r  zTestFrameArithmetic.<lambda>.  s    aj r&   )r,   c           
         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                  }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 rd }	|dk    r|t           j        k    s|dk    r|t           j        k    rd }
nD|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"          |
          5  t%          j        |	          5   |||j                   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY 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        |	          5   |||j                   d d d            d S # 1 swxY w Y   d S d}
t          j        t(          |
          5   |||j                   d d d            d S # 1 swxY w Y   d S t%          j        d           5   |||j                  j        } |||          j        }d d d            n# 1 swxY w Y   t%          j        ||           d S )NrR   r]   rA   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)rn   z+operator '.*' not implemented for .* dtypes)r   truedivpowr1  r\  r8   r   r<   r=   r]  r[  r1   rN  UserWarningrV   rt   ru   r   rb   assert_produces_warningrX  r  r  )r>   r   r<   r=   r6   skipelemrd   invalidwarnrw   r   r   s                r$   test_binop_otherz$TestFrameArithmetic.test_binop_other  s   6 v&\6"\6"\6"	
 E5))dj$*56djIII \9%\9%y)\9%\9%\9%\9%\6"\<(

 ;'!!D""rX\'9'9""rX\'9'9,&&Kx|##EVOO( $3q88&DA A A A 
 y444 ' '/55 ' 'Br4:&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' '' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' %[D  hlHL111#  (Cq(H(H&DDD/55 ' 'Br4:&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' D]#6cBBB ' 'Br4:&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' +D11 0 0B
++22b%==/0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "6844444sl   8GF+G+F/	/G2F/	3GG
G H??II)JJJ)(KK!$K!c                    t          j        t          ddg          t          ddg          g          }t          j        t          ddgd          t          ddg          g          }t          ddgddgg|          }t          ddgddgg|          }||z
  }t          ddgddgg|          }t	          j        ||           d S )	Nr   ri   r   rk   Int8rA   rm   r   r
   from_arraysr   r   rb   rc   r>   midxmidx2r   r   r   r   s          r$   *test_arithmetic_midx_cols_different_dtypesz>TestFrameArithmetic.test_arithmetic_midx_cols_different_dtypesv  s    %vq!f~~vq!f~~&FGG&1vV(D(D(DfaQRVnn'UVV1a&1a&)4888Aq6Aq6*E:::q!fq!f-t<<<
fh/////r&   c                    t          j        t          ddg          t          ddg          g          }t          j        t          ddgd          t          ddg          g          }t          ddgddgg|          }t          ddgddgg|          }||z
  }t          ddgddgg|          }t	          j        ||           d S )	Nr   ri   r   rk   r  rA   rm   r  r  s          r$   :test_arithmetic_midx_cols_different_dtypes_different_orderzNTestFrameArithmetic.test_arithmetic_midx_cols_different_dtypes_different_order  s    %vq!f~~vq!f~~&FGG&1vV(D(D(DfaQRVnn'UVV1a&1a&)4888Aq6Aq6*E:::r1gAw/>>>
fh/////r&   N)"rV   rW   rX   r  r  r  r  r  r  r  rt   r   r   r  r!   r"   r   r   r  r  r  r  timedelta64
datetime64r   r1  r[  r\  r  r]  r  r  r	  r  rY   r&   r$   r  r  G  s4       0 0 00 0 0*0 0 0*0 0 060 0 0@$ $ $0 0 0 [US#J//1 1 0/1 [Aq66828QF#3#3UU1a[[%%A--P 0 0 03 3 34	0 	0 	00 0 0( [!R^B%%y1R]2t$$i0		
  [LLLLL	
 !    D5 D5  2D5L0 0 00 0 0 0 0r&   r  c                     t          t          j                            d                              d                              dd          ddg          } t          t          j                  }| |z   }t          | j        t          j	        z  | j
                  }t          j        ||           t          j        t          d	          5  | |k     d d d            n# 1 swxY w Y   t          | j                            d
          | j
                  }t          j        t          d	          5  ||k     d d d            d S # 1 swxY w Y   d S )Nri   rj   r   r]   r   rm   rA   znot alignedrn   r  )r   r!   rp   rq   rr   r   r   rf  r   r   r   rb   rc   rt   ru   rv   rP   )rd   r!  r   r   r   s        r$   ,test_frame_with_zero_len_series_corner_casesr    s    

	a  0033;;AqAACQT:
 
 
B rz
"
"
"C#XFRV+RZ@@@H&(+++	z	7	7	7  
c		              
 BINN8,,bj
A
A
AC	z	7	7	7  s

                 s$   C""C&)C&6E

EEc                      t          ddgt          j                  } t          ddgddg          }| |z   }| }t	          j        ||           d S )Nr]   r   r  r   ri   r  )r   r!   rf  r   rb   rc   )rd   r!  r   r   s       r$   ,test_zero_len_frame_with_series_corner_casesr    s[    	C:RZ	8	8	8B
!QSz
*
*
*C#XFH&(+++++r&   c                      dt          ddt          j        g          i} t          |           }|                    d          }t          g d          }t          j        ||           d S )NOner]   333333?r   r   )r]   r  r   )r   r!   r   r   sumrb   r  )r   rd   r   r   s       r$   +test_frame_single_columns_object_sum_axis_1r    si     	vsC())D 
4BVVV^^Fmmm$$H68,,,,,r&   c                   $   e Zd Zd Zd Zej                            dej	        ej
        ej        ej        g          d             Zej                            dddg          ej                            d          d	                         Zej                            dg d
          d             Zd Zd Zd Zd Zd Zd Zej                            dej        ej        ej        ej        ej        ej        g          d             Zd Zd Zd Z d Z!d Z"ej                            ddd ej#        dej        $                    e%d                    dd d!d"d#d$d%d&g          d'             Z&ej                            d(g d)d) e'j(        g d)e'j)        *           e*d+d,          g          d-             Z+ej                            d(d+d.gd/ e'j(        d+d.g           e*d+d0          g          d1             Z,d2 Z-d3 Z.d4 Z/d5 Z0d6S )7TestFrameArithmeticUnsortedc                 |   t          j        dddd          }t          t          j                            d                              t          |                    |dg          }|                    d	          }||z   }|j	        j
        t          j        u sJ ||z   }|j	        j
        t          j        u sJ d S )
Nz1/1/2011ry   h
US/Eastern)r~   freqtzri   r   r   zEurope/Moscow)r   r   r   r!   rp   rq   rr   r   
tz_convertr    r  r   utc)r>   rngrd   	df_moscowr   s        r$   *test_frame_add_tz_mismatch_converts_to_utczFTestFrameArithmeticUnsorted.test_frame_add_tz_mismatch_converts_to_utc  s    mJNNNI!!!$$44SXX>>cTWSX
 
 
 MM/22	i|(,....R|(,......r&   c                 <   t          j        ddd          }t          t          j                            d                              t          |          df          |          }||d d d         z   }||z   }t          j        |j	        dd d<   t          j        ||           |d d d         }||                    t          j                            d                              t          |                              z   }t          j        ||           d S )	Nz1/1/2000z1/1/2010Y)r  ri   r   r  r   )r   period_ranger   r!   rp   rq   rr   r   r   r	  rb   rc   takepermutation)r>   r!  tsr   r   halfs         r$   test_align_framez,TestFrameArithmeticUnsorted.test_align_frame  s    oj*3???I!!!$$44c#hh]CC3
 
 
 b1g7 fadd
fh///##A#wdii	 5 5a 8 8 D DSYY O OPPP
fh/////r&   r   c                 $   t          g dg ddt                    }d}t          j        t          |          5  |                    t          j                  }d d d            n# 1 swxY w Y    ||d          } ||d                              t                    }t          j        |t          j
        |          <   t          j        ||            |||          } |||                              t                    }t          j        |t          j
        |          <   t          j        ||           d}t          j        t          |          5   |||                    d                    }d d d            n# 1 swxY w Y   t          j        ||           d}t          j        t          |          5   ||                    d          |          }d d d            n# 1 swxY w Y   t          j        ||           d S )	N)ri   r   {   N)r   ri   r   rk   )col1col2rA   zDowncasting object dtype arraysrn   r   r   )r   r  rb   r  FutureWarningrr  r!   r   rM   r   isnarc   )r>   r   rd   rw   filledr   r   s          r$   test_operators_none_as_naz5TestFrameArithmeticUnsorted.test_operators_none_as_na  s    (((,,,??v
 
 
 0'SAAA 	' 	'YYrv&&F	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	'B2fa==''//&(f""#
fh///B2ff%%,,V44&(f""#
fh////'SAAA 	* 	*RBIIaLL))F	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*
fh////'SAAA 	* 	*R		!b))F	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*
fh/////s5    A''A+.A+ FFF G00G47G4zop,res)r   F)__ne__Tz ignore:elementwise:FutureWarningc                      t          ||          d          }t          |                                                                          |u sJ d S )Nr^   )r   rR   r   )r>   r   rf   rF  r   s        r$   %test_logical_typeerror_with_non_validzATestFrameArithmeticUnsorted.test_logical_typeerror_with_non_valid  sP    
 *b))%00FJJLL$$&&''3......r&   )r1  r[  r\  rc  r  c                    t          j        t          d          g dg dgg d          }t          t	          j        d                              dd          |g d	
                                          t          j	        t          t          |d           d S t          g dg d          } t          |          |dd          }t          j        fd|                                D                                                       }t          j        ||           t          ddgddg          } t          |          |dd          }t          j        fd|                                D                                                                                     }t          j        ||           d S )Nabcr   r  )firstsecondthirdr  Q      r   )value1value2value3r   )r   r  g      Y@r;  r   )rz  rS   c           	      f    g | ]-\  }} j         d d d d |f         d d f         |          .S r;   r   r   r   vrd   idxopas      r$   r   zETestFrameArithmeticUnsorted.test_binary_ops_align.<locals>.<listcomp>  sJ    CCCASSAAAqqq!Gaaa(!,,CCCr&   r   r  r   r   r:  c                 `    g | ]*\  }} j         d d |f         d d f         |          +S r;   rB  rC  s      r$   r   zETestFrameArithmeticUnsorted.test_binary_ops_align.<locals>.<listcomp>$  sD    JJJ1ss26#aaad)QQQ,/33JJJr&   )r
   r  rs   r   r!   r   r   rW  r   
IndexSlicer   r   r   concatitemsrb   rc   reindex_like)	r>   r   r    r   r   r   rd   rE  rF  s	         @@@r$   test_binary_ops_alignz1TestFrameArithmeticUnsorted.test_binary_ops_align  s   
 '%[[111999=...
 
 

 If%%b!,,222
 
 
 *,,	 	 mhD));F%%%yyy11 R':::9CCCCCCCCC
 

*,, 	 	fh///C; 011 R(;;; IJJJJJJ		JJJKK\"Z\\ 	
 	fh/////r&   c                 2   t          j        ddgddgg          }t          t          j        dd          |          }t          d	d
d          }|                                }ddg|j        _        |                                }d|j	        _
        |                    |d	d	          }|                    |d	d	          }|                    |d	d	          }|                    |d	d	          }	|                    |d	d          }
|                    |d	d          }t          t          j        g dg dgd          |          }||fD ]}t          j        ||           ddg|j        _        ||	|
|fD ]}t          j        ||           d S )Nr]   r   r   r   )ri   rk   re  rA   rm   r   ri   r   lvl0lvl1)rS   rz  )r   ri   r   ri   )r
   r  r   r!   r   r   rC   r   r  r    r  r\  r"   rb   rc   )r>   r  rd   sr   s2res1r#  res3res4res5res6re   rf   s                 r$   &test_binary_ops_align_series_dataframezBTestFrameArithmeticUnsorted.test_binary_ops_align_series_dataframe*  s    &c
S#J'?@@rwvW555tDDD##$$ggii#V,VVXX vvaaqv))vvbqv**wwqqw**wwrw++wwqqw//wwrw00HlllLLL1AAA4
 
 
 $< 	, 	,C!#s++++#V,$d+ 	, 	,C!#s++++	, 	,r&   c                    t          j        g dd          }|                    d          d d         }|                    d          dd          }t          dddgi|	          }t          dddgi|	          }t          dt          j        d
t          j        gi|	          }t          j        ||z   |           d S )N)z
2011-01-01z
2011-01-02z
2011-01-03UTC)r  z
Asia/Tokyori   r  r   r]   r  r   )r   DatetimeIndexr  r   r!   r   rb   rc   )r>   baseidx1idx2r  r   re   s          r$    test_add_with_dti_mismatched_tzsz<TestFrameArithmeticUnsorted.test_add_with_dti_mismatched_tzsI  s     J J JuUUU|,,RaR0|,,QRR0q!fT222q!fT222rvq"&12$???
cCi-----r&   c                    |                     |j        d d d                   }|d= t          j        |j        d |j        d         df<   ||z   }|d                                         j        }|d         dz                                  }t          j        |d                                         |j        |                    t          j        |j        |j        	                    |           <   t          j        |d         |j        |d         j                            t          j
        |d                              |j                  d d                                                   sJ t          j
        |d                                                   sJ ||z   }t          j        |j        |j                   ||z   }	t          j
        |d                                                   sJ t          j
        |	d                                                   sJ |t                      z   }
t          j
        |
j                                                  sJ t                      |z   }t          j
        |j                                                  sJ t                      t                      z   }|j        sJ |                     |j        d d d                   }t          j        ||z   |dz             ||z   }t%          |d	
           ||z   }t%          |d	
           ||z   }t%          |dd i
           ||z   }t%          |d	
           d S )Nri   r  rk   r   r]   r   r  rm   rf  rA   )r   r    r!   r   r   dropnarC   rb   r  isinisnanr   assert_index_equalr   r   r  r   rc   r   )r>   rF  rG  rP  
frame_copyr  indexerre   
self_added	added_rev
plus_empty
empty_plusempty_emptyreverses                 r$   test_combineFramez-TestFrameArithmeticUnsorted.test_combineFrameS  s(    (():33Q3)?@@
sO57V
,)!,,c12j(*##%%+3!#))++
uSz0022CGG4DEEE,.F((()
uSz375:3C+DEEExc
**:+;<<RaR@AAEEGGGGG xc
##''))))) ;.

j.0ABBB,	xc
##'')))))x	#''++-----
 !9;;.
x
)**..00000[[;.
x
)**..00000kkIKK/     %%k.A$$B$.G%HH
g3[1_EEE //5	2222!K/5	2222 "$555d4444 o-5	222222r&   c                    |                     |j        d                   }||z   }|                                D ])\  }}t          j        |||         ||         z              *|                                }d|d<   t          |          }||z   }	|                                D ])\  }}t          j        |	|         |||         z              *d|	v sJ t          j        |	d                   	                                sJ ||z   }t          j	        |j
        |j        k              sJ ||                    d          z   }t          |dd i           ||                    d          z   }t          |dd i           |d|z                      d	          z   }t          |d	d
d	d	d           |d|z                      d          z   }t          |dd
dd	d           d S )Nr   r   rl  float32r   rA   float16r'   re  rf  )r]   r   r   r  int32)r_  r    rJ  rb   r  to_dictr   r!   rb  r   r  r=   rM   r   r   )
r>   rF  rG  rP  r  r  keyrP  larger_serieslarger_addeds
             r$   test_combine_seriesz/TestFrameArithmeticUnsorted.test_combine_series  s/    1! 455f$kkmm 	F 	FFC"1k#&6&DEEEE((c}--"]2!'')) 	G 	GFC"<#4a&+oFFFFl""""xS)**..00000 "F*velfl233333 "FMM)$<$<<5d4444!FMM)$<$<<5d4444  3<"7"7"@"@@wYW7SS	
 	
 	
 	
  3<"7"7"@"@@wYW7SS	
 	
 	
 	
 	
 	
r&   c                 2   |d         }|                     |d          }|                                D ]a\  }}||z   }t          j        ||         |d           ||         j        |k    sJ |j        |j        k    r|j        dk    sJ X|j        J b|d d         }|                     |d          }t          j        |j        |j                   |d d         }	|                     |	d          }
t          j        ||
           |                     |d d         d          }t          t          j
        |j        |j                  }t          j        ||           |d d                              |d          }t          t          j
        |j        |j                  }t          j        ||           |d d	                             g 
          }|                    |d          }t          |          t          |          k    sJ d S )Nr]   r    r   F)check_namesr   r   r   rm   )r1  rJ  rb   r  r  rc  r    rc   r   r!   r   r   r   r\  r   )r>   datetime_framer)  r  rr  r   r   smaller_framesmaller_added
smaller_tssmaller_added2r   frames                r$   test_combine_timeseriesz3TestFrameArithmeticUnsorted.test_combine_timeseries  s<   C 
 ""2G"44&,,.. 	+ 	+HC2XF"5:v5IIII:?c))))x27""{c))))){****&ss+%))"7);;
m1>3GHHHW
'++JW+EE
m^<<<  ##BrrF#99F..8N
 
 
 	fh///  #'''99F..8N
 
 
 	fh/// rr"**2*662G,,6{{c"gg%%%%%%r&   c                    |dz  }t          j        |j        |j        dz             |dz  }|                                D ]-\  }}t          j        |j        ||         j        dz             .t	          |dd i           t                      dz  }|j                            t                      j                  sJ t          |j	                  dk    sJ d S )Nri   r   rA   r   )
rb   assert_numpy_array_equalr   rJ  r   r   r    equalsr   r   )r>   rF  rG  r   r   rP  s         r$   test_combineFuncz,TestFrameArithmeticUnsorted.test_combineFunc  s    q
#FM;3E3IJJJ #Q&LLNN 	S 	SDAq'2CA2F2MPQ2QRRRR6#t5555q|""9;;#4555556>""a''''''r&   funcc           	         t          t          j                            d                              d          t          t          d          t                    t          j	        ddd          	          }|
                                }|                    d
          }t          j        |j        dz             } |||          }t          j        |j         ||j        |j                             d}	t#          j        t&          t)          j        |	                    5   |||           d d d            n# 1 swxY w Y    |||          }
t          j        |
j         ||j        |j                              ||d          }t          j        |j         ||j        d                     d}	t#          j        t&          |	          5   |||d d                    d d d            d S # 1 swxY w Y   d S )Nri   )   rk   rl   rA   z
2000-01-01r  r   )r~   r  r   r   r   r   r   zNUnable to coerce to Series/DataFrame, dimension must be <= 2: (30, 4, 1, 1, 1)rn   r   zQCan only compare identically-labeled \(both index and columns\) DataFrame objects)r   r!   rp   rq   rr   r	   rs   r  r   r   rC   r_  r   r   rb   r  r   rt   ru   rv   reescape)r>   r%   rF  r  r  r   r`  r   r   rw   r*  result3s               r$   test_comparisonsz,TestFrameArithmeticUnsorted.test_comparisons  st   
 I!!!$$44W==$v,,f555-bsCCC
 
 

 hhjjooc""Y.//c3
#FM44
CJ3O3OPPP7 	 ]:RYs^^<<< 	 	Df	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 $|S))
#NDD!4cjAA	
 	
 	
 ${A&&
#GNDD9KQ4O4OPPP  	 ]:S111 	1 	1D|BQB/000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1s$   'E  EEG99G= G=c                    t          d dD                       }t          t          |          }d                    ddg          }t	          j        t          |          5   ||d           d d d            d S # 1 swxY w Y   d S )Nc                     i | ]	}|d ddd
S )r^   r_   r`   )r   r   zrY   r  s     r$   r   zZTestFrameArithmeticUnsorted.test_strings_to_numbers_comparisons_raises.<locals>.<dictcomp>  s$    NNNQe%e44NNNr&   r   r   z;'[<>]=?' not supported between instances of 'str' and 'int'z,Invalid comparison between dtype=str and intrn   r   )r   r   r   r   rt   ru   r   )r>   compare_operators_no_eq_nerd   r   rw   s        r$   *test_strings_to_numbers_comparisons_raiseszFTestFrameArithmeticUnsorted.test_strings_to_numbers_comparisons_raises  s    NNoNNN
 
 H899hhM>
 
 ]9C000 	 	Ab!HHH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   !A;;A?A?c                    t          t          j        dt          j                  t	          t          d          t                              }t          j        |j        |j	        d         df<   t          j
        d          5  |j        dk     }d d d            n# 1 swxY w Y   t          j
        d	          5  |dk     j        }d d d            n# 1 swxY w Y   t          j        ||           d S )
N)ry   rk   rA   rl   rm   r   r]   ignore)r  raise)r   r!   r   rf  r	   rs   r  r   r   r    errstater   rb   r  )r>   
missing_dfr   r   s       r$   'test_comparison_protected_from_errstatezCTestFrameArithmeticUnsorted.test_comparison_protected_from_errstate,  s_   GG2:...$v,,f555
 
 

 466
z'*C/0[*** 	- 	-!(1,H	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-[))) 	- 	- 1n,F	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-
#FH55555s$   BB#&B#?CCCc                 *   t          t          j        d                              d                    }t          j        ddg          }t          j        ddg          }|j        }g d}t          |          }t          ddgddgddgg          }||k    }t          j	        ||           |j
        |k    }t          j        ||j
                   d}	d}
d	}t          j        t          |	
          5  ||k     d d d            n# 1 swxY w Y   t          j        t          |	
          5  ||k     d d d            n# 1 swxY w Y   ||k    }t          j	        ||           |j
        |k    }t          j        ||j
                   t          j        t          |

          5  ||k     d d d            n# 1 swxY w Y   t          j        t          |
          5  |j
        |k     d d d            n# 1 swxY w Y   t          ddgddgddgg          }||k    }t          j	        ||           t          j        t          |	
          5  ||k     d d d            n# 1 swxY w Y   t          j        t          |	
          5  ||k     d d d            n# 1 swxY w Y   ||k    }t          j	        ||           |j
        |k    }t          j        ||j
                   t          j        t          |

          5  ||k     d d d            n# 1 swxY w Y   |j
        j        |j        k    sJ t          t          j        d                              d          t!          d          t!          d                    }|j        |_        |j        |_        t          j        t          |	
          5  ||k     d d d            n# 1 swxY w Y   t          j        t          |	
          5  ||k     d d d            d S # 1 swxY w Y   d S )Nrj   r   ri   ri   ri   ri   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 shapesrn   ABr8  r   )r   r!   r   r   r"   
atleast_2dr   tuplerb   rc   r   r  rt   ru   rv   r   rs   r    r   )r>   rd   r   b_rb_clsttupr   r   msg1dmsg2dmsg2dbs               r$   test_boolean_comparisonz3TestFrameArithmeticUnsorted.test_boolean_comparison8  s!    ry||++F3344HaVmQF##eiiCjj uenudmdD\JKKa
fh///Q
#FHO<<<G>G]:U333 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]:U333 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
 c
fh///S
#FHO<<<]:U333 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]:V444 	 	IOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 uentUmeU^LMMq
fh///]:U333 	 	#II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]:U333 	 	#II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 s
fh///c!
#FHO<<<]:U333 	 	#II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 y#)++++ IaLL  (($t**DKK
 
 
 :]:U333 	 	#II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]:U333 	 	#II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   4DDD-E  EE&F99F= F=G77G;>G;I##I'*I'	JJ #J LLL;OOO4PPPc                 h   t          d          }t          t          j        dt	          |          z                                dt	          |                    |t          d                    }d|j        d d ddf                                         z  }t          d          }t          d          }|                                }||         |z   	                    |	          }||xx         |z  cc<   |	                    |	          }|                                }||         ||         z   	                    |	          }	||xx         ||         z  cc<   |	                    |	          }
t          j        ||           t          j        ||	           t          j        ||
           |                                }||         |z
  	                    |	          }||xx         |z  cc<   |	                    |	          }|                                }||         ||         z
  	                    |	          }	||xx         ||         z  cc<   |	                    |	          }
t          j        ||           t          j        ||	           t          j        ||
           d S )
Nabcdefgry   r  r   r'   r   bedcfbcdefrm   )rs   r   r!   r   r   r   r   r	  rC   r   rb   rc   )r>   r   X_origZblock1subsXresult1r*  r  result4s              r$   test_inplace_ops_alignmentz6TestFrameArithmeticUnsorted.test_inplace_ops_alignment  sz    y//Ib3w<<'((00S\\BB))
 
 

 &+aaa2g&++---gG}} KKMMV9q=))$)77	&			Q			))D)))KKMMV9qy(11$1??	&			QvY			))D)))
gw///
gw///
gw/// KKMMV9q=))$)77	&			Q			))D)))KKMMV9qy(11$1??	&			QvY			))D)))
gw///
gw///
gw/////r&   c                 f   t          g d          }t          t          j                            d                              ddd                              dd                    }|                                }|}|dz  }t          j	        ||           t          j	        |dz   |           ||u sJ |j
        |j
        u sJ |                                }|}|dz  }t          j        ||           t          j        |dz   |           ||u sJ |j
        |j
        u sJ |                                }|}|d	z  }t          j	        ||           t          j	        |d	z   |           |                                }|}|d	z  }t          j        ||           t          j        |d	z   |           ||u sJ |j
        |j
        u sJ t          j                            d                              ddd          }t          |                                d
d          }|                                }|}|dxx         dz  cc<   t          |                                dz   d
d          }t          j        ||           t          j        ||           |j
        |j
        u sJ |                                }|}|dxx         d	z  cc<   t          |                                d	z   d
d          }t          j        ||           t          j        ||           |j
        |j
        u sJ d S )Nr  ri   r   r   ry   rz   r  r   rh  r^   r  r]   )r   r   r!   rp   rq   r   r   rC   rb   r  _mgrrc   )	r>   s_origdf_origrP  rQ  rd   r   r#   r   s	            r$   test_inplace_ops_identityz5TestFrameArithmeticUnsorted.test_inplace_ops_identity  s0    			""I!!!$$--a-<<DDRKK
 

 KKMM	Q
q"%%%
vz1---Bwwwwv    \\^^
a
b#&&&
gk2...Syyyyw#("""" KKMM	S
q"%%%
v|Q///\\^^
c	
b#&&&
gmR000Syyyyw#("""" i##A&&//2A/>>#((**599::\\^^
31388::>>>??
b(+++
c8,,,w#(""""\\^^
33388::#3%@@AA
b(+++
c8,,,w#(""""""r&   r1  andrc  z__idiv__ not implemented)ru   reason)marksr)  r]  r\  orr  r[  r  xorc                 b   t          g dg dd          }d}|dv rg d|d<   |                                }d| d	}d	| d	} t          ||          |            t          ||          |          }t          j        ||           t          |          }t          |          |k    sJ d S )
Nr   r  r   ri   )r  r  r  )TFTr   __irB  )r   rC   r   rb   rc   r  )r>   r   rd   operanddf_copyiopr   s          r$   test_inplace_ops_identity2z6TestFrameArithmeticUnsorted.test_inplace_ops_identity2  s    , ___999==>>%%%)))BsG''))Blll"[[[ 	C!!!'77B''00
b(+++b66"vv!!!!!!r&   valr  rA   r   rk   c                    g d}g d}t          t          j                            d                              d          ||          }t           j        }t          |||d|j                  }t          j         |||d          d	         |           t          g d
g dg dd|j                  }t          j         |||d	          d	         |           d S )Nr   r  r%  r  ri   r   r   r   r  r   r   r   r  r  r   r   r   )	r   r!   rp   rq   rr   _align_for_opr    rb   rc   )r>   r  r    r   rd   alignr   s          r$   test_alignment_non_pandasz5TestFrameArithmeticUnsorted.test_alignment_non_pandas  s     !//I!!!$$44V<<
 
 
 '3Ss;;28LLL
eeB!444Q7BBB))))))))<<BH
 
 
 	eeB!444Q7BBBBBr&   ri   r  r   c                    g d}g d}t          t          j                            d                              d          ||          }t           j        }d}t          j        t          |          5   |||d	           d d d            n# 1 swxY w Y   t          j        t          |          5   |||d
	           d d d            d S # 1 swxY w Y   d S )Nr   r  ri   r  r   z5Unable to coerce to Series, length must be 3: given 2rn   r   r   r   )	r   r!   rp   rq   rr   r  rt   ru   rv   )r>   r  r    r   rd   r  rw   s          r$   )test_alignment_non_pandas_length_mismatchzETestFrameArithmeticUnsorted.test_alignment_non_pandas_length_mismatch5  sq   !//I!!!$$44V<<
 
 
 'E]:S111 	# 	#E"c""""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# ]:S111 	# 	#E"c""""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s$   4BBB5CCCc                    g d}g d}t          t          j                            d                              d          ||          }t           j        }t          j        g dg dg dg          }t          j         |||d	
          d         t          ||j	        |j
                             t          j         |||d
          d         t          ||j	        |j
                             d}t          j        g dg dg          }t          j        t          |          5   |||d	
           d d d            n# 1 swxY w Y   t          j        t          |          5   |||d
           d d d            n# 1 swxY w Y   t          j        d          }t          j        d          }t          j        t          |          5   |||d	
           d d d            n# 1 swxY w Y   t          j        t          |          5   |||d
           d d d            d S # 1 swxY w Y   d S )Nr   r  ri   r  r   r  rk   r   rj   )r   r   r  r   r   r   r  rn   r  zGUnable to coerce to Series/DataFrame, dimension must be <= 2: (3, 3, 3))r   r!   rp   rq   rr   r  r"   rb   rc   r    r   rt   ru   rv   zerosr  r  )r>   r    r   rd   r  r  rw   s          r$   'test_alignment_non_pandas_index_columnszCTestFrameArithmeticUnsorted.test_alignment_non_pandas_index_columnsH  sd   !//I!!!$$44V<<
 
 
 'h			999iii899
E"c"""1%c2:>>>	
 	
 	
 	E"c"""1%c2:>>>	
 	
 	
 =h			999-..]:S111 	# 	#E"c""""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# ]:S111 	# 	#E"c""""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# hy!!iU
 
 ]:S111 	# 	#E"c""""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#]:S111 	# 	#E"c""""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#sH   -EEE.F		FFG22G69G6H44H8;H8c                     t          ddgdd gd          }|d         }t          j        d           5   t          ||          |           d d d            d S # 1 swxY w Y   d S )Nr  r  r   )r   rb   r  r   r>   rE  rd   r   s       r$   test_no_warningz+TestFrameArithmeticUnsorted.test_no_warningn  s    c3ZsDk::;;sG'-- 	5 	51GB011!444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5s   AA!Ac                     t          ddgdd gd          }|d         }t          j        t          d          5   t	          ||          |d           d d d            d S # 1 swxY w Y   d S )Nr  r  r   ztakes 2 positional argumentsrn   r   )r   rt   ru   r   r   r  s       r$   test_dunder_methods_binaryz6TestFrameArithmeticUnsorted.test_dunder_methods_binaryt  s    c3ZsDk::;;sG]9,JKKK 	8 	81GB011!Q777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8s   A""A&)A&c                    t          j        dd                              dd          }t          j        dt                    }t          |          }|                                |d<   |                    t                    }||	                                z
  }||	                                z
  }t          j        ||           d S )Nr'   rf  rA   ry   )ry   r   z0.X)r!   r   r   r   intr   r  rM   rq  meanrb   rc   )r>   r  r%  r  r   r   r   s          r$   test_align_int_fill_bugz3TestFrameArithmeticUnsorted.test_align_int_fill_bug{  s    IgY///77B??GG3'''llYY[[E
jjsxxzz!#
fh/////r&   N)1rV   rW   rX   r#  r+  rt   r   r   r   r1  r[  r\  r  r3  filterwarningsr6  rL  rW  r^  rl  ru  r  r  r   r   r   r   r   r   r  r  r  r  r  r  r2   xfailAttributeErrorr  r!   r"   re  r   r  r  r  r  r  r  rY   r&   r$   r  r    s       / / /0 0 0 [x|X\8<9IJ 0 0 0< [X(9;K'LMM[ BCC/ / DC NM/
 [T#J#J#JKK$0 $0 LK$0L, , ,>. . .;3 ;3 ;3z&
 &
 &
P,& ,& ,&\( ( ( [	hk8;X[(+V "1 "1	 "1H   
6 
6 
6L L L\.0 .0 .0`9# 9# 9#v [FLk'')2L (     !	
 *" "+ *"& [IIBHYYYbh///E!QKK		
 C C C& [UaVVXRXq!f5E5EuuQPQ{{$STT# # UT#$$# $# $#L5 5 58 8 80 0 0 0 0r&   r  c                      t          dg di          } t          g d          }| |z  }t          dt          j        dt          j        gi          }t          j        ||           d S )Nr]   r|  r  r   r   r!   r   rb   rc   )r   r   r   r   s       r$   test_pow_with_realignmentr    sk    c999%&&DIII&&&E5[F#RV4566H&(+++++r&   c                     t          t          j                            d                              ddd          g d          } t          g dg d          }|                     d	          |                    d	                              d
d          z   }t          || j        d          }| 	                    d          }||z   }t          j        ||           ||	                    d          z   }t          j        ||           d S )Nri   r   r'   )ry   r   r   rm   r  r  re  r  r   Int64r  )r   r!   rp   rq   r   r   to_numpyr   r   rM   rb   rc   )rd   r!  r   df_ear   s        r$   &test_dataframe_series_extension_dtypesr    s   	
	a  ))!S'::OOO
 
 
B ///
2
2
2C{{7##cll7&;&;&C&CB&J&JJH2:WEEEHIIgES[F&(+++SZZ(((F&(+++++r&   c                  ~  	 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          j	        dd          f<   |                                                    dddd	          }t           j        |j        dt          j	        d
d          f<   ||f||f||ffD ]@\  		z   }t	          	fdj
        D                       }t          j        ||           Ad S )Nri   r   i  )r'   ry   rq  )r   r   r   r   ri   r   rk   r  rk   r   c                 4    i | ]}||         |         z   S rY   rY   )r   r   r   r   s     r$   r   z6test_dataframe_blockwise_slicelike.<locals>.<dictcomp>  s(    JJJaa58!3JJJr&   )r!   rp   rq   r   r   rC   rM   r   r	  r   r   rb   rc   )
r#   r  r   r  df4df5rf   r   r   r   s
           @@r$   "test_dataframe_blockwise_sliceliker    s   
)


"
"
+
+AtY
?
?C
C..C
((**

G@@
A
ACVCHQ			\ ((**

QL
)
)CvCHQV ((**

G@@
A
AC#%6CHQ	!Q 
((**

G@@
A
AC#%6CHQ	!Q c
S#Jc
; - -eUlJJJJJT\JJJKK
c8,,,,	- -r&   zdf, col_dtyper   r   r   r   abrm   rf  r   r  c                    t          dt          j        gdt          j        ggt          d                    }|                    d|i          }| t          dgt          d                    z   }t          j        ||           d S )	Nr  r   r  rm   r   g      r   r  )r   r!   r   rs   rM   r   rb   rc   )rd   	col_dtyper   r   s       r$   /test_dataframe_operation_with_non_numeric_typesr    s{     3-#rv7dLLLHY/00H&$tCyy1111F&(+++++r&   c                      t          dggdg          } t          g dgg d          }| |z   }t          t          j        ddggg d          }t          j        ||           d S )Nr   r:  )r   r   r~  )r9  r:  r:  rm   r  )r  r   r   r   s       r$   "test_arith_reindex_with_duplicatesr    s    
1#

3
3
3C
))).K.K.K
L
L
LC3YF261a.)3P3P3PQQQH&(+++++r&   to_addr   c                 F   t          ddgddgd          }dt          | d                    d}t          j        t          |          5  || z    d d d            n# 1 swxY w Y   t          j        t          |          5  | |z    d d d            d S # 1 swxY w Y   d S )Nr   ri   r  zUnable to coerce list of r   z to Series/DataFramern   )r   rO   rt   ru   rv   )r  rd   rw   s      r$   "test_arith_list_of_arraylike_raiser    s0    
!Qq!f--	.	.B
Kd6!9oo
K
K
KC	z	-	-	-  
V              	z	-	-	-                   s$   AA!$A!BBBc                    t          dg di          }|                                }|d         }|j        }t          j        |          5  |dz  }d d d            n# 1 swxY w Y   | r"|j        |usJ t          j        ||           d S |j        |u sJ t          dg di          }t          j        ||           d S )Nr]   r  r   r  )r   rC   _valuesrb   assert_cow_warningrc   )using_copy_on_writewarn_copy_on_writerd   r  r  valsr   s          r$   %test_inplace_arithmetic_series_updater    s   	C#	$	$BggiiGWF>D		1	2	2  !               ,~T))))
b'*****~%%%%c999-..
b(+++++s   AA!$A!c            	      @   t          dggdgt          j        dgdggddg                    } t          dggdgt          dgd                    }t          dggdgt          j        dgdggddg                    }| |z
  }t	          j        ||           dS )	zP
    Regression test for: https://github.com/pandas-dev/pandas/issues/33765
    r   r   r   r   r  r   r  N)r   r
   r  r	   rb   rc   )r  r   r   r   s       r$    test_arithmetic_multiindex_alignr    s     
e'!qc
3*EEE  C
 aSE#qc0D0D0D
E
E
EC
e'!qc
3*EEE  H
 3YF&(+++++r&   c                  
   t          dt          d          t          d                    } | dz  }t          t          j        d          t          d          t          d                    }t	          j        ||           d S )NTr  cdr   r   )r   rs   r!   r   rb   rc   )rd   r   r   s      r$   test_bool_frame_mult_floatr    sf    	4dT$ZZ	0	0B#XF$t**d4jjAAH&(+++++r&   c                     t          g d|           }t          g d|           }t          g d|           }|                                |                                z
  }t          j        ||           d S )N)r   ri   NrA   r  )r   r   N)r   r   to_framerb   rc   )any_int_ea_dtypeseries1series2r   r   s        r$   test_frame_sub_nullable_intr    s    \\\)9:::GYYY&6777G-=>>>H'"2"2"4"44F&(+++++r&   zMignore:Passing a BlockManager|Passing a SingleBlockManager:DeprecationWarningc                      G fddt                      G fddt                     dg dg dd          } | d	z  } dg d
g dd          }t          j        ||           | | z   }t          j        ||           d S )Nc                   D    e Zd Zefd            Ze fd            ZdS )Etest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeriesc                     S r;   rY   r>   SubclassedSeriess    r$   _constructorzRtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeries._constructor&  	    ##r&   c                     S r;   rY   )r>   SubclassedDataFrames    r$   _constructor_expanddimz\test_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeries._constructor_expanddim*  s	    &&r&   N)rV   rW   rX   propertyr  r  )r  r
  s   r$   r
  r  %  s]        		$ 	$ 	$ 	$ 
	$ 
	' 	' 	' 	' 
	' 	' 	'r&   r
  c                   X     e Zd ZdgZd fdZed             Zefd            Z xZS )Htest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFramemy_extra_datar9   Nc                 H    || _          t                      j        |i | d S r;   )r  superr?   )r>   r  argskwargs	__class__s       r$   r?   zQtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame.__init__1  s-    !.DEGGd-f-----r&   c                 P    t          j        t          |           | j                  S r;   )	functoolspartialrO   r  rG   s    r$   r  zUtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame._constructor5  s    $T$ZZ1CDDDr&   c                     S r;   rY   r	  s    r$   _constructor_slicedz\test_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame._constructor_sliced9  r  r&   rU   )	rV   rW   rX   	_metadatar?   r  r  r  __classcell__)r  r
  s   @r$   r  r  .  s        $%		. 	. 	. 	. 	. 	. 
	E 	E 
	E 
	$ 	$ 	$ 	$ 
	$ 	$ 	$ 	$ 	$r&   r  	some_datar  r  r  ri   r  )r   ry      r  )sdfr   r   r  r
  s      @@r$   +test_frame_op_subclass_nonclass_constructorr#    s    ' ' ' ' ' ' ' '6 ' ' '$ $ $ $ $ $ $i $ $ $ 
k+K+K
L
LC1WF"";iiikkk0R0RSSH&(+++3YF&(+++++r&   c                     t          dd          } t          | j        g di          }t          | j        g di          }|| j                 || j                 k    }t          g d| j                  }t	          j        ||           d S )NColsz	col1 col2r  )TTTr  )r   r   r.  r   rb   r  )r%  q1q2r   r   s        r$   test_enum_column_equalityr(  F  s    $$D	DIyyy)	*	*B	DIyyy)	*	*B	]bm+F(((ty999H68,,,,,r&   c                    t          t          d          ddg          }t          t          d          ddg          }|j                            d          |_        ||z   }t          t          d          ddg          }| r+t          rd}nd}|j                            |          |_        t          j        ||           d S )Nr8  r   r   )r   r   r    r  stringzstring[pyarrow])r   rs   r   rM   r   rb   rc   )using_infer_stringr  r   r   r   r=   s         r$   test_mixed_col_index_dtyper,  R  s    
DKKc!
=
=
=C
DKKc!
=
=
=C+$$X..CK3YFe3qcBBBH :  	%EEE#+22599&(+++++r&   )@collectionsr   r   r   enumr   r  r   r  numpyr!   rt   pandas.compatr   pandas.util._test_decoratorsutil_test_decoratorsr  pandasr   r   r	   r
   r   pandas._testing_testingrb   pandas.core.computationr   r1   pandas.tests.frame.commonr   r   fixturer%   r6   r8   r[   r   r&  r  r  r  r  r  r  r  r  r   r   rs   rM   r  r  r  r  r  r  r  r  r  r#  r(  r,  rY   r&   r$   <module>r:     s                           				      % % % % % % ) ) ) ) ) ) ) ) )                      7 7 7 7 7 7        R R R  aXIx3HIII  JI               :W; W; W; W; W; W; W; W;t@. @. @. @. @. @. @. @.NN0 N0 N0 N0 N0 N0 N0 N0b
A0 A0 A0 A0 A0 A0 A0 A0H
  ., , ,- - -"J0 J0 J0 J0 J0 J0 J0 J0Z, , ,, , ,"- - -4 	S#Jc
+TT$ZZ	@	@	@)LISzC:.T

CCCJJf  		
 , , ,, , , VVQF^^$4vvq!f~~vvqRSf~~6V#WXX  YX, , ,&, , ,&, , ,, , , S !, !, !,H	- 	- 	-, , , , ,r&   