
    Pi$             
          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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 d d	l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j.        /                    d# ed$d%gd&d'gg e0d(          )          d*f ed$d+gd&d+gg e0d(          )          1                    d+e2i          d,fg          d-             Z3d. Z4ej.        /                    d/ ed0d0g          g ed0d0g           ed0d0g          gg          d1             Z5d2 Z6d3 Z7d4 Z8d5 Z9d6 Z:d7 Z;ej.        <                    d8          d9             Z=d: Z>d; Z?dS )<    )deque)datetimetimezone)EnumN)import_optional_dependency)	DataFrameIndex
MultiIndexSeries)expressions)_check_mixed_float_check_mixed_int)Versionc                  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    v/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/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_elementsr7   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<   )strrH   s    r%   __repr__zDummyElement.__repr__C   s    4yyr'   Fc                     || _         | S r<   rB   rC   s      r%   astypezDummyElement.astypeF   s    
r'   c                 d     t          |           | j                            |          |          S r<   )typer=   view)r?   r>   s     r%   rQ   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'   r:   N)NN)Fr<   )__name__
__module____qualname__r@   rE   rK   rI   rL   rN   rQ   rU    r'   r%   r9   r9   8   s        % % % %6 6 6 6; ; ; ; ;#       9 9 9           r'   r9   c                   &   e Zd Zd Zd Zej                            dej	        
                    d                              dd           ej        d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	          d
g ej        ddd	           ej        d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	          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_equalrN   )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?   re   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, arg2rj   
   size20010101ns)periodsunit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 rZ   rZ   .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 rZ   rZ   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.|ro   )	r   r    r!   rc   rd   joinru   rv   	TypeError)	r?   argarg2resultexpectedmsgsrx   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}   rz   r   20010102rj   i ʚ;r{   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'ro   natzJ'(<|>)=?' not supported between instances of 'numpy.ndarray' and 'NaTType')r   pd
date_ranger"   rq   rr   integersrs   rangeNaTloclengetattroperator	Timestamprc   rd   ru   rv   r   )	r?   leftrightre   left_fright_fr   r   rx   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   rj   r   r   r   d)r   rU   all)r?   re   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 )Nrk      rj   FTrj   rj   rj   )r   r"   arangereshaperc   rd   )r?   re   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 )Nrj   )   r   r   r^   BCr   )r   r"   rq   rr   rs   r   __eq__rU   r?   re   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   rj   r`   r   )r   r   rc   rd   r   r   )r?   re   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)rW   rX   rY   rh   ry   ru   markparametrizer"   rq   rr   r   r   r   r   r   r   r   r   r   rZ   r'   r%   r\   r\   U   sQ       ( ( (   [ ..q11::2B:GG&z2DIII 
 ..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&z2DIII 	 'z2DIII&z2DIII 
 ..q11::2B:GG..q11::2B:GG 	 ..q11::2B:GG&z2DIII 
 'z2DIII&z2DIII 	?)	
, ,Z( ([, ,Z(T [	
 	
 	

 
+1 +1
 
+1Z" " "0 0 0& & &; ; ; ; ;r'   r\   c                       e Zd Zd Zej                            dej        e	g          d             Z
d Zd Zd Zd Zd Zd	 Zd
 ZdS )TestFrameFlexComparisonsc                    t           j                            d                              d          }t           j                            d                              d          }t	          |          }t	          |          }t          j        g |j        ddR           }|                    |          j        	                                sJ |
                    |          j                                        rJ t          ||j                  }|}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 )	Nrj      r   r   r   r   r   $Unable to coerce to Series/DataFramero   )r"   rq   rr   rs   r   onesshaper   valuesr   r   rU   r   rW   rc   rd   r   rD   reindexr!   r    nanru   rv   rw   )r?   comparison_opdata
