
    d             
       R   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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c mZ d dlmZ d dl m!Z!m"Z" d dl#m$Z$m%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          Z0d Z1d Z2d  Z3d! Z4ej5        6                    d" ed#d$gd%d&gg e7d'          (          d)f ed#d*gd%d*gg e7d'          (          d+fg          d,             Z8d- Z9ej5        6                    d. ed/d/g          g ed/d/g           ed/d/g          gg          d0             Z:d1 Z;d2 Z<d3 Z=d4 Z>d5 Z?d6 Z@dS )7    )deque)datetimetimezone)EnumN)	DataFrameIndex
MultiIndexSeries)expressions)_MIN_ELEMENTSNUMEXPR_INSTALLED)_check_mixed_float_check_mixed_intTi@B numexprpython)autouseparamsidsc              #   n   K   t           j        }| j        t           _        | j        V  |t           _        d S N)exprr   param)requestr   s     ^/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/frame/test_arithmetic.pyswitch_numexpr_min_elementsr   $   s4      &M D
-&D    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 r   )valuenpdtype)selfr!   r#   s      r   __init__zDummyElement.__init__-   s    
Xe__


r   c                 B    t          j        | j        | j                  S )Nr#   )r"   arrayr!   r#   r$   s    r   	__array__zDummyElement.__array__1   s    x
$*5555r   c                 (    d| j          d| j         dS )NzDummyElement(z, ))r!   r#   r)   s    r   __str__zDummyElement.__str__4   s    :tz::TZ::::r   c                      t          |           S r   )strr)   s    r   __repr__zDummyElement.__repr__7   s    4yyr   Fc                     || _         | S r   r'   )r$   r#   copys      r   astypezDummyElement.astype:   s    
r   c                 d     t          |           | j                            |          |          S r   )typer!   view)r$   r#   s     r   r6   zDummyElement.view>   s(    tDzz$*//%00%888r   c                 *    t          | j                  S r   )boolr!   )r$   axiss     r   anyzDummyElement.anyA   s    DJr   r   N)Fr   )__name__
__module____qualname__r%   r*   r/   r-   r0   r3   r6   r:    r   r   r   r   ,   s        % % % %6 6 6; ; ; ; ;#       9 9 9           r   r   c                      e Zd Zd Zd Zej                            dej	        
                    dd           ej        dd          dej	        
                    dd          ej	        
                    dd          dgej	        
                    dd          ej	        
                    dd          dej	        
                    dd           ej        dd          dg ej        dd           ej        dd          dej	        
                    dd          ej	        
                    dd          dgej	        
                    dd           ej        dd          d ej        dd           ej        dd          dgg          d	             Zej                            d
g d          d             Zd Zd Zd Zd ZdS )TestFrameComparisonsc                     t          dg di          }t          dg di          }|dk    }t          j        ||           |d                             d          |d<   |dk    }t          j        ||           d S )NA)foobarbaz)TFFrD   category)r   tmassert_frame_equalr3   )r$   dfexpress       r   &test_comparison_with_categorical_dtypez;TestFrameComparisons.test_comparison_with_categorical_dtypeL   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columnsz+The truth value of a DataFrame is ambiguousmatchr   )r   r"   randomrandnlistpytestraises
ValueError)r$   rJ   msgs      r   test_frame_in_listz'TestFrameComparisons.test_frame_in_list[   s    ryq!,,d6llCCC;]:S111 	 	&LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A,,A03A0z	arg, arg2
   size20010101periodsabc                 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 r?   r?   .0colxys     r   
<dictcomp>z@TestFrameComparisons.test_comparison_invalid.<locals>.<dictcomp>   (    888sS!C&AcF"888r   indexrS   c                 6    i | ]}||         |         k    S r?   r?   ri   s     r   rn   z@TestFrameComparisons.test_comparison_invalid.<locals>.<dictcomp>   ro   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.|rT   )	r   rS   rq   rH   rI   joinrY   rZ   	TypeError)	r$   argarg2resultexpectedmsgsr\   rl   rm   s	          @@r   test_comparison_invalidz,TestFrameComparisons.test_comparison_invalidb   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          t          j                            d          t          t          j	        d                    d          }t          j
        |j        t          j                            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 )Nra   r^   rb   20010102i ʚ;r_   )dates1dates2intcolfloatcol	stringcolg      ?r   )r   r   20010109zL'(<|>)=?' not supported between instances of 'numpy.ndarray' and 'Timestamp'rT   natzJ'(<|>)=?' not supported between instances of 'numpy.ndarray' and 'NaTType')r   pd
date_ranger"   rV   randintrW   rX   rH   randsNaTlocrandlengetattroperator	TimestamprI   rY   rZ   ru   )	r$   leftrightrJ   left_fright_fry   rx   r\   s	            r   test_timestamp_comparez+TestFrameComparisons.test_timestamp_compare   s    -
B???-
B???)++JR+@@IOOB//!"(2,,// 
 
 ;=&ry~~c"gg&&,h67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   :F%%F),F)G66G:=G:5J  J$'J$K22K69K6c                    t          ddgddgg          }t          ddgddgg          }||k    }|                                                                rJ ||k    }|                                                                sJ d S )Nz
