
    Owg             
       d   d dl mZ d dlmZmZ d dlmZ d dlZd dlZd dlZd dl	Z
d dlZd dlmZ d dlmc mZ d dlZd dlmZmZmZmZ d dlmZ d dlmZ d dlmZm Z  ejB                  d	        Z" ejB                  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`                  jc                  d" ed#d$gd%d&gg e2d'      (      d)f ed#d*gd%d*gg e2d'      (      jg                  d*e4i      d+fg      d,        Z5d- Z6ej`                  jc                  d. ed/d/g      g ed/d/g       ed/d/g      gg      d0        Z7d1 Z8d2 Z9d3 Z:d4 Z;ej`                  jy                  d5      d6        Z=d7 Z>d8 Z?y)9    )deque)datetimetimezone)EnumN)using_pyarrow_string_dtype)	DataFrameIndex
MultiIndexSeries)expressions)_check_mixed_float_check_mixed_intc                  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    Y/var/www/horilla/myenv/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_elementsr6   2   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__:   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__A   s    tzzl"TZZL::r&   c                     t        |       S r;   )strrG   s    r$   __repr__zDummyElement.__repr__D   s    4yr&   c                     || _         | S r;   rA   rB   s      r$   astypezDummyElement.astypeG   s    
r&   c                 X     t        |       | j                  j                  |      |      S r;   )typer<   view)r>   r=   s     r$   rP   zDummyElement.viewK   s"    tDz$**//%0%88r&   c                 ,    t        | j                        S r;   )boolr<   )r>   axiss     r$   anyzDummyElement.anyN   s    DJJr&   r9   N)NN)Fr;   )__name__
__module____qualname__r?   rD   rJ   rH   rK   rM   rP   rT    r&   r$   r8   r8   9   s3    %6; ;# 9 r&   r8   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	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	g ej                  dd       ej                  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	 ej                  dd       ej                  dd      d	gg      d
        Zej                  j                  dg d      d        Zej                  j!                   e       d      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_equalrM   )r>   dfexpress       r$   &test_comparison_with_categorical_dtypez;TestFrameComparisons.test_comparison_with_categorical_dtypeY   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>   rd   msgs      r$   test_frame_in_listz'TestFrameComparisons.test_frame_in_listh   s`    II!!!$44V<d6l
 <]]:S1 	&L	 	 	s    A..A7z	arg, arg2ri   
   size20010101periods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.|rn   )	r   r   r    rb   rc   joinrt   ru   	TypeError)
r>   argarg2xyresultcolexpectedmsgsrw   s
             r$   test_comparison_invalidz,TestFrameComparisons.test_comparison_invalidq   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|   ry   r}   20010102ri   i ʚ;rz   r'   )dates1dates2intcolfloatcol	stringcolg      ?r   )r   r   20010109zL'(<|>)=?' not supported between instances of 'numpy.ndarray' and 'Timestamp'rn   natzJ'(<|>)=?' not supported between instances of 'numpy.ndarray' and 'NaTType')r   pd
date_ranger!   rp   rq   integersrr   rangechrNaTloclengetattroperator	Timestamprb   rc   rt   ru   r   )
r>   leftrightird   left_fright_fr   r   rw   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zcan't compare string and int)reasonc                     t        ddgddgg      }t        ddgddgg      }||k(  }|j                         j                         rJ ||k7  }|j                         j                         sJ y )Nz
1989-08-01   ri   r   r   r   d)r   rT   all)r>   rd   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 )Nrj      ri   FTri   ri   ri   )r   r!   arangereshaperb   rc   )r>   rd   r   r   s       r$    test_df_boolean_comparison_errorz5TestFrameComparisons.test_df_boolean_comparison_error  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 )Nri   )   r   r   r]   BCr   )r   r!   rp   rq   rr   r   __eq__rT   r>   rd   r   s      r$   test_df_float_none_comparisonz2TestFrameComparisons.test_df_float_none_comparison  s]    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   ri   r_   r   )r   r   rb   rc   r   r   )r>   rd   mask_amask_bs       r$   test_df_string_comparisonz.TestFrameComparisons.test_df_string_comparison(  s    ae,AE.BCD
bj"&&1a.9
b&k266!A#q&>:
bj"&&1a.9
b&k266!A#q&>:r&   N)rV   rW   rX   rg   rx   rt   markparametrizer!   rp   rq   r   r   r   r   r   xfailr   r   r   r   r   rY   r&   r$   r[   r[   V   s   ( [[ ..q1::2B:G&z2>
 ..q1::2B:G..q1::2B:G	 ..q1::2B:G..q1::2B:G
 ..q1::2B:G&z2>	 'z2>&z2>
 ..q1::2B:G..q1::2B:G	 ..q1::2B:G&z2>
 'z2>&z2>	?)	
,Z([,Z(T [[	

+1
+1Z [["$-K  ""0&;r&   r[   c                   ^   e Zd Zej                  j                  dg d      d        Zej                  j                  dej                  e	g      d        Z
d Zd Zd Zd	 Zej                  j                  d
g d      d        Zej                  j                  d
g d      d        Zd Zy)TestFrameFlexComparisonsop)r   r   r   r   r   r   c                    t         j                  j                  d      j                  d      }t         j                  j                  d      j                  d      }t	        |      }t	        |      }t        j
                  |j                  dz         }|j                  |      j                  j                         sJ |j                  |      j                  j                         rJ t        ||      }t        t        |      }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)