other_datare   r   ndim_5fopart_orsxprx   s                r%   test_bool_flex_framez-TestFrameFlexComparisons.test_bool_flex_frame1  sy   y$$Q''77??Y**1--==fEE
t__*%%*28*Q***++ uuRyy##%%%%%5599#'')))))B.//
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   !I::I>I>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 )Nrj   r   r   r   r   rT   )r"   rq   rr   rs   r   r   r   rc   rd   r   Trt   r   r   r   r   )r?   r   r   re   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_seriesN  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 )Nrj   r   r   r   )r   r"   rq   rr   rs   r   r   r   r   r   r   r   r   )r?   re   r   s      r%   test_bool_flex_frame_naz0TestFrameFlexComparisons.test_bool_flex_frame_nay  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   rk   y               @   r   r   z9'>' not supported between instances of '.*' and 'complex'z unorderable types: .*complex\(\)ro   )r"   r#   r   r   r   ru   rv   r   r   r   r   r   )	r?   r$   arr2re   df2rx   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`   rB   )FTF)	r   r"   r   objectr   nowr   rc   rd   )r?   df1r  r   rf   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'   c           	         t          g dg dd          }d} t          ||j                  |          j                                        }t          j        |t          dgt          j	        t                    gd                     d S )Nr   rj   r   r   r   r   rj   countr!   name)r   r   rW   dtypesvalue_countsrc   assert_series_equalr   r"   r>   rS   )r?   r   re   constr   s        r%   &test_df_flex_cmp_constant_return_typesz?TestFrameFlexComparisons.test_df_flex_cmp_constant_return_types  s    YYY___==>>4]344U;;BOOQQ
FA3rx~~&6WEEE	
 	
 	
 	
 	
r'   c           	      :   t          g dg dd          }d}|j        d d         } t          ||j                  |          j                                        }t          j        |t          dgt          j
        t                    gd                     d S )Nr  r   r  rj   r   r  r  )r   r  r   rW   r  r  rc   r  r   r"   r>   rS   )r?   r   re   r  emptyr   s         r%   ,test_df_flex_cmp_constant_return_types_emptyzETestFrameFlexComparisons.test_df_flex_cmp_constant_return_types_empty  s    YYY___==>>7 677>>ERRTT
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   rj   r^   r   r!   )r   IntervalIndexfrom_breaksr   r   r   rc   rd   )r?   iire   serrg   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)rW   rX   rY   r   ru   r   r   r"   r#   r   r   r   r  r
  r  r  r  r&  rZ   r'   r%   r   r   /  s          : [URXv$677(F (F 87(FT     "% % %N+ + +0 0 0$
 
 
	
 	
 	
. . . . .r'   r   c                      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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 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 rZ   rZ   )r   r   re   r#  s     r%   r   z?TestFrameFlexArithmetic.test_floordiv_axis0.<locals>.<dictcomp>  s#    HHHcc2c7c>HHHr'   )	r"   r   r   r   floordivr    rc   rd   r   )r?   r$   r   r   result2re   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-01rz   r   1r   r   r   r   )r   r   timedelta_ranger   r   addrc   rd   )r?   dtitditserre   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]rB   r  r   )days
fill_value)z
2016-01-02z
2016-01-03z
2016-01-05zdatetime64[ns]rj   )	r   r   r   r   	Timedeltato_timedelta64r3  rc   rd   )r?   r4  r#  re   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   ops     r%   r   z8TestFrameFlexArithmetic.test_arith_flex_frame.<locals>.f'  s^    }}U## HAwxE4)@)@AA!QGGG(78R((A...r'   rj   r   rB   )r   rc   rd   r   )r?   all_arithmetic_operatorsfloat_framemixed_float_framer   r   r   rG  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'   rG  )__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 )
Nrj   )rM  uint64)r   r   )rL  rN  r   r   r^   rB   )	r   r   r2   USE_NUMEXPRr>   rc   rd   r   r   )
r?   rG  	int_framemixed_int_framerJ  r7   r   r   r   r>   s
             r%   test_arith_flex_frame_mixedz3TestFrameFlexArithmetic.test_arith_flex_frame_mixed7  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   rk   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   ro   )r"   r   ru   rv   rw   r   )r?   rH  rI  rU  rG  r$   rx   s          r%   test_arith_flex_frame_raisez3TestFrameFlexArithmetic.test_arith_flex_frame_raise`  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<  ro   r   r;  r!   rT   r<  )
r3  rc   rd   
sort_indexr"   r   ru   rv   NotImplementedErrorr  )r?   rI  	const_addr   r   s        r%   test_arith_flex_frame_cornerz4TestFrameFlexArithmetic.test_arith_flex_frame_cornerk  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)r3  submulmodc                 F   |}|                     d          }|d         }t          ||          }t          t          |          }t          j         ||           |||                     t          j         ||d           ||j        |          j                   d S )Nr   r   r   r   )xsr   r   rc   rd   r   )r?   r&   rG  re   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   )rb  rc   rd   r3  divr   )r?   r&   re   rc  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'   c                 d   t          t          j        d                              d          |          }t          t          j        t          j        gddgddgg          }|dk    r|                    |          }|                    |d         d	
          }t          j	        ||           d S )Nrk   r   rB   r         ?g      ?float32r   r!   r   )
