
    .i$             
       j   d dl mZ d dlmZmZ d dlmZ d dlZd dlZd dlZd dl	Z
d dlZd dlmZ d dlZd dlmZmZmZmZ d dlmZ d dlmZ d dlmZmZ d d	lmZ ej>                  d
        Z  ej>                  dd dgddg      d        Z! G d d      Z" G d d      Z# G d d      Z$ G d d      Z% G d d      Z&d Z'd Z(d Z) G d d      Z*d  Z+d! Z,d" Z-ej\                  j_                  d# ed$d%gd&d'gg e0d(      )      d*f ed$d+gd&d+gg e0d(      )      jc                  d+e2i      d,fg      d-        Z3d. Z4ej\                  j_                  d/ ed0d0g      g ed0d0g       ed0d0g      gg      d1        Z5d2 Z6d3 Z7d4 Z8d5 Z9d6 Z:d7 Z;ej\                  jy                  d8      d9        Z=d: Z>d; Z?y)<    )deque)datetimetimezone)EnumN)import_optional_dependency)	DataFrameIndex
MultiIndexSeries)expressions)_check_mixed_float_check_mixed_int)Versionc                  b    t        j                  g dg dg dg      } t        | g dg d      S )z
    Fixture for simple 3x3 DataFrame

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

       one  two  three
    a  1.0  2.0    3.0
    b  4.0  5.0    6.0
    c  7.0  8.0    9.0
          ?       @      @)      @      @g      @)g      @g       @g      "@onetwothreeabccolumnsindex)nparrayr   )arrs    `/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/frame/test_arithmetic.pysimple_framer&       s)     ((O_oF
GCS"9QQ    Td   numexprpython)autouseparamsidsc              #      K   |j                         5 }|j                  t        d| j                         | j                   d d d        y # 1 sw Y   y xY ww)N_MIN_ELEMENTS)contextsetattrexprparam)requestmonkeypatchms      r%   switch_numexpr_min_elementsr7   1   sF     				 !			$7mm  s   A0A	AAAc                   J    e Zd Zd
dZddZdefdZdefdZddZd Z	dd	Z
y)DummyElementreturnNc                 F    || _         t        j                  |      | _        y N)valuer"   dtype)selfr=   r>   s      r%   __init__zDummyElement.__init__9   s    
XXe_
r'   c                 X    t        j                  | j                  | j                        S )Nr>   )r"   r#   r=   r>   r?   r>   copys      r%   	__array__zDummyElement.__array__=   s    xx

$**55r'   c                 <    d| j                    d| j                   dS )NzDummyElement(z, ))r=   r>   r?   s    r%   __str__zDummyElement.__str__@   s    tzzl"TZZL::r'   c                     t        |       S r<   )strrH   s    r%   __repr__zDummyElement.__repr__C   s    4yr'   c                     || _         | S r<   rB   rC   s      r%   astypezDummyElement.astypeF   s    
r'   c                 X     t        |       | j                  j                  |      |      S r<   )typer=   view)r?   r>   s     r%   rQ   zDummyElement.viewJ   s"    tDz$**//%0%88r'   c                 ,    t        | j                        S r<   )boolr=   )r?   axiss     r%   anyzDummyElement.anyM   s    DJJr'   r:   N)NN)Fr<   )__name__
__module____qualname__r@   rE   rK   rI   rL   rN   rQ   rU    r'   r%   r9   r9   8   s3    %6; ;# 9 r'   r9   c                      e Zd Zd Zd Zej                  j                  dej                  j                  d      j                  dd       ej                  ddd	      d
ej                  j                  d      j                  dd      ej                  j                  d      j                  dd      d
gej                  j                  d      j                  dd      ej                  j                  d      j                  dd      d
ej                  j                  d      j                  dd       ej                  ddd	      d
g ej                  ddd	       ej                  ddd	      d
ej                  j                  d      j                  dd      ej                  j                  d      j                  dd      d
gej                  j                  d      j                  dd       ej                  ddd	      d
 ej                  ddd	       ej                  ddd	      d
gg      d        Zej                  j                  dg d      d        Zd Zd Zd Zd Zy)TestFrameComparisonsc                     t        dg di      }t        dg di      }|dk(  }t        j                  ||       |d   j                  d      |d<   |dk(  }t        j                  ||       y )NA)foobarbaz)TFFr_   category)r   tmassert_frame_equalrN   )r?   dfexpress       r%   &test_comparison_with_categorical_dtypez;TestFrameComparisons.test_comparison_with_categorical_dtypeX   sn     234234Ek
c3' S'..,3Ek
c3'r'   c                     t        t        j                  j                  d      j	                  d      t        d            }d}t        j                  t        |      5  |dv  d d d        y # 1 sw Y   y xY w)N   )      ABCDr    z+The truth value of a DataFrame is ambiguousmatchr<   )	r   r"   randomdefault_rngstandard_normallistpytestraises
ValueError)r?   re   msgs      r%   test_frame_in_listz'TestFrameComparisons.test_frame_in_listg   s`    II!!!$44V<d6l
 <]]:S1 	&L	 	 	s    A..A7z	arg, arg2rj   
   size20010101ns)periodsunitr   r   c           	         t        |      }t        |      }||k(  }t        |j                  D ci c]  }|||   ||   k(   c}|j                  |j                        }t        j                  ||       ||k7  }t        |j                  D ci c]  }|||   ||   k7   c}|j                  |j                        }t        j                  ||       g d}dj                  |      }	t        j                  t        |	      5  ||k\   d d d        t        j                  t        |	      5  ||kD   d d d        t        j                  t        |	      5  ||k   d d d        t        j                  t        |	      5  ||k   d d d        y c c}w c c}w # 1 sw Y   xY w# 1 sw Y   rxY w# 1 sw Y   UxY w# 1 sw Y   y xY w)Nr!   r    )z=Invalid comparison between dtype=datetime64\[ns\] and ndarrayzinvalid type promotionzbThe DTypes <class 'numpy.dtype\[.*\]'> and <class 'numpy.dtype\[.*\]'> do not have a common DType.|ro   )	r   r    r!   rc   rd   joinru   rv   	TypeError)
r?   argarg2xyresultcolexpectedmsgsrx   s
             r%   test_comparison_invalidz,TestFrameComparisons.test_comparison_invalidp   s   ` cNdO a./ii8sS!C&AcF""8''II

 	fh/a./ii8sS!C&AcF""8''II

 	fh/
 hhtn]]9C0 	F	]]9C0 	E	]]9C0 	E	]]9C0 	F	 	= 9 9 	 		 		 		 	s;   FFF.F%F1 F=F"%F.1F:=G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                  j                  d      j                  dd      t        j                  j                  d      j                  d      t        d      D cg c]  }t        d|z          c}d	      }t        j                  |j                  t        j                  j                  d      j	                  t        |            d
kD  df<   t        t        |      }t        t        |      }|dv rO ||t        j                  d            } |t        j                  d      |      }t!        j"                  ||       nd}	t%        j&                  t(        |	      5   ||t        j                  d             d d d        t%        j&                  t(        |	      5   |t        j                  d      |       d d d        |dv rO ||t        j                  d            } |t        j                  d      |      }t!        j"                  ||       y d}	t%        j&                  t(        |	      5   ||t        j                  d             d d d        t%        j&                  t(        |	      5   |t        j                  d      |       d d d        y c c}w # 1 sw Y   %xY w# 1 sw Y   xY w# 1 sw Y   hxY w# 1 sw Y   y xY w)Nr}   rz   r   20010102rj   i ʚ;r{   r(   )dates1dates2intcolfloatcol	stringcolg      ?r   )r   r   20010109zL'(<|>)=?' not supported between instances of 'numpy.ndarray' and 'Timestamp'ro   natzJ'(<|>)=?' not supported between instances of 'numpy.ndarray' and 'NaTType')r   pd
date_ranger"   rq   rr   integersrs   rangechrNaTloclengetattroperator	Timestamprc   rd   ru   rv   r   )
r?   leftrightire   left_fright_fr   r   rx   s
             r%   test_timestamp_comparez+TestFrameComparisons.test_timestamp_compare   sa    --
B?--
B?))//2;;JR;PII11!4DDRH49"I>qc#'l>
 LN66ryy$$Q'..s2w7#=xGH4((E* <b",,z":;HR\\*5r:F!!&(3?  y4 5r2<<
345y4 6Z0"56 <b",,u"56HR\\%0"5F!!&(3=  y4 0r2<<./0y4 1U+R01 1C ?"5 56 60 01 1s6   K K  K-5K95L K*-K69LLc                     t        ddgddgg      }t        ddgddgg      }||k(  }|j                         j                         rJ ||k7  }|j                         j                         sJ y )Nz
1989-08-01   rj   r   r   r   d)r   rU   all)r?   re   otherr   s       r%   test_mixed_comparisonz*TestFrameComparisons.test_mixed_comparison   sv     q)L!+<=>C:Sz23u::<##%%%uzz|!!!r'   c                     t        t        j                  d      j                  d            }t        ddgddgddgg      }|dk(  }t	        j
                  ||       |ddgk(  }t	        j
                  ||       y )Nrk      rj   FTrj   rj   rj   )r   r"   arangereshaperc   rd   )r?   re   r   r   s       r%    test_df_boolean_comparison_errorz5TestFrameComparisons.test_df_boolean_comparison_error  st     ryy|++F34uentUmeU^LMv
fh/1v
fh/r'   c                     t        t        j                  j                  d      j	                  d      t        d      g d      }|j                  d       }|j                         j                         rJ y )Nrj   )   r   r   r^   BCr   )r   r"   rq   rr   rs   r   __eq__rU   r?   re   r   s      r%   test_df_float_none_comparisonz2TestFrameComparisons.test_df_float_none_comparison  s]    II!!!$44V<(#
 4::<##%%%%r'   c                    t        ddddddg      }|j                  dkD  }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          y )Nr   r_   r   rj   r`   r   )r   r   rc   rd   r   r   )r?   re   mask_amask_bs       r%   test_df_string_comparisonz.TestFrameComparisons.test_df_string_comparison$  s    ae,AE.BCD