1989-08-01      re   rf   cd)r   r:   all)r$   rJ   otherrx   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 )NrO      r   FTr   r   r   )r   r"   arangereshaperH   rI   )r$   rJ   ry   rx   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 )N   r   rC   BCrp   )r   r"   rV   rW   range__eq__r:   r$   rJ   rx   s      r   test_df_float_none_comparisonz2TestFrameComparisons.test_df_float_none_comparison  se    ryq!,,E!HHoooVVV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   rD   rd   r   rE   r   )r   re   rH   rI   r   rf   )r$   rJ   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)r<   r=   r>   rM   r]   rY   markparametrizer"   rV   r   r   r   r{   r   r   r   r   r   r?   r   r   rA   rA   I   s       ( ( (   [ **2B*77&z2>>> 
 **2B*77**2B*77 	 **2B*77**2B*77 
 **2B*77&z2>>> 	 'z2>>>&z2>>> 
 **2B*77**2B*77 	 **2B*77&z2>>> 
 'z2>>>&z2>>> 	?)	
, ,Z( ([, ,Z(T [	
 	
 	

 
+1 +1
 
+1Z" " "0 0 0& & &; ; ; ; ;r   rA   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        t.          |          5   ||           d d d            d S # 1 swxY w Y   d S )	N   r   )r   r   r   rp   r   $Unable to coerce to Series/DataFramerT   )r"   rV   rW   r   onesshaper   valuesr   r   r:   r   r   rH   rI   r   r2   reindexrq   rS   nanrY   rZ   r[   )r$   r   data
other_datarJ   r   ndim_5fopart_orsxpr\   s                r   test_bool_flex_framez-TestFrameFlexComparisons.test_bool_flex_frame  sT   yq!$$Y__Q**
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   I  I$'I$boxc                 "   t           j                            dd          }t          |          } |t           j                            d                    } |t           j                            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                    }t          t           j                            d                    }d S )Nr   r   r   r9   )r"   rV   rW   r   r   r   rH   rI   r
   TrX   r|   r   r~   r}   )r$   r   r   rJ   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_series=  s+    yq!$$t__#biooa(())#biooa(())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++,,++,,r   c                 8   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 )Nr   r   r   r   )r   r"   rV   rW   r   r   r   r   r|   r}   r~   r   )r$   rJ   r   s      r   test_bool_flex_frame_naz0TestFrameFlexComparisons.test_bool_flex_frame_nah  s    ryq!,,--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   rO   y               @   re   rs   z9'>' not supported between instances of '.*' and 'complex'z unorderable types: .*complex\(\)rT   )r"   r(   r   r   rt   rY   rZ   ru   r|   r   r   r   )	r$   arrarr2rJ   df2r\   r   arr3df3s	            r   "test_bool_flex_frame_complex_dtypez;TestFrameFlexComparisons.test_bool_flex_frame_complex_dtypey  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          ddt          j                    dgi          }|                    |          }t          dg di          }t          j        ||           d S )Nrk   rD   rE   )FTF)r   r"   r   r   nowr   rH   rI   )r$   df1r   rx   rK   s        r   !test_bool_flex_frame_object_dtypez:TestFrameFlexComparisons.test_bool_flex_frame_object_dtype  s}     6788 >?@@ 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   r   r         ?       @      @rl   rm   r   countrq   name)
r   r   dtypesvalue_countsrH   assert_series_equalr
   r"   r#   r8   )r$   r   rJ   constrx   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   r   r   r   r   )r   r   r   r   r   rH   r   r
   r"   r#   r8   )r$   r   rJ   r  emptyrx   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   rC   r   r   r   Fr   r   rC   r   rq   )r   IntervalIndexfrom_breaksr   r
   r   rH   rI   )r$   iirJ   serrL   ry   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)r<   r=   r>   rY   r   r   r   r"   r(   r
   r   r   r   r   r   r  r  r  r?   r   r   r   r     s6       [T#G#G#GHH  IH: [URXv$677(- (- 87(-T     "% % %N+ + +0 0 0$ [X'K'K'KLL
 
 ML
 [X'K'K'KLL	
 	
 ML	
. . . . .r   r   c                      e Zd Zd Zej                            e d          ej                            dddg          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 r?   r?   )rj   rk   rJ   r  s     r   rn   z?TestFrameFlexArithmetic.test_floordiv_axis0.<locals>.<dictcomp>  s#    HHHcc2c7c>HHHr   )	r"   r   r
   r   floordivrS   rH   rI   r   )r$   r   rx   ry   result2rJ   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   znumexpr not installed)reasonr   r  powc                    t          t          |          t          j        t          dz                                 t          dz  dz   d          dz  }t          |          dd<   d          t          |          d          }t          fdj        D                       }t          j	        ||            t          |          j
        d          }t          j	        ||           d S )	Nd   r   r   r   r   r   c                 6    i | ]}| |                   S r?   r?   )rj   rk   rJ   r   r  s     r   rn   zLTestFrameFlexArithmetic.test_floordiv_axis0_numexpr_path.<locals>.<dictcomp>  s+    JJJc22bgs#3#3JJJr   )r   r   r"   r   r   r   r   rS   rH   rI   r   )	r$   r   r   rx   ry   r  rJ   r   r  s	         @@@r    test_floordiv_axis0_numexpr_pathz8TestFrameFlexArithmetic.test_floordiv_axis0_numexpr_path  s     Xv&&i+,,44]c5IA5MrRRUXXs^^3e$V$$Sq111JJJJJJrzJJJKK