r   r"   r   r   r   infrN   rf  rc   rd   )r?   any_real_numpy_dtypere   r   r   s        r%   #test_arith_flex_series_broadcastingz;TestFrameFlexArithmetic.test_arith_flex_series_broadcasting  s    ry''//77?STTTrvrv.c
S$KHII9,,';<<H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 )NrB   r^   r   rn   r   rj   r   rl   r<  ro   Er;  rY  )r   r  r   ru   rv   r[  r3  r^  )r?   ser_len0df_len0re   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   rl   r   floatrB   r_   rk   r  rj   r;  )	r"   r#   r   r   r   fillnar3  rc   rd   )r?   datre   rf   rg   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   rj   r   rl   r   )r   rj   r   rj   r   r  r  )r   rj   r   rj   rj   )r   r   rj   rj   r   )r   r^  rc   rd   )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'   )rL  rN  rM  __truediv__c                 `   t          t          j        d          t          j                            d                              d          d          } t          ||          |          }ddg|_        ddg|_         t          ||          |          }t          j        ||           d S )Nrz   rj   r  r^   )	r   r"   r   rq   rr   r   r    rc   rd   )r?   rG  re   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   rj   r  r  L1r   r   r   ))r^   r   )r^   DL2)r}  )r   r    	set_namesr3  rc   rd   )r?   r}  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   rl   r       r   r   r  scenr`  idnamesr  皙?r`  r  )ffffff?333333@333333@)r  皙@g@r   r   r   r
   from_productr   r3  rc   rd   r?   re   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  )      $@      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   rj   r   r   )
r   r
   r  r   r"   r   from_tuplesr3  rc   rd   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   rj   r  r  r  r  r   r   r`  r  r  r  r  r  r   r   
r   r
   r  r   r  r"   r   r3  rc   rd   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'   c           	         t          g dg dgddg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gddgt          j        g d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  r  s        r%   1test_frame_multiindex_operations_part_align_axis1zITestFrameFlexArithmetic.test_frame_multiindex_operations_part_align_axis1D  s.    YY			",*  
 ,++  
 
 
 E)C53%.PPP
 
 

 3#sBF!34,*  
 ,++  
 
 
 Q''
fh/////r'   )rW   rX   rY   r-  r7  r@  rK  ru   r   r   rT  r   rW  r]  rd  rg  rm  rr  rw  ry  r|  r  r  r  r  r  r  rZ   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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 0B#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   r9  rB   r   rj   r   rl   r1  r   r   rc   rd   )r?   r#  re   r   r   s        r%   test_td64_op_nat_castingz,TestFrameArithmetic.test_td64_op_nat_castingk  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 )Nrk   r   rj   TFr   r   r   rl   r   r    r!   r>   
r"   r   r   r   r   r    r!   r>   rc   rd   )r?   r$   re   rowliker   r   s         r%   'test_df_add_2d_array_rowlike_broadcastsz;TestFrameArithmetic.test_df_add_2d_array_rowlike_broadcastsu  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 )Nrk   r   rj   TFr   r   r   r   r   	   rz   r  r  )r?   r$   re   colliker   r   s         r%   'test_df_add_2d_array_collike_broadcastsz;TestFrameArithmetic.test_df_add_2d_array_collike_broadcasts  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                    |}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 )Nrk   r   rj   TFr   r   r   r^   r   r   )r"   r   r   r   r   r   r   squeezer    r!   rc   rd   )
r?   r4   rH  opnamer$   re   r  exvalsr   r   s
             r%   )test_df_arith_2d_array_rowlike_broadcastsz=TestFrameArithmetic.test_df_arith_2d_array_rowlike_broadcasts  s=    *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                    |}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 )Nrk   r   rj   TFr   r   r   r   )TF)__rmod____rfloordiv__c              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  common_typer   r    r!   rc   rd   )r?   r4   rH  r  r$   re   r  r  r>   r   r   s              r%   )test_df_arith_2d_array_collike_broadcastsz=TestFrameArithmetic.test_df_arith_2d_array_collike_broadcasts  sO    *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?   re   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rj   rl   rk   r   rc   rd   )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   rc   r  )r?   all_arithmetic_functionsr   re   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   rj   r   rj   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  rj   r   r  )r?   r   re   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   rz   f8rB   r   r   r   r   r   r   r   r   r   r!   rj   )r   r"   r   r   rb  r   r!   r    rc   rd   r   r3  rt   rq   rr   r   )r?   re   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   rj   rn   rz   c                 B    g | ]} t          |                    S rZ   )r   )r   nnumrG  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   rc   rd   )	r?   rH  indr   re   r   r   r  rG  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   rn   )r   r   r   r=  r"   r   rc   rd   )r?   re   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  )TrS      r~   <m8[ns]<M8[ns]rG  c                     | j         S r<   )rW   r  s    r%   r  zTestFrameArithmetic.<lambda>G  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	}t          dd	          }	|	d uo$t          |	j                  t          d
          k     }
