
    Eg             
          d dl mZ d dlmZmZ d dlmZ d dlZd dlZd dlZd dl	Z
d dlZd dlmZ d dlmc mZ d dlZd dlmZmZmZmZ d dlmZ d dlmZ d dlmZm Z  ej!        d	             Z" ej!        d
d dgddg          d             Z# G d d          Z$ G d d          Z% G d d          Z& G d d          Z' G d d          Z(d Z)d Z*d Z+ G d d          Z,d Z-d  Z.d! Z/ej0        1                    d" ed#d$gd%d&gg e2d'          (          d)f ed#d*gd%d*gg e2d'          (          3                    d*e4i          d+fg          d,             Z5d- Z6ej0        1                    d. ed/d/g          g ed/d/g           ed/d/g          gg          d0             Z7d1 Z8d2 Z9d3 Z:d4 Z;ej0        <                    d5          d6             Z=d7 Z>d8 Z?dS )9    )deque)datetimetimezone)EnumN)using_pyarrow_string_dtype)	DataFrameIndex
MultiIndexSeries)expressions)_check_mixed_float_check_mixed_intc                  h    t          j        g dg dg dg          } t          | g dg d          S )z
    Fixture for simple 3x3 DataFrame

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

       one  two  three
    a  1.0  2.0    3.0
    b  4.0  5.0    6.0
    c  7.0  8.0    9.0
          ?       @      @)      @      @g      @)g      @g       @g      "@onetwothreeabccolumnsindex)nparrayr   )arrs    W/var/www/sysmax/venv/lib/python3.11/site-packages/pandas/tests/frame/test_arithmetic.pysimple_framer%   !   sF     (OOO___oooF
G
GCS"9"9"9QQQQ    Td   numexprpython)autouseparamsidsc              #      K   |                                 5 }|                    t          d| j                   | j        V  d d d            d S # 1 swxY w Y   d S )N_MIN_ELEMENTS)contextsetattrexprparam)requestmonkeypatchms      r$   switch_numexpr_min_elementsr6   2   s      					 !			$777m                 s   +AAAc                   J    e Zd ZddZ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__:   s    
Xe__


r&   c                 B    t          j        | j        | j                  S )Nr=   )r!   r"   r<   r=   r>   s    r$   	__array__zDummyElement.__array__>   s    x
$*5555r&   c                 (    d| j          d| j         dS )NzDummyElement(z, ))r<   r=   rB   s    r$   __str__zDummyElement.__str__A   s    :tz::TZ::::r&   c                      t          |           S r;   )strrB   s    r$   __repr__zDummyElement.__repr__D   s    4yyr&   Fc                     || _         | S r;   rA   )r>   r=   copys      r$   astypezDummyElement.astypeG   s    
r&   c                 d     t          |           | j                            |          |          S r;   )typer<   view)r>   r=   s     r$   rO   zDummyElement.viewK   s(    tDzz$*//%00%888r&   c                 *    t          | j                  S r;   )boolr<   )r>   axiss     r$   anyzDummyElement.anyN   s    DJr&   r9   N)Fr;   )__name__
__module____qualname__r?   rC   rH   rF   rI   rL   rO   rS    r&   r$   r8   r8   9   s        % % % %6 6 6; ; ; ; ;#       9 9 9           r&   r8   c                   l   e Zd Zd Zd Zej                            dej	        
                    d                              dd           ej        dd          d	ej	        
                    d                              dd          ej	        
                    d                              dd          d	gej	        
                    d                              dd          ej	        
                    d                              dd          d	ej	        
                    d                              dd           ej        dd          d	g ej        dd           ej        dd          d	ej	        
                    d                              dd          ej	        
                    d                              dd          d	gej	        
                    d                              dd           ej        dd          d	 ej        dd           ej        dd          d	gg          d
             Zej                            dg d          d             Zej                             e            d          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_equalrL   )r>   dfexpress       r$   &test_comparison_with_categorical_dtypez;TestFrameComparisons.test_comparison_with_categorical_dtypeY   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>   rc   msgs      r$   test_frame_in_listz'TestFrameComparisons.test_frame_in_listh   s    I!!!$$44V<<d6ll
 
 
 <]:S111 	 	&LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   ,A>>BBz	arg, arg2rh   
   size20010101periodsr   r   c                 f   t          |          t          |          k    }t          fdj        D             j        j                  }t          j        ||           k    }t          fdj        D             j        j                  }t          j        ||           g d}d                    |          }t          j        t          |          5  k     d d d            n# 1 swxY w Y   t          j        t          |          5  k     d d d            n# 1 swxY w Y   t          j        t          |          5  k      d d d            n# 1 swxY w Y   t          j        t          |          5  k     d d d            d S # 1 swxY w Y   d S )Nc                 6    i | ]}||         |         k    S rX   rX   .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 rX   rX   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.|rm   )	r   r   r    ra   rb   joinrs   rt   	TypeError)	r>   argarg2resultexpectedmsgsrv   r   r   s	          @@r$   test_comparison_invalidz,TestFrameComparisons.test_comparison_invalidq   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{   rx   r|   20010102rh   i ʚ;ry   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'rm   natzJ'(<|>)=?' not supported between instances of 'numpy.ndarray' and 'NaTType')r   pd