Nri      r   )r   r   r   r   r   r   $Unable to coerce to Series/DataFramern   )r!   rp   rq   rr   r   onesshaper   valuesr   r   rT   r   r   rb   rc   r   rC   reindexr    r   nanrt   ru   rv   )r>   r   data
other_datard   r   ndim_5fopart_orsxprw   s                r$   test_bool_flex_framez-TestFrameFlexComparisons.test_bool_flex_frame5  s   yy$$Q'77?YY**1-==fE
t_*%F*+ uuRy##%%%559##'')))BOHb!
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 )Nri   r   r   r   r   rS   )r!   rp   rq   rr   r   r   r   rb   rc   r   Trs   r   r   r   r   )r>   r   r   rd   idx_sercol_seridx_eqcol_eqidx_necol_neidx_gtcol_gtidx_lecol_leidx_gecol_geidx_ltcol_lts                     r$   test_bool_flex_seriesz.TestFrameFlexComparisons.test_bool_flex_seriesS  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 )Nri   r   r   r   )r   r!   rp   rq   rr   r   r   r   r   r   r   r   r   )r>   rd   r   s      r$   test_bool_flex_frame_naz0TestFrameFlexComparisons.test_bool_flex_frame_na~  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   rj   y               @   r   r   z9'>' not supported between instances of '.*' and 'complex'z unorderable types: .*complex\(\)rn   )r!   r"   r   r   r   rt   ru   r   r   r   r   r   )	r>   r#   arr2rd   df2rw   r   arr3df3s	            r$   "test_bool_flex_frame_complex_dtypez;TestFrameFlexComparisons.test_bool_flex_frame_complex_dtype  s   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_   rA   )FTF)	r   r!   r   objectr   nowr   rb   rc   )r>   df1r   r   re   s        r$   !test_bool_flex_frame_object_dtypez:TestFrameFlexComparisons.test_bool_flex_frame_object_dtype  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&   opnamec           	          t        g dg dd      }d} t        ||      |      j                  j                         }t	        j
                  |t        dgt        j                  t              gd             y )Nr   ri   r   r   r   r   ri   countr    name)