||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        |d          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
|
rt           }nd }t+          j        |d          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 )NrS   r^   rB   r  r  r  r)   ignore)errorsz2.13.1z3ufunc 'remainder' not supported for the input typesz-numpy boolean subtract, the `-` operator, is r   zcannot perform __z7__ with this index type: (DatetimeArray|TimedeltaArray)ro   zevaluating in Pythonz+operator '.*' not implemented for .* dtypes)r   truedivpowr3  r_  r9   r   r=   r>   r`  r^  r   r   __version__r2   rQ  UserWarningrW   ru   rv   r   rc   assert_produces_warningr[  r  r  )r?   rG  r=   r>   r7   skipelemre   invalidr   ne_warns_on_opwarnrx   r   r   s                  r%   test_binop_otherz$TestFrameArithmetic.test_binop_other0  s   6 v&\6"\6"\6"	
 E5))dj$*56djIII \9%\9%y)\9%\9%\9%\9%\6"\<(

 (	(CCC4WGBN,C,CghFWFW,W;'!!D""rX\'9'9""rX\'9'9,&&Kx|##EVOO( $3q88&DA A A A 
 y444 ' '/<RSSS ' 'Br4:&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' '' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' %[D  hlHL111$ 3q88& 9 'DDD/<RSSS ' '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   2G?	G'G?'G+	+G?.G+	/G??HH I??JJ)KKK)(LL!$L!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   rj   r   rl   Int8rB   rn   r   r
   from_arraysr   r   rc   rd   r?   midxmidx2r   r   r   r   s          r%   *test_arithmetic_midx_cols_different_dtypesz>TestFrameArithmetic.test_arithmetic_midx_cols_different_dtypes  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   rj   r   rl   r  rB   rn   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)"rW   rX   rY   r  r  r  r  r  r  r  ru   r   r   r  r"   r#   r   r   r  r  r  r  timedelta64
datetime64r   r3  r^  r_  r  r`  r  r  r  r  rZ   r'   r%   r  r  j  s3       0 0 00 0 0*0 0 0*0 0 0,0 0 06$ $ $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	
 !    I5 I5  2I5V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 )Nrj   rk   r   r^   r   rn   rB   znot alignedro   r  )r   r"   rq   rr   rs   r   r   float64r   r   r    rc   rd   ru   rv   rw   rQ   )re   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   rj   r  )r   r"   r  r   rc   rd   )re   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   sumrc   r  )r   re   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/2011rz   h
US/Eastern)r   freqtzrj   r   r   zEurope/Moscow)r   r   r   r"   rq   rr   rs   r   
tz_convertr!   r)  r   utc)r?   rngre   	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(  rj   r   r  r   )r   period_ranger   r"   rq   rr   rs   r   r   r  rc   rd   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'   rG  c                    t          g dg ddt                    }|                    t          j                  } ||d          } ||d                              t                    }t          j        |t          j        |          <   t          j	        ||            |||          } |||                              t                    }t          j        |t          j        |          <   t          j	        ||            |||                    d                    }t          j	        ||            ||                    d          |          }t          j	        ||           d S )N)rj   r   {   N)r   rj   r   rl   )col1col2rB   r   r   )
r   r  ru  r"   r   rN   r   isnarc   rd   )r?   rG  re   filledr   r   s         r%   test_operators_none_as_naz5TestFrameArithmeticUnsorted.test_operators_none_as_na  sR    (((,,,??v
 
 
 26""B2fa==''//&(f""#