fh///%'"f%%cjq999
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-01r^   rb   1r   r   r   r   )r   r   timedelta_ranger
   r   addrH   rI   )r$   dtitditserrJ   rx   ry   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   rb   )z1 Dayr   z2 Daystimedelta64[ns]r'   r  r   )days
fill_value)z
2016-01-02z
2016-01-03z
2016-01-05zdatetime64[ns]r   )	r   r   r
   r   	Timedeltato_timedelta64r#  rH   rI   )r$   r$  r  rJ   r   fillrx   ry   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)rl   rm   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   r   r   r'   )r   rH   rI   r   )r$   all_arithmetic_operatorsfloat_framemixed_float_framer   rx   ry   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 )
Nr   )r<  uint64)r   r   )r;  r=  r   r   rC   r'   )	r   r   r   USE_NUMEXPRr#   rH   rI   r   r   )
r$   r   	int_framemixed_int_framer9  r   r   rx   ry   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   rO   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   rT   )r"   r   rY   rZ   r[   r   )r$   r7  r8  rD  r   r   r\   s          r   test_arith_flex_frame_raisez3TestFrameFlexArithmetic.test_arith_flex_frame_raised  s     & gdSj!!4]:S111 	* 	*$GK$$S)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s   AA"%A"c                    |                     d          }t          j        ||dz              |                     |d d                   }t          j        ||t          j        z             |d d                              |          }t          j        ||t          j        z             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,  rT   r   r+  rq   r9   r,  )	r#  rH   rI   r"   r   rY   rZ   NotImplementedErrorr   )r$   r8  	const_addrx   s       r   test_arith_flex_frame_cornerz4TestFrameFlexArithmetic.test_arith_flex_frame_cornero  s   OOA&&	
iq999 RaR11
fkBF&:;;;RaR$$[11
fkBF&:;;;].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$   #C66C:=C:$EEE)r#  submulmodc                 F   |}|                     d          }|d         }t          ||          }t          t          |          }t          j         ||           |||                     t          j         ||d           ||j        |          j                   d S )Nre   twor   r   )xsr   r   rH   rI   r   )r$   simple_framer   rJ   rowrk   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 )Nre   rP  r   r   )rQ  rH   rI   r#  divr   )r$   rR  rJ   rS  rk   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 )
NrO   r   r'   r         ?g      ?r   rq   r   )	r   r"   r   r   r   infrV  rH   rI   )r$   r#   rJ   ry   rx   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 )Nr'   rC   r   rR   r   r   r   rP   r,  rT   Er+  rH  )r
   objectr   rY   rZ   rI  r#  rL  )r$   ser_len0df_len0rJ   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   rP   r   floatr'   rD   rO   r  r   r+  )	r"   r(   r   r   r   fillnar#  rH   rI   )r$   datrJ   rK   rL   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   r   r   rP   r   )r   r   r   r   r   r  r   )r   r   r   r   r   )r   r   r   r   r   )r   rL  rH   rI   )r$   r   r   ry   rx   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   )r;  r=  r<  __truediv__c                 f   t          t          j        d          t          j                            d          d          } t          ||          |          }ddg|_        ddg|_         t          ||          |          }t          j        ||           t          |           |j
         d S )Nr^   r  rC   )r   r"   r   rV   r   r   rS   rH   rI   r/   r   )r$   r   rJ   ry   rx   s        r   &test_arithmetic_with_duplicate_columnsz>TestFrameFlexArithmetic.test_arithmetic_with_duplicate_columns  s     RYr]]1C1CDDEE"72r??2&&:3Z
 R$$
fh///F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   r   r   r  L1r   r   r   ))rC   r   )rC   DL2)rn  )r   rS   	set_namesr#  rH   rI   )r$   rn  r   r   rx   ry   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   rP   r   i  i  re   rf   rp  scenrN  idnamesr  皙?rN  r{  )ffffff?333333@333333@)r  皙@g@r   r   r   r	   from_productr
   r#  rH   rI   r$   rJ   seriesry   rx   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   ry  re   rf   r{  rN  r}  r  )      $@g      4@g      >@rp  rz  )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   rx  ry  re   rf   rp  rz  r}  r  r  r   rN  r{  re   rf   r   re   rf   r   )re   rf   r   r   r   )
r   r	   r  r
   r"   r   from_tuplesr#  rH   rI   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   rx  ry  )r  r  )re   r   r   rz  r}  r  r  rf   re   rN  r{  r  r  r  r  r   r   )