r   r   dtypesvalue_countsrb   assert_series_equalr   r!   r=   rR   )r>   r  rd   constr   s        r$   &test_df_flex_cmp_constant_return_typesz?TestFrameFlexComparisons.test_df_flex_cmp_constant_return_types  sc     Y_=>$V$U+22??A
FA3rxx~&6WE	
r&   c           	         t        g dg dd      }d}|j                  d d } t        ||      |      j                  j	                         }t        j                  |t        dgt        j                  t              gd             y )Nr  r   r	  ri   r   r
  r  )r   r  r   r  r  rb   r  r   r!   r=   rR   )r>   r  rd   r  emptyr   s         r$   ,test_df_flex_cmp_constant_return_types_emptyzETestFrameFlexComparisons.test_df_flex_cmp_constant_return_types_empty  sr     Y_=>''.55BBD
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   ri   r]   r   r    )r   IntervalIndexfrom_breaksr   r   r   rb   rc   )r>   iird   serrf   r   ser2res2s           r$   -test_df_flex_cmp_ea_dtype_with_ndarray_serieszFTestFrameFlexComparisons.test_df_flex_cmp_ea_dtype_with_ndarray_series  s    )))4Rb)*aVneeCae E5>GH
c8,q!fS#J/uuTu"
dH-r&   N)rV   rW   rX   rt   r   r   r   r!   r"   r   r   r   r   r  r  r  r  r  rY   r&   r$   r   r   3  s    [[T#GH I: [[URXXv$67(F 8(FT "%N+0$ [[X'KL
 M
 [[X'KL	
 M	
.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ej                  j                  dddg      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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   rb   rc   r   )r>   r#   r  rd   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-01ry   r}   1r   r   r   r   )r   r   timedelta_ranger   r   addrb   rc   )r>   dtitditserrd   r   r   s          r$   test_df_add_td64_columnwisez3TestFrameFlexArithmetic.test_df_add_td64_columnwise
  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]rA   r  r   )days
fill_value)z
2016-01-02z
2016-01-03z
2016-01-05zdatetime64[ns]ri   )	r   r   r   r   	Timedeltato_timedelta64r*  rb   rc   )r>   r+  r  rd   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   r   s     r$   r   z8TestFrameFlexArithmetic.test_arith_flex_frame.<locals>.f.  sF    }}U#AwxE4)@A!QGG(78R(A..r&   ri   r   rA   )r   rb   rc   r   )r>   all_arithmetic_operatorsfloat_framemixed_float_framer   r   r   r   s          @r$   test_arith_flex_framez-TestFrameFlexArithmetic.test_arith_flex_frame(  s     &	/ *b)!k/:[!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 )
Nri   )rC  uint64)r   r   )rB  rD  r   r   r]   rA   )	r   r   r1   USE_NUMEXPRr=   rb   rc   r   r   )
r>   r   	int_framemixed_int_framer@  r6   r   r   r   r=   s
             r$   test_arith_flex_frame_mixedz3TestFrameFlexArithmetic.test_arith_flex_frame_mixed>  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   rj   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   rn   )r!   r   rt   ru   rv   r   )r>   r>  r?  rK  r   r#   rw   s          r$   test_arith_flex_frame_raisez3TestFrameFlexArithmetic.test_arith_flex_frame_raiseg  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  rn   r   r2  r    rS   r3  )
r*  rb   rc   
sort_indexr!   r   rt   ru   NotImplementedErrorr  )r>   r?  	const_addr   r   s        r$   test_arith_flex_frame_cornerz4TestFrameFlexArithmetic.test_arith_flex_frame_cornerr  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   rb   rc   r   )r>   r%   r   rd   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   )rX  rb   rc   r*  divr   )r>   r%   rd   rY  r   s        r$   test_arith_flex_seriesz.TestFrameFlexArithmetic.test_arith_flex_series  s    eeCji
bffStf4b3h? 	bffSk284
bffSqf1BDD3J>>Br&   r=   int64float64c                    t        t        j                  d      j                  d      |      }t        t        j                  t        j
                  gddgddgg      }|j                  |d   d	      }t        j                  ||       y )
Nrj   r   rA   r         ?g      ?r   r    r   )	r   r!   r   r   r   infr\  rb   rc   )r>   r=   rd   r   r   s        r$   #test_arith_flex_series_broadcastingz;TestFrameFlexArithmetic.test_arith_flex_series_broadcasting  sp     ryy'//7uErvvrvv.c
S$KHI1G,
fh/r&   c                    t        g t              }t        ddg      }t        ddgddggddg      }t        j                  t
        d	
      5  |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)NrA   r]   r   rm   r   ri   r   rk   r3  rn   Er2  rO  )r   r   r   rt   ru   rQ  r*  rT  )r>   ser_len0df_len0rd   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   rk   r   floatrA   r^   rj   r  ri   r2  )	r!   r"   r   r   r   fillnar*  rb   rc   )r>   datrd   re   rf   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   ri   r   rk   r   )r   ri   r   ri   r   r  r  )r   ri   r   ri   ri   )r   r   ri   ri   r   )r   rT  rb   rc   )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&   )rB  rD  rC  __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 )Nry   ri   r  r]   )	r   r!   r   rp   rq   r   r   rb   rc   )r>   r   rd   r   r   s        r$   &test_arithmetic_with_duplicate_columnsz>TestFrameFlexArithmetic.test_arithmetic_with_duplicate_columns  s     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   ri   r  r  L1r   r   r   ))r]   r   )r]   DL2)rs  )r   r   	set_namesr*  rb   rc   )r>   rs  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   rk   r   i  i  r   r   ru  scenrV  idnamesr  皙?rV  r  )ffffff?333333@333333@)r  皙@g@r   r   r   r
   from_productr   r*  rb   rc   r>   rd   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  rV  r  r  )      $@g      4@g      >@ru  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   ru  r  r  r  r  r   rV  r  r   r   r   r   r   r   )r   r   ri   r   r   )