date_ranger!   ro   rp   integersrq   rangeNaTloclengetattroperator	Timestampra   rb   rs   rt   r   )	r>   leftrightrc   left_fright_fr   r   rv   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'zcan't compare string and int)reasonc                    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   rh   r   r   r   d)r   rS   all)r>   rc   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 )Nri      rh   FTrh   rh   rh   )r   r!   arangereshapera   rb   )r>   rc   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 )Nrh   )   r   r   r\   BCr   )r   r!   ro   rp   rq   r   __eq__rS   r>   rc   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~   rh   r^   r   )r   r   ra   rb   r   r   )r>   rc   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)rU   rV   rW   rf   rw   rs   markparametrizer!   ro   rp   r   r   r   r   r   xfailr   r   r   r   r   rX   r&   r$   rZ   rZ   V   sx       ( ( (   [ ..q11::2B:GG&z2>>> 
 ..q11::2B:GG..q11::2B:GG 	 ..q11::2B:GG..q11::2B:GG 
 ..q11::2B:GG&z2>>> 	 'z2>>>&z2>>> 
 ..q11::2B:GG..q11::2B:GG 	 ..q11::2B:GG&z2>>> 
 'z2>>>&z2>>> 	?)	
, ,Z( ([, ,Z(T [	
 	
 	

 
+1 +1
 
+1Z [""$$-K   " " "0 0 0& & &; ; ; ; ;r&   rZ   c                   f   e Zd Zej                            dg d          d             Zej                            dej        e	g          d             Z
d Zd Zd Zd	 Zej                            d
g d          d             Zej                            d
g d          d             Zd ZdS )TestFrameFlexComparisonsop)r   r   r   r   r   r   c                 "   t           j                            d                              d          }t           j                            d                              d          }t	          |          }t	          |          }t          j        |j        dz             }|                    |          j        	                                sJ |
                    |          j                                        rJ t          ||          }t          t          |          }t          j         ||           |||                     |j        dd dd f                                         }	 ||	          }
 |||	                    |j        |j                            }t          j        |
|           t          j         ||j                   |||j                             t          j         |d           ||d                     d}t          j         |t           j                   ||t           j                             t-          j        t0          |	          5   ||           d d d            d S # 1 swxY w Y   d S )
Nrh      r   )r   r   r   r   r   r   $Unable to coerce to Series/DataFramerm   )r!   ro   rp   rq   r   onesshaper   valuesr   r   rS   r   r   ra   rb   r   rK   reindexr    r   nanrs   rt   ru   )r>   r   data
other_datarc   r   ndim_5fopart_orsxprv   s                r$   test_bool_flex_framez-TestFrameFlexComparisons.test_bool_flex_frame5  sp   y$$Q''77??Y**1--==fEE
t__*%%F*++ uuRyy##%%%%%5599#'')))))BOOHb!!
aahh"e555122qrr6"''))QvYYQr6>>"*>EEFF
b"%%%
aaooqqU\/B/BCCC
aaddAAb!HH---4
aaii2rv777]:S111 	 	AfIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   +JJJboxc                    t           j                            d                              d          }t	          |          } |t           j                            d                              d                    } |t           j                            d                              d                    }|                    |d          }|                    |          }|                    |d          }|                    |          }	t          j        ||t          |          k               t          j        ||	            t          j        ||            t          j        ||j
                            |          j
                   t          j        ||                    t          |                               t          j        ||                    t          |          d                     t          j        ||                    t          |          d                     |                    |d          }
|                    |          }|                    |d          }|                    |          }t          j        ||t          |          k               t          j        ||            t          j        |
|            t          j        |
|j
                            |          j
                   |                    |d          }|                    |          }|                    |d          }|                    |          }t          j        ||t          |          k               t          j        ||            t          j        ||            t          j        ||j
                            |          j
                   t          t           j                            d                              d                    }t          t           j                            d                              d                    }d S )Nrh   r   r   r   r   rR   )r!   ro   rp   rq   r   r   r   ra   rb   r   Trr   r   r   r   r   )r>   r   r   rc   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_seriesS  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 )Nrh   r   r   r   )r   r!   ro   rp   rq   r   r   r   r   r   r   r   r   )r>   rc   r   s      r$   test_bool_flex_frame_naz0TestFrameFlexComparisons.test_bool_flex_frame_na~  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   ri   y               @   r   r   z9'>' not supported between instances of '.*' and 'complex'z unorderable types: .*complex\(\)rm   )r!   r"   r   r   r   rs   rt   r   r   r   r   r   )	r>   r#   arr2rc   df2rv   r   arr3df3s	            r$   "test_bool_flex_frame_complex_dtypez;TestFrameFlexComparisons.test_bool_flex_frame_complex_dtype  s   h1bf-..xRVQ-..Sz""d$$hhK3
 
 ]9C000 	 	EE#JJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	! 	!sGJJs3x   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! ]9C000 	# 	#I