r   r	   r  r
   r  r"   r   r#  rH   rI   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   )r<   r=   r>   r  rY   r   skipifr   r   r  r'  r0  r:  rC  r   rF  rK  rT  rW  r]  rc  rh  rj  rm  rv  r  r  r  r  r?   r   r   r  r    sv       1 1 1 [--6MNN[X
E':;;1 1 <; ON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	 	 UT	 [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   r)  r'   r   r   r   rP   r!  r
   r   rH   rI   )r$   r  rJ   rx   ry   s        r   test_td64_op_nat_castingz,TestFrameArithmetic.test_td64_op_nat_castingI  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 )NrO   r   r   TFr   rS   rq   r   rP   r   rS   rq   r#   
r"   r   r   r   r   rS   rq   r#   rH   rI   )r$   r   rJ   rowlikery   rx   s         r   'test_df_add_2d_array_rowlike_broadcastsz;TestFrameArithmetic.test_df_add_2d_array_rowlike_broadcastsS  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 )NrO   r   r   TFr   r  r   r   r   	   r^   r  r  )r$   r   rJ   collikery   rx   s         r   'test_df_add_2d_array_collike_broadcastsz;TestFrameArithmetic.test_df_add_2d_array_collike_broadcastsh  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__rO   r   r   TFr   r  r   rC   r   r   )td&mark_array_manager_not_yet_implementedr"   r   r   r   r   r   r   squeezerS   rq   rH   rI   )r$   r   r7  using_array_managerr   r   rJ   r  exvalsry   rx   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  rO   r   r   TFr   r  r   r   )TFc              3   $   K   | ]}|j         V  d S r   )r   rj   rl   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   rS   rq   rH   rI   )r$   r   r7  r  r   r   rJ   r  r  r#   ry   rx   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rl   s    r   <lambda>z:TestFrameArithmetic.test_df_bool_mul_int.<locals>.<lambda>      af r   ic                     | j         S r   r  r  s    r   r  z:TestFrameArithmetic.test_df_bool_mul_int.<locals>.<lambda>  r  r   )r   r   applyr   )r$   rJ   rx   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 )Nre   rf   r   r   r  )aabbccr   rP   rO   r   rH   rI   )r$   r   rx   ry   s       r   test_arith_mixedz$TestFrameArithmetic.test_arith_mixed  sa    YYY??@@#5#5#5IIIFFGG
fh/////r   rk   rC   r   c                     t          ddgddgd          } ||d          |         } |||         d          }t          j        ||           d S )Ng?gffffff
@g      @g333333r  r   )r   rH   r   )r$   all_arithmetic_functionsrk   rJ   rx   ry   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   r   r   r   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  r   r   r  )r$   r   rJ   ry   rx   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                    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        j        |j         }t          |j        |z   |j        |j        
          }t          j	        |                    |          |           d S )Nr   r^   f8r'   r   onerP  threer  r  re   rp   r   r   rP  rq   )r   r"   r   r   rQ  r   rq   rS   rH   rI   r   r#  rX   rV   r   r   )r$   rJ   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~rx(")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   r   rR   r^   c                 B    g | ]} t          |                    S r?   )r   )rj   nnumr   s     r   
<listcomp>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   rH   rI   )	r$   r7  indr   rJ   rx   ry   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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)rD   rE   rD   rE   rR   r   )r   r   r   r-  r"   r   rH   rI   )r$   rJ   r   rx   ry   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  )Tr8      ns<m8[ns]<M8[ns]r   c                     | j         S r   )r<   r  s    r   r  zTestFrameArithmetic.<lambda>.  s    aj r   )r   c           
         t           j        dft           j        dft           j        dft           j        dfh}t          ||          }t          d|j        |j        gi|j                  }t           j        dft           j	        dft           j        dft           j        dft           j        dft           j        dft           j        dft           j
        dft           j	        dfh	}	||f|	v rd }
|dk    r|t           j        k    s|dk    r|t           j        k    rd }nD|dk    rd}n;|t           j
        u r"d}|dk    rt          j        r|d	k    rt          }
nd
|j         d}t          j        t"          |          5  t%          j        |
          5   |||j                   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S ||f|v r|t           j        t           j        fv r\t          j        r|d	k    rt          }