r   r
   r  r   r!   r   from_tuplesr*  rb   rc   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   ri   r  r  r  r  r   r   rV  r  r  r  r  r  r   r   )
r   r
   r  r   r  r!   r   r*  rb   rc   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&   )rV   rW   rX   r$  r.  r7  rA  rt   r   r   rJ  r   rM  rS  rZ  r]  rc  rh  rm  ro  rr  r{  r  r  r  r  rY   r&   r$   r   r     s9   1	00&6, [[T#DE&0 F&0P [[UE!QK0* 1*M& [[T#?@	? A	?
C [[Ww	&:;0 <0:(0 [[T#ST0 U0 [[Wq$i00 1000000: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  rA   r   ri   r   rk   r(  r   r   rb   rc   )r>   r  rd   r   r   s        r$   test_td64_op_nat_castingz,TestFrameArithmetic.test_td64_op_nat_castingL  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 )Nrj   r   ri   TFr   r   r   rk   r   r   r    r=   
r!   r   r   r   r   r   r    r=   rb   rc   )r>   r#   rd   rowliker   r   s         r$   'test_df_add_2d_array_rowlike_broadcastsz;TestFrameArithmetic.test_df_add_2d_array_rowlike_broadcastsV  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 )Nrj   r   ri   TFr   r   r   r   r   	   ry   r  r  )r>   r#   rd   colliker   r   s         r$   'test_df_add_2d_array_collike_broadcastsz;TestFrameArithmetic.test_df_add_2d_array_collike_broadcastsk  s    iil""1a(sT5MIa!f+}}!a 0000VaVaW%JJ(( ))
 g
fh/2
fh/r&   c                    |}|r|dv rt        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 )N__rmod____rfloordiv__rj   r   ri   TFr   r   r   r]   r   r   )td&mark_array_manager_not_yet_implementedr!   r   r   r   r   r   r   squeezer   r    rb   rc   )r>   r3   r>  using_array_managerr  r#   rd   r  exvalsr   r   s              r$   )test_df_arith_2d_array_rowlike_broadcastsz=TestFrameArithmetic.test_df_arith_2d_array_rowlike_broadcasts  s     *6-J#J55g>iil""1a(sT5MIqc1f+}}BHHQK 0000 )GBFF3K():;(GBFF3K():;(GBFF3K():;
 VRZZrxxH$V$W-
fh/r&   c                 ~   |}|r|dv rt        j                  |       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 )Nr  rj   r   ri   TFr   r   r   r   )TFc              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   r   r  common_typer   r   r    rb   rc   )r>   r3   r>  r  r  r#   rd   r  r  r=   r   r   s               r$   )test_df_arith_2d_array_collike_broadcastsz=TestFrameArithmetic.test_df_arith_2d_array_collike_broadcasts  s$    *6-J#J55g>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>   rd   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ri   rk   rj   r   rb   rc   )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   rb   r  )r>   all_arithmetic_functionsr   rd   r   r   s         r$   test_arith_getitem_commutez.TestFrameArithmetic.test_arith_getitem_commute  sJ    c3ZsDk:;)"a05+BsGQ7
vx0r&   r   r   ri   r   ri   r   c                     t        ddgddgd      }t        ddgddgd      }||z   }t        j                  ||       y )Nr   r  ri   r   r  )r>   r   rd   r   r   s        r$   &test_arith_alignment_non_pandas_objectz:TestFrameArithmetic.test_arith_alignment_non_pandas_object  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   ry   f8rA   r   r   r   r   r   r   r   r   r   r    ri   )r   r!   r   r   rX  r   r    r   rb   rc   r   r*  rs   rp   rq   r   )r>   rd   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   ri   rm   ry   )r   CategoricalIndexinterval_ranger   r   rb   rc   )
r>   r>  r   indr   rd   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   rm   )r   r   r   r4  r!   r   rb   rc   )r>   rd   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  )TrR      ns<m8[ns]<M8[ns]r   c                     | j                   S r;   )rV   r  s    r$   r  zTestFrameArithmetic.<lambda>2  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	}||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&                  |	      5   |||j                         d d d        d d d        y ||f|v r|t         j                  t         j                  fv rPt        j                  r|d	k(  rt        }	nd }	t%        j&                  |	      5   |||j                         d d d        y d}
t        j                   t(        |
      5   |||j                         d d d        y t%        j&                  d       5   |||j                        j*                  } |||      j*                  }d d d        t%        j,                         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)NrR   r]   rA   r  r  r  z3ufunc 'remainder' not supported for the input typesz-numpy boolean subtract, the `-` operator, is r   zcannot perform __z7__ with this index type: (DatetimeArray|TimedeltaArray)rn   z+operator '.*' not implemented for .* dtypes)r   truedivpowr*  rU  r8   r   r<   r=   rV  rT  r1   rG  UserWarningrV   rt   ru   r   rb   assert_produces_warningrQ  r  r  )r>   r   r<   r=   r6   skipelemrd   invalidwarnrw   r   r   s                r$   test_binop_otherz$TestFrameArithmetic.test_binop_other  s   6 v&\\6"\\6"\\6"	
 E5)djj$**56djjI \\9%\\9%y)\\9%\\9%\\9%\\9%\\6"\\<(

 ;'!D"rX\\'9"rX\\'9,&Kx||#EVO((3q8&D (} 5A A 
 y4 '//5 'r4::&'' ' %[D hllHLL11##(Cq(H&DD//5 'r4::&' ' D]]#6cB 'r4::&' ' ++D1 0B