bj"&&1a.9
b&k266!A#q&>:
bj"&&1a.9
b&k266!A#q&>:r'   N)rW   rX   rY   rh   ry   ru   markparametrizer"   rq   rr   r   r   r   r   r   r   r   r   r   rZ   r'   r%   r\   r\   U   sw   ( [[ ..q1::2B:G&z2DI
 ..q1::2B:G..q1::2B:G	 ..q1::2B:G..q1::2B:G
 ..q1::2B:G&z2DI	 'z2DI&z2DI
 ..q1::2B:G..q1::2B:G	 ..q1::2B:G&z2DI
 'z2DI&z2DI	?)	
,Z([,Z(T [[	

+1
+1Z"0&;r'   r\   c                       e Zd Zd Zej
                  j                  dej                  e	g      d        Z
d Zd Zd Zd Zd Zd	 Zd
 Zy)TestFrameFlexComparisonsc                    t         j                  j                  d      j                  d      }t         j                  j                  d      j                  d      }t	        |      }t	        |      }t        j
                  g |j                  dd      }|j                  |      j                  j                         sJ |j                  |      j                  j                         rJ t        ||j                        }|}t        j                   ||       |||             |j                   dd dd f   j#                         }	 ||	      }
 |||	j%                  |j&                  |j(                              }t        j                  |
|       t        j                   ||j                         |||j                               t        j                   |d       ||d             d}t        j                   |t         j*                         ||t         j*                               t-        j.                  t0        |      5   ||       d d d        y # 1 sw Y   y xY w)	Nrj      r   r   r   r   r   $Unable to coerce to Series/DataFramero   )r"   rq   rr   rs   r   onesshaper   valuesr   r   rU   r   rW   rc   rd   r   rD   reindexr!   r    nanru   rv   rw   )r?   comparison_opdata
other_datare   r   ndim_5fopart_orsxprx   s                r%   test_bool_flex_framez-TestFrameFlexComparisons.test_bool_flex_frame1  s   yy$$Q'77?YY**1-==fE
t_*%*288*Q**+ uuRy##%%%559##'')))B../
ah"e512qr6"'')vYr6>>"**>EF
b"%
aoqU\\/BC
adAb!H-4
ai2rvv7]]:S1 	fI	 	 	s   	I!!I*boxc                 $   t         j                  j                  d      j                  d      }t	        |      } |t         j                  j                  d      j                  d            } |t         j                  j                  d      j                  d            }|j                  |d      }|j                  |      }|j                  |d      }|j                  |      }	t        j                  ||t        |      k(         t        j                  ||	        t        j                  ||        t        j                  ||j                  j                  |      j                         t        j                  ||j                  t        |                   t        j                  ||j                  t        |      d             t        j                  ||j                  t        |      d             |j                  |d      }
|j                  |      }|j                  |d      }|j                  |      }t        j                  ||t        |      kD         t        j                  ||        t        j                  |
|        t        j                  |
|j                  j                  |      j                         |j                  |d      }|j                  |      }|j                  |d      }|j                  |      }t        j                  ||t        |      k\         t        j                  ||        t        j                  ||        t        j                  ||j                  j                  |      j                         t        t         j                  j                  d      j                  d            }t        t         j                  j                  d      j                  d            }y )Nrj   r   r   r   r   rT   )r"   rq   rr   rs   r   r   r   rc   rd   r   Trt   r   r   r   r   )r?   r   r   re   idx_sercol_seridx_eqcol_eqidx_necol_neidx_gtcol_gtidx_lecol_leidx_gecol_geidx_ltcol_lts                     r%   test_bool_flex_seriesz.TestFrameFlexComparisons.test_bool_flex_seriesN  s    yy$$Q'77?t_bii++A.>>qABbii++A.>>qABwQ'wwQ'w
fbF7O&;<
fvg.
fvg.
fbddggg&6&8&89
fbeeDM&:;
fbeeF7O!e&DE
fbeeDMe&BCwQ'wwQ'w
fb6'?&:;
fvg.
fvg.
fbddggg&6&8&89wQ'wwQ'w
fbF7O&;<
fvg.
fvg.
fbddggg&6&8&89..q1AA!DE..q1AA!DEr'   c                 D   t        t        j                  j                  d      j	                  d            }t        j
                  |j                  d<   |j                  |      }|j                  d   rJ |j                  |      }|j                  d   sJ |j                  |      }|j                  d   rJ |j                  |      }|j                  d   rJ |j                  |      }|j                  d   rJ |j                  |      }|j                  d   rJ y )Nrj   r   r   r   )r   r"   rq   rr   rs   r   r   r   r   r   r   r   r   )r?   re   r   s      r%   test_bool_flex_frame_naz0TestFrameFlexComparisons.test_bool_flex_frame_nay  s    ryy,,Q/??GHvvtUU2Y66$<UU2Yvvd||UU2Y66$<UU2Y66$<UU2Y66$<UU2Y66$<<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j	                  ddg      }t        j                  t        |	      5  |j                  |       d d d        t        j                  t        |	      5  |d   j                  |d          d d d        t        j                  t        |	      5  |j                  |j                  kD   d d d        |j                  |      }|j                  j                         sJ t        j                  dt         j                  d g      }t        d|i      }t        j                  t        |	      5  |j                  d       d d d        t        j                  t        |	      5  |d   j                  d       d d d        t        j                  t        |	      5  |j                  dkD   d d d        y # 1 sw Y   xY w# 1 sw Y   UxY w# 1 sw Y   %xY w# 1 sw Y   xY w# 1 sw Y   pxY w# 1 sw Y   y xY w)
Nr   rk   y               @   r   r   z9'>' not supported between instances of '.*' and 'complex'z unorderable types: .*complex\(\)ro   )r"   r#   r   r   r   ru   rv   r   r   r   r   r   )	r?   r$   arr2re   df2rx   r   arr3df3s	            r%   "test_bool_flex_frame_complex_dtypez;TestFrameFlexComparisons.test_bool_flex_frame_complex_dtype  s   hh1bff-.xxRVVQ-.Sz"d$hhK3
 ]]9C0 	EE#J	 ]]9C0 	!sGJJs3x 	! ]]9C0 	#II

"	# UU3Zyy}}xxRVVT*+d$]]9C0 	FF2J	 ]]9C0 	HKKO	 ]]9C0 	JJO	 	-	 		! 	!	# 	#	 		 		 	sH   %H8II2I'I+I78IIII(+I47J c                    t        ddt        j                  dgit              }t        ddt	        j
                         dgit              }|j                  |      }t        dg di      }t        j                  ||       y )Nr   r_   r`   rB   )FTF)	r   r"   r   objectr   nowr   rc   rd   )r?   df1r   r   rf   s        r%   !test_bool_flex_frame_object_dtypez:TestFrameFlexComparisons.test_bool_flex_frame_object_dtype  si     67vF >?vN 456
fc*r'   c                    t        t        j                  g      }|t        j                  k(  }|j                  d   j	                         du sJ |j                  t        j                        }|j                  d   j	                         du sJ |t        j                  k7  }|j                  d   j	                         du sJ |j                  t        j                        }|j                  d   j	                         du sJ y )Nr   FT)r   r   r   ilocitemr   r   r   s      r%   test_flex_comparison_natz1TestFrameFlexComparisons.test_flex_comparison_nat  s     x rvv{{4 %%'5000rvv{{4 %%'5000rvv{{4 %%'4///rvv{{4 %%'4///r'   c           	      
   t        g dg dd      }d} t        ||j                        |      j                  j	                         }t        j                  |t        dgt        j                  t              gd             y )Nr   rj   r   r   r   r   rj   countr!   name)r   r   rW   dtypesvalue_countsrc   assert_series_equalr   r"   r>   rS   )r?   r   re   constr   s        r%   &test_df_flex_cmp_constant_return_typesz?TestFrameFlexComparisons.test_df_flex_cmp_constant_return_types  sg    Y_=>4]334U;BBOOQ
FA3rxx~&6WE	
r'   c           	      (   t        g dg dd      }d}|j                  d d } t        ||j                        |      j                  j                         }t        j                  |t        dgt        j                  t              gd             y )Nr  r   r	  rj   r   r
  r  )r   r  r   rW   r  r  rc   r  r   r"   r>   rS   )r?   r   re   r  emptyr   s         r%   ,test_df_flex_cmp_constant_return_types_emptyzETestFrameFlexComparisons.test_df_flex_cmp_constant_return_types_empty  sv    Y_=>7 6 67>EERRT
FA3rxx~&6WE	
r'   c                 f   t         j                  j                  g d      }t        ||d      }t	        ddg      }|j                  |d      }t        ddgddgd      }t        j                  ||       t	        ddgdd	g
      }|j                  |d      }t        j                  ||       y )Nr  r^   r   r   r   Fr   rj   r^   r   r!   )r   IntervalIndexfrom_breaksr   r   r   rc   rd   )r?   iire   serrg   r   ser2res2s           r%   -test_df_flex_cmp_ea_dtype_with_ndarray_serieszFTestFrameFlexComparisons.test_df_flex_cmp_ea_dtype_with_ndarray_series  s    )))4Rb)*aVneeCae E5>GH
c8,q!fS#J/uuTu"
dH-r'   N)rW   rX   rY   r   ru   r   r   r"   r#   r   r   r   r   r  r  r  r  r  rZ   r'   r%   r   r   /  s\    : [[URXXv$67(F 8(FT "%N+0$
	
.r'   r   c                      e Zd Zd Zd Zd Zd Zej                  j                  dg d      d        Z
ej                  j                  d ed	d
            d        Zd Zej                  j                  dg d      d        Zd Zd Zd Zd Zd Zej                  j                  dg d      d        Zej                  j                  dddg      d        Zd Zd Zd Zd Zd Zy)TestFrameFlexArithmeticc                 v   t        j                  d      }t        |      }t        ||d      }|j	                  |d      }t        |j
                  D ci c]  }|||   |z   c}      }t        j                  ||       |j	                  |j                  d      }t        j                  ||       y c c}w )Nr   r  r   r   )	r"   r   r   r   floordivr    rc   rd   r   )r?   r$   r  re   r   r   r   result2s           r%   test_floordiv_axis0z+TestFrameFlexArithmetic.test_floordiv_axis0  s    iilSkSs+,Sq)RZZHcc2c7c>1HI
fh/++cjjq+1
gx0 Is   B6c                    t        j                  dd      }t        j                  dd      }t        |      }t	        ||d      }|j                  |d      }t	        ||z   ||z   d      }t        j                  ||       y )N
2016-01-01rz   r   1r   r   r   r   )r   r   timedelta_ranger   r   addrc   rd   )r?   dtitditserre   r   r   s          r%   test_df_add_td64_columnwisez3TestFrameFlexArithmetic.test_df_add_td64_columnwise  su    mmL"5  b1c{33'(1%ssSy9:
fh/r'   c                 ^   t        j                  dd      }t        g dd      }t        ||d      }t        ||d      }t        j                  d	      j                         }|j                  ||
      }t        t        g dd      |dz  d      }t        j                  ||       y )Nr&  r   r   )z1 Dayr   z2 Daystimedelta64[ns]rB   r  r   )days
fill_value)z
2016-01-02z
2016-01-03z
2016-01-05zdatetime64[ns]rj   )	r   r   r   r   	Timedeltato_timedelta64r*  rc   rd   )r?   r+  r  re   r   fillr   r   s           r%   $test_df_add_flex_filled_mixed_dtypesz<TestFrameFlexArithmetic.test_df_add_flex_filled_mixed_dtypes  s    mmL!4/7HISs+,#./||#22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       y )Nc                     j                  d      r' t        t        j                  dd            ||       S  t        t              | |      S )N__r__)
startswithr   r   replace)r   r   ops     r%   r   z8TestFrameFlexArithmetic.test_arith_flex_frame.<locals>.f'  sF    }}U#AwxE4)@A!QGG(78R(A..r'   rj   r   rB   )r   rc   rd   r   )r?   all_arithmetic_operatorsfloat_framemixed_float_framer   r   r   r>  s          @r%   test_arith_flex_framez-TestFrameFlexArithmetic.test_arith_flex_frame!  s     &	/ *b)!k/:[!k/2
fh/ 0*B/4E0EF&,=(=>
fh/6#t5r'   r>  )__add____sub____mul__c                 "   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                  ||       y )
Nrj   )rD  uint64)r   r   )rC  rE  r   r   r^   rB   )	r   r   r2   USE_NUMEXPRr>   rc   rd   r   r   )
r?   r>  	int_framemixed_int_framerA  r7   r   r   r   r>   s
             r%   test_arith_flex_frame_mixedz3TestFrameFlexArithmetic.test_arith_flex_frame_mixed7  s2    Hb! ."-a/.AB_a/&9: ".E))$KE ;q @
 o-s399E#J
fh/u- 0*B/4E0EF&,=(=>
fh/6#t5 (B'I6YI.
fh/r'   dimr   rk   c                     |}t        j                  d|z        }d}t        j                  t        |      5   t        ||      |       d d d        y # 1 sw Y   y xY w)N)r   r   ro   )r"   r   ru   rv   rw   r   )r?   r?  r@  rL  r>  r$   rx   s          r%   test_arith_flex_frame_raisez3TestFrameFlexArithmetic.test_arith_flex_frame_raise`  sV     & ggdSj!4]]:S1 	*$GK$S)	* 	* 	*s   AAc                    |j                  d      }t        j                  ||dz          |j                  |d d       }|j                         t        j
                  z  }t        j                  ||       |d d j                  |      }|j                         t        j
                  z  }t        j                  ||       t        j                  t        d      5  |j                  |j                  d   d       d d d        t        j                  t        d      5  |j                  |j                  d   dd       d d d        y # 1 sw Y   OxY w# 1 sw Y   y xY w)	Nr   r   r3  ro   r   r2  r!   rT   r3  )