nd }
t%          j        |
          5   |||j                   d d d            d S # 1 swxY w Y   d S d}t          j        t(          |          5   |||j                   d d d            d S # 1 swxY w Y   d S t%          j        d           5   |||j                  j        } |||          j        }d d d            n# 1 swxY w Y   t%          j        ||           d S )Nr8   rC   r'   r  r  r  z3ufunc 'remainder' not supported for the input typesz-numpy boolean subtract, the `-` operator, is r   zcannot perform __z7__ with this index type: (DatetimeArray|TimedeltaArray)rT   z+operator '.*' not implemented for .* dtypes)r   truedivr  r#  rM  r   r   r!   r#   rN  rL  r   r@  UserWarningr<   rY   rZ   ru   rH   assert_produces_warningrI  r   r   )r$   r   r!   r#   r   r   skipelemrJ   invalidwarnr\   rx   ry   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   r   r   rP   Int8r'   rR   r   r	   from_arraysr
   r   rH   rI   r$   midxmidx2r   r   rx   ry   s          r   *test_arithmetic_midx_cols_different_dtypesz>TestFrameArithmetic.test_arithmetic_midx_cols_different_dtypesv  s    %vq!f~~vq!f~~&FGG&1vV(D(D(DfaQRVnn'UVV1a&1a&)4888Aq6Aq6*E:::q!fq!f-t<<<
fh/////r   c                    t          j        t          ddg          t          ddg          g          }t          j        t          ddgd          t          ddg          g          }t          ddgddgg|          }t          ddgddgg|          }||z
  }t          ddgddgg|          }t	          j        ||           d S )	Nr   r   r   rP   r  r'   rR   r  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)"r<   r=   r>   r  r  r  r  r  r  r  rY   r   r   r  r"   r(   r   r   r  r  r  r  timedelta64
datetime64r   r#  rL  rM  r  rN  r  r  r  r  r?   r   r   r  r  H  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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 )NrO   r   r   rC   r   rR   r'   znot alignedrT   zM8[ns])r   r"   rV   rW   r   r
   rY  r   r   rS   rH   rI   rY   rZ   r[   r6   )rJ   r  rx   ry   r   s        r   ,test_frame_with_zero_len_series_corner_casesr    s    
29??1%%--a33c3Z	H	H	HB
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#D77D;>D;c                      t          ddgt          j                  } t          ddgddg          }| |z   }| }t	          j        ||           d S )NrC   r   rS   r#   r   r   r  )r   r"   rY  r
   rH   rI   )rJ   r  rx   ry   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OnerC   333333?r   r   )rC   r  r   )r
   r"   r   r   sumrH   r   )r   rJ   rx   ry   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g d          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d#          g          d$             Z)d% Z*d& Z+d' Z,d( Z-d)S )*TestFrameArithmeticUnsortedc                 V   t          j        dddd          }t          t          j                            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/2011r^   H
US/Eastern)rc   freqtzre   rp   zEurope/Moscow)r   r   r   r"   rV   rW   r   
tz_convertrq   r  r   utc)r$   rngrJ   	df_moscowrx   s        r   *test_frame_add_tz_mismatch_converts_to_utczFTestFrameArithmeticUnsorted.test_frame_add_tz_mismatch_converts_to_utc  s    mJNNNrys3xx00cUKKKMM/22	i|(,....R|(,......r   c                    t          j        ddd          }t          t          j                            t          |          d          |          }||d d d         z   }||z   }t          j        |j        dd d<   t          j
        ||           |d d d         }||                    t          j                            t          |                              z   }t          j
        ||           d S )	Nz1/1/2000z1/1/2010rC   )r  r   r  r   r   )r   period_ranger   r"   rV   rW   r   r   r   rH   rI   takepermutation)r$   r  tsrx   ry   halfs         r   test_align_framez,TestFrameArithmeticUnsorted.test_align_frame  s    oj*3???rys3xx333???b1g7 fadd
fh///##A#wdii	 5 5c$ii @ @AAA
fh/////r   r   c                    t          g dg ddt                    }|                    t          j                  } ||d          } ||d                              t                    }d |t          j        |          <   t          j	        ||            |||          } |||                              t                    }d |t          j        |          <   t          j	        ||            |||                    d                    }t          j	        ||            ||                    d          |          }t          j	        ||d           d S )	N)r         @{   N)r   r   r   rP   )col1col2r'   r   r   F)check_dtype)
r   r`  rf  r"   r   r3   comisnarH   rI   )r$   r   rJ   filledrx   ry   s         r   test_operators_none_as_naz5TestFrameArithmeticUnsorted.test_operators_none_as_na  sS    (((,,,??v
 
 
 26""B2fa==''//'+(##$
fh///B2ff%%,,V44'+(##$
fh///B		!%%
fh///BIIaLL"%%
fhEBBBBBBr   zop,res)r   F)__ne__Tz ignore:elementwise:FutureWarningc                      t          ||          d          }t          |                                                                          |u sJ d S )NrD   )r   r8   r   )r$   r   rL   r8  rx   s        r   %test_logical_typeerror_with_non_validzATestFrameArithmeticUnsorted.test_logical_typeerror_with_non_valid  sP    
 *b))%00FJJLL$$&&''3......r   )r#  rL  rM  rV  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value3rp   )r   r  g      Y@r5  r   )rn  r9   c           	      f    g | ]-\  }} j         d d d d |f         d d f         |          .S r   r   rj   r  vrJ   idxopas      r   r  zETestFrameArithmeticUnsorted.test_binary_ops_align.<locals>.<listcomp>  sJ    CCCASSAAAqqq!Gaaa(!,,CCCr   r   r  rP  r  r4  c                 `    g | ]*\  }} j         d d |f         d d f         |          +S r   r<  r=  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  rX   r   r"   r   r   