+22b%=//0 ""684-' '' '' '
' '0 0sH    LL*LL+L71ML	LL(+L47M M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   ri   r   rk   Int8rA   rm   r   r
   from_arraysr   r   rb   rc   r>   midxmidx2r   r   r   r   s          r$   *test_arithmetic_midx_cols_different_dtypesz>TestFrameArithmetic.test_arithmetic_midx_cols_different_dtypesz  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   ri   r   rk   r  rA   rm   r  r  s          r$   :test_arithmetic_midx_cols_different_dtypes_different_orderzNTestFrameArithmetic.test_arithmetic_midx_cols_different_dtypes_different_order  s    %%vq!f~vq!f~&FG&&1vV(DfaQRVn'UV1a&1a&)48Aq6Aq6*E:r1gAw/>
fh/r&   N)"rV   rW   rX   r  r  r  r  r  r  r  rt   r   r   r  r!   r"   r   r   r  r  r  r  timedelta64
datetime64r   r*  rT  rU  r  rV  r  r  r  r  rY   r&   r$   r  r  K  s}   00*0*060@$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	
 !  D52D5L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)Nri   rj   r   r]   r   rm   rA   znot alignedrn   r  )r   r!   rp   rq   rr   r   r   r_  r   r   r   rb   rc   rt   ru   rv   rP   )rd   r  r   r   r   s        r$   ,test_frame_with_zero_len_series_corner_casesr    s     

		a 003;;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   ri   r  )r   r!   r_  r   rb   rc   )rd   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   sumrb   r  )r   rd   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/2011ry   h
US/Eastern)r~   freqtzri   r   r   zEurope/Moscow)r   r   r   r!   rp   rq   rr   r   
tz_convertr    r  r   utc)r>   rngrd   	df_moscowr   s        r$   *test_frame_add_tz_mismatch_converts_to_utczFTestFrameArithmeticUnsorted.test_frame_add_tz_mismatch_converts_to_utc  s    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  ri   r   r  r   )r   period_ranger   r!   rp   rq   rr   r   r   r  rb   rc   takepermutation)r>   r  tsr   r   halfs         r$   test_align_framez,TestFrameArithmeticUnsorted.test_align_frame  s    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              }d}t        j                  t        |      5  |j                  t        j                        }d d d         ||d      } |d      j                  t              }t        j                  |t        j                  |      <   t        j                  ||        |||      } |||      j                  t              }t        j                  |t        j                  |      <   t        j                  ||       d}t        j                  t        |      5   |||j                  d            }d d d        t        j                  ||       d}t        j                  t        |      5   ||j                  d      |      }d d d        t        j                  ||       y # 1 sw Y   uxY w# 1 sw Y   xY w# 1 sw Y   9xY w)	N)ri   r   {   N)r   ri   r   rk   )col1col2rA   zDowncasting object dtype arraysrn   r   r   )r   r   rb   r  FutureWarningrk  r!   r   rM   r   isnarc   )r>   r   rd   rw   filledr   r   s          r$   test_operators_none_as_naz5TestFrameArithmeticUnsorted.test_operators_none_as_na  s    (,?v
 0''SA 	'YYrvv&F	'Bfa=''/&(ff"#
fh/Bff%,,V4&(ff"#
fh//''SA 	*BIIaL)F	*
fh//''SA 	*		!b)F	*
fh/)	' 	'	* 	*
	* 	*s#    G	=GG"	GG"G+zop,res)r   F)__ne__Tz ignore:elementwise:FutureWarningc                 ~     t        ||      d      }t        |j                         j                               |u sJ y )Nr^   )r   rR   r   )r>   r   rf   r?  r   s        r$   %test_logical_typeerror_with_non_validzATestFrameArithmeticUnsorted.test_logical_typeerror_with_non_valid  s9    
 *b)%0FJJL$$&'3...r&   )r*  rT  rU  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@r3  r   )rs  rS   r   r  r   r   r2  )r
   r  rs   r   r!   r   r   rP  r   