r*  rc   rd   
sort_indexr"   r   ru   rv   NotImplementedErrorr  )r?   r@  	const_addr   r   s        r%   test_arith_flex_frame_cornerz4TestFrameFlexArithmetic.test_arith_flex_frame_cornerk  s*   OOA&	
iq9 Ra1))+bff4
fh/Ra$$[1))+bff4
fh/]].lC 	?OOK,,Q/AO>	? ]].lC 	MOOK,,Q/g!OL	M 	M	? 	?	M 	Ms   !E "EEE )r*  submulmodc                 $   |}|j                  d      }|d   }t        ||      }t        t        |      }t        j                   ||       |||             t        j                   ||d       ||j
                  |      j
                         y )Nr   r   r   r   )xsr   r   rc   rd   r   )r?   r&   r>  re   rowr   r   s          r%   test_arith_flex_series_opsz2TestFrameFlexArithmetic.test_arith_flex_series_ops~  st     eeCjiBOXr"
afbSk2
a!nbsmoo>r'   c                 T   |}|j                  d      }|d   }t        j                  |j                  |d       ||z          t        j                  |j	                  |      ||z         t        j                  |j	                  |d      |j
                  |z  j
                         y )Nr   r   r   r   )rY  rc   rd   r*  divr   )r?   r&   re   rZ  r   s        r%   test_arith_flex_seriesz.TestFrameFlexArithmetic.test_arith_flex_series  s    eeCji
bffStf4b3h? 	bffSk284
bffSqf1BDD3J>>Br'   c                 F   t        t        j                  d      j                  d      |      }t        t        j                  t        j
                  gddgddgg      }|dk(  r|j                  |      }|j                  |d   d	
      }t        j                  ||       y )Nrk   r   rB   r         ?g      ?float32r   r!   r   )
r   r"   r   r   r   infrN   r]  rc   rd   )r?   any_real_numpy_dtypere   r   r   s        r%   #test_arith_flex_series_broadcastingz;TestFrameFlexArithmetic.test_arith_flex_series_broadcasting  s    ryy'//7?STrvvrvv.c
S$KHI9,';<H1G,
fh/r'   c                    t        g t              }t        ddg      }t        ddgddggddg      }t        j                  t
        d	
      5  |j                  |d       d d d        t        j                  t
        d	
      5  |j                  |d   d d       d d d        y # 1 sw Y   ExY w# 1 sw Y   y xY w)NrB   r^   r   rn   r   rj   r   rl   r3  ro   Er2  rP  )r   r   r   ru   rv   rR  r*  rU  )r?   ser_len0df_len0re   s       r%   test_arith_flex_zero_len_raisesz7TestFrameFlexArithmetic.test_arith_flex_zero_len_raises  s     "F+S#J/AA'#s<]].lC 	-FF8F,	- ]].lC 	:KK3dqK9	: 	:	- 	-	: 	:s   B(B4(B14B=c                    t        j                  ddt         j                  dddgd      }t        d|it	        d	      
      }|j                  d      j                  d      }|j                  dd      }t        j                  ||       y )Nr   r   r   rl   r   floatrB   r_   rk   r  rj   r2  )	r"   r#   r   r   r   fillnar*  rc   rd   )r?   datre   rf   rg   s        r%   test_flex_add_scalar_fill_valuez7TestFrameFlexArithmetic.test_flex_add_scalar_fill_value  sq    hh1bffaA.g>s|584iilq!ffQ1f%
c3'r'   c                     t        g dg d      }t        g dg d      }t        g dg d      }|j                  |      }t        j                  ||       y )N)r   rj   r   rl   r   )r   rj   r   rj   r   r  r  )r   rj   r   rj   rj   )r   r   rj   rj   r   )r   rU  rc   rd   )r?   r  r   r   r   s        r%   'test_sub_alignment_with_duplicate_indexz?TestFrameFlexArithmetic.test_sub_alignment_with_duplicate_index  sC    ?	3_OD
fh/r'   )rC  rE  rD  __truediv__c                 6   t        t        j                  d      t        j                  j	                  d      j                  d      d      } t        ||      |      }ddg|_        ddg|_         t        ||      |      }t        j                  ||       y )Nrz   rj   r  r^   )	r   r"   r   rq   rr   r   r    rc   rd   )r?   r>  re   r   r   s        r%   &test_arithmetic_with_duplicate_columnsz>TestFrameFlexArithmetic.test_arithmetic_with_duplicate_columns  s     RYYr]1F1Fq1I1P1PQS1TUV"72r?2&:3Z
 R$
fh/r'   levelr   Nc                    t        g dg dd      }|j                  j                  d      |_        t        g dg dd      }|j                  j                  ddg      |_        |j                  ||      }t        g dg dd      }|j                  j                  ddg      |_        t	        j
                  ||       y )	Nr   r   rj   r  r  L1r   r   r   ))r^   r   )r^   DL2)rt  )r   r    	set_namesr*  rc   rd   )r?   rt  r  r   r   r   s         r%   test_broadcast_multiindexz1TestFrameFlexArithmetic.test_broadcast_multiindex  s     ii89kk++D1YIFGkk++T4L9E*)KL#++55tTlC
fh/r'   c           	      p   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      	      }|j	                  |d      }t        j                  ||       y )Nr  r   rl   r       r   r   rv  scenrW  idnamesr  皙?rW  r  )ffffff?333333@333333@)r  皙@g@r   r   r   r
   from_productr   r*  rc   rd   r?   re   seriesr   r   s        r%    test_frame_multiindex_operationsz8TestFrameFlexArithmetic.test_frame_multiindex_operations  s    I.))y)1F
 E))C53%.P

 "/:))y)1F
 Q'
fh/r'   c           	      n   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      	      }|j	                  |d      }t        j                  ||       y )Nr   r   r  r   r   r  rW  r  r  )      $@      4@g      >@rv  r  )g      &@   g      ?@)g      *@g      7@g     @@r   r   r  r  s        r%   <test_frame_multiindex_operations_series_index_to_frame_indexzTTestFrameFlexArithmetic.test_frame_multiindex_operations_series_index_to_frame_index  s    3qc"))C53%.P

 ))y)1F
 #+=>))y)1F
 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      	      }|j                  |d      }t        j                  ||       y )Nr  r~  r  r   r   rv  r  r  r  r  r   rW  r  r   r   r   r   r   r   )r   r   rj   r   r   )
r   r
   r  r   r"   r   from_tuplesr*  rc   rd   r  s        r%   )test_frame_multiindex_operations_no_alignzATestFrameFlexArithmetic.test_frame_multiindex_operations_no_align  s    I.))y)1F
 E))C53%.P

 66(((!!!#rvv&	 ,
 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            }|j                  |d      }t        j                  ||       y )Nr  r~  r  r  r  )r   r   rj   r  r  r  r  r   r   rW  r  r  r  r  r  r   r   