""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# UU3ZZy}}xRVT*++d$$]9C000 	 	FF2JJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	HKKOOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	JOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sl   #CC	C	+"DD D?EE #E $HH
H
,III:JJJc                 "   t          ddt          j        dgit                    }t          ddt	          j                    dgit                    }|                    |          }t          dg di          }t          j        ||           d S )Nr   r]   r^   rA   )FTF)	r   r!   r   objectr   nowr   ra   rb   )r>   df1r   r   rd   s        r$   !test_bool_flex_frame_object_dtypez:TestFrameFlexComparisons.test_bool_flex_frame_object_dtype  s     67vFFF >?vNNN 4 4 4566
fc*****r&   c                    t          t          j        g          }|t          j        k    }|j        d                                         du sJ |                    t          j                  }|j        d                                         du sJ |t          j        k    }|j        d                                         du sJ |                    t          j                  }|j        d                                         du sJ d S )Nr   FT)r   r   r   ilocitemr   r   r   s      r$   test_flex_comparison_natz1TestFrameFlexComparisons.test_flex_comparison_nat  s     x  rv{4 %%''50000rv{4 %%''50000rv{4 %%''4////rv{4 %%''4//////r&   opnamec           	         t          g dg dd          }d} t          ||          |          j                                        }t	          j        |t          dgt          j        t                    gd                     d S )Nr   rh   r   r   r   r   rh   countr    name)
r   r   dtypesvalue_countsra   assert_series_equalr   r!   r=   rQ   )r>   r  rc   constr   s        r$   &test_df_flex_cmp_constant_return_typesz?TestFrameFlexComparisons.test_df_flex_cmp_constant_return_types  s     YYY___==>>$V$$U++2??AA
FA3rx~~&6WEEE	
 	
 	
 	
 	
r&   c           	      0   t          g dg dd          }d}|j        d d         } t          ||          |          j                                        }t          j        |t          dgt          j	        t                    gd                     d S )Nr  r   r  rh   r   r  r  )r   r
  r   r  r  ra   r  r   r!   r=   rQ   )r>   r  rc   r  emptyr   s         r$   ,test_df_flex_cmp_constant_return_types_emptyzETestFrameFlexComparisons.test_df_flex_cmp_constant_return_types_empty  s     YYY___==>>'''..5BBDD
FA3rx~~&6WEEE	
 	
 	
 	
 	
r&   c                    t           j                            g d          }t          ||d          }t	          ddg          }|                    |d          }t          ddgddgd          }t          j        ||           t	          ddgdd	g
          }|                    |d          }t          j        ||           d S )Nr  r\   r   r   r   Fr   rh   r\   r   r    )r   IntervalIndexfrom_breaksr   r   r   ra   rb   )r>   iirc   serre   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)rU   rV   rW   rs   r   r   r   r!   r"   r   r   r   r  r  r  r  r  r%  rX   r&   r$   r   r   3  s9       [T#G#G#GHH  IH: [URXv$677(F (F 87(FT     "% % %N+ + +0 0 0$ [X'K'K'KLL
 
 ML
 [X'K'K'KLL	
 	
 ML	
. . . . .r&   r   c                   4   e Zd Zd Zd Zd Zd Zej        	                    dg d          d             Z
ej        	                    d ed	d
                    d             Zd Zej        	                    dg d          d             Zd Zej        	                    dddg          d             Zd Zd Zd Zej        	                    dg d          d             Zej        	                    dddg          d             Zd Zd Zd Zd  ZdS )!TestFrameFlexArithmeticc                 p   t          j        d          }t          |          t          d                              d          }t          fdj        D                       }t          j        ||                               j        d          }t          j        ||           d S )Nr   r  r   r   c                 (    i | ]}||         z  S rX   rX   )r   r   rc   r"  s     r$   r   z?TestFrameFlexArithmetic.test_floordiv_axis0.<locals>.<dictcomp>  s#    HHHcc2c7c>HHHr&   )	r!   r   r   r   floordivr   ra   rb   r   )r>   r#   r   r   result2rc   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-01rx   r|   1r   r   r   r   )r   r   timedelta_ranger   r   addra   rb   )r>   dtitditserrc   r   r   s          r$   test_df_add_td64_columnwisez3TestFrameFlexArithmetic.test_df_add_td64_columnwise
  s    mL"555 b111c{{33''((1%%ssSy99::
fh/////r&   c                    t          j        dd          }t          g dd          }t          ||d          }t          ||d          }t          j        d	                                          }|                    ||
          }t          t          g dd          |dz  d          }t          j        ||           d S )Nr.  r   r|   )z1 Dayr   z2 Daystimedelta64[ns]rA   r  r   )days
fill_value)z
2016-01-02z
2016-01-03z
2016-01-05zdatetime64[ns]rh   )	r   r   r   r   	Timedeltato_timedelta64r2  ra   rb   )r>   r3  r"  rc   r   fillr   r   s           r$   $test_df_add_flex_filled_mixed_dtypesz<TestFrameFlexArithmetic.test_df_add_flex_filled_mixed_dtypes  s    mL!444///7HIIISs++,,#..//|###2244$//>>>FV   1W	 
 
 	fh/////r&   c                 <   |fd} t          |          d|z            } ||d|z            }t          j        ||            t          |          d|z            } ||d|z            }t          j        ||           t          |dd i           d S )Nc                                          d          r3 t          t                              dd                    ||           S  t          t                    | |          S )N__r__)
startswithr   r   replace)r   r   r   s     r$   r   z8TestFrameFlexArithmetic.test_arith_flex_frame.<locals>.f.  s^    }}U## HAwxE4)@)@AA!QGGG(78R((A...r&   rh   r   rA   )r   ra   rb   r   )r>   all_arithmetic_operatorsfloat_framemixed_float_framer   r   r   r   s          @r$   test_arith_flex_framez-TestFrameFlexArithmetic.test_arith_flex_frame(  s     &	/ 	/ 	/ 	/ 	/ *b))!k/::1[!k/22
fh/// 0*B//4E0EFF1&,=(=>>
fh///6#t555555r&   r   )__add____sub____mul__c                 j   t          t          |          } t          ||          d|z             } ||d|z             }d }	|dv rdd d}	n|dv rdd i}	t          j        r|dk    rd|z   d         j        |	d<   t          j        ||           t          ||		            t          ||          d|z            } ||d|z            }t          j        ||           t          |dd i	            t          ||          d|z            } ||d|z            }t          j        ||           d S )
Nrh   )rK  uint64)r   r   )rJ  rL  r   r   r\   rA   )	r   r   r1   USE_NUMEXPRr=   ra   rb   r   r   )
r>   r   	int_framemixed_int_framerH  r6   r   r   r   r=   s
             r$   test_arith_flex_frame_mixedz3TestFrameFlexArithmetic.test_arith_flex_frame_mixed>  s    Hb!! ."--a/.ABB1_a/&9:: "..EE)))$KE 	: ;q @ @
 o-s39E#J
fh///u---- 0*B//4E0EFF1&,=(=>>
fh///6#t5555 (B''I661YI..
fh/////r&   dimr   ri   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   rm   )r!   r   rs   rt   ru   r   )r>   rF  rG  rS  r   r#   rv   s          r$   test_arith_flex_frame_raisez3TestFrameFlexArithmetic.test_arith_flex_frame_raiseg  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;  rm   r   r:  r    rR   r;  )
r2  ra   rb   
sort_indexr!   r   rs   rt   NotImplementedErrorr
  )r>   rG  	const_addr   r   s        r$   test_arith_flex_frame_cornerz4TestFrameFlexArithmetic.test_arith_flex_frame_cornerr  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)r2  submulmodc                 F   |}|                     d          }|d         }t          ||          }t          t          |          }t          j         ||           |||                     t          j         ||d           ||j        |          j                   d S )Nr   r   r   r   )xsr   r   ra   rb   r   )r>   r%   r   rc   rowr   r   s          r$   test_arith_flex_series_opsz2TestFrameFlexArithmetic.test_arith_flex_series_ops  s     eeCjjiBOOXr""
aaffbbSkk222
aa!nnnbbsmmo>>>>>r&   c                 b   |}|                     d          }|d         }t          j        |                    |d           ||z              t          j        |                    |          ||z             t          j        |                    |d          |j        |z  j                   d S )Nr   r   r   r   )r`  ra   rb   r2  divr   )r>   r%   rc   ra  r   s        r$   test_arith_flex_seriesz.TestFrameFlexArithmetic.test_arith_flex_series  s    eeCjji
bffStf44b3h??? 	bffSkk28444
bffSqf11BD3J>BBBBBr&   r=   int64float64c                 .   t          t          j        d                              d          |          }t          t          j        t          j        gddgddgg          }|                    |d         d	          }t          j        ||           d S )
Nri   r   rA   r         ?g      ?r   r    r   )	r   r!   r   r   r   infrd  ra   rb   )r>   r=   rc   r   r   s        r$   #test_arith_flex_series_broadcastingz;TestFrameFlexArithmetic.test_arith_flex_series_broadcasting  s     ry''//77uEEErvrv.c
S$KHII1G,,
fh/////r&   c                    t          g t                    }t          ddg          }t          ddgddggddg          }t          j        t
          d	
          5  |                    |d           d d d            n# 1 swxY w Y   t          j        t
          d	
          5  |                    |d         d d           d d d            d S # 1 swxY w Y   d S )NrA   r\   r   rl   r   rh   r   rj   r;  rm   Er:  rW  )r   r  r   rs   rt   rY  r2  r\  )r>   ser_len0df_len0rc   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   rj   r   floatrA   r]   ri   r  rh   r:  )	r!   r"   r   r   r   fillnar2  ra   rb   )r>   datrc   rd   re   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   rh   r   rj   r   )r   rh   r   rh   r   r  r  )r   rh   r   rh   rh   )r   r   rh   rh   r   )r   r\  ra   rb   )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&   )rJ  rL  rK  __truediv__c                 `   t          t          j        d          t          j                            d                              d          d          } t          ||          |          }ddg|_        ddg|_         t          ||          |          }t          j        ||           d S )Nrx   rh   r  r\   )	r   r!   r   ro   rp   r   r   ra   rb   )r>   r   rc   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   rh   r  r  L1r   r   r   ))r\   r   )r\   DL2)r{  )r   r   	set_namesr2  ra   rb   )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   rj   r   i  i  r   r   r}  scenr^  idnamesr  皙?r^  r  )ffffff?333333@333333@)r  皙@g@r   r   r   r
   from_productr   r2  ra   rb   r>   rc   seriesr   r   s        r$    test_frame_multiindex_operationsz8TestFrameFlexArithmetic.test_frame_multiindex_operations  s   99III..)yyy)1F1F1F  
 
 
 E)C53%.PPP
 
 

 "??///::)yyy)1F1F1F  
 
 
 Q''
fh/////r&   c           	         t          dgdgdt          j        dgdggddg          	          }t          g d
t          j        dgdgg dgg d          	          }t          g dg ddt          j        dgdgg dgg d          	          }|                    |d          }t          j        ||           d S )Nr   r   r  r   r   r  r^  r  r  )      $@g      4@g      >@r}  r  )g      &@   g      ?@)g      *@g      7@g     @@r   r   r  r  s        r$   <test_frame_multiindex_operations_series_index_to_frame_indexzTTestFrameFlexArithmetic.test_frame_multiindex_operations_series_index_to_frame_index  s!   3qc"")C53%.PPP
 
 

 )yyy)1F1F1F  
 
 
 ###+=+=+=>>)yyy)1F1F1F  
 
 
 Q''
fh/////r&   c                    t          g dg ddt          j        dgdgg dgg d          	          }t          d
gt          j        dgdggddg          	          }t          t          j        t          j        dt          j        dddddt          j        fgg d          	          }|                    |d          }t          j	        ||           d S )Nr  r  r  r   r   r}  r  r  r  r  r   r^  r  r   r   r   r   r   r   )r   r   rh   r   r   )
r   r
   r  r   r!   r   from_tuplesr2  ra   rb   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   rh   r  r  r  r  r   r   r^  r  r  r  r  r  r   r   )
r   r
   r  r   r  r!   r   r2  ra   rb   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&   )rU   rV   rW   r,  r6  r?  rI  rs   r   r   rR  r   rU  r[  rb  re  rk  rp  ru  rw  rz  r  r  r  r  r  rX   r&   r$   r'  r'    s       1 1 1	0 	0 	00 0 0&6 6 6, [T#D#D#DEE&0 &0 FE&0P [UEE!QKK00* * 10*M M M& [T#?#?#?@@	? 	? A@	?
C 
C 
C [Ww	&:;;0 0 <;0: : :( ( (0 0 0 [T#S#S#STT0 0 UT0 [Wq$i000 0 1000 0 000 0 000 0 0:0 0 0 0 0r&   r'  c                   n   e Zd Zd Zd Zd Zd Zd Zd Zd Z	e
j                            dd	d
g          d             Ze
j                            dddgd ej        ddg           edd           eddg          g          d             Zd Zd Zd Ze
j                            ddddddd ej        dd          df ej        dd          dfg          e
j                            d ej        ej        ej        ej        ej        ej        gd! "          d#                         Zd$ Z d% Z!d&S )'TestFrameArithmeticc                     t          ddgd          }t          ddgddgg          }||z  }t          ||d          }t          j        ||           d S )	Nr   r8  rA   r   rh   r   rj   r0  r   r   ra   rb   )r>   r"  rc   r   r   s        r$   test_td64_op_nat_castingz,TestFrameArithmetic.test_td64_op_nat_castingL  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 )Nri   r   rh   TFr   r   r   rj   r   r   r    r=   
r!   r   r   r   r   r   r    r=   ra   rb   )r>   r#   rc   rowliker   r   s         r$   'test_df_add_2d_array_rowlike_broadcastsz;TestFrameArithmetic.test_df_add_2d_array_rowlike_broadcastsV  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 )Nri   r   rh   TFr   r   r   r   r   	   rx   r  r  )r>   r#   rc   colliker   r   s         r$   'test_df_add_2d_array_collike_broadcastsz;TestFrameArithmetic.test_df_add_2d_array_collike_broadcastsk  s    ill""1a((sT5MIIIaaa!f+}!a 00000VaVaW%J( )
 
 
 g
fh///2
fh/////r&   c                    |}|r|dv rt          j        |           t          j        d                              dd          }t          |ddgg d          }|d	gd d f         }|j        d	|j        d	         fk    sJ  t          |j        d
         |          |	                                           t          |j        d         |          |	                                           t          |j        d         |          |	                                          g}t          ||j
        |j                  }	 t          ||          |          }
t          j        |
|	           d S )N__rmod____rfloordiv__ri   r   rh   TFr   r   r   r\   r   r   )td&mark_array_manager_not_yet_implementedr!   r   r   r   r   r   r   squeezer   r    ra   rb   )r>   r3   rF  using_array_managerr  r#   rc   r  exvalsr   r   s              r$   )test_df_arith_2d_array_rowlike_broadcastsz=TestFrameArithmetic.test_df_arith_2d_array_rowlike_broadcasts  sa    * 	?6-J#J#J5g>>>ill""1a((sT5MIIIqc111f+}BHQK 00000 )GBF3K(():):;;(GBF3K(():):;;(GBF3K(():):;;
 VRZrxHHH$V$$W--
fh/////r&   c                    |}|r|dv rt          j        |           t          j        d                              dd          }t          |ddgg d          }|d d d	gf         }|j        |j        d
         d	fk    sJ  t          |d         |          |                                           t          |d         |          |                                          d}d }	|dv r*t          j	        d |
                                D              }	t          ||j        |j        |	          }
 t          ||          |          }t          j        ||
           d S )Nr  ri   r   rh   TFr   r   r   r   )TFc              3   $   K   | ]}|j         V  d S r;   )r   r   r   s     r$   	<genexpr>zPTestFrameArithmetic.test_df_arith_2d_array_collike_broadcasts.<locals>.<genexpr>  s$      $G$G!QX$G$G$G$G$G$Gr&   r  )r  r  r!   r   r   r   r   r   r  common_typer   r   r    ra   rb   )r>   r3   rF  r  r  r#   rc   r  r  r=   r   r   s               r$   )test_df_arith_2d_array_collike_broadcastsz=TestFrameArithmetic.test_df_arith_2d_array_collike_broadcasts  ss    * 	?6-J#J#J5g>>>ill""1a((sT5MIIIaaa!f+}!a 00000 ,'"T(F++GOO,=,=>>-72e9f--goo.?.?@@
 

 222 N$G$Gv}}$G$G$GHEVRZrxuUUU$V$$W--
fh/////r&   c                    t          ddgddgg          }|dz  }|j                            d           }|dk                                    sJ d|z  }|j                            d           }|dk                                    sJ d S )NFTr   c                     | j         S r;   kindr   s    r$   <lambda>z:TestFrameArithmetic.test_df_bool_mul_int.<locals>.<lambda>      af r&   r   c                     | j         S r;   r  r  s    r$   r  z:TestFrameArithmetic.test_df_bool_mul_int.<locals>.<lambda>  r  r&   )r   r  applyr   )r>   rc   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rh   rj   ri   r   ra   rb   )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   ra   r  )r>   all_arithmetic_functionsr   rc   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   rh   r   rh   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  rh   r   r  )r>   r   rc   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   rx   f8rA   r   r   r   r   r   r   r   r   r   r    rh   )r   r!   r   r   r`  r   r    r   ra   rb   r   r2  rr   ro   rp   r   )r>   rc   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   rh   rl   rx   c                 B    g | ]} t          |                    S rX   )r   )r   nnumr   s     r$   r   zVTestFrameArithmetic.test_operations_with_interval_categories_index.<locals>.<listcomp>  s+    AAAq~wq"~~c22AAAr&   )r   CategoricalIndexinterval_ranger   r   ra   rb   )	r>   rF  indr   rc   r   r   r  r   s	          @@r$   .test_operations_with_interval_categories_indexzBTestFrameArithmetic.test_operations_with_interval_categories_index  s    %!""3#3"G"G"GHH1vvs+++ R%%AAAAADAAABCPPP
fh/////r&   c                    t          t          j        d          t          j        d          gt          j        d          t          j        d          gdddgd	          }|dg         }||z
  }t          t          j        d
          t          j        d
          gt          j        t          j        gdddg          }t          j        ||           d S )N2019202020182021)r]   r^   r]   r^   M8[ns]r   r=   r   rl   )r   r   r   r<  r!   r   ra   rb   )r>   rc   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  )TrQ      ns<m8[ns]<M8[ns]r   c                     | j         S r;   )rU   r  s    r$   r  zTestFrameArithmetic.<lambda>2  s    aj r&   )r,   c           
         t           j        dft           j        dft           j        dft           j        dfh}t          ||          }t          d|j        |j        gi|j                  }t           j        dft           j	        dft           j        dft           j        dft           j        dft           j        dft           j        dft           j
        dft           j	        dfh	}||f|v rd }	|dk    r|t           j        k    s|dk    r|t           j        k    rd }
nD|dk    rd}
n;|t           j
        u r"d}
|dk    rt          j        r|d	k    rt          }	nd
|j         d}
t          j        t"          |
          5  t%          j        |	          5   |||j                   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S ||f|v r|t           j        t           j        fv r\t          j        r|d	k    rt          }	nd }	t%          j        |	          5   |||j                   d d d            d S # 1 swxY w Y   d S d}
t          j        t(          |
          5   |||j                   d d d            d S # 1 swxY w Y   d S t%          j        d           5   |||j                  j        } |||          j        }d d d            n# 1 swxY w Y   t%          j        ||           d S )NrQ   r\   rA   r  r  r  z3ufunc 'remainder' not supported for the input typesz-numpy boolean subtract, the `-` operator, is r   zcannot perform __z7__ with this index type: (DatetimeArray|TimedeltaArray)rm   z+operator '.*' not implemented for .* dtypes)r   truedivpowr2  r]  r8   r   r<   r=   r^  r\  r1   rO  UserWarningrU   rs   rt   r   ra   assert_produces_warningrY  r  r  )r>   r   r<   r=   r6   skipelemrc   invalidwarnrv   r   r   s                r$   test_binop_otherz$TestFrameArithmetic.test_binop_other  s   6 v&\6"\6"\6"	
 E5))dj$*56djIII \9%\9%y)\9%\9%\9%\9%\6"\<(

 ;'!!D""rX\'9'9""rX\'9'9,&&Kx|##EVOO( $3q88&DA A A A 
 y444 ' '/55 ' 'Br4:&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' '' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' %[D  hlHL111#  (Cq(H(H&DDD/55 ' 'Br4:&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' D]#6cBBB ' 'Br4:&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' +D11 0 0B
++22b%==/0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "6844444sl   8GF+G+F/	/G2F/	3GG
G H??II)JJJ)(KK!$K!c                    t          j        t          ddg          t          ddg          g          }t          j        t          ddgd          t          ddg          g          }t          ddgddgg|          }t          ddgddgg|          }||z
  }t          ddgddgg|          }t	          j        ||           d S )	Nr   rh   r   rj   Int8rA   rl   r   r
   from_arraysr   r   ra   rb   r>   midxmidx2r   r   r   r   s          r$   *test_arithmetic_midx_cols_different_dtypesz>TestFrameArithmetic.test_arithmetic_midx_cols_different_dtypesz  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   rh   r   rj   r  rA   rl   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)"rU   rV   rW   r  r  r  r  r  r  r  rs   r   r   r  r!   r"   r   r   r  r  r  r  timedelta64
datetime64r   r2  r\  r]  r  r^  r  r  r
  r  rX   r&   r$   r  r  K  s4       0 0 00 0 0*0 0 0*0 0 060 0 0@$ $ $0 0 0 [US#J//1 1 0/1 [Aq66828QF#3#3UU1a[[%%A--P 0 0 03 3 34	0 	0 	00 0 0( [!R^B%%y1R]2t$$i0		
  [LLLLL	
 !    D5 D5  2D5L0 0 00 0 0 0 0r&   r  c                     t          t          j                            d                              d                              dd          ddg          } t          t          j                  }| |z   }t          | j        t          j	        z  | j
                  }t          j        ||           t          j        t          d	          5  | |k     d d d            n# 1 swxY w Y   t          | j                            d
          | j
                  }t          j        t          d	          5  ||k     d d d            d S # 1 swxY w Y   d S )Nrh   ri   r   r\   r   rl   rA   znot alignedrm   r  )r   r!   ro   rp   rq   r   r   rg  r   r   r   ra   rb   rs   rt   ru   rO   )rc   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   rh   r  )r   r!   rg  r   ra   rb   )rc   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   sumra   r  )r   rc   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/2011rx   h
US/Eastern)r}   freqtzrh   r   r   zEurope/Moscow)r   r   r   r!   ro   rp   rq   r   
tz_convertr    r  r   utc)r>   rngrc   	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  rh   r   r  r   )r   period_ranger   r!   ro   rp   rq   r   r   r
  ra   rb   takepermutation)r>   r"  tsr   r   halfs         r$   test_align_framez,TestFrameArithmeticUnsorted.test_align_frame  s    oj*3???I!!!$$44c#hh]CC3
 
 
 b1g7 fadd
fh///##A#wdii	 5 5a 8 8 D DSYY O OPPP
fh/////r&   r   c                 $   t          g dg ddt                    }d}t          j        t          |          5  |                    t          j                  }d d d            n# 1 swxY w Y    ||d          } ||d                              t                    }t          j        |t          j
        |          <   t          j        ||            |||          } |||                              t                    }t          j        |t          j
        |          <   t          j        ||           d}t          j        t          |          5   |||                    d                    }d d d            n# 1 swxY w Y   t          j        ||           d}t          j        t          |          5   ||                    d          |          }d d d            n# 1 swxY w Y   t          j        ||           d S )	N)rh   r   {   N)r   rh   r   rj   )col1col2rA   zDowncasting object dtype arraysrm   r   r   )r   r  ra   r  FutureWarningrs  r!   r   rL   r   isnarb   )r>   r   rc   rv   filledr   r   s          r$   test_operators_none_as_naz5TestFrameArithmeticUnsorted.test_operators_none_as_na  s    (((,,,??v
 
 
 0'SAAA 	' 	'YYrv&&F	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	'B2fa==''//&(f""#
fh///B2ff%%,,V44&(f""#
fh////'SAAA 	* 	*RBIIaLL))F	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*
fh////'SAAA 	* 	*R		!b))F	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*
fh/////s5    A''A+.A+ FFF G00G47G4zop,res)r   F)__ne__Tz ignore:elementwise:FutureWarningc                      t          ||          d          }t          |                                                                          |u sJ d S )Nr]   )r   rQ   r   )r>   r   re   rG  r   s        r$   %test_logical_typeerror_with_non_validzATestFrameArithmeticUnsorted.test_logical_typeerror_with_non_valid  sP    
 *b))%00FJJLL$$&&''3......r&   )r2  r\  r]  rd  r  c                    t          j        t          d          g dg dgg d          }t          t	          j        d                              dd          |g d	
                                          t          j	        t          t          |d           d S t          g dg d          } t          |          |dd          }t          j        fd|                                D                                                       }t          j        ||           t          ddgddg          } t          |          |dd          }t          j        fd|                                D                                                                                     }t          j        ||           d S )Nabcr   r  )firstsecondthirdr  Q      r   )value1value2value3r   )r   r  g      Y@r<  r   )r{  rR   c           	      f    g | ]-\  }} j         d d d d |f         d d f         |          .S r;   r   r   r   vrc   idxopas      r$   r   zETestFrameArithmeticUnsorted.test_binary_ops_align.<locals>.<listcomp>   sJ    CCCASSAAAqqq!Gaaa(!,,CCCr&   r   r  r   r   r;  c                 `    g | ]*\  }} j         d d |f         d d f         |          +S r;   rC  rD  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  rr   r   r!   r   r   rX  r   
IndexSlicer   r   r   concatitemsra   rb   reindex_like)	r>   r   r    r   r   r   rc   rF  rG  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   )rh   rj   rf  rA   rl   r   rh   r~   lvl0lvl1)rR   r{  )r   rh   r   rh   )r
   r  r   r!   r   r   rK   r   r  r    r  r]  r"   ra   rb   )r>   r  rc   sr   s2res1r$  res3res4res5res6rd   re   s                 r$   &test_binary_ops_align_series_dataframezBTestFrameArithmeticUnsorted.test_binary_ops_align_series_dataframe.  s    &c
S#J'?@@rwvW555tDDD##$$ggii#V,VVXX vvaaqv))vvbqv**wwqqw**wwrw++wwqqw//wwrw00HlllLLL1AAA4
 
 
 $< 	, 	,C!#s++++#V,$d+ 	, 	,C!#s++++	, 	,r&   c                    t          j        g dd          }|                    d          d d         }|                    d          dd          }t          dddgi|	          }t          dddgi|	          }t          dt          j        d
t          j        gi|	          }t          j        ||z   |           d S )N)z
2011-01-01z
2011-01-02z
2011-01-03UTC)r  z
Asia/Tokyorh   r  r   r\   r  r   )r   DatetimeIndexr   r   r!   r   ra   rb   )r>   baseidx1idx2r  r   rd   s          r$    test_add_with_dti_mismatched_tzsz<TestFrameArithmeticUnsorted.test_add_with_dti_mismatched_tzsM  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 )Nrh   r  rj   r   r\   r   r  rl   rg  rA   )r   r    r!   r   r   dropnarK   ra   r  isinisnanr   assert_index_equalr   r   r  r   rb   r   )r>   rG  rH  rQ  
frame_copyr  indexerrd   
self_added	added_rev
plus_empty
empty_plusempty_emptyreverses                 r$   test_combineFramez-TestFrameArithmeticUnsorted.test_combineFrameW  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   rm  float32r   rA   float16r'   rf  rg  )r\   r   r   r  int32)r`  r    rK  ra   r  to_dictr   r!   rc  r   r  r=   rL   r   r   )
r>   rG  rH  rQ  r  r  keyrQ  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   rl   )r2  rK  ra   r  r  rd  r    rb   r   r!   r   r   r   r]  r   )r>   datetime_framer*  r  rs  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 )Nrh   r   rA   r   )
ra   assert_numpy_array_equalr   rK  r   r   r    equalsr   r   )r>   rG  rH  r   r   rQ  s         r$   test_combineFuncz,TestFrameArithmeticUnsorted.test_combineFunc  s    q
#FM;3E3IJJJ #Q&LLNN 	S 	SDAq'2CA2F2MPQ2QRRRR6#t5555q|""9;;#4555556>""a''''''r&   funcc           	         t          t          j                            d                              d          t          t          d          t                    t          j	        ddd          	          }|
                                }|                    d
          }t          j        |j        dz             } |||          }t          j        |j         ||j        |j                             d}	t#          j        t&          t)          j        |	                    5   |||           d d d            n# 1 swxY w Y    |||          }
t          j        |
j         ||j        |j                              ||d          }t          j        |j         ||j        d                     d}	t#          j        t&          |	          5   |||d d                    d d d            d S # 1 swxY w Y   d S )Nrh   )   rj   rk   rA   z
2000-01-01r  r   )r}   r  r   r   r   r   r   zNUnable to coerce to Series/DataFrame, dimension must be <= 2: (30, 4, 1, 1, 1)rm   r   zQCan only compare identically-labeled \(both index and columns\) DataFrame objects)r   r!   ro   rp   rq   r	   rr   r  r   r   rK   r`  r   r   ra   r  r   rs   rt   ru   reescape)r>   r%   rG  r  r  r   ra  r   r   rv   r+  result3s               r$   test_comparisonsz,TestFrameArithmeticUnsorted.test_comparisons  st   
 I!!!$$44W==$v,,f555-bsCCC
 
 

 hhjjooc""Y.//c3
#FM44
CJ3O3OPPP7 	 ]:RYs^^<<< 	 	Df	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 $|S))
#NDD!4cjAA	
 	
 	
 ${A&&
#GNDD9KQ4O4OPPP  	 ]:S111 	1 	1D|BQB/000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1s$   'E  EEG99G= G=c                     t          d dD                       }t          t          |          }d}t          j        t
          |          5   ||d           d d d            d S # 1 swxY w Y   d S )Nc                     i | ]	}|d ddd
S )r]   r^   r_   )r   r   zrX   r  s     r$   r   zZTestFrameArithmeticUnsorted.test_strings_to_numbers_comparisons_raises.<locals>.<dictcomp>#  s$    NNNQe%e44NNNr&   r   z;'[<>]=?' not supported between instances of 'str' and 'int'rm   r   )r   r   r   rs   rt   r   )r>   compare_operators_no_eq_nerc   r   rv   s        r$   *test_strings_to_numbers_comparisons_raiseszFTestFrameArithmeticUnsorted.test_strings_to_numbers_comparisons_raises   s    NNoNNN
 
 H899K]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)rx   rj   rA   rk   rl   r   r\   ignore)r   raise)r   r!   r   rg  r	   rr   r  r   r   r    errstater   ra   r  )r>   
missing_dfr   r   s       r$   'test_comparison_protected_from_errstatezCTestFrameArithmeticUnsorted.test_comparison_protected_from_errstate+  s_   GG2:...$v,,f555
 
 

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

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

          5  ||k     d d d            n# 1 swxY w Y   |j
        j        |j        k    sJ t          t          j        d                              d          t!          d          t!          d                    }|j        |_        |j        |_        t          j        t          |	
          5  ||k     d d d            n# 1 swxY w Y   t          j        t          |	
          5  ||k     d d d            d S # 1 swxY w Y   d S )Nri   r   rh   rh   rh   rh   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 shapesrm   ABr9  r   )r   r!   r   r   r"   
atleast_2dr   tuplera   rb   r   r  rs   rt   ru   r   rr   r    r   )r>   rc   r   b_rb_clsttupr   r   msg1dmsg2dmsg2dbs               r$   test_boolean_comparisonz3TestFrameArithmeticUnsorted.test_boolean_comparison7  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abcdefgrx   r  r   r'   r   bedcfbcdefrl   )rr   r   r!   r   r   r   r   r
  rK   r   ra   rb   )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  rh   r   r   rx   ry   r  r   ri  r]   r  r\   )r   r   r!   ro   rp   r   r   rK   ra   r  _mgrrb   )	r>   s_origdf_origrQ  rR  rc   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&   r2  andrd  z__idiv__ not implemented)rt   r   )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~   rh   )r  r  r  )TFTr   __irC  )r   rK   r   ra   rb   r  )r>   r   rc   operanddf_copyiopr   s          r$   test_inplace_ops_identity2z6TestFrameArithmeticUnsorted.test_inplace_ops_identity2  s    , ___999==>>%%%)))BsG''))Blll"[[[ 	C!!!'77B''00
b(+++b66"vv!!!!!!r&   valr  rA   r   rj   c                    g d}g d}t          t          j                            d                              d          ||          }t           j        }t          |||d|j                  }t          j         |||d          d	         |           t          g d
g dg dd|j                  }t          j         |||d	          d	         |           d S )Nr   r  r&  r  rh   r   r   r   r  r   r   r   r  r  r   r   r   )	r   r!   ro   rp   rq   _align_for_opr    ra   rb   )r>   r  r    r   rc   alignr   s          r$   test_alignment_non_pandasz5TestFrameArithmeticUnsorted.test_alignment_non_pandas  s     !//I!!!$$44V<<
 
 
 '3Ss;;28LLL
eeB!444Q7BBB))))))))<<BH
 
 
 	eeB!444Q7BBBBBr&   rh   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  rh   r  r   z5Unable to coerce to Series, length must be 3: given 2rm   r   r   r   )	r   r!   ro   rp   rq   r  rs   rt   ru   )r>   r  r    r   rc   r  rv   s          r$   )test_alignment_non_pandas_length_mismatchzETestFrameArithmeticUnsorted.test_alignment_non_pandas_length_mismatch4  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  rh   r  r   r  rj   r   ri   )r   r   r  r   r   r   r  rm   r  zGUnable to coerce to Series/DataFrame, dimension must be <= 2: (3, 3, 3))r   r!   ro   rp   rq   r  r"   ra   rb   r    r   rs   rt   ru   zerosr  r  )r>   r    r   rc   r  r  rv   s          r$   'test_alignment_non_pandas_index_columnszCTestFrameArithmeticUnsorted.test_alignment_non_pandas_index_columnsG  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   ra   r  r   r>   rF  rc   r   s       r$   test_no_warningz+TestFrameArithmeticUnsorted.test_no_warningm  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 argumentsrm   r   )r   rs   rt   r   r   r  s       r$   test_dunder_methods_binaryz6TestFrameArithmeticUnsorted.test_dunder_methods_binarys  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'   rg  rA   rx   )rx   r   z0.X)r!   r   r   r   intr   r  rL   rr  meanra   rb   )r>   r  r&  r  r   r   r   s          r$   test_align_int_fill_bugz3TestFrameArithmeticUnsorted.test_align_int_fill_bugz  s    IgY///77B??GG3'''llYY[[E
jjsxxzz!#
fh/////r&   N)1rU   rV   rW   r$  r,  rs   r   r   r   r2  r\  r]  r  r4  filterwarningsr7  rM  rX  r_  rm  rv  r  r  r   r   r   r   r   r   r  r  r  r  r  r  r2   r   AttributeErrorr  r!   r"   rf  r   r  r  r  r  r  r  rX   r&   r$   r  r    s       / / /0 0 0 [x|X\8<9IJ 0 0 0< [X(9;K'LMM[ BCC/ / DC NM/
 [T#J#J#JKK$0 $0 LK$0L, , ,>. . .;3 ;3 ;3z&
 &
 &
P,& ,& ,&\( ( ( [	hk8;X[(+V "1 "1	 "1H	 	 	
6 
6 
6L L L\.0 .0 .0`9# 9# 9#v [FLk'')2L (     !	
 *" "+ *"& [IIBHYYYbh///E!QKK		
 C C C& [UaVVXRXq!f5E5EuuQPQ{{$STT# # UT#$$# $# $#L5 5 58 8 80 0 0 0 0r&   r  c                      t          dg di          } t          g d          }| |z  }t          dt          j        dt          j        gi          }t          j        ||           d S )Nr\   r}  r  r   r   r!   r   ra   rb   )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 )Nrh   r   r'   )rx   r   r   rl   r  r  rf  r  r   Int64r  )r   r!   ro   rp   r   r   to_numpyr   r   rL   ra   rb   )rc   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 )Nrh   r   i  )r'   rx   rr  )r   r   r   r   rh   r   rj   r  rj   r   c                 4    i | ]}||         |         z   S rX   rX   )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!   ro   rp   r   r   rK   rL   r   r
  r   r   ra   rb   )
r#   r  r   r  df4df5re   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   abrl   rg  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  rl   r   g      r   r  )r   r!   r   rr   rL   r   ra   rb   )rc   	col_dtyper   r   s       r$   /test_dataframe_operation_with_non_numeric_typesr    s{     3-#rv7dLLLHY/00H&$tCyy1111F&(+++++r&   c                      t          dggdg          } t          g dgg d          }| |z   }t          t          j        ddggg d          }t          j        ||           d S )Nr   r;  )r   r   r  )r:  r;  r;  rl   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   rh   r  zUnable to coerce list of r   z to Series/DataFramerm   )r   rN   rs   rt   ru   )r  rc   rv   s      r$   "test_arith_list_of_arraylike_raiser    s0    
!Qq!f--	.	.B
Kd6!9oo
K
K
KC	z	-	-	-  
V              	z	-	-	-                   s$   AA!$A!BBBc                    t          dg di          }|                                }|d         }|j        }t          j        |          5  |dz  }d d d            n# 1 swxY w Y   | r"|j        |usJ t          j        ||           d S |j        |u sJ t          dg di          }t          j        ||           d S )Nr\   r  r   r  )r   rK   _valuesra   assert_cow_warningrb   )using_copy_on_writewarn_copy_on_writerc   r  r  valsr   s          r$   %test_inplace_arithmetic_series_updater    s   	C#	$	$BggiiGWF>D		1	2	2  !               ,~T))))
b'*****~%%%%c999-..
b(+++++s   AA!$A!c            	      @   t          dggdgt          j        dgdggddg                    } t          dggdgt          dgd                    }t          dggdgt          j        dgdggddg                    }| |z
  }t	          j        ||           dS )	zP
    Regression test for: https://github.com/pandas-dev/pandas/issues/33765
    r   r   r   r   r  r   r  N)r   r
   r  r	   ra   rb   )r  r   r   r   s       r$    test_arithmetic_multiindex_alignr    s     
e'!qc
3*EEE  C
 aSE#qc0D0D0D
E
E
EC
e'!qc
3*EEE  H
 3YF&(+++++r&   c                  
   t          dt          d          t          d                    } | dz  }t          t          j        d          t          d          t          d                    }t	          j        ||           d S )NTr  cdr   r   )r   rr   r!   r   ra   rb   )rc   r   r   s      r$   test_bool_frame_mult_floatr    sf    	4dT$ZZ	0	0B#XF$t**d4jjAAH&(+++++r&   c                     t          g d|           }t          g d|           }t          g d|           }|                                |                                z
  }t          j        ||           d S )N)r   rh   NrA   r  )r   r   N)r   r   to_framera   rb   )any_int_ea_dtypeseries1series2r   r   s        r$   test_frame_sub_nullable_intr    s    \\\)9:::GYYY&6777G-=>>>H'"2"2"4"44F&(+++++r&   zMignore:Passing a BlockManager|Passing a SingleBlockManager:DeprecationWarningc                      G fddt                      G fddt                     dg dg dd          } | d	z  } dg d
g dd          }t          j        ||           | | z   }t          j        ||           d S )Nc                   D    e Zd Zefd            Ze fd            ZdS )Etest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeriesc                     S r;   rX   r>   SubclassedSeriess    r$   _constructorzRtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeries._constructor%  	    ##r&   c                     S r;   rX   )r>   SubclassedDataFrames    r$   _constructor_expanddimz\test_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeries._constructor_expanddim)  s	    &&r&   N)rU   rV   rW   propertyr  r  )r  r
  s   r$   r
  r  $  s]        		$ 	$ 	$ 	$ 
	$ 
	' 	' 	' 	' 
	' 	' 	'r&   r
  c                   X     e Zd ZdgZd fdZed             Zefd            Z xZS )Htest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFramemy_extra_datar9   Nc                 H    || _          t                      j        |i | d S r;   )r  superr?   )r>   r  argskwargs	__class__s       r$   r?   zQtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame.__init__0  s-    !.DEGGd-f-----r&   c                 P    t          j        t          |           | j                  S r;   )	functoolspartialrN   r  rB   s    r$   r  zUtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame._constructor4  s    $T$ZZ1CDDDr&   c                     S r;   rX   r	  s    r$   _constructor_slicedz\test_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame._constructor_sliced8  r  r&   rT   )	rU   rV   rW   	_metadatar?   r  r  r  __classcell__)r  r
  s   @r$   r  r  -  s        $%		. 	. 	. 	. 	. 	. 
	E 	E 
	E 
	$ 	$ 	$ 	$ 
	$ 	$ 	$ 	$ 	$r&   r  	some_datar  r  r  rh   r  )r   rx      r  )sdfr   r   r  r
  s      @@r$   +test_frame_op_subclass_nonclass_constructorr#    s    ' ' ' ' ' ' ' '6 ' ' '$ $ $ $ $ $ $i $ $ $ 
k+K+K
L
LC1WF"";iiikkk0R0RSSH&(+++3YF&(+++++r&   c                     t          dd          } t          | j        g di          }t          | j        g di          }|| j                 || j                 k    }t          g d| j                  }t	          j        ||           d S )NColsz	col1 col2r  )TTTr  )r   r   r/  r   ra   r  )r%  q1q2r   r   s        r$   test_enum_column_equalityr(  E  s    $$D	DIyyy)	*	*B	DIyyy)	*	*B	]bm+F(((ty999H68,,,,,r&   c                  8   t          t          d          ddg          } t          t          d          ddg          }|j                            d          | _        | |z   }t          t          d          ddg          }t	          j        ||           d S )Nr9  r   r   )r   r   r    r  string)r   rr   r   rL   ra   rb   r  s       r$   test_mixed_col_index_dtyper+  Q  s    
DKKc!
=
=
=C
DKKc!
=
=
=C+$$X..CK3YFe3qcBBBH&(+++++r&   )@collectionsr   r   r   enumr   r  r   r  numpyr!   rs   pandas._configr   pandas.util._test_decoratorsutil_test_decoratorsr  pandasr   r   r	   r
   r   pandas._testing_testingra   pandas.core.computationr   r1   pandas.tests.frame.commonr   r   fixturer%   r6   r8   rZ   r   r'  r  r  r  r  r  r  r  r  r   r   rr   rL   r  r  r  r  r  r  r  r  r  r#  r(  r+  rX   r&   r$   <module>r9     s                           				      5 5 5 5 5 5 ) ) ) ) ) ) ) ) )                      7 7 7 7 7 7        R R R  aXIx3HIII  JI               :Z; Z; Z; Z; Z; Z; Z; Z;z@. @. @. @. @. @. @. @.NN0 N0 N0 N0 N0 N0 N0 N0b
A0 A0 A0 A0 A0 A0 A0 A0H
  ., , ,- - -"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, , ,&, , ,&, , ,, , , S !, !, !,H	- 	- 	-, , , , ,r&   