IndexSlicer   r   r   concatitemsr   rb   rc   reindex_like)r>   r   r    rd   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   )ri   rk   r^  rA   rm   r   ri   r   lvl0lvl1)rS   rs  )r   ri   r   ri   )r
   r  r   r!   r   r   rC   r   r  r    r  rU  r"   rb   rc   )r>   r  rd   sr   s2res1r  res3res4res5res6re   rf   s                 r$   &test_binary_ops_align_series_dataframezBTestFrameArithmeticUnsorted.test_binary_ops_align_series_dataframe.  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/Tokyori   r  r   r]   r  r   )r   DatetimeIndexr  r   r!   r   rb   rc   )r>   baseidx1idx2r   r   re   s          r$    test_add_with_dti_mismatched_tzsz<TestFrameArithmeticUnsorted.test_add_with_dti_mismatched_tzsM  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 )Nri   rx  rk   r   r]   r   r  rm   r_  rA   )r   r    r!   r   r   dropnarC   rb   r  isinisnanr   assert_index_equalr   r   r  r   rc   r   )r>   r?  r@  rI  
frame_copyr  indexerre   
self_added	added_rev
plus_empty
empty_plusempty_emptyreverses                 r$   test_combineFramez-TestFrameArithmeticUnsorted.test_combineFrameW  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   re  float32r   rA   float16r'   r^  r_  )r]   r   r   rx  int32)rX  r    r;  rb   r  to_dictr   r!   rV  r   r  r=   rM   r   r   )
r>   r?  r@  rI  r  r  keyrD  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   rm   )r*  r;  rb   r  r  rW  r    rc   r   r!   r   r   r   rU  r   )r>   datetime_framer!  r  rf  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 )Nri   r   rA   r   )
rb   assert_numpy_array_equalr   r;  r   r   r    equalsr   r   )r>   r?  r@  r   r   rD  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                  |j                  dz         } |||      }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)Nri   )   rk   rl   rA   z
2000-01-01rz  r   )r~   r  r   r   r   r   r   zNUnable to coerce to Series/DataFrame, dimension must be <= 2: (30, 4, 1, 1, 1)rn   r   zQCan only compare identically-labeled \(both index and columns\) DataFrame objects)r   r!   rp   rq   rr   r	   rs   r   r   r   rC   rX  r   r   rb   ru  r   rt   ru   rv   reescape)r>   r%   r?  rx  r   r   rY  r   r   rw   r#  result3s               r$   test_comparisonsz,TestFrameArithmeticUnsorted.test_comparisons  s   
 II!!!$44W=$v,f5--bsC

 hhjooc"Y./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#G/#G,/G8c           
          t        dD ci c]	  }|dddd c}      }t        t        |      }d}t        j                  t
        |      5   ||d       d d d        y c c}w # 1 sw Y   y xY w)	Nr   r^   r_   r`   )r   r   zz;'[<>]=?' not supported between instances of 'str' and 'int'rn   r   )r   r   r   rt   ru   r   )r>   compare_operators_no_eq_ner   rd   r   rw   s         r$   *test_strings_to_numbers_comparisons_raiseszFTestFrameArithmeticUnsorted.test_strings_to_numbers_comparisons_raises   sq    >MNQe%e44N
 H89K]]9C0 	b!H	 	 O
	 	s   A