fh///B2ff%%,,V44&(f""#
fh///B		!%%
fh///BIIaLL"%%
fh/////r'   zop,res)r   F)__ne__Tz ignore:elementwise:FutureWarningc                      t          ||          d          }t          |                                                                          |u sJ d S )Nr_   )r   rS   r   )r?   rG  rg   rI  r   s        r%   %test_logical_typeerror_with_non_validzATestFrameArithmeticUnsorted.test_logical_typeerror_with_non_valid  sP    
 *b))%00FJJLL$$&&''3......r'   )r3  r^  r_  rf  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@rE  r   )r}  rT   c           	      f    g | ]-\  }} j         d d d d |f         d d f         |          .S r<   r   r   r   vre   idxopas      r%   r   zETestFrameArithmeticUnsorted.test_binary_ops_align.<locals>.<listcomp>5  sJ    CCCASSAAAqqq!Gaaa(!,,CCCr'   r   r  r   r   rD  c                 `    g | ]*\  }} j         d d |f         d d f         |          +S r<   rL  rM  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  rt   r   r"   r   r   rZ  r   
IndexSlicer   r   r   concatitemsrc   rd   reindex_like)	r?   rG  r!   r   r   r   re   rO  rP  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   )rj   rl   int64rB   rn   r   rj   r   lvl0lvl1)rT   r}  )r   rj   r   rj   )r
   r  r   r"   r   r   rD   r    r  r!   r  r_  r#   rc   rd   )r?   r  re   sr  s2res1r%  res3res4res5res6rf   rg   s                 r%   &test_binary_ops_align_series_dataframezBTestFrameArithmeticUnsorted.test_binary_ops_align_series_dataframeC  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/Tokyorj   r'  r   r^   r  r   )r   DatetimeIndexr*  r   r"   r   rc   rd   )r?   baseidx1idx2r	  r  rf   s          r%    test_add_with_dti_mismatched_tzsz<TestFrameArithmeticUnsorted.test_add_with_dti_mismatched_tzsb  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 )Nrj   r  rl   r   r^   r   r  rn   r  rB   )r   r!   r"   r   r   dropnarD   rc   r  isinisnanr   assert_index_equalr   r   r  r    rd   r   )r?   rI  rJ  rS  
frame_copyr  indexerrf   
self_added	added_rev
plus_empty
empty_plusempty_emptyreverses                 r%   test_combineFramez-TestFrameArithmeticUnsorted.test_combineFramel  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   ro  rj  r   rB   float16r(   rX  r  )r^   r   r   r  int32)rb  r!   rT  rc   r  to_dictr   r"   rm  r   r  r>   rN   r   r   )
r?   rI  rJ  rS  r  r  keyr[  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   rn   )r3  rT  rc   r  r  rn  r!   rd   r   r"   r   r    r   r_  r   )r?   datetime_framer4  r  r|  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 )Nrj   r   rB   r   )
rc   assert_numpy_array_equalr   rT  r   r   r!   equalsr   r    )r?   rI  rJ  r   r   r[  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        g |j        dddR           } |||          }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 )Nrj   )   rl   rm   rB   z
2000-01-01r  r   )r   r(  r   r   r   zNUnable to coerce to Series/DataFrame, dimension must be <= 2: (30, 4, 1, 1, 1)ro   r   zQCan only compare identically-labeled \(both index and columns\) DataFrame objects)r   r"   rq   rr   rs   r	   rt   r  r   r   rD   rb  r   r   rc   r  r   ru   rv   rw   reescape)r?   r&   rI  r  r	  r  rc  r   r   rx   r,  result3s               r%   test_comparisonsz,TestFrameArithmeticUnsorted.test_comparisons  s   
 I!!!$$44W==$v,,f555-bsCCC
 
 

 hhjjooc"".39.a..A..//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
G??HH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`   ra   )r   r   zrZ   r  s     r%   r   zZTestFrameArithmeticUnsorted.test_strings_to_numbers_comparisons_raises.<locals>.<dictcomp>8  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 intro   r   )r   r   r   r   ru   rv   r   )r?   compare_operators_no_eq_nere   r   rx   s        r%   *test_strings_to_numbers_comparisons_raiseszFTestFrameArithmeticUnsorted.test_strings_to_numbers_comparisons_raises5  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)rz   rl   rB   rm   rn   r   r^   r  )r  raise)r   r"   r   r  r	   rt   r  r   r   r!   errstater   rc   r  )r?   
missing_dfr   r   s       r%   'test_comparison_protected_from_errstatezCTestFrameArithmeticUnsorted.test_comparison_protected_from_errstateE  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 )Nrk   r   rj   rj   rj   rj   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 shapesro   ABrB  r   )r   r"   r   r   r#   
atleast_2dr   tuplerc   rd   r   r  ru   rv   rw   r   rt   r!   r    )r?   re   r   b_rb_clsttupr   r   msg1dmsg2dmsg2dbs               r%   test_boolean_comparisonz3TestFrameArithmeticUnsorted.test_boolean_comparisonQ  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abcdefgrz   r  r   r(   r   bedcfbcdefrn   )rt   r   r"   r   r   r   r   r  rD   r   rc   rd   )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  rj   r   r   rz   r{   r  r   ri  r_   r  r^   )r   r   r"   rq   rr   r   r   rD   rc   r  _mgrrd   )	r?   s_origdf_origr[  r\  re   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'   r3  andrf  z__idiv__ not implemented)rv   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   rj   )r  r  r  )TFTr   __irD  )r   rD   r   rc   rd   r  )r?   rG  re   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  rB   r   rl   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  r0  r  rj   r   r   r   r  r   r   r   )r   r   r   r  r   r   r   )	r   r"   rq   rr   rs   _align_for_opr!   rc   rd   )r?   r  r!   r    re   alignr   s          r%   test_alignment_non_pandasz5TestFrameArithmeticUnsorted.test_alignment_non_pandas2  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'   rj   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  rj   r  r   z5Unable to coerce to Series, length must be 3: given 2ro   r   r   r   )	r   r"   rq   rr   rs   r  ru   rv   rw   )r?   r  r!   r    re   r  rx   s          r%   )test_alignment_non_pandas_length_mismatchzETestFrameArithmeticUnsorted.test_alignment_non_pandas_length_mismatchN  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  rj   r  r   r  rl   r   rk   )r   r   r  r   r   r   r  ro   r  zGUnable to coerce to Series/DataFrame, dimension must be <= 2: (3, 3, 3))r   r"   rq   rr   rs   r  r#   rc   rd   r!   r    ru   rv   rw   zerosr  r  )r?   r!   r    re   r  r  rx   s          r%   'test_alignment_non_pandas_index_columnszCTestFrameArithmeticUnsorted.test_alignment_non_pandas_index_columnsa  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   rc   r  r   r?   rH  re   r   s       r%   test_no_warningz+TestFrameArithmeticUnsorted.test_no_warning  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 argumentsro   r   )r   ru   rv   r   r   r  s       r%   test_dunder_methods_binaryz6TestFrameArithmeticUnsorted.test_dunder_methods_binary  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(   r  rB   rz   )rz   r   z0.X)r"   r   r   r   intr   r  rN   rt  meanrc   rd   )r?   r  r0  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)1rW   rX   rY   r.  r6  ru   r   r   r   r3  r^  r_  r  r=  filterwarningsr@  rV  rb  ri  rw  r  r  r  r   r   r   r   r   r   r  r  r  r  r  r  r3   xfailAttributeErrorr  r"   r#   rX  r   r  r  r  r  r  r  rZ   r'   r%   r$  r$    s       / / /0 0 0 [x|X\8<9IJ 0 0 02 [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   rc   rd   )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 )Nrj   r   r(   )rz   r   r   rn   r  r  rX  r  r   Int64r  )r   r"   rq   rr   r   r   to_numpyr   r    rN   rc   rd   )re   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 )Nrj   r   i  )r(   rz   rt  )r   r   r   r   )rj   r   rl   r  rl   r   c                 4    i | ]}||         |         z   S rZ   rZ   )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"   rq   rr   r   r   rD   rN   r   r  r   r    rc   rd   )
r$   r	  r  r  df4df5rg   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   abrn   r  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  rn   r   g      r   r  )r   r"   r   rt   rN   r   rc   rd   )re   	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   rD  r   r    r  )rC  rD  rD  rn   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   rj   r  zUnable to coerce list of r   z to Series/DataFramero   )r   rP   ru   rv   rw   )r  re   rx   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        }|dz  }|j        |usJ t          j        | |           d S )Nr^   r  r   )r   rD   _valuesrc   rd   )re   r  r  valss       r%   %test_inplace_arithmetic_series_updater    sj    	C#	$	$BggiiGWF>D
aKF>%%%%"g&&&&&r'   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	   rc   rd   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          j        ddgddggddg          d	d
g          } t          t          j        ddgddgg          t          j        ddggdg          d	d
g          }t          t          j        g dg dg          t          j        ddgddggddg          d	d
g          }| |z  }t          j        ||           d S )Nr(   1A1B2A2BLev1Lev2r  C1C2)r   r    r!   g?g      ?g?g?)r  r        9@r  )r  r       F@r  )r   r
   r  r"   r#   rc   rd   r   s       r%   'test_arithmetic_multiindex_column_alignr     s/   