sort_indexr   
IndexSlicer   r   r
   concatitemsrH   rI   reindex_like)	r$   r   rq   rl   rx   ry   rJ   r?  r@  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 )NrC   r   re   rf   )r   rP   rX  r'   rR   r   r   rd   lvl0lvl1)r9   rn  )r   r   r   r   )r	   r  r   r"   r   r
   r2   rS   r~  rq   r   rM  r(   rH   rI   )r$   r   rJ   sr   s2res1r  res3res4res5res6rK   rL   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/Tokyor   r  r   rC   r  r   )r   DatetimeIndexr  r   r"   r   rH   rI   )r$   baseidx1idx2r   r   rK   s          r    test_add_with_dti_mismatched_tzsz<TestFrameArithmeticUnsorted.test_add_with_dti_mismatched_tzs=  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 )Nr   rs  rP   r   rC   r   r  rR   rY  r'   )r   rq   r"   r   r   dropnar2   rH   r   isinisnanr   assert_index_equalr   r   r  rS   rI   r   )r$   r8  r9  rB  
frame_copyr  indexerrK   
self_added	added_rev
plus_empty
empty_plusempty_emptyreverses                 r   test_combineFramez-TestFrameArithmeticUnsorted.test_combineFrameG  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   r_  float32r   r'   float16r  rX  rY  )rC   r   r   rs  int32)rQ  rq   rE  rH   r   to_dictr
   r"   r]  r   r   r#   r3   r   r   )
r$   r8  r9  rB  r  r  keyrK  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 )NrC   rq   r   F)check_namesr   rp   r   rR   )r#  rE  rH   r   r   r^  rq   rI   r   r"   r   rS   r   rM  r   )r$   datetime_framer!  r  rm  rk   rx   smaller_framesmaller_added
smaller_tssmaller_added2ry   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 )Nr   r   r'   r   )
rH   assert_numpy_array_equalr   rE  r   r   rq   equalsr   rS   )r$   r8  r9  rx   r   rK  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          j                    }t          j                    }|                    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 )Nre   r   r   r   zNUnable to coerce to Series/DataFrame, dimension must be <= 2: (30, 4, 1, 1, 1)rT   r   zQCan only compare identically-labeled \(both index and columns\) DataFrame objectsr   )rH   makeTimeDataFramerQ  r"   r   r   r|  r   rY   rZ   r[   reescape)r$   rR  r8  r  r   r   rS  r   rx   r\   r  result3s               r   test_comparisonsz,TestFrameArithmeticUnsorted.test_comparisons  s"   
 "$$"$$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$   CC!C1FFF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 )rD   rE   rF   )rl   rm   zr?   r  s     r   rn   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'rT   r   )r   r   r   rY   rZ   ru   )r$   compare_operators_no_eq_nerJ   r   r\   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                 x   t          j                    }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 )Nr   rC   ignore)r  raise)	rH   makeDataFramer"   r   r   rq   errstater   r|  )r$   
missing_dfry   rx   s       r   'test_comparison_protected_from_errstatezCTestFrameArithmeticUnsorted.test_comparison_protected_from_errstate  s-   %''
356
z'*C/0[*** 	- 	-!(1,H	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-[))) 	- 	- 1n,F	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-
#FH55555s$   
A""A&)A&BB!B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 )NrO   r   r   r   r   r   FTz5Unable to coerce to Series, length must be 2: given 3,Unable to coerce to DataFrame, shape must bez4operands could not be broadcast together with shapesrT   ABr2  r  )r   r"   r   r   r(   
atleast_2dr   tuplerH   rI   r   r|  rY   rZ   r[   r   rX   rq   rS   )r$   rJ   rf   b_rb_clsttupry   rx   msg1dmsg2dmsg2dbs               r   test_boolean_comparisonz3TestFrameArithmeticUnsorted.test_boolean_comparison   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abcdefgr^   r  r  r  r   bedcfbcdefrR   )rX   r   r"   r   r   r   r   r   r2   r   rH   rI   )r$   rS   X_origZblock1subsXresult1r  r  result4s              r   test_inplace_ops_alignmentz6TestFrameArithmeticUnsorted.test_inplace_ops_alignmentn  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                    t          g d          }t          t          j                            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          }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   r   r   r^   r_   r  r   r[  rD   r  rC   )r
   r   r"   rV   r   r   r2   rH   r   _mgrrI   )	r$   s_origdf_origrK  rL  rJ   r   r   ry   s	            r   test_inplace_ops_identityz5TestFrameArithmeticUnsorted.test_inplace_ops_identity  s    			""BI--a-<<DDRKKLL 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2A..#((**599::\\^^