A$$A-c                     t        t        j                  dt        j                        t	        t        d      t                    }t        j                  |j                  |j                  d   df<   t        j                  d      5  |j                  dk  }d d d        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)ry   rk   rA   rl   rm   r   r]   ignore)r  raise)r   r!   r   r_  r	   rs   r   r   r   r    errstater   rb   ru  )r>   
missing_dfr   r   s       r$   'test_comparison_protected_from_errstatezCTestFrameArithmeticUnsorted.test_comparison_protected_from_errstate+  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)Nrj   r   ri   ri   ri   ri   FTz5Unable to coerce to Series, length must be 2: given 3,Unable to coerce to DataFrame, shape must bez4operands could not be broadcast together with shapesrn   ABr0  r   )r   r!   r   r   r"   
atleast_2dr   tuplerb   rc   r   ru  rt   ru   rv   r   rs   r    r   )r>   rd   r   b_rb_clsttupr   r   msg1dmsg2dmsg2dbs               r$   test_boolean_comparisonz3TestFrameArithmeticUnsorted.test_boolean_comparison7  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abcdefgry   r  r   r'   r   bedcfbcdefrm   )rs   r   r!   r   r   r   r   r  rC   r   rb   rc   )r>   r   X_origZblock1subsXresult1r#  r~  result4s              r$   test_inplace_ops_alignmentz6TestFrameArithmeticUnsorted.test_inplace_ops_alignment  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  ri   r   r   ry   rz   r  r   ra  r^   r  r]   )r   r   r!   rp   rq   r   r   rC   rb   r  _mgrrc   )	r>   s_origdf_origrD  rE  rd   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)ru   r   )marksr"  rV  rU  orr  rT  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   ri   )r  r  r  )TFTr   __ir;  )r   rC   r   rb   rc   r  )r>   r   rd   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  rA   r   rk   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  ri   r   r   r   r  r   r   r   r{  r  r   r   r   )	r   r!   rp   rq   rr   _align_for_opr    rb   rc   )r>   r  r    r   rd   alignr   s          r$   test_alignment_non_pandasz5TestFrameArithmeticUnsorted.test_alignment_non_pandas  s      !II!!!$44V<
 ''3Ss;288L
eB!4Q7B))<BHH
 	eB!4Q7Br&   ri   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  ri   r  r   z5Unable to coerce to Series, length must be 3: given 2rn   r   r   r   )	r   r!   rp   rq   rr   r  rt   ru   rv   )r>   r  r    r   rd   r  rw   s          r$   )test_alignment_non_pandas_length_mismatchzETestFrameArithmeticUnsorted.test_alignment_non_pandas_length_mismatch4  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  ri   r  r   r  rk   r   rj   )r   r   r  r   r   r   r  rn   r  zGUnable to coerce to Series/DataFrame, dimension must be <= 2: (3, 3, 3))r   r!   rp   rq   rr   r  r"   rb   rc   r    r   rt   ru   rv   zerosr|  r}  )r>   r    r   rd   r  r  rw   s          r$   'test_alignment_non_pandas_index_columnszCTestFrameArithmeticUnsorted.test_alignment_non_pandas_index_columnsG  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   rb   r  r   r>   r>  rd   r   s       r$   test_no_warningz+TestFrameArithmeticUnsorted.test_no_warningm  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 argumentsrn   r   )r   rt   ru   r   r   r  s       r$   test_dunder_methods_binaryz6TestFrameArithmeticUnsorted.test_dunder_methods_binarys  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_  rA   ry   )ry   r   z0.X)r!   r   r   r   intr   r  rM   rj  meanrb   rc   )r>   r  r  r   r   r   r   s          r$   test_align_int_fill_bugz3TestFrameArithmeticUnsorted.test_align_int_fill_bugz  s    IIgY/77B?GGG3'lYY[E