r   r
   r  r   r  r"   r   r*  rc   rd   r  s        r%   +test_frame_multiindex_operations_part_alignzCTestFrameFlexArithmetic.test_frame_multiindex_operations_part_align#  s    I.((
 ,

 E))C53%.P

 bff%c3-?@((
 ,

 Q'
fh/r'   c           	         t        g dg dgddgt        j                  g dg d            }t        d	gt        j                  d
gdggddg            }t        ddt
        j                  gddt
        j                  ggddgt        j                  g dg d            }|j                  |d      }t        j                  ||       y )Nr  r~  r  r  r  r  r  r   r  r   r   rW  r  r  r  r  r  r  r   r   r  r  s        r%   1test_frame_multiindex_operations_part_align_axis1zITestFrameFlexArithmetic.test_frame_multiindex_operations_part_align_axis1D  s     	",**
 ,
 E))C53%.P

 3#sBFF!34,**
 ,
 Q'
fh/r'   )rW   rX   rY   r$  r.  r7  rB  ru   r   r   rK  r   rN  rT  r[  r^  rd  ri  rn  rp  rs  r|  r  r  r  r  r  rZ   r'   r%   r   r     s   1	00&6, [[T#DE&0 F&0P [[UE!QK0* 1*M& [[T#?@	? A	?
C0:(0 [[T#ST0 U0 [[Wq$i00 1000000:0B#0r'   r   c                      e Zd Zd Zd Zd Zd Zd Zd Zd Z	e
j                  j                  dd	d
g      d        Ze
j                  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                  j                  ddddddd ej,                  dd      df ej.                  dd      dfg      e
j                  j                  d ej2                  ej4                  ej6                  ej8                  ej:                  ej<                  gd! "      d#               Zd$ Z d% Z!y&)'TestFrameArithmeticc                     t        ddgd      }t        ddgddgg      }||z  }t        ||d      }t        j                  ||       y )	Nr   r0  rB   r   rj   r   rl   r(  r   r   rc   rd   )r?   r  re   r   r   s        r%   test_td64_op_nat_castingz,TestFrameArithmetic.test_td64_op_nat_castingk  sT     eU^+<=AA'(c-.
fh/r'   c                    t        j                  d      j                  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                  ||       y )Nrk   r   rj   TFr   r   r   rl   r   r    r!   r>   
r"   r   r   r   r   r    r!   r>   rc   rd   )r?   r$   re   rowliker   r   s         r%   'test_df_add_2d_array_rowlike_broadcastsz;TestFrameArithmetic.test_df_add_2d_array_rowlike_broadcastsu  s    iil""1a(sT5MIqc1f+}}BHHQK 0000VaVaV$JJ(( ))
 g
fh/2
fh/r'   c                    t        j                  d      j                  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                  ||       y )Nrk   r   rj   TFr   r   r   r   r   	   rz   r  r  )r?   r$   re   colliker   r   s         r%   'test_df_add_2d_array_collike_broadcastsz;TestFrameArithmetic.test_df_add_2d_array_collike_broadcasts  s    iil""1a(sT5MIa!f+}}!a 0000VaVaW%JJ(( ))
 g
fh/2
fh/r'   c                 j   |}t        j                  d      j                  dd      }t        |ddgg d      }|dgd d f   }|j                  d|j                  d   fk(  sJ  t        |j                  d	   |      |j                                t        |j                  d
   |      |j                                t        |j                  d   |      |j                               g}t        ||j                  |j                        } t        ||      |      }	t        j                  |	|       y )Nrk   r   rj   TFr   r   r   r^   r   r   )r"   r   r   r   r   r   r   squeezer    r!   rc   rd   )
r?   r4   r?  opnamer$   re   r  exvalsr   r   s
             r%   )test_df_arith_2d_array_rowlike_broadcastsz=TestFrameArithmetic.test_df_arith_2d_array_rowlike_broadcasts  s    *iil""1a(sT5MIqc1f+}}BHHQK 0000 )GBFF3K():;(GBFF3K():;(GBFF3K():;
 VRZZrxxH$V$W-
fh/r'   c                 H   |}t        j                  d      j                  dd      }t        |ddgg d      }|d d dgf   }|j                  |j                  d	   dfk(  sJ  t        |d   |      |j                                t        |d   |      |j                               d
}d }|dv r't        j                  d |j                         D         }t        ||j                  |j                  |      }	 t        ||      |      }
t        j                  |
|	       y )Nrk   r   rj   TFr   r   r   r   )TF)__rmod____rfloordiv__c              3   4   K   | ]  }|j                     y wr<   )r   ).0r   s     r%   	<genexpr>zPTestFrameArithmetic.test_df_arith_2d_array_collike_broadcasts.<locals>.<genexpr>  s     $G!QXX$Gs   r  )r"   r   r   r   r   r   r  common_typer   r    r!   rc   rd   )r?   r4   r?  r  r$   re   r  r  r>   r   r   s              r%   )test_df_arith_2d_array_collike_broadcastsz=TestFrameArithmetic.test_df_arith_2d_array_collike_broadcasts  s    *iil""1a(sT5MIa!f+}}!a 0000 ,'"T(F+GOO,=>-72e9f-goo.?@

 22 NN$Gv}}$GHEVRZZrxxuU$V$W-
fh/r'   c                     t        ddgddgg      }|dz  }|j                  j                  d       }|dk(  j                         sJ d|z  }|j                  j                  d       }|dk(  j                         sJ y )NFTr   c                     | j                   S r<   kindr   s    r%   <lambda>z:TestFrameArithmetic.test_df_bool_mul_int.<locals>.<lambda>  
    aff r'   r   c                     | j                   S r<   r  r  s    r%   r  z:TestFrameArithmetic.test_df_bool_mul_int.<locals>.<lambda>  r  r'   )r   r  applyr   )r?   re   r   kindss       r%   test_df_bool_mul_intz(TestFrameArithmetic.test_df_bool_mul_int  s     u~67a ##$45!!###R##$45!!###r'   c                     t        g dg dd      }||z   }t        g dg dd      }t        j                  ||       y )Nr   r  r  )aabbccrj   rl   rk   r   rc   rd   )r?   r   r   r   s       r%   test_arith_mixedz$TestFrameArithmetic.test_arith_mixed  s:    Y?@#5IFG
fh/r'   r   r^   r   c                     t        ddgddgd      } ||d      |   } |||   d      }t        j                  ||       y )Ng?gffffff
@g      @g333333r  r   )r   rc   r  )r?   all_arithmetic_functionsr   re   r   r   s         r%   test_arith_getitem_commutez.TestFrameArithmetic.test_arith_getitem_commute  sJ    c3ZsDk:;)"a05+BsGQ7
vx0r'   r   r   rj   r   rj   r   c                     t        ddgddgd      }t        ddgddgd      }||z   }t        j                  ||       y )Nr   r  rj   r   r  )r?   r   re   r   r   s        r%   &test_arith_alignment_non_pandas_objectz:TestFrameArithmetic.test_arith_alignment_non_pandas_object  sK    
 aV1a&12Aq6A78f
fh/r'   c                    t        t        j                  ddd      j                  dd      g dg d      }|j	                  d	      j
                  }t        |j
                  |z   |j                  |j                  
      }t        j                  ||z   |       t        |j
                  j                  |z   j                  |j                  |j                  
      }t        j                  |j                  |d      |       t        |d         }t        |j
                  |z   |j                  |j                  
      }t        j                  ||z   |       t        |j
                  j                  |z   j                  |j                  |j                  
      }t        j                  |j                  |d      |       t        j                  j                  d      j                  |j                        }t        |j
                  |z   |j                  |j                  
      }t        j                  |j                  |      |       y )Nr   rz   f8rB   r   r   r   r   r   r   r   r   r   r!   rj   )r   r"   r   r   rY  r   r!   r    rc   rd   r   r*  rt   rq   rr   r   )r?   re   val1addedval2val3s         r%   test_arith_non_pandas_objectz0TestFrameArithmetic.test_arith_non_pandas_object  s   IIa4(00A6+!
 uuSz  "))d*"((BJJO
b4i/299;;-00"**U
bffTf2E:BuI"))d*"((BJJO
b4i/299;;-00"**U
bffTf8%@yy$$Q'..rxx8"))d*"((BJJO
bffTlE2r'   c           
      6   |}t        j                  t        j                  dd            }ddg}t        |g|      }d} t	        ||      |      }t        |D cg c]  } t	        ||      |       c}g|      }	t        j                  ||	       y c c}w )N        r   )startendr   rj   rn   rz   )r   CategoricalIndexinterval_ranger   r   rc   rd   )
r?   r?  r>  indr   re   numr   nr   s
             r%   .test_operations_with_interval_categories_indexzBTestFrameArithmetic.test_operations_with_interval_categories_index  s    %!!""3"3#3"GH1vvs+ R%DAq~wq"~c2ABCP
fh/ Bs   Bc                    t        t        j                  d      t        j                  d      gt        j                  d      t        j                  d      gdddgd	      }|dg   }||z
  }t        t        j                  d
      t        j                  d
      gt        j
                  t        j
                  gdddg      }t        j                  ||       y )N2019202020182021)r_   r`   r_   r`   M8[ns]r    r>   r   rn   )r   r   r   r4  r"   r   rc   rd   )r?   re   r   r   r   s        r%   test_frame_with_frame_reindexz1TestFrameArithmetic.test_frame_with_frame_reindex  s    V,bll6.BCV,bll6.BC EN
 %kc\\!_bll1o6?OPEN
 	fh/r'   zvalue, dtype)r   i8)r   r  )            r  )y              ?
complex128)r  r  )TrS      r~   <m8[ns]<M8[ns]r>  c                     | j                   S r<   )rW   r  s    r%   r  zTestFrameArithmetic.<lambda>G  s
    ajj r'   )r-   c           
         t         j                  dft         j                  dft         j                  dft         j                  dfh}t        ||      }t        d|j                  |j                  gi|j                        }t         j                  dft         j                  dft         j                  dft         j                  dft         j                  dft         j                  dft         j                  dft         j                  dft         j                  dfh	}t        dd	      }	|	d uxr! t        |	j                        t        d
      k  }