'D\D$<(0@
 
 
 Tl  C XT{S$K011'$vhGGGTl  C
 X///1I1I1IJKK'D\D$<(0@
 
 
 Tl  H 3YF&(+++++r'   c                  N   t          ddggt          j        ddg                    } t          ddggt          j        dd	g                    }t          g d
gt          j        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  r   r;  )r   r
   r  r3  rc   rd   r   s       r%   6test_arithmetic_multiindex_column_align_with_fillvaluer  9  s    
Cj\&l'CDD  C Cj\&l'CDD  C """#&DDD
 
  H WWSQW''F&(+++++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   rt   r"   r   rc   rd   )re   r   r   s      r%   test_bool_frame_mult_floatr  M  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   rj   NrB   r  )r   r   N)r   r   to_framerc   rd   )any_int_ea_dtypeseries1series2r   r   s        r%   test_frame_sub_nullable_intr  U  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<   rZ   r?   SubclassedSeriess    r%   _constructorzRtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeries._constructore  	    ##r'   c                     S r<   rZ   )r?   SubclassedDataFrames    r%   _constructor_expanddimz\test_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeries._constructor_expanddimi  s	    &&r'   N)rW   rX   rY   propertyr#  r'  )r&  r"  s   r%   r"  r  d  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_datar:   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__p  s-    !.DEGGd-f-----r'   c                 P    t          j        t          |           | j                  S r<   )	functoolspartialrP   r+  rH   s    r%   r#  zUtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame._constructort  s    $T$ZZ1CDDDr'   c                     S r<   rZ   r!  s    r%   _constructor_slicedz\test_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame._constructor_slicedx  r$  r'   rV   )	rW   rX   rY   	_metadatar@   r(  r#  r5  __classcell__)r0  r"  s   @r%   r&  r*  m  s        $%		. 	. 	. 	. 	. 	. 
	E 	E 
	E 
	$ 	$ 	$ 	$ 
	$ 	$ 	$ 	$ 	$r'   r&  	some_datar  r  r  rj   r  )r   rz      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   r9  r   rc   r  )r=  q1q2r   r   s        r%   test_enum_column_equalityr@    s    $$D	DIyyy)	*	*B	DIyyy)	*	*B	]bm+F(((ty999H68,,,,,r'   c                 v   t          t          d          ddg          }t          t          d          ddg          }|j                            |           |_        ||z   }t          t          d          ddg          }|j                            |           |_        t	          j        ||           d S )NrB  r   r   )r    r   r!   r  )r   rt   r    rN   rc   rd   )string_dtype_no_objectr	  r  r   r   s        r%   test_mixed_col_index_dtyperC    s    
DKKc!
=
=
=C
DKKc!
=
=
=C+$$%;<<CK3YFe3qcBBBH'../EFFH&(+++++r'   )@collectionsr   r   r   enumr   r2  r   r  numpyr"   ru   pandas.compat._optionalr   pandasr   r   r	   r
   r   pandas._testing_testingrc   pandas.core.computationr   r2   pandas.tests.frame.commonr   r   pandas.util.versionr   fixturer&   r7   r9   r\   r   r(  r  r  r  r"  r$  r  r  r  r   r   rt   rN   r  r  r  r  r  r  r  r  r  r  r  r;  r@  rC  rZ   r'   r%   <module>rO     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}. }. }. }. }. }. }. }.Ht0 t0 t0 t0 t0 t0 t0 t0n|0 |0 |0 |0 |0 |0 |0 |0~	  ., , ,- - -"E0 E0 E0 E0 E0 E0 E0 E0P, , ,, , ,"- - -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	' 	' 	', , ,&, , ,2, , ,(, , ,, , , S !, !, !,H	- 	- 	-
, 
, 
, 
, 
,r'   