31388::>>>??
b(+++
c8,,,w#(""""\\^^
33388::#3%@@AA
b(+++
c8,,,w#(""""""r   )r#  andrV  r  rN  rM  orr  rL  r  xorc                 r   |dk    rd S 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 )NrV  r   r   rd   r   )r  r  r  )TFTre   __ir4  )r   r2   r   rH   rI   r|  )r$   r   rJ   operanddf_copyiopry   s          r   test_inplace_ops_identity2z6TestFrameArithmeticUnsorted.test_inplace_ops_identity2  s    " ;;F___999==>>%%%)))BsG''))Blll"[[[ 	C!!!'77B''00
b(+++b66"vv!!!!!!r   valr   r'   r   rP   c                    g d}g d}t          t          j                            dd          ||          }t          j        j        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  Yr  r   rp   r  rq   r   r  r  r   r   r   rS   )r   r"   rV   rW   r   coreopsalign_method_FRAMErq   rH   rI   )r$   r  rq   rS   rJ   alignry   s          r   test_alignment_non_pandasz5TestFrameArithmeticUnsorted.test_alignment_non_pandas  s      !//ryq!,,E7KKK.3Ss;;28LLL
eeBW55a8(CCC))))))))<<BH
 
 
 	eeBY77:HEEEEEr   r   r  r   c                    g d}g d}t          t          j                            dd          ||          }t          j        j        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  r   rp   z5Unable to coerce to Series, length must be 3: given 2rT   rq   rS   )r   r"   rV   rW   r   r  r  r  rY   rZ   r[   )r$   r  rq   rS   rJ   r  r\   s          r   )test_alignment_non_pandas_length_mismatchzETestFrameArithmeticUnsorted.test_alignment_non_pandas_length_mismatch  sV   !//ryq!,,E7KKK.E]:S111 	$ 	$E"c7###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ ]:S111 	& 	&E"c9%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s$   ,BB
B
,CCCc                 f   g d}g d}t          t          j                            dd          ||          }t          j        j        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  r   rp   r   rP   r   rO   )r   r   r  rq   r   rS   r  rT   r  zGUnable to coerce to Series/DataFrame, dimension must be <= 2: (3, 3, 3))r   r"   rV   rW   r   r  r  r  r(   rH   rI   rq   rS   rY   rZ   r[   zerosr  r  )r$   rq   rS   rJ   r  r  r\   s          r   'test_alignment_non_pandas_index_columnszCTestFrameArithmeticUnsorted.test_alignment_non_pandas_index_columns$  s=   !//ryq!,,E7KKK.h			999iii899
E"c7##A&c2:>>>	
 	
 	
 	E"c9%%a(c2:>>>	
 	
 	
 =h			999-..]:S111 	$ 	$E"c7###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ ]:S111 	& 	&E"c9%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& hy!!iU
 
 ]:S111 	$ 	$E"c7###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$]:S111 	& 	&E"c9%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&sH   #D==EE#E==FFG%%G),G)H&&H*-H*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   rH   r  r   r$   r7  rJ   rf   s       r   test_no_warningz+TestFrameArithmeticUnsorted.test_no_warningF  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 argumentsrT   r   )r   rY   rZ   ru   r   r  s       r   test_dunder_methods_binaryz6TestFrameArithmeticUnsorted.test_dunder_methods_binaryL  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  rY  r'   r^   )r^   r   z0.X)r"   r   r   r   intr   r  r3   re  meanrH   rI   )r$   r  r  r   r   rx   ry   s          r   test_align_int_fill_bugz3TestFrameArithmeticUnsorted.test_align_int_fill_bugS  s    IgY///77B??GG3'''llYY[[E
jjsxxzz!#
fh/////r   N).r<   r=   r>   r  r#  rY   r   r   r   r#  rL  rM  r  r-  filterwarningsr0  rG  rR  rY  rg  rp  rz  r~  r   r   r}   r|   r~   r   r  r  r  r  r  r  r  r"   r(   rX  r   r  r  r  r  r  r  r?   r   r   r  r    sF       	/ 	/ 	/0 0 0 [x|X\8<9IJ C C C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	 1@	 	 	6 6 6L L L\.0 .0 .0`7# 7# 7#r [	
 	
 	
  " "!  ", [IIBHYYYbh///E!QKK		
 F F F [UaVVXRXq!f5E5EuuQPQ{{$STT& & UT& &  &  &D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 )NrC   rp  r  r   r   r"   r   rH   rI   )r   r   rx   ry   s       r   test_pow_with_realignmentr  b  sk    c999%&&DIII&&&E5[F#RV4566H&(+++++r   c                  B   t          dt          j        t          j        t          j        gi          } t          dg di          }t          dg di          }| |z  }t          j        ||           | d         |d         z  }t          j        ||d                    d S )NrC   rr  )r   r   r   )r   r"   r   rH   rI   r   )r   r   ry   rx   s       r   test_pow_nan_with_zeror  m  s    cBFBFBF3455DsIII&''E#/00H5[F&(+++#Y%*$F68C=11111r   c                     t          t          j                            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 )Nr   r  )r^   r   r  rR   r   r  rX  r  r   Int64r
  )r   r"   rV   r   r
   to_numpyr   rS   r3   rH   rI   )rJ   r  ry   df_earx   s        r   &test_dataframe_series_extension_dtypesr  z  s    	29$$QW55	O	O	OB