||f|v rd }|dk(  r|t         j                  k(  s|dk(  r|t         j                  k(  rd }nM|dk(  rd}nE|t         j                  u r#d}|dk(  r,t        j                  r|dk(  rt         }nd|j"                   d}t%        j&                  t(        |      5  t+        j,                  |d      5   |||j                         d d d        d d d        y ||f|v r|t         j                  t         j                  fv rTt        j                  r|dk(  r	|
rt         }nd }t+        j,                  |d      5   |||j                         d d d        y d}t%        j&                  t.        |      5   |||j                         d d d        y t+        j,                  d       5   |||j                        j0                  } |||      j0                  }d d d        t+        j2                         y # 1 sw Y   .xY w# 1 sw Y   y xY w# 1 sw Y   y xY w# 1 sw Y   y xY w# 1 sw Y   QxY w)NrS   r^   rB   r  r  r  r)   ignore)errorsz2.13.1z3ufunc 'remainder' not supported for the input typesz-numpy boolean subtract, the `-` operator, is r   zcannot perform __z7__ with this index type: (DatetimeArray|TimedeltaArray)ro   zevaluating in Pythonz+operator '.*' not implemented for .* dtypes)r   truedivpowr*  rV  r9   r   r=   r>   rW  rU  r   r   __version__r2   rH  UserWarningrW   ru   rv   r   rc   assert_produces_warningrR  r  r  )r?   r>  r=   r>   r7   skipelemre   invalidr   ne_warns_on_opwarnrx   r   r   s                  r%   test_binop_otherz$TestFrameArithmetic.test_binop_other0  s   6 v&\\6"\\6"\\6"	
 E5)djj$**56djjI \\9%\\9%y)\\9%\\9%\\9%\\9%\\6"\\<(

 (	(C4WGBNN,CghFW,W;'!D"rX\\'9"rX\\'9,&Kx||#EVO((3q8&D (} 5A A 
 y4 '//<RS 'r4::&'' ' %[D hllHLL11$$3q8&&DD//<RS 'r4::&' ' D]]#6cB 'r4::&' ' ++D1 0B

+22b%=//0 ""6843' '' '' '
' '0 0sH   4MM MM%
M1<1M=M	MM"%M.1M:=Nc                 d   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
                  ||       y )	Nr   rj   r   rl   Int8rB   rn   r   r
   from_arraysr   r   rc   rd   r?   midxmidx2r   r   r   r   s          r%   *test_arithmetic_midx_cols_different_dtypesz>TestFrameArithmetic.test_arithmetic_midx_cols_different_dtypes  s    %%vq!f~vq!f~&FG&&1vV(DfaQRVn'UV1a&1a&)48Aq6Aq6*E:q!fq!f-t<
fh/r'   c                 d   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
                  ||       y )	Nr   rj   r   rl   r  rB   rn   r  r  s          r%   :test_arithmetic_midx_cols_different_dtypes_different_orderzNTestFrameArithmetic.test_arithmetic_midx_cols_different_dtypes_different_order  s    %%vq!f~vq!f~&FG&&1vV(DfaQRVn'UV1a&1a&)48Aq6Aq6*E:r1gAw/>
fh/r'   N)"rW   rX   rY   r  r  r  r  r  r  r  ru   r   r   r  r"   r#   r   r   r  r  r  r  timedelta64
datetime64r   r*  rU  rV  r  rW  r  r  r	  r  rZ   r'   r%   r  r  j  s|   00*0*0,06$0 [[US#J/1 01 [[Aq668288QF#3U1a[%A-P0034	00( [[!R^^B%y1R]]2t$i0		
 [[LLLLLLLLLL	
 !  I52I5V00r'   r  c                     t        t        j                  j                  d      j	                  d      j                  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        t        | j                  j!                  d
      | j                        }t        j                  t        d	      5  ||k(   d d d        y # 1 sw Y   cxY w# 1 sw Y   y xY w)Nrj   rk   r   r^   r   rn   rB   znot alignedro   r  )r   r"   rq   rr   rs   r   r   float64r   r   r    rc   rd   ru   rv   rw   rQ   )re   r  r   r   r   s        r%   ,test_frame_with_zero_len_series_corner_casesr    s     

		a 003;;AqACQT:
B rzz
"C#XFRVV+RZZ@H&(+	z	7 
c	
 BIINN8,bjj
AC	z	7 s
   s   D6'E6D?Ec                      t        ddgt        j                        } t        ddgddg      }| |z   }| }t	        j
                  ||       y )Nr^   r   r  r   rj   r  )r   r"   r  r   rc   rd   )re   r  r   r   s       r%   ,test_zero_len_frame_with_series_corner_casesr    sH    	C:RZZ	8B
!QSz
*C#XFH&(+r'   c                      dt        ddt        j                  g      i} t        |       }|j	                  d      }t        g d      }t        j                  ||       y )NOner^   333333?r   r   )r^   r  r   )r   r"   r   r   sumrc   r  )r   re   r   r   s       r%   +test_frame_single_columns_object_sum_axis_1r    sT     	vsC()D 
4BVVV^Fm$H68,r'   c                   r   e Zd Zd Zd Zej                  j                  dej                  ej                  ej                  ej                  g      d        Zej                  j                  dddg      ej                  j                  d      d	               Zej                  j                  dg d
      d        Zd Zd Zd Zd Zd Zd Zej                  j                  dej.                  ej0                  ej2                  ej4                  ej6                  ej8                  g      d        Zd Zd Zd Z d Z!d Z"ej                  j                  ddd ejF                  dej                  jI                  e%d            dd d!d"d#d$d%d&g      d'        Z&ej                  j                  d(g d)d) e'jP                  g d)e'jR                  *       e*d+d,      g      d-        Z+ej                  j                  d(d+d.gd/ e'jP                  d+d.g       e*d+d0      g      d1        Z,d2 Z-d3 Z.d4 Z/d5 Z0y6)7TestFrameArithmeticUnsortedc                    t        j                  dddd      }t        t        j                  j                  d      j                  t        |            |dg      }|j                  d	      }||z   }|j                  j                  t        j                  u sJ ||z   }|j                  j                  t        j                  u sJ y )
Nz1/1/2011rz   h
US/Eastern)r   freqtzrj   r   r   zEurope/Moscow)r   r   r   r"   rq   rr   rs   r   
tz_convertr!   r  r   utc)r?   rngre   	df_moscowr   s        r%   *test_frame_add_tz_mismatch_converts_to_utczFTestFrameArithmeticUnsorted.test_frame_add_tz_mismatch_converts_to_utc  s    mmJNII!!!$44SX>cTWSX
 MM/2	i||(,,...R||(,,...r'   c                    t        j                  ddd      }t        t        j                  j                  d      j                  t        |      df      |      }||d d d   z   }||z   }t        j                  |j                  dd d<   t        j                  ||       |d d d   }||j                  t        j                  j                  d      j                  t        |                  z   }t        j                  ||       y )	Nz1/1/2000z1/1/2010Y)r  rj   r   r  r   )r   period_ranger   r"   rq   rr   rs   r   r   r  rc   rd   takepermutation)r?   r"  tsr   r   halfs         r%   test_align_framez,TestFrameArithmeticUnsorted.test_align_frame  s    ooj*3?II!!!$44c#h]C3
 b1g7 ffadd
fh/#A#wdii		 5 5a 8 D DSY OPP
fh/r'   r>  c                    t        g dg ddt              }|j                  t        j                        } ||d      } ||d      j                  t              }t        j                  |t        j                  |      <   t        j                  ||        |||      } |||      j                  t              }t        j                  |t        j                  |      <   t        j                  ||        |||j                  d            }t        j                  ||        ||j                  d      |      }t        j                  ||       y )N)rj   r   {   N)r   rj   r   rl   )col1col2rB   r   r   )
r   r   rl  r"   r   rN   r   isnarc   rd   )r?   r>  re   filledr   r   s         r%   test_operators_none_as_naz5TestFrameArithmeticUnsorted.test_operators_none_as_na  s    (,?v
 266"Bfa=''/&(ff"#
fh/Bff%,,V4&(ff"#
fh/B		!%
fh/BIIaL"%
fh/r'   zop,res)r   F)__ne__Tz ignore:elementwise:FutureWarningc                 ~     t        ||      d      }t        |j                         j                               |u sJ y )Nr_   )r   rS   r   )r?   r>  rg   r@  r   s        r%   %test_logical_typeerror_with_non_validzATestFrameArithmeticUnsorted.test_logical_typeerror_with_non_valid  s9    
 *b)%0FJJL$$&'3...r'   )r*  rU  rV  r]  r  c                    t        j                  t        d      g dg dgg d      }t        t	        j
                  d      j                  dd      |g d	
      j                         }t        j                  }t        t        |d       }|y t        g dg d      } t        ||      |dd      }t        j                  |j                         D 	cg c])  \  }}	 ||j                  |d d d d |f   d d f   |	      + c}	}      j                         }
t!        j"                  ||
       t        ddgddg      } t        ||      |dd      }t        j                  |j                         D 	cg c]&  \  }}	 ||j                  |d d |f   d d f   |	      ( c}	}      j%                  |      j                         }
t!        j"                  ||
       y c c}	}w c c}	}w )Nabcr   r  )firstsecondthirdr  Q      r   )value1value2value3r   )r   r  g      Y@r;  r   )rt  rT   r   r  r   r   r:  )r
   r  rt   r   r"   r   r   rQ  r   
IndexSlicer   r   r   concatitemsr   rc   rd   reindex_like)r?   r>  r!   re   idxopar   r   r   vr   s              r%   test_binary_ops_alignz1TestFrameArithmeticUnsorted.test_binary_ops_align  s   
 ''%[19=.

 IIf%%b!,2
 *,	 	 mmhD);%y1 R':999:CASAq!Ga(!,C

*, 	 	fh/C; 01 R(; II	J1s266#ad)Q,/3JK\"Z\ 	
 	fh/ D Ks   .G
7+G$
c                    t        j                  ddgddgg      }t        t        j                  dd      |      }t        d	d
d      }|j                         }ddg|j                  _        |j                         }d|j                  _
        |j                  |d	d	      }|j                  |d	d	      }|j                  |d	d	      }|j                  |d	d	      }	|j                  |d	d      }