jjsxxz!#
fh/r&   N)1rV   rW   rX   r  r#  rt   r   r   r   r*  rT  rU  r  r+  filterwarningsr.  r@  rK  rR  r`  ri  rs  rw  r   r   r   r   r   r   r  r  r  r  r  r  r2   r   AttributeErrorr  r!   r"   r^  r   r  r  r  r  r  r  rY   r&   r$   r  r    sq   /0 [[x||X\\8<<9I9IJ00< [[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]   ru  r  r   r   r!   r   rb   rc   )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 )Nri   r   r'   )ry   r   r   rm   r  r  r^  r  r   Int64r  )r   r!   rp   rq   r   r   to_numpyr   r   rM   rb   rc   )rd   r  r   df_ear   s        r$   &test_dataframe_series_extension_dtypesr    s    	
		a ))!S':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 )Nri   r   i  )r'   ry   rj  )r   r   r   r   ri   r   rk   r  rk   r   )r!   rp   rq   r   r   rC   rM   r   r  r   r   rb   rc   )r#   r   r   r   df4df5r   r   rf   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   abrm   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  rm   r   g      r   r  )r   r!   r   rs   rM   r   rb   rc   )rd   	col_dtyper   r   s       r$   /test_dataframe_operation_with_non_numeric_typesr    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   r2  )r   r   rw  )r1  r2  r2  rm   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   ri   r	  zUnable to coerce list of r   z to Series/DataFramern   )r   rO   rt   ru   rv   )r  rd   rw   s      r$   "test_arith_list_of_arraylike_raiser    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                  }t        j                  |      5  |dz  }d d d        | r'|j                  |usJ t        j
                  ||       y |j                  |u sJ t        dg di      }t        j
                  ||       y # 1 sw Y   hxY w)Nr]   r  r   r  )r   rC   _valuesrb   assert_cow_warningrc   )using_copy_on_writewarn_copy_on_writerd   r  r  valsr   s          r$   %test_inplace_arithmetic_series_updater    s    	C#	$BggiGWF>>D			1	2 !~~T)))
b'*~~%%%c9-.
b(+ s   B33B<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	   rb   rc   )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        d      t        d            } | dz  }t        t        j                  d      t        d      t        d            }t	        j
                  ||       y )NTr  cdr   r   )r   rs   r!   r   rb   rc   )rd   r   r   s      r$   test_bool_frame_mult_floatr    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   ri   NrA   r  )r   r   N)r   r   to_framerb   rc   )any_int_ea_dtypeseries1series2r   r   s        r$   test_frame_sub_nullable_intr    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;   rY   r>   SubclassedSeriess    r$   _constructorzRtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeries._constructor%  	    ##r&   c                     S r;   rY   )r>   SubclassedDataFrames    r$   _constructor_expanddimz\test_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeries._constructor_expanddim)  s	    &&r&   N)rV   rW   rX   propertyr  r   )r  r  s   r$   r  r  $  s)    		$ 
	$ 
	' 
	'r&   r  c                   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__0  s    !.DGd-f-r&   c                 T    t        j                  t        |       | j                        S r;   )	functoolspartialrO   r  rG   s    r$   r  zUtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame._constructor4  s    $$T$Z1C1CDDr&   c                     S r;   rY   r  s    r$   _constructor_slicedz\test_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame._constructor_sliced8  r  r&   rU   )	rV   rW   rX   	_metadatar?   r  r  r  __classcell__)r	  r  s   @r$   r  r  -  s:    $%		. 
	E 
	E 
	$ 
	$r&   r  	some_datar  r  r  ri   r  )r   ry      r  )sdfr   r   r  r  s      @@r$   +test_frame_op_subclass_nonclass_constructorr    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   rb   r  )r  q1q2r   r   s        r$   test_enum_column_equalityr  E  so    $D	DIIy)	*B	DIIy)	*B		]bm+F(tyy9H68,r&   c                  
   t        t        d      ddg      } t        t        d      ddg      }|j                  j                  d      | _        | |z   }t        t        d      ddg      }t	        j
                  ||       y )Nr0  r   r   )r   r   r    r  string)r   rs   r   rM   rb   rc   r  s       r$   test_mixed_col_index_dtyper  Q  sm    
DKc!
=C
DKc!
=C++$$X.CK3YFe3qcBH&(+r&   )@collectionsr   r   r   enumr   r  r   r|  numpyr!   rt   pandas._configr   pandas.util._test_decoratorsutil_test_decoratorsr  pandasr   r   r	   r
   r   pandas._testing_testingrb   pandas.core.computationr   r1   pandas.tests.frame.commonr   r   fixturer%   r6   r8   r[   r   r   r  r  r
  r  r  r  r  r  r   r   rs   rM   r   r  r  r  r  r  r  r  r  r  r  r  rY   r&   r$   <module>r*     s       	   5 ) )    7 R R  aXIx3HI J   :Z; Z;z@. @.NN0 N0b
A0 A0H
.,-"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,&,&,, S!,!,H	-,r&   