///
2
2
2C{{7##cll7&;&;&C&CB&J&JJH2:WEEEHIIgES[F&(+++SZZ(((F&(+++++r   c                  X  	 t           j                            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 )Nr   i  )r  r^   re  )r   r   r   r   r   r   rP   r   r  rP   r   c                 4    i | ]}||         |         z   S r?   r?   )rj   r  r   r   s     r   rn   z6test_dataframe_blockwise_slicelike.<locals>.<dictcomp>  s(    JJJaa58!3JJJr   )r"   rV   r   r   r2   r3   r   r   r   rS   rH   rI   )
r   r   r   r   df4df5rL   ry   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   g      @r%  abrR   rY  rf   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  rR   rf   g      re   r  )r   r"   r   rX   r3   r
   rH   rI   )rJ   	col_dtypery   rx   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   r4  )r   rS   rr  )r3  r4  r4  rR   r  )r   r   rx   ry   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   r   r   zUnable to coerce list of r   z to Series/DataFramerT   )r   r5   rY   rZ   r[   )r  rJ   r\   s      r   "test_arith_list_of_arraylike_raiser    s0    
!Qq!f--	.	.B
Kd6!9oo
K
K
KC	z	-	-	-  
V              	z	-	-	-                   s$   AA!$A!BBBc                 *   t          dg di          }|                                }|d         }|j        }|dz  }| r"|j        |usJ t          j        ||           d S |j        |u sJ t          dg di          }t          j        ||           d S )NrC   r   r   r  )r   r2   _valuesrH   rI   )using_copy_on_writerJ   r  r  valsry   s         r   %test_inplace_arithmetic_series_updater    s    	C#	$	$BggiiGWF>D
aKF ,~T))))
b'*****~%%%%c999-..
b(+++++r   c            	      @   t          dggdgt          j        dgdggddg                    } t          dggdgt          dgd                    }t          dggdgt          j        dgdggddg                    }| |z
  }t	          j        ||           dS )	zP
    Regression test for: https://github.com/pandas-dev/pandas/issues/33765
    r   re   r   rf   r}  rp   r   N)r   r	   r  r   rH   rI   )r   r   ry   rx   s       r   !test_arithemetic_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   rX   r"   r   rH   rI   )rJ   rx   ry   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   r   Nr'   r   )r   r   N)r
   r   to_framerH   rI   )any_int_ea_dtypeseries1series2ry   rx   s        r   test_frame_sub_nullable_intr    s    \\\)9:::GYYY&6777G-=>>>H'"2"2"4"44F&(+++++r   c                      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   r?   r$   SubclassedSeriess    r   _constructorzRtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeries._constructor  	    ##r   c                     S r   r?   )r$   SubclassedDataFrames    r   _constructor_expanddimz\test_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeries._constructor_expanddim  s	    &&r   N)r<   r=   r>   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_datar   Nc                 H    || _          t                      j        |i | d S r   )r  superr%   )r$   r  argskwargs	__class__s       r   r%   zQtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame.__init__  s-    !.DEGGd-f-----r   c                 P    t          j        t          |           | j                  S r   )	functoolspartialr5   r  r)   s    r   r  zUtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame._constructor  s    $T$ZZ1CDDDr   c                     S r   r?   r  s    r   _constructor_slicedz\test_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame._constructor_sliced  r  r   r;   )	r<   r=   r>   	_metadatar%   r
  r  r  __classcell__)r  r  s   @r   r  r  	  s        $%		. 	. 	. 	. 	. 	. 
	E 	E 
	E 
	$ 	$ 	$ 	$ 
	$ 	$ 	$ 	$ 	$r   r  	some_datar   r  r  r   r  )r   r^      r  )sdfrx   ry   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
   rH   r   )r  q1q2rx   ry   s        r   test_enum_column_equalityr"  !  s    $$D	DIyyy)	*	*B	DIyyy)	*	*B	]bm+F(((ty999H68,,,,,r   )Acollectionsr   r   r   enumr   r  r   r  numpyr"   rY   pandas.util._test_decoratorsutil_test_decoratorsr  pandasr   r   r   r	   r
   pandas._testing_testingrH   pandas.core.commonr  commonr*  pandas.core.computationr   r   #pandas.core.computation.expressionsr   r   pandas.tests.frame.commonr   r   fixturer   r   rA   r   r  r  r  r  r  r  r  r  r  r  r   r   rX   r  r  r  r  r  r  r  r  r"  r?   r   r   <module>r2     s                           				      ) ) ) ) ) ) ) ) )                                        7 7 7 7 7 7               a\	87LMMM' ' NM'               :Q; Q; Q; Q; Q; Q; Q; Q;h@. @. @. @. @. @. @. @.Na0 a0 a0 a0 a0 a0 a0 a0H@0 @0 @0 @0 @0 @0 @0 @0F
  *, , ,- - -"d
0 d
0 d
0 d
0 d
0 d
0 d
0 d
0N, , ,
2 
2 
2, , ,- - -4 	S#Jc
+TT$ZZ	@	@	@)L	S#Jc
+TT$ZZ	@	@	@(K , , ,, , , VVQF^^$4vvq!f~~vvqRSf~~6V#WXX  YX, , ,$, , ,&, , ,, , ,!, !, !,H	- 	- 	- 	- 	-r   