|j                  |d	d      }t        t        j                  g dg dgd      |      }||fD ]  }t        j                  ||        ddg|j                  _        ||	|
|fD ]  }t        j                  ||        y )Nr^   r   r   r   )rj   rl   int64rB   rn   r   rj   r   lvl0lvl1)rT   rt  )r   rj   r   rj   )r
   r  r   r"   r   r   rD   r    r  r!   r  rV  r#   rc   rd   )r?   r  re   sr   s2res1r  res3res4res5res6rf   rg   s                 r%   &test_binary_ops_align_series_dataframezBTestFrameArithmeticUnsorted.test_binary_ops_align_series_dataframeC  sr    &&c
S#J'?@rwwvW5tD#$ggi#V,VVX vvaaqv)vvbqv*wwqqw*wwrw+wwqqw/wwrw0HHlL1A4
 $< 	,C!!#s+	, $V,$d+ 	,C!!#s+	,r'   c                 X   t        j                  g dd      }|j                  d      d d }|j                  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   |       y )N)z
2011-01-01z
2011-01-02z
2011-01-03UTC)r  z
Asia/Tokyorj   r  r   r^   r  r   )r   DatetimeIndexr   r   r"   r   rc   rd   )r?   baseidx1idx2r  r   rf   s          r%    test_add_with_dti_mismatched_tzsz<TestFrameArithmeticUnsorted.test_add_with_dti_mismatched_tzsb  s     JuU|,Ra0|,QR0q!fT2q!fT2rvvq"&&12$?
cCi-r'   c                 z   |j                  |j                  d d d         }|d= t        j                  |j                  d |j                  d   df<   ||z   }|d   j                         j                  }|d   dz  j                         }t        j                  |d   j                         |j                  |          t        j                  |j                  |j                  j                  |       <   t        j                  |d   |j                  |d   j                            t        j                  |d   j                  |j                        d d       j                         sJ t        j                  |d         j                         sJ ||z   }t        j                  |j                  |j                         ||z   }	t        j                  |d         j                         sJ t        j                  |	d         j                         sJ |t               z   }
t        j                  |
j                        j                         sJ t               |z   }t        j                  |j                        j                         sJ t               t               z   }|j                  sJ |j                  |j                   d d d         }t        j"                  ||z   |dz         ||z   }t%        |d	
       ||z   }t%        |d	
       ||z   }t%        |dd i
       ||z   }t%        |d	
       y )Nrj   ry  rl   r   r^   r   r  rn   r  rB   )r   r!   r"   r   r   dropnarD   rc   r  isinisnanr   assert_index_equalr   r   r  r    rd   r   )r?   r@  rA  rJ  
frame_copyr  indexerrf   
self_added	added_rev
plus_empty
empty_plusempty_emptyreverses                 r%   test_combineFramez-TestFrameArithmeticUnsorted.test_combineFramel  s    (():):3Q3)?@
sO57VV
,))!,,c12j(*##%++3!#))+
uSz002CGGG4DE,.FF(()
uSz3775:3C3C+DExxc
**:+;+;<Ra@AEEGGG xxc
#''))) ;.

j..0A0AB,	xxc
#'')))xx	#'++---
 !9;.
xx
))*..000[;.
xx
))*..000kIK/     %%k.A.A$B$.G%H
g3[1_E //5	2!K/5	2 "$555d4 o-5	2r'   c                 b   |j                  |j                  d         }||z   }|j                         D ]$  \  }}t        j                  |||   ||   z          & |j                         }d|d<   t        |      }||z   }	|j                         D ]$  \  }}t        j                  |	|   |||   z          & d|	v sJ t        j                  |	d         j                         sJ ||z   }t        j                  |j                  |j                  k(        sJ ||j                  d      z   }t        |dd i       ||j                  d      z   }t        |dd i       |d|z  j                  d	      z   }t        |d	d
d	d	d       |d|z  j                  d      z   }t        |dd
dd	d       y )Nr   r   rf  ra  r   rB   float16r(   rJ  r  )r^   r   r   ry  int32)rY  r!   rC  rc   r  to_dictr   r"   r_  r   r  r>   rN   r   r   )
r?   r@  rA  rJ  r  r  keyrM  larger_serieslarger_addeds
             r%   test_combine_seriesz/TestFrameArithmeticUnsorted.test_combine_series  s    1 1! 45f$kkm 	FFC""1k#&6&DE	F (c}-"]2!'') 	GFC""<#4a&+oF	Gl"""xxS)*..000 "F*vvellfll2333 "FMM)$<<5d4!FMM)$<<5d4  3<"7"7"@@wYW7S	
  3<"7"7"@@wYW7S	
r'   c                    |d   }|j                  |d      }|j                         D ]r  \  }}||z   }t        j                  ||   |d       ||   j                  |k(  sJ |j                  |j                  k(  r|j                  dk(  rcJ |j                  rJ  |d d }|j                  |d      }t        j
                  |j                  |j                         |d d }	|j                  |	d      }
t        j                  ||
       |j                  |d d d      }t        t        j                  |j                  |j                        }t        j                  ||       |d d j                  |d      }t        t        j                  |j                  |j                        }t        j                  ||       |d d	 j                  g 
      }|j                  |d      }t        |      t        |      k(  sJ y )Nr^   r!   r   F)check_namesr   r   r   rn   )r*  rC  rc   r  r  r`  r!   rd   r   r"   r   r    r   rV  r   )r?   datetime_framer*  r  rn  r   r   smaller_framesmaller_added
smaller_tssmaller_added2r   frames                r%   test_combine_timeseriesz3TestFrameArithmeticUnsorted.test_combine_timeseries  s   C 
 ""2G"4&,,. 	+HC2XF""5:v5I:??c)))xx277"{{c))){{***	+ 's+%))"7);
m11>3G3GHW
'++JW+E
m^<  ##BrF#9FF...8N8N
 	fh/  #'''9FF...8N8N
 	fh/ r"**2*62G,6{c"g%%%r'   c                    |dz  }t        j                  |j                  |j                  dz         |dz  }|j                         D ]5  \  }}t        j                  |j                  ||   j                  dz         7 t	        |dd i       t               dz  }|j                  j                  t               j                        sJ t        |j                        dk(  sJ y )Nrj   r   rB   r   )
rc   assert_numpy_array_equalr   rC  r   r   r!   equalsr   r    )r?   r@  rA  r   r   rM  s         r%   test_combineFuncz,TestFrameArithmeticUnsorted.test_combineFunc  s    q
##FMM;3E3E3IJ #Q&LLN 	SDAq''2CA2F2M2MPQ2QR	S6#t5q||""9;#4#45556>>"a'''r'   funcc           	         t        t        j                  j                  d      j	                  d      t        t        d      t              t        j                  ddd      	      }|j                         }|j                  d
      }t        j                  g |j                  ddd      } |||      }t        j                  |j                    ||j                   |j                                d}	t#        j$                  t&        t)        j*                  |	            5   |||       d d d         |||      }
t        j                  |
j                    ||j                   |j                                 ||d      }t        j                  |j                    ||j                   d             d}	t#        j$                  t&        |	      5   |||d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nrj   )   rl   rm   rB   z
2000-01-01r  r   )r   r  r   r   r   zNUnable to coerce to Series/DataFrame, dimension must be <= 2: (30, 4, 1, 1, 1)ro   r   zQCan only compare identically-labeled \(both index and columns\) DataFrame objects)r   r"   rq   rr   rs   r	   rt   r   r   r   rD   rY  r   r   rc   r}  r   ru   rv   rw   reescape)r?   r&   r@  r  r  r   rZ  r   r   rx   r#  result3s               r%   test_comparisonsz,TestFrameArithmeticUnsorted.test_comparisons  s   
 II!!!$44W=$v,f5--bsC

 hhjooc".399.a..A./c3
##FMM4

CJJ3OP7 	 ]]:RYYs^< 	f	 |S)
##NND!4!4cjjA	
 {A&
##GNND9K9KQ4OP  	 ]]:S1 	1|BQ/0	1 	1	 		1 	1s   &
G)G5)G25G>c           
         t        dD ci c]	  }|dddd c}      }t        t        |      }dj                  ddg      }t	        j
                  t        |	      5   ||d
       d d d        y c c}w # 1 sw Y   y xY w)Nr   r_   r`   ra   )r   r   zr   z;'[<>]=?' not supported between instances of 'str' and 'int'z,Invalid comparison between dtype=str and intro   r   )r   r   r   r   ru   rv   r   )r?   compare_operators_no_eq_ner   re   r   rx   s         r%   *test_strings_to_numbers_comparisons_raiseszFTestFrameArithmeticUnsorted.test_strings_to_numbers_comparisons_raises5  s    >MNQe%e44N
 H89hhM>
 ]]9C0 	b!H	 	 O	 	s   A0
A55A>c                     t        t        j                  dt        j                        t	        t        d      t                    }t        j                  |j                  |j                  d   df<   t        j                  d      5  |j                  dk  }d d d        t        j                  d	      5  |dk  j                  }d d d        t        j                         y # 1 sw Y   NxY w# 1 sw Y   ,xY w)
N)rz   rl   rB   rm   rn   r   r^   r  )r  raise)r   r"   r   r  r	   rt   r   r   r   r!   errstater   rc   r}  )r?   
missing_dfr   r   s       r%   'test_comparison_protected_from_errstatezCTestFrameArithmeticUnsorted.test_comparison_protected_from_errstateE  s    GGG2::.$v,f5

 4666
z''*C/0[[* 	-!((1,H	-[[) 	- 1n,,F	-
##FH5		- 	-	- 	-s   C(9C4(C14C=c                 ,   t        t        j                  d      j                  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      }||kD  }t        j                  ||       |j                  |kD  }t        j                  ||j                         d}	d}
d	}t        j                  t        |	
      5  ||kD   d d d        t        j                  t        |	
      5  ||kD   d d d        ||kD  }t        j                  ||       |j                  |kD  }t        j                  ||j                         t        j                  t        |

      5  ||kD   d d d        t        j                  t        |
      5  |j                  |kD   d d d        t        ddgddgddgg      }||k(  }t        j                  ||       t        j                  t        |	
      5  ||k(   d d d        t        j                  t        |	
      5  ||k(   d d d        ||k(  }t        j                  ||       |j                  |k(  }t        j                  ||j                         t        j                  t        |

      5  ||k(   d d d        |j                  j                  |j                  k7  sJ t        t        j                  d      j                  d      t!        d      t!        d            }|j"                  |_        |j$                  |_        t        j                  t        |	
      5  ||k(   d d d        t        j                  t        |	
      5  ||k(   d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   'xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   4xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nrk   r   rj   rj   rj   rj   FTz5Unable to coerce to Series, length must be 2: given 3,Unable to coerce to DataFrame, shape must bez4operands could not be broadcast together with shapesro   ABr8  r   )r   r"   r   r   r#   
atleast_2dr   tuplerc   rd   r   r}  ru   rv   rw   r   rt   r!   r    )r?   re   r   b_rb_clsttupr   r   msg1dmsg2dmsg2dbs               r%   test_boolean_comparisonz3TestFrameArithmeticUnsorted.test_boolean_comparisonQ  sd    ryy|++F34HHaVmmQF#eeCj uenudmdD\JKa
fh/Q
##FHOO<G>G]]:U3 	H	 ]]:U3 	H	
 c
fh/S
##FHOO<]]:U3 	H	 ]]:V4 	IIO	 uentUmeU^LMq
fh/]]:U3 	#I	 ]]:U3 	#I	 s
fh/c!
##FHOO<]]:U3 	#I	 yy#))+++ IIaL  ($t*DK
 ::]]:U3 	#I	 ]]:U3 	#I	 	m	 		 		 		 		 		 		 		 		 	sl   6N#N0N=;O
OO$9O1+O>P
#N-0N:=O
OO!$O.1O;>P
Pc                    t        d      }t        t        j                  dt	        |      z        j                  dt	        |            |t        d            }d|j                  d d ddf   j                         z  }t        d      }t        d      }|j                         }||   |z   j                  |	      }||xx   |z  cc<   |j                  |	      }|j                         }||   ||   z   j                  |	      }	||xx   ||   z  cc<   |j                  |	      }
t        j                  ||       t        j                  ||	       t        j                  ||
       |j                         }||   |z
  j                  |	      }||xx   |z  cc<   |j                  |	      }|j                         }||   ||   z
  j                  |	      }	||xx   ||   z  cc<   |j                  |	      }
t        j                  ||       t        j                  ||	       t        j                  ||
       y )
Nabcdefgrz   r  r   r(   r   bedcfbcdefrn   )rt   r   r"   r   r   r   r   r  rD   r   rc   rd   )r?   r    X_origZblock1subsXresult1r#  r  result4s              r%   test_inplace_ops_alignmentz6TestFrameArithmeticUnsorted.test_inplace_ops_alignment  s    y/IIb3w<'(00S\B)

 &++a2g&++--gG} KKMV9q=))$)7	&	Q	))D))KKMV9qy(11$1?	&	QvY	))D))
gw/
gw/
gw/ KKMV9q=))$)7	&	Q	))D))KKMV9qy(11$1?	&	QvY	))D))
gw/
gw/
gw/r'   c                 L   t        g d      }t        t        j                  j	                  d      j                  ddd      j                  dd            }|j                         }|}|dz  }t        j                  ||       t        j                  |dz   |       ||u sJ |j                  |j                  u sJ |j                         }|}|dz  }t        j                  ||       t        j                  |dz   |       ||u sJ |j                  |j                  u sJ |j                         }|}|d	z  }t        j                  ||       t        j                  |d	z   |       |j                         }|}|d	z  }t        j                  ||       t        j                  |d	z   |       ||u sJ |j                  |j                  u sJ t        j                  j	                  d      j                  ddd      }t        |j                         d
d      }|j                         }|}|dxx   dz  cc<   t        |j                         dz   d
d      }t        j                  ||       t        j                  ||       |j                  |j                  u sJ |j                         }|}|dxx   d	z  cc<   t        |j                         d	z   d
d      }t        j                  ||       t        j                  ||       |j                  |j                  u sJ y )Nr  rj   r   r   rz   r{   r  r   r`  r_   r  r^   )r   r   r"   rq   rr   r   r   rD   rc   r  _mgrrd   )	r?   s_origdf_origrM  rN  re   r   r$   r   s	            r%   test_inplace_ops_identityz5TestFrameArithmeticUnsorted.test_inplace_ops_identity  s    	"II!!!$--a-<DDRK

 KKM	Q
q"%
vz1-Bwwvv   \\^
a
b#&
gk2.Syyww#((""" KKM	S
q"%
v|Q/\\^
c	
b#&
gmR0Syyww#((""" ii##A&//2A/>#((*59:\\^
31388:>>?
b(+
c8,ww#(("""\\^
33388:#3%@A
b(+
c8,ww#(("""r'   r*  andr]  z__idiv__ not implemented)rv   reason)marksr"  rW  rV  orr  rU  r  xorc                 $   t        g dg dd      }d}|dv rg d|d<   |j                         }d| d	}d	| d	} t        ||      |        t        ||      |      }t        j                  ||       t        |      }t        |      |k(  sJ y )
Nr   r  r   rj   )r  r  r  )TFTr   __ir;  )r   rD   r   rc   rd   r  )r?   r>  re   operanddf_copyiopr   s          r%   test_inplace_ops_identity2z6TestFrameArithmeticUnsorted.test_inplace_ops_identity2
  s    , _9=>%%)BsG'')B4rl"R[ 	C!'77B'0
b(+b6"v!!!r'   valr  rB   r   rl   c                    g d}g d}t        t        j                  j                  d      j	                  d      ||      }t         j
                  }t        |||d|j                        }t        j                   |||d      d	   |       t        g d
g dg dd|j                        }t        j                   |||d	      d	   |       y )Nr   r  r&  r  rj   r   r   r   r  r   r   r   )r   r   r   r  r   r   r   )	r   r"   rq   rr   rs   _align_for_opr!   rc   rd   )r?   r  r!   r    re   alignr   s          r%   test_alignment_non_pandasz5TestFrameArithmeticUnsorted.test_alignment_non_pandas2  s      !II!!!$44V<
 ''3Ss;288L
eB!4Q7B))<BHH
 	eB!4Q7Br'   rj   r  r   c                    g d}g d}t        t        j                  j                  d      j	                  d      ||      }t         j
                  }d}t        j                  t        |      5   |||d	       d d d        t        j                  t        |      5   |||d
	       d d d        y # 1 sw Y   9xY w# 1 sw Y   y xY w)Nr   r  rj   r  r   z5Unable to coerce to Series, length must be 3: given 2ro   r   r   r   )	r   r"   rq   rr   rs   r  ru   rv   rw   )r?   r  r!   r    re   r  rx   s          r%   )test_alignment_non_pandas_length_mismatchzETestFrameArithmeticUnsorted.test_alignment_non_pandas_length_mismatchN  s    !II!!!$44V<
 ''E]]:S1 	#"c"	# ]]:S1 	#"c"	# 	#	# 	#	# 	#s   0B4C 4B= C	c                 R   g d}g d}t        t        j                  j                  d      j	                  d      ||      }t         j
                  }t        j                  g dg dg dg      }t        j                   |||d	
      d   t        ||j                  |j                               t        j                   |||d
      d   t        ||j                  |j                               d}t        j                  g dg dg      }t        j                  t        |      5   |||d	
       d d d        t        j                  t        |      5   |||d
       d d d        t        j                  d      }t        j                   d      }t        j                  t        |      5   |||d	
       d d d        t        j                  t        |      5   |||d
       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   QxY w# 1 sw Y   y xY w)Nr   r  rj   r  r   r  rl   r   rk   )r   r   r  r   r   r   r  ro   r  zGUnable to coerce to Series/DataFrame, dimension must be <= 2: (3, 3, 3))r   r"   rq   rr   rs   r  r#   rc   rd   r!   r    ru   rv   rw   zerosr  r  )r?   r!   r    re   r  r  rx   s          r%   'test_alignment_non_pandas_index_columnszCTestFrameArithmeticUnsorted.test_alignment_non_pandas_index_columnsa  s   !II!!!$44V<
 ''hh	9i89
"c"1%c2::>	
 	"c"1%c2::>	
 =hh	9-.]]:S1 	#"c"	# ]]:S1 	#"c"	# hhy!iiU
 ]]:S1 	#"c"	#]]:S1 	#"c"	# 	#	# 	#	# 	#	# 	#	# 	#s0   -G9H5H$H9HHHH&c                     t        ddgdd gd      }|d   }t        j                  d       5   t        ||      |       d d d        y # 1 sw Y   y xY w)Nr  r  r   )r   rc   r  r   r?   r?  re   r   s       r%   test_no_warningz+TestFrameArithmeticUnsorted.test_no_warning  sW    c3ZsDk:;sG''- 	51GB01!4	5 	5 	5s   A		Ac                     t        ddgdd gd      }|d   }t        j                  t        d      5   t	        ||      |d       d d d        y # 1 sw Y   y xY w)Nr  r  r   ztakes 2 positional argumentsro   r   )r   ru   rv   r   r   r  s       r%   test_dunder_methods_binaryz6TestFrameArithmeticUnsorted.test_dunder_methods_binary  sZ    c3ZsDk:;sG]]9,JK 	81GB01!Q7	8 	8 	8s   AAc                 f   t        j                  dd      j                  dd      }t        j                  dt              }t        |      }|j                         |d<   |j                  t              }||j                         z
  }||j                         z
  }t        j                  ||       y )Nr(   r  rB   rz   )rz   r   z0.X)r"   r   r   r   intr   r  rN   rk  meanrc   rd   )r?   r  r&  r  r   r   r   s          r%   test_align_int_fill_bugz3TestFrameArithmeticUnsorted.test_align_int_fill_bug  s    IIgY/77B?GGG3'lYY[E
jjsxxz!#
fh/r'   N)1rW   rX   rY   r$  r,  ru   r   r   r   r*  rU  rV  r  r3  filterwarningsr6  rH  rT  r[  ri  rq  r{  r  r   r   r   r   r   r   r  r  r  r  r  r  r3   xfailAttributeErrorr  r"   r#   rJ  r   r  r  r  r  r  r  rZ   r'   r%   r  r    sq   /0 [[x||X\\8<<9I9IJ002 [[X(9;K'LM[[ BC/ D N/
 [[T#JK$0 L$0L,>.;3z&
P,&\( [[	hkk8;;X[[(++V"1	"1H 
6L\.0`9#v [[FLLkk'')2L (  !	
*"+*"& [[BHHYbhh/!QK		
CC& [[UaVVXRXXq!f5EuQPQ{$ST# U#$$#L580r'   r  c                      t        dg di      } t        g d      }| |z  }t        dt        j                  dt        j                  gi      }t        j                  ||       y )Nr^   rv  r  r   r   r"   r   rc   rd   )r   r   r   r   s       r%   test_pow_with_realignmentr    sR    c9%&DI&E5[F#RVV456H&(+r'   c                     t        t        j                  j                  d      j	                  ddd      g d      } t        g dg d      }| j                  d	      |j                  d	      j                  d
d      z   }t        || j                  d      }| j                  d      }||z   }t        j                  ||       ||j                  d      z   }t        j                  ||       y )Nrj   r   r(   )rz   r   r   rn   r  r  rJ  r  r   Int64r  )r   r"   rq   rr   r   r   to_numpyr   r    rN   rc   rd   )re   r  r   df_ear   s        r%   &test_dataframe_series_extension_dtypesr    s    	
		a ))!S':O
B /
2C{{7#cll7&;&C&CB&JJH2::WEHIIgES[F&(+SZZ((F&(+r'   c            
         t         j                  j                  d      j                  ddd      } t	        |       }|j                         j                  dddd      }t         j                  |j                  dg df<   |j                         j                  ddi      }t         j                  |j                  ddgf<   |j                         j                  dddd      }t         j                  |j                  dt        j                  dd      f<   |j                         j                  dddd	      }t         j                  |j                  dt        j                  d
d      f<   ||f||f||ffD ]M  \  }}||z   }t	        |j                  D 	ci c]  }	|	||	   ||	   z    c}	      }
t        j                  ||
       O y c c}	w )Nrj   r   i  )r(   rz   rk  )r   r   r   r   )rj   r   rl   r  rl   r   )r"   rq   rr   r   r   rD   rN   r   r  r   r    rc   rd   )r$   r  r   r   df4df5r   r   rg   r   r   s              r%   "test_dataframe_blockwise_sliceliker    s   
))


"
+
+AtY
?C
C.C
((*

G@
ACVVCHHQ	\ ((*

QL
)CvvCHHQV ((*

G@
AC#%66CHHQ		!Q 
((*

G@
AC#%66CHHQ		!Q c
S#Jc
; -eUlT\\Jaa58!33JK
c8,	- Ks   G	
zdf, col_dtyper   r   r   r   abrn   r  r   r   c                     t        dt        j                  gdt        j                  ggt        d            }|j	                  d|i      }| t        dgt        d            z   }t        j                  ||       y )	Nr  r   r  rn   r   g      r   r  )r   r"   r   rt   rN   r   rc   rd   )re   	col_dtyper   r   s       r%   /test_dataframe_operation_with_non_numeric_typesr    sc     3-#rvv7dLHY/0H&$tCy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                  ||       y )Nr   r:  r   r    rx  )r9  r:  r:  rn   r  )r  r   r   r   s       r%   "test_arith_reindex_with_duplicatesr    sV    
1#

3C
).K
LC3YF2661a.)3PQH&(+r'   to_addr   c                     t        ddgddgd      }dt        | d          d}t        j                  t        |      5  || z    d d d        t        j                  t        |      5  | |z    d d d        y # 1 sw Y   3xY w# 1 sw Y   y xY w)Nr   rj   r	  zUnable to coerce list of r   z to Series/DataFramero   )r   rP   ru   rv   rw   )r  re   rx   s      r%   "test_arith_list_of_arraylike_raiser    s     
!Qq!f-	.B%d6!9o%66J
KC	z	- 
V	z	-    s    A8)B8BBc                      t        dg di      } | j                         }| d   }|j                  }|dz  }|j                  |usJ t        j                  | |       y )Nr^   r  r   )r   rD   _valuesrc   rd   )re   r  r  valss       r%   %test_inplace_arithmetic_series_updater    sY    	C#	$BggiGWF>>D
aKF>>%%%"g&r'   c            	      $   t        dggdgt        j                  dgdggddg            } t        dggdgt        dgd            }t        dggdgt        j                  dgdggddg            }| |z
  }t	        j
                  ||       y)	zP
    Regression test for: https://github.com/pandas-dev/pandas/issues/33765
    r   r   r   r   r  r   r  N)r   r
   r  r	   rc   rd   r  r   r   r   s       r%    test_arithmetic_multiindex_alignr    s     
e''!qc
3*EC
 aSE#qc0D
EC
e''!qc
3*EH
 3YF&(+r'   c                     t        dt        j                  ddgddggddg      d	d
g      } t        t        j                  ddgddgg      t        j                  ddggdg      d	d
g      }t        t        j                  g dg dg      t        j                  ddgddggddg      d	d
g      }| |z  }t        j                  ||       y )Nr(   1A1B2A2BLev1Lev2r  C1C2)r   r    r!   g?g      ?g?g?)r  r        9@r  )r  r       F@r  )r   r
   r  r"   r#   rc   rd   r  s       r%   'test_arithmetic_multiindex_column_alignr     s    
''D\D$<(0@
 TlC XXT{S$K01''$vhGTlC
 XX/1IJK''D\D$<(0@
 TlH 3YF&(+r'   c                  4   t        ddggt        j                  ddg            } t        ddggt        j                  dd	g            }t        g d
gt        j                  g d            }| j                  |d      }t	        j
                  ||       y )Nr   r   r^   r   r^   r   r  r   r   r   r   r   r   )r   r   r   r   )r  r   r  r  r   r2  )r   r
   r  r*  rc   rd   r  s       r%   6test_arithmetic_multiindex_column_align_with_fillvaluer  9  s    
Cj\&&l'CDC Cj\&&l'CDC "#&&D
H WWSQW'F&(+r'   c                      t        dt        d      t        d            } | dz  }t        t        j                  d      t        d      t        d            }t	        j
                  ||       y )NTr  cdr   r   )r   rt   r"   r   rc   rd   )re   r   r   s      r%   test_bool_frame_mult_floatr  M  sO    	4dT$Z	0B#XF$t*d4jAH&(+r'   c                     t        g d|       }t        g d|       }t        g d|       }|j                         |j                         z
  }t        j                  ||       y )N)r   rj   NrB   r  )r   r   N)r   r   to_framerc   rd   )any_int_ea_dtypeseries1series2r   r   s        r%   test_frame_sub_nullable_intr  U  sU    \)9:GY&67G-=>H'"2"2"44F&(+r'   zMignore:Passing a BlockManager|Passing a SingleBlockManager:DeprecationWarningc                       G fddt                G fddt               dg dg dd      } | d	z  } dg d
g dd      }t        j                  ||       | | z   }t        j                  ||       y )Nc                   6    e Zd Zefd       Ze fd       Zy)Etest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeriesc                     S r<   rZ   r?   SubclassedSeriess    r%   _constructorzRtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeries._constructore  	    ##r'   c                     S r<   rZ   )r?   SubclassedDataFrames    r%   _constructor_expanddimz\test_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeries._constructor_expanddimi  s	    &&r'   N)rW   rX   rY   propertyr  r  )r  r  s   r%   r  r  d  s)    		$ 
	$ 
	' 
	'r'   r  c                   L     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_datac                 2    || _         t        |   |i | y r<   )r  superr@   )r?   r  argskwargs	__class__s       r%   r@   zQtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame.__init__p  s    !.DGd-f-r'   c                 T    t        j                  t        |       | j                        S r<   )	functoolspartialrP   r  rH   s    r%   r  zUtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame._constructort  s    $$T$Z1C1CDDr'   c                     S r<   rZ   r  s    r%   _constructor_slicedz\test_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame._constructor_slicedx  r  r'   rV   )	rW   rX   rY   	_metadatar@   r  r  r%  __classcell__)r   r  s   @r%   r  r  m  s:    $%		. 
	E 
	E 
	$ 
	$r'   r  	some_datar  r  r  rj   r  )r   rz      r  )sdfr   r   r  r  s      @@r%   +test_frame_op_subclass_nonclass_constructorr+  ^  sq    '6 '$i $ k+K
LC1WF";ik0R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
                  ||       y )NColsz	col1 col2r  )TTTr  )r   r   r/  r   rc   r  )r-  q1q2r   r   s        r%   test_enum_column_equalityr0    so    $D	DIIy)	*B	DIIy)	*B		]bm+F(tyy9H68,r'   c                 J   t        t        d      ddg      }t        t        d      ddg      }|j                  j                  |       |_        ||z   }t        t        d      ddg      }|j                  j                  |       |_        t	        j
                  ||       y )Nr8  r   r   )r    r   r!   r  )r   rt   r    rN   rc   rd   )string_dtype_no_objectr  r   r   r   s        r%   test_mixed_col_index_dtyper3    s    
DKc!
=C
DKc!
=C++$$%;<CK3YFe3qcBH''../EFH&(+r'   )@collectionsr   r   r   enumr   r"  r   r  numpyr"   ru   pandas.compat._optionalr   pandasr   r   r	   r
   r   pandas._testing_testingrc   pandas.core.computationr   r2   pandas.tests.frame.commonr   r   pandas.util.versionr   fixturer&   r7   r9   r\   r   r   r  r  r  r  r  r  r  r  r   r   rt   rN   r   r  r  r  r  r  r  r  r  r  r  r+  r0  r3  rZ   r'   r%   <module>r?     s       	   >    7 ( R R  aXIx3HI J   :W; W;t}. }.Ht0 t0n|0 |0~	.,-"E0 E0P,,"-4 	S#Jc
+T$Z	@)LSzC:.T
CJJf 		
,,, VQF^$4vq!f~vqRSf~6V#WX Y	',&,2,(,, S!,!,H	-
,r'   