
    o[we             
          d dl mZ d dlmZmZ d dlmZ d dlZd dlZd dlZd dl	Z
d dlZd dlmc mZ d dlZd dlmZmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZm Z  d d	l!m"Z"  ej#        d
d dgddg          d             Z$ G d d          Z% G d d          Z& G d d          Z' G d d          Z( G d d          Z)d Z*d Z+d Z, G d d          Z-d Z.d  Z/d! Z0d" Z1ej2        3                    d# ed$d%gd&d'gg e4d(          )          d*f ed$d+gd&d+gg e4d(          )          d,fg          d-             Z5d. Z6ej2        3                    d/ ed0d0g          g ed0d0g           ed0d0g          gg          d1             Z7d2 Z8d3 Z9d4 Z:d5 Z;ej2        <                    d6          d7             Z=d8 Z>dS )9    )deque)datetimetimezone)EnumN)	DataFrameIndex
MultiIndexSeries)expressions)_MIN_ELEMENTS)_check_mixed_float_check_mixed_int)VersionTi@B numexprpython)autouseparamsidsc              #   n   K   t           j        }| j        t           _        | j        V  |t           _        d S N)exprr   param)requestr   s     Blib/python3.11/site-packages/pandas/tests/frame/test_arithmetic.pyswitch_numexpr_min_elementsr   !   s4      &M D
-&D    c                   J    e Zd ZddZd ZdefdZdefdZddZd	 Z	dd
Z
dS )DummyElementreturnNc                 F    || _         t          j        |          | _        d S r   )valuenpdtype)selfr!   r#   s      r   __init__zDummyElement.__init__*   s    
Xe__


r   c                 B    t          j        | j        | j                  S )Nr#   )r"   arrayr!   r#   r$   s    r   	__array__zDummyElement.__array__.   s    x
$*5555r   c                 (    d| j          d| j         dS )NzDummyElement(z, ))r!   r#   r)   s    r   __str__zDummyElement.__str__1   s    :tz::TZ::::r   c                      t          |           S r   )strr)   s    r   __repr__zDummyElement.__repr__4   s    4yyr   Fc                     || _         | S r   r'   )r$   r#   copys      r   astypezDummyElement.astype7   s    
r   c                 d     t          |           | j                            |          |          S r   )typer!   view)r$   r#   s     r   r6   zDummyElement.view;   s(    tDzz$*//%00%888r   c                 *    t          | j                  S r   )boolr!   )r$   axiss     r   anyzDummyElement.any>   s    DJr   r   N)Fr   )__name__
__module____qualname__r%   r*   r/   r-   r0   r3   r6   r:    r   r   r   r   )   s        % % % %6 6 6; ; ; ; ;#       9 9 9           r   r   c                      e Zd Zd Zd Zej                            dej	        
                    d                              dd           ej        dd          d	ej	        
                    d                              dd          ej	        
                    d                              dd          d	gej	        
                    d                              dd          ej	        
                    d                              dd          d	ej	        
                    d                              dd           ej        dd          d	g ej        dd           ej        dd          d	ej	        
                    d                              dd          ej	        
                    d                              dd          d	gej	        
                    d                              dd           ej        dd          d	 ej        dd           ej        dd          d	gg          d
             Zej                            dg d          d             Zd Zd Zd Zd ZdS )TestFrameComparisonsc                     t          dg di          }t          dg di          }|dk    }t          j        ||           |d                             d          |d<   |dk    }t          j        ||           d S )NA)foobarbaz)TFFrD   category)r   tmassert_frame_equalr3   )r$   dfexpress       r   &test_comparison_with_categorical_dtypez;TestFrameComparisons.test_comparison_with_categorical_dtypeI   s     222344222344Ek
c3''' S'..,,3Ek
c3'''''r   c                    t          t          j                            d                              d          t          d                    }d}t          j        t          |          5  |dv  d d d            d S # 1 swxY w Y   d S )N   )      ABCDcolumnsz+The truth value of a DataFrame is ambiguousmatchr   )	r   r"   randomdefault_rngstandard_normallistpytestraises
ValueError)r$   rJ   msgs      r   test_frame_in_listz'TestFrameComparisons.test_frame_in_listX   s    I!!!$$44V<<d6ll
 
 
 <]:S111 	 	&LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   ,A>>BBz	arg, arg2rO   
   size20010101periodsabc                 f   t          |          t          |          k    }t          fdj        D             j        j                  }t          j        ||           k    }t          fdj        D             j        j                  }t          j        ||           g d}d                    |          }t          j        t          |          5  k     d d d            n# 1 swxY w Y   t          j        t          |          5  k     d d d            n# 1 swxY w Y   t          j        t          |          5  k      d d d            n# 1 swxY w Y   t          j        t          |          5  k     d d d            d S # 1 swxY w Y   d S )Nc                 6    i | ]}||         |         k    S r?   r?   .0colxys     r   
<dictcomp>z@TestFrameComparisons.test_comparison_invalid.<locals>.<dictcomp>   (    888sS!C&AcF"888r   indexrT   c                 6    i | ]}||         |         k    S r?   r?   rk   s     r   rp   z@TestFrameComparisons.test_comparison_invalid.<locals>.<dictcomp>   rq   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.|rU   )	r   rT   rs   rH   rI   joinr[   r\   	TypeError)	r$   argarg2resultexpectedmsgsr^   rn   ro   s	          @@r   test_comparison_invalidz,TestFrameComparisons.test_comparison_invalida   s   ` cNNdOO a88888ai888'I
 
 

 	fh///a88888ai888'I
 
 

 	fh///
 
 
 hhtnn]9C000 	 	FF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	EE	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	EE	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	FF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sH   'C::C>C> D33D7:D7E,,E03E0F&&F*-F*zleft, right))gtlt)r   r~   )gele)r   r   )eqr   )ner   c           
      `   t          t          j        dd          t          j        dd          t          j                            d                              dd          t          j                            d                              d          d t          d          D             d	          }t          j	        |j
        t          j                            d                              t          |                    d
k    df<   t          t          |          }t          t          |          }|dv rR ||t          j        d                    } |t          j        d          |          }t          j        ||           nd}t#          j        t&          |          5   ||t          j        d                     d d d            n# 1 swxY w Y   t#          j        t&          |          5   |t          j        d          |           d d d            n# 1 swxY w Y   |dv rS ||t          j        d                    } |t          j        d          |          }t          j        ||           d S d}t#          j        t&          |          5   ||t          j        d                     d d d            n# 1 swxY w Y   t#          j        t&          |          5   |t          j        d          |           d d d            d S # 1 swxY w Y   d S )Nrc   r`   rd   20010102rO   i ʚ;ra   c                 2    g | ]}t          d |z             S )d   )chr)rl   is     r   
<listcomp>z?TestFrameComparisons.test_timestamp_compare.<locals>.<listcomp>   s"    >>>qc#'ll>>>r   )dates1dates2intcolfloatcol	stringcolg      ?r   )r   r   20010109zL'(<|>)=?' not supported between instances of 'numpy.ndarray' and 'Timestamp'rU   natzJ'(<|>)=?' not supported between instances of 'numpy.ndarray' and 'NaTType')r   pd
date_ranger"   rW   rX   integersrY   rangeNaTloclengetattroperator	TimestamprH   rI   r[   r\   rw   )	r$   leftrightrJ   left_fright_fr{   rz   r^   s	            r   test_timestamp_comparez+TestFrameComparisons.test_timestamp_compare   s    -
B???-
B???)//22;;JR;PPI11!44DDRHH>>E"II>>> 
 
 LN6ry$$Q''..s2ww77#=xGH4(((E** <vb",z":":;;HWR\*55r::F!&(3333?  y444 5 5r2<
334445 5 5 5 5 5 5 5 5 5 5 5 5 5 5y444 6 6Z00"5556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 <vb",u"5"566HWR\%00"55F!&(33333=  y444 0 0r2<..///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0y444 1 1U++R0001 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1sH   +GGG<H''H+.H+&KKK7L##L'*L'c                    t          ddgddgg          }t          ddgddgg          }||k    }|                                                                rJ ||k    }|                                                                sJ d S )Nz
1989-08-01   rO   rg   rh   cd)r   r:   all)r$   rJ   otherrz   s       r   test_mixed_comparisonz*TestFrameComparisons.test_mixed_comparison   s     q)L!+<=>>C:Sz233u::<<##%%%%%uzz||!!!!!!!r   c                    t          t          j        d                              d                    }t          ddgddgddgg          }|dk    }t	          j        ||           |ddgk    }t	          j        ||           d S )NrP      rO   FTrO   rO   rO   )r   r"   arangereshaperH   rI   )r$   rJ   r{   rz   s       r    test_df_boolean_comparison_errorz5TestFrameComparisons.test_df_boolean_comparison_error   s     ry||++F3344uentUmeU^LMMv
fh///1v
fh/////r   c                 "   t          t          j                            d                              d          t          d          g d          }|                    d           }|                                                                rJ d S )NrO   )   r   r   rC   BCrr   )r   r"   rW   rX   rY   r   __eq__r:   r$   rJ   rz   s      r   test_df_float_none_comparisonz2TestFrameComparisons.test_df_float_none_comparison  s~    I!!!$$44V<<((#OO
 
 
 4::<<##%%%%%%%r   c                    t          ddddddg          }|j        dk    }t          j        ||         |j        ddd d f                    t          j        ||          |j        ddd d f                    |j        dk    }t          j        ||         |j        ddd d f                    t          j        ||          |j        ddd d f                    d S )Nr   rD   rf   rO   rE   r   )r   rg   rH   rI   r   rh   )r$   rJ   mask_amask_bs       r   test_df_string_comparisonz.TestFrameComparisons.test_df_string_comparison  s    ae,,AE.B.BCDD
bj"&1aaa.999
b&k26!A#qqq&>:::
bj"&1aaa.999
b&k26!A#qqq&>:::::r   N)r<   r=   r>   rM   r_   r[   markparametrizer"   rW   rX   r   r   r   r}   r   r   r   r   r   r?   r   r   rA   rA   F   sC       ( ( (   [ ..q11::2B:GG&z2>>> 
 ..q11::2B:GG..q11::2B:GG 	 ..q11::2B:GG..q11::2B:GG 
 ..q11::2B:GG&z2>>> 	 'z2>>>&z2>>> 
 ..q11::2B:GG..q11::2B:GG 	 ..q11::2B:GG&z2>>> 
 'z2>>>&z2>>> 	?)	
, ,Z( ([, ,Z(T [	
 	
 	

 
+1 +1
 
+1Z" " "0 0 0& & &; ; ; ; ;r   rA   c                   f   e Zd Zej                            dg d          d             Zej                            dej        e	g          d             Z
d Zd Zd Zd	 Zej                            d
g d          d             Zej                            d
g d          d             Zd ZdS )TestFrameFlexComparisonsop)r   r   r~   r   r   r   c                 "   t           j                            d                              d          }t           j                            d                              d          }t	          |          }t	          |          }t          j        |j        dz             }|                    |          j        	                                sJ |
                    |          j                                        rJ t          ||          }t          t          |          }t          j         ||           |||                     |j        dd dd f                                         }	 ||	          }
 |||	                    |j        |j                            }t          j        |
|           t          j         ||j                   |||j                             t          j         |d           ||d                     d}t          j         |t           j                   ||t           j                             t-          j        t0          |	          5   ||           d d d            d S # 1 swxY w Y   d S )
NrO      r   )r   r   r   r   rr   r   $Unable to coerce to Series/DataFramerU   )r"   rW   rX   rY   r   onesshaper   valuesr   r   r:   r   r   rH   rI   r   r2   reindexrs   rT   nanr[   r\   r]   )r$   r   data
other_datarJ   r   ndim_5fopart_orsxpr^   s                r   test_bool_flex_framez-TestFrameFlexComparisons.test_bool_flex_frame"  sp   y$$Q''77??Y**1--==fEE
t__*%%F*++ uuRyy##%%%%%5599#'')))))BOOHb!!
aahh"e555122qrr6"''))QvYYQr6>>"*>EEFF
b"%%%
aaooqqU\/B/BCCC
aaddAAb!HH---4
aaii2rv777]:S111 	 	AfIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   +JJJboxc                    t           j                            d                              d          }t	          |          } |t           j                            d                              d                    } |t           j                            d                              d                    }|                    |d          }|                    |          }|                    |d          }|                    |          }	t          j        ||t          |          k               t          j        ||	            t          j        ||            t          j        ||j
                            |          j
                   t          j        ||                    t          |                               t          j        ||                    t          |          d                     t          j        ||                    t          |          d                     |                    |d          }
|                    |          }|                    |d          }|                    |          }t          j        ||t          |          k               t          j        ||            t          j        |
|            t          j        |
|j
                            |          j
                   |                    |d          }|                    |          }|                    |d          }|                    |          }t          j        ||t          |          k               t          j        ||            t          j        ||            t          j        ||j
                            |          j
                   t          t           j                            d                              d                    }t          t           j                            d                              d                    }d S )NrO   r   r   r   r   r9   )r"   rW   rX   rY   r   r   r   rH   rI   r
   TrZ   r~   r   r   r   )r$   r   r   rJ   idx_sercol_seridx_eqcol_eqidx_necol_neidx_gtcol_gtidx_lecol_leidx_gecol_geidx_ltcol_lts                     r   test_bool_flex_seriesz.TestFrameFlexComparisons.test_bool_flex_series@  sy    y$$Q''77??t__#bi++A..>>qAABB#bi++A..>>qAABBwQ''wwQ''w
fbF7OO&;<<<
fvg...
fvg...
fbdggg&6&6&8999
fbeeDMM&:&:;;;
fbeeF7OO!e&D&DEEE
fbeeDMMe&B&BCCCwQ''wwQ''w
fb6'??&:;;;
fvg...
fvg...
fbdggg&6&6&8999wQ''wwQ''w
fbF7OO&;<<<
fvg...
fvg...
fbdggg&6&6&8999..q11AA!DDEE..q11AA!DDEEr   c                 \   t          t          j                            d                              d                    }t          j        |j        d<   |                    |          }|j        d         rJ |                    |          }|j        d         sJ |	                    |          }|j        d         rJ |
                    |          }|j        d         rJ |                    |          }|j        d         rJ |                    |          }|j        d         rJ d S )NrO   r   r   r   )r   r"   rW   rX   rY   r   r   r   r   r~   r   r   r   )r$   rJ   r   s      r   test_bool_flex_frame_naz0TestFrameFlexComparisons.test_bool_flex_frame_nak  s   ry,,Q//??GGHHvtUU2YY6$<UU2YYvd|UU2YY6$<UU2YY6$<UU2YY6$<UU2YY6$<r   c                 @   t          j        t           j        ddt           j        g          }t          j        dt           j        dd g          }t          d|i          }t          d|i          }d                    ddg          }t          j        t          |	          5  |                    |           d d d            n# 1 swxY w Y   t          j        t          |	          5  |d                             |d                    d d d            n# 1 swxY w Y   t          j        t          |	          5  |j	        |j	        k     d d d            n# 1 swxY w Y   |
                    |          }|j	                                        sJ t          j        dt           j        d g          }t          d|i          }t          j        t          |	          5  |                    d           d d d            n# 1 swxY w Y   t          j        t          |	          5  |d                             d           d d d            n# 1 swxY w Y   t          j        t          |	          5  |j	        dk     d d d            d S # 1 swxY w Y   d S )
Nr   rP   y               @   rg   ru   z9'>' not supported between instances of '.*' and 'complex'z unorderable types: .*complex\(\)rU   )r"   r(   r   r   rv   r[   r\   rw   r~   r   r   r   )	r$   arrarr2rJ   df2r^   r   arr3df3s	            r   "test_bool_flex_frame_complex_dtypez;TestFrameFlexComparisons.test_bool_flex_frame_complex_dtype|  s   h1bf-..xRVQ-..Sz""d$$hhK3
 
 ]9C000 	 	EE#JJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	! 	!sGJJs3x   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! ]9C000 	# 	#I
""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# UU3ZZy}}xRVT*++d$$]9C000 	 	FF2JJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	HKKOOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	JOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sl   #CC	C	+"DD D?EE #E $HH
H
,III:JJJc                    t          ddt          j        dgi          }t          ddt          j                    dgi          }|                    |          }t          dg di          }t          j        ||           d S )Nrm   rD   rE   )FTF)r   r"   r   r   nowr   rH   rI   )r$   df1r   rz   rK   s        r   !test_bool_flex_frame_object_dtypez:TestFrameFlexComparisons.test_bool_flex_frame_object_dtype  s}     6788 >?@@ 4 4 4566
fc*****r   c                    t          t          j        g          }|t          j        k    }|j        d                                         du sJ |                    t          j                  }|j        d                                         du sJ |t          j        k    }|j        d                                         du sJ |                    t          j                  }|j        d                                         du sJ d S )Nr   FT)r   r   r   ilocitemr   r   r   s      r   test_flex_comparison_natz1TestFrameFlexComparisons.test_flex_comparison_nat  s     x  rv{4 %%''50000rv{4 %%''50000rv{4 %%''4////rv{4 %%''4//////r   opnamec           	         t          g dg dd          }d} t          ||          |          j                                        }t	          j        |t          dgt          j        t                    gd                     d S )Nr   rO   r         ?       @      @rn   ro   rO   countrs   name)
r   r   dtypesvalue_countsrH   assert_series_equalr
   r"   r#   r8   )r$   r   rJ   constrz   s        r   &test_df_flex_cmp_constant_return_typesz?TestFrameFlexComparisons.test_df_flex_cmp_constant_return_types  s     YYY___==>>$V$$U++2??AA
FA3rx~~&6WEEE	
 	
 	
 	
 	
r   c           	      0   t          g dg dd          }d}|j        d d         } t          ||          |          j                                        }t          j        |t          dgt          j	        t                    gd                     d S )Nr   r   r   rO   r   r   r  )r   r   r   r  r  rH   r  r
   r"   r#   r8   )r$   r   rJ   r  emptyrz   s         r   ,test_df_flex_cmp_constant_return_types_emptyzETestFrameFlexComparisons.test_df_flex_cmp_constant_return_types_empty  s     YYY___==>>'''..5BBDD
FA3rx~~&6WEEE	
 	
 	
 	
 	
r   c                    t           j                            g d          }t          ||d          }t	          ddg          }|                    |d          }t          ddgddgd          }t          j        ||           t	          ddgdd	g
          }|                    |d          }t          j        ||           d S )Nr   rC   r   r   r   Fr   rO   rC   r   rs   )r   IntervalIndexfrom_breaksr   r
   r   rH   rI   )r$   iirJ   serrL   r{   ser2res2s           r   -test_df_flex_cmp_ea_dtype_with_ndarray_serieszFTestFrameFlexComparisons.test_df_flex_cmp_ea_dtype_with_ndarray_series  s    )))))44Rb))**aVnneeCae  E5>GGHH
c8,,,q!fS#J///uuTu""
dH-----r   N)r<   r=   r>   r[   r   r   r   r"   r(   r
   r   r   r   r   r   r  r
  r  r?   r   r   r   r      s9       [T#G#G#GHH  IH: [URXv$677(F (F 87(FT     "% % %N+ + +0 0 0$ [X'K'K'KLL
 
 ML
 [X'K'K'KLL	
 	
 ML	
. . . . .r   r   c                      e Zd Zd Zej                            dddg          d             Zd Zd Z	d Z
ej                            d	g d
          d             Zej                            d edd                    d             Zd Zej                            d	g d          d             Zd Zej                            dddg          d             Zd Zd Zd Zej                            d	g d          d             Zej                            dddg          d              Zd! Zd" Zd# Zd$ ZdS )%TestFrameFlexArithmeticc                 p   t          j        d          }t          |          t          d                              d          }t          fdj        D                       }t          j        ||                               j        d          }t          j        ||           d S )Nr   r  r   r   c                 (    i | ]}||         z  S r?   r?   )rl   rm   rJ   r  s     r   rp   z?TestFrameFlexArithmetic.test_floordiv_axis0.<locals>.<dictcomp>  s#    HHHcc2c7c>HHHr   )	r"   r   r
   r   floordivrT   rH   rI   r   )r$   r   rz   r{   result2rJ   r  s        @@r   test_floordiv_axis0z+TestFrameFlexArithmetic.test_floordiv_axis0  s    illSkkSs++,,Sq))HHHHHRZHHHII
fh///++cjq+11
gx00000r   r   r  powc                   	
 t          j        d          }t          |j                  t          d          k    rQ|dk    rKd|j        j        j        v r8|j                            t           j        	                    d                     t          t          |          	t          j        t          dz                                 t          dz  dz   d	          dz  }t!          |          d
d<   d         
 t          |          
d          }t!          	
fdj        D                       }t%          j        ||            t          |          
j        d          }t%          j        ||           d S )Nr   z2.8.7r  r   z,https://github.com/pydata/numexpr/issues/454)reasonr   r   r   r   r   r   c                 6    i | ]}| |                   S r?   r?   )rl   rm   rJ   r   r  s     r   rp   zLTestFrameFlexArithmetic.test_floordiv_axis0_numexpr_path.<locals>.<dictcomp>  s+    JJJc22bgs#3#3JJJr   )r[   importorskipr   __version__nodecallspecid
add_markerr   xfailr   r   r"   r   r   r   r   rT   rH   rI   r   )r$   r   r   r   r   rz   r{   r  rJ   r   r  s           @@@r    test_floordiv_axis0_numexpr_pathz8TestFrameFlexArithmetic.test_floordiv_axis0_numexpr_path  sw     ++BN##ww'7'777%GL1444L##!!)W!XX   Xv&&i+,,44]c5IA5MrRRUXXs^^3e$V$$Sq111JJJJJJrzJJJKK
fh///%'"f%%cjq999
gx00000r   c                 (   t          j        dd          }t          j        dd          }t          |          }t	          ||d          }|                    |d          }t	          ||z   ||z   d          }t          j        ||           d S )N
2016-01-01r`   rd   1r   r   r   r   )r   r   timedelta_ranger
   r   addrH   rI   )r$   dtitditserrJ   rz   r{   s          r   test_df_add_td64_columnwisez3TestFrameFlexArithmetic.test_df_add_td64_columnwise  s    mL"555 b111c{{33''((1%%ssSy99::
fh/////r   c                    t          j        dd          }t          g dd          }t          ||d          }t          ||d          }t          j        d	                                          }|                    ||
          }t          t          g dd          |dz  d          }t          j        ||           d S )Nr*  r   rd   )z1 Dayr   z2 Daystimedelta64[ns]r'   r  r   )days
fill_value)z
2016-01-02z
2016-01-03z
2016-01-05zdatetime64[ns]rO   )	r   r   r
   r   	Timedeltato_timedelta64r.  rH   rI   )r$   r/  r  rJ   r   fillrz   r{   s           r   $test_df_add_flex_filled_mixed_dtypesz<TestFrameFlexArithmetic.test_df_add_flex_filled_mixed_dtypes  s    mL!444///7HIIISs++,,#..//|###2244$//>>>FV   1W	 
 
 	fh/////r   c                 <   |fd} t          |          d|z            } ||d|z            }t          j        ||            t          |          d|z            } ||d|z            }t          j        ||           t          |dd i           d S )Nc                                          d          r3 t          t                              dd                    ||           S  t          t                    | |          S )N__r__)
startswithr   r   replace)rn   ro   r   s     r   r   z8TestFrameFlexArithmetic.test_arith_flex_frame.<locals>.f7  s^    }}U## HAwxE4)@)@AA!QGGG(78R((A...r   rO   r   r'   )r   rH   rI   r   )r$   all_arithmetic_operatorsfloat_framemixed_float_framer   rz   r{   r   s          @r   test_arith_flex_framez-TestFrameFlexArithmetic.test_arith_flex_frame1  s     &	/ 	/ 	/ 	/ 	/ *b))!k/::1[!k/22
fh/// 0*B//4E0EFF1&,=(=>>
fh///6#t555555r   r   )__add____sub____mul__c                 j   t          t          |          } t          ||          d|z             } ||d|z             }d }	|dv rdd d}	n|dv rdd i}	t          j        r|dk    rd|z   d         j        |	d<   t          j        ||           t          ||		            t          ||          d|z            } ||d|z            }t          j        ||           t          |dd i	            t          ||          d|z            } ||d|z            }t          j        ||           d S )
NrO   )rG  uint64)r   r   )rF  rH  r   r   rC   r'   )	r   r   r   USE_NUMEXPRr#   rH   rI   r   r   )
r$   r   	int_framemixed_int_framerD  r   r   rz   r{   r#   s
             r   test_arith_flex_frame_mixedz3TestFrameFlexArithmetic.test_arith_flex_frame_mixedG  s    Hb!! ."--a/.ABB1_a/&9:: "..EE)))$KE 	: ;q @ @
 o-s39E#J
fh///u---- 0*B//4E0EFF1&,=(=>>
fh///6#t5555 (B''I661YI..
fh/////r   dimr   rP   c                     |}t          j        d|z            }d}t          j        t          |          5   t          ||          |           d d d            d S # 1 swxY w Y   d S )N)r   r   rU   )r"   r   r[   r\   r]   r   )r$   rB  rC  rO  r   r   r^   s          r   test_arith_flex_frame_raisez3TestFrameFlexArithmetic.test_arith_flex_frame_raisep  s     & gdSj!!4]:S111 	* 	*$GK$$S)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s   AA"%A"c                    |                     d          }t          j        ||dz              |                     |d d                   }t          j        ||t          j        z             |d d                              |          }t          j        ||t          j        z             t          j        t          d          5  |                     |j        d         d           d d d            n# 1 swxY w Y   t          j        t          d          5  |                     |j        d         dd           d d d            d S # 1 swxY w Y   d S )	Nr   r   r7  rU   r   r6  rs   r9   r7  )	r.  rH   rI   r"   r   r[   r\   NotImplementedErrorr   )r$   rC  	const_addrz   s       r   test_arith_flex_frame_cornerz4TestFrameFlexArithmetic.test_arith_flex_frame_corner{  s   OOA&&	
iq999 RaR11
fkBF&:;;;RaR$$[11
fkBF&:;;;].lCCC 	? 	?OOK,Q/AO>>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? ].lCCC 	M 	MOOK,Q/g!OLLL	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	Ms$   #C66C:=C:$EEE)r.  submulmodc                 F   |}|                     d          }|d         }t          ||          }t          t          |          }t          j         ||           |||                     t          j         ||d           ||j        |          j                   d S )Nrg   twor   r   )xsr   r   rH   rI   r   )r$   simple_framer   rJ   rowrm   r   s          r   test_arith_flex_series_opsz2TestFrameFlexArithmetic.test_arith_flex_series_ops  s     eeCjjiBOOXr""
aaffbbSkk222
aa!nnnbbsmmo>>>>>r   c                 b   |}|                     d          }|d         }t          j        |                    |d           ||z              t          j        |                    |          ||z             t          j        |                    |d          |j        |z  j                   d S )Nrg   r[  r   r   )r\  rH   rI   r.  divr   )r$   r]  rJ   r^  rm   s        r   test_arith_flex_seriesz.TestFrameFlexArithmetic.test_arith_flex_series  s    eeCjji
bffStf44b3h??? 	bffSkk28444
bffSqf11BD3J>BBBBBr   r#   int64float64c                 .   t          t          j        d                              d          |          }t          t          j        t          j        gddgddgg          }|                    |d         d	          }t          j        ||           d S )
NrP   r   r'   r         ?g      ?r   rs   r   )	r   r"   r   r   r   infra  rH   rI   )r$   r#   rJ   r{   rz   s        r   #test_arith_flex_series_broadcastingz;TestFrameFlexArithmetic.test_arith_flex_series_broadcasting  s     ry''//77uEEErvrv.c
S$KHII1G,,
fh/////r   c                    t          g t                    }t          ddg          }t          ddgddggddg          }t          j        t
          d	
          5  |                    |d           d d d            n# 1 swxY w Y   t          j        t
          d	
          5  |                    |d         d d           d d d            d S # 1 swxY w Y   d S )Nr'   rC   r   rS   r   rO   r   rQ   r7  rU   Er6  rS  )r
   objectr   r[   r\   rT  r.  rW  )r$   ser_len0df_len0rJ   s       r   test_arith_flex_zero_len_raisesz7TestFrameFlexArithmetic.test_arith_flex_zero_len_raises  sf    "F+++S#J///AA'#s<<<].lCCC 	- 	-FF8F,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- ].lCCC 	: 	:KK3dqK999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:s$   BBB'CCCc                 :   t          j        ddt           j        dddgd          }t          d|it	          d	          
          }|                    d                              d          }|                    dd          }t          j        ||           d S )Nr   r   r   rQ   r   floatr'   rD   rP   r  rO   r6  )	r"   r(   r   r   r   fillnar.  rH   rI   )r$   datrJ   rK   rL   s        r   test_flex_add_scalar_fill_valuez7TestFrameFlexArithmetic.test_flex_add_scalar_fill_value  s    h1bfaA.g>>>s|588444iillq!!ffQ1f%%
c3'''''r   c                     t          g dg d          }t          g dg d          }t          g dg d          }|                    |          }t          j        ||           d S )N)r   rO   r   rQ   r   )r   rO   r   rO   r   r  r   )r   rO   r   rO   rO   )r   r   rO   rO   r   )r   rW  rH   rI   )r$   r   r   r{   rz   s        r   'test_sub_alignment_with_duplicate_indexz?TestFrameFlexArithmetic.test_sub_alignment_with_duplicate_index  sx    ???			333___OOODDD
fh/////r   )rF  rH  rG  __truediv__c                    t          t          j        d          t          j                            d                              d          d          } t          ||          |          }ddg|_        ddg|_         t          ||          |          }t          j        ||           t          |           |j
         d S )Nr`   rO   r  rC   )r   r"   r   rW   rX   r   rT   rH   rI   r/   r  )r$   r   rJ   r{   rz   s        r   &test_arithmetic_with_duplicate_columnsz>TestFrameFlexArithmetic.test_arithmetic_with_duplicate_columns  s     RYr]]1F1Fq1I1I1P1PQS1T1TUUVV"72r??2&&:3Z
 R$$
fh///Fr   levelr   Nc                    t          g dg dd          }|j                            d          |_        t          g dg dd          }|j                            ddg          |_        |                    ||          }t          g dg dd          }|j                            ddg          |_        t	          j        ||           d S )	Nr   r   rO   r   r  L1r   r   r   ))rC   r   )rC   DL2)ry  )r   rT   	set_namesr.  rH   rI   )r$   ry  r   r   rz   r{   s         r   test_broadcast_multiindexz1TestFrameFlexArithmetic.test_broadcast_multiindex  s     iiiiii8899k++D11YYYIIIFFGGk++T4L99E**)))KKLL#+55tTlCC
fh/////r   c           	         t          g dg ddt          j        dgdgg dgg d          	          }t          d
gt          j        dgdggddg          	          }t          g dg ddt          j        dgdgg dgg d          	          }|                    |d          }t          j        ||           d S )Nr   r   rQ   r   i  i  rg   rh   r{  scenrY  r%  namesr  皙?rY  r  )ffffff?333333@333333@)r  皙@g@r   r   r   r	   from_productr
   r.  rH   rI   r$   rJ   seriesr{   rz   s        r    test_frame_multiindex_operationsz8TestFrameFlexArithmetic.test_frame_multiindex_operations  s   99III..)yyy)1F1F1F  
 
 
 E)C53%.PPP
 
 

 "??///::)yyy)1F1F1F  
 
 
 Q''
fh/////r   c           	         t          dgdgdt          j        dgdggddg          	          }t          g d
t          j        dgdgg dgg d          	          }t          g dg ddt          j        dgdgg dgg d          	          }|                    |d          }t          j        ||           d S )Nr   r   r  rg   rh   r  rY  r  r  )      $@g      4@g      >@r{  r  )g      &@   g      ?@)g      *@g      7@g     @@r   r   r  r  s        r   <test_frame_multiindex_operations_series_index_to_frame_indexzTTestFrameFlexArithmetic.test_frame_multiindex_operations_series_index_to_frame_index  s!   3qc"")C53%.PPP
 
 

 )yyy)1F1F1F  
 
 
 ###+=+=+=>>)yyy)1F1F1F  
 
 
 Q''
fh/////r   c                    t          g dg ddt          j        dgdgg dgg d          	          }t          d
gt          j        dgdggddg          	          }t          t          j        t          j        dt          j        dddddt          j        fgg d          	          }|                    |d          }t          j	        ||           d S )Nr   r  r  rg   rh   r{  r  r  r  r  r   rY  r  rg   rh   r   rg   rh   r   )rg   rh   rO   r   r   )
r   r	   r  r
   r"   r   from_tuplesr.  rH   rI   r  s        r   )test_frame_multiindex_operations_no_alignzATestFrameFlexArithmetic.test_frame_multiindex_operations_no_align  s"   99III..)yyy)1F1F1F  
 
 
 E)C53%.PPP
 
 

 6(((!!!#rv&	 ,++  
 
 
 Q''
fh/////r   c                    t          g dg ddt          j        g dg d                    }t          dgt          j        d	gd
ggddg                    }t          ddt
          j        gddt
          j        gdt          j        g dg d                    }|                    |d          }t          j	        ||           d S )Nr   r  r  )r  r  )rg   r   rO   r  r  r  r  rh   rg   rY  r  r  r  r  r  r   r   )
r   r	   r  r
   r  r"   r   r.  rH   rI   r  s        r   +test_frame_multiindex_operations_part_alignzCTestFrameFlexArithmetic.test_frame_multiindex_operations_part_align2  s$   99III..(  
 ,++  

 

 

 E)C53%.PPP
 
 

 bf%c3-?@@(  
 ,++  

 

 

 Q''
fh/////r   )r<   r=   r>   r  r[   r   r   r(  r2  r;  rE  rN  r   rQ  rV  r_  rb  rh  rn  rs  ru  rx  r  r  r  r  r  r?   r   r   r  r    sP       1 1 1 [X
E':;;1 1 <;16	0 	0 	00 0 0&6 6 6, [T#D#D#DEE&0 &0 FE&0P [UEE!QKK00* * 10*M M M" [T#?#?#?@@	? 	? A@	?
C 
C 
C [Ww	&:;;0 0 <;0: : :( ( (0 0 0 [T#S#S#STT	 	 UT	 [Wq$i000 0 1000 0 000 0 000 0 0:0 0 0 0 0r   r  c                   n   e Zd Zd Zd Zd Zd Zd Zd Zd Z	e
j                            dd	d
g          d             Ze
j                            dddgd ej        ddg           edd           eddg          g          d             Zd Zd Zd Ze
j                            ddddddd ej        dd          df ej        dd          dfg          e
j                            d ej        ej        ej        ej        ej        ej        gd! "          d#                         Zd$ Z d% Z!d&S )'TestFrameArithmeticc                     t          ddgd          }t          ddgddgg          }||z  }t          ||d          }t          j        ||           d S )	Nr   r4  r'   r   rO   r   rQ   r,  r
   r   rH   rI   )r$   r  rJ   rz   r{   s        r   test_td64_op_nat_castingz,TestFrameArithmetic.test_td64_op_nat_castingU  sl     eU^+<===AA'((c--..
fh/////r   c                    t          j        d                              dd          }t          |ddgg d          }|dgd d f         }|j        d|j        d         fk    sJ t          dd	gd	dgdd
gg|j        |j        |j                  }||z   }t          j	        ||           ||z   }t          j	        ||           d S )NrP   r   rO   TFr   rT   rs   r   rQ   r   rT   rs   r#   
r"   r   r   r   r   rT   rs   r#   rH   rI   )r$   r   rJ   rowliker{   rz   s         r   'test_df_add_2d_array_rowlike_broadcastsz;TestFrameArithmetic.test_df_add_2d_array_rowlike_broadcasts_  s    ill""1a((sT5MIIIqc111f+}BHQK 00000VaVaV$J( )
 
 
 g
fh///2
fh/////r   c                    t          j        d                              dd          }t          |ddgg d          }|d d dgf         }|j        |j        d	         dfk    sJ t          ddgd
dgddgg|j        |j        |j                  }||z   }t          j	        ||           ||z   }t          j	        ||           d S )NrP   r   rO   TFr   r  r   r   r   	   r`   r  r  )r$   r   rJ   colliker{   rz   s         r   'test_df_add_2d_array_collike_broadcastsz;TestFrameArithmetic.test_df_add_2d_array_collike_broadcastst  s    ill""1a((sT5MIIIaaa!f+}!a 00000VaVaW%J( )
 
 
 g
fh///2
fh/////r   c                    |}|r|dv rt          j        |           t          j        d                              dd          }t          |ddgg d          }|d	gd d f         }|j        d	|j        d	         fk    sJ  t          |j        d
         |          |	                                           t          |j        d         |          |	                                           t          |j        d         |          |	                                          g}t          ||j
        |j                  }	 t          ||          |          }
t          j        |
|	           d S )N__rmod____rfloordiv__rP   r   rO   TFr   r  r   rC   r   r   )td&mark_array_manager_not_yet_implementedr"   r   r   r   r   r   r   squeezerT   rs   rH   rI   )r$   r   rB  using_array_managerr   r   rJ   r  exvalsr{   rz   s              r   )test_df_arith_2d_array_rowlike_broadcastsz=TestFrameArithmetic.test_df_arith_2d_array_rowlike_broadcasts  sa    * 	?6-J#J#J5g>>>ill""1a((sT5MIIIqc111f+}BHQK 00000 )GBF3K(():):;;(GBF3K(():):;;(GBF3K(():):;;
 VRZrxHHH$V$$W--
fh/////r   c                    |}|r|dv rt          j        |           t          j        d                              dd          }t          |ddgg d          }|d d d	gf         }|j        |j        d
         d	fk    sJ  t          |d         |          |                                           t          |d         |          |                                          d}d }	|dv r*t          j	        d |
                                D              }	t          ||j        |j        |	          }
 t          ||          |          }t          j        ||
           d S )Nr  rP   r   rO   TFr   r  r   r   )TFc              3   $   K   | ]}|j         V  d S r   )r   rl   rn   s     r   	<genexpr>zPTestFrameArithmetic.test_df_arith_2d_array_collike_broadcasts.<locals>.<genexpr>  s$      $G$G!QX$G$G$G$G$G$Gr   r  )r  r  r"   r   r   r   r   r   r  common_typer   rT   rs   rH   rI   )r$   r   rB  r  r   r   rJ   r  r  r#   r{   rz   s               r   )test_df_arith_2d_array_collike_broadcastsz=TestFrameArithmetic.test_df_arith_2d_array_collike_broadcasts  ss    * 	?6-J#J#J5g>>>ill""1a((sT5MIIIaaa!f+}!a 00000 ,'"T(F++GOO,=,=>>-72e9f--goo.?.?@@
 

 222 N$G$Gv}}$G$G$GHEVRZrxuUUU$V$$W--
fh/////r   c                    t          ddgddgg          }|dz  }|j                            d           }|dk                                    sJ d|z  }|j                            d           }|dk                                    sJ d S )NFTr   c                     | j         S r   kindrn   s    r   <lambda>z:TestFrameArithmetic.test_df_bool_mul_int.<locals>.<lambda>      af r   r   c                     | j         S r   r  r  s    r   r  z:TestFrameArithmetic.test_df_bool_mul_int.<locals>.<lambda>  r  r   )r   r  applyr   )r$   rJ   rz   kindss       r   test_df_bool_mul_intz(TestFrameArithmetic.test_df_bool_mul_int  s     u~677a ##$4$455!!#####R##$4$455!!#######r   c                     t          g dg dd          }||z   }t          g dg dd          }t          j        ||           d S )Nrg   rh   r   r   r  )aabbccrO   rQ   rP   r   rH   rI   )r$   r   rz   r{   s       r   test_arith_mixedz$TestFrameArithmetic.test_arith_mixed  sa    YYY??@@#5#5#5IIIFFGG
fh/////r   rm   rC   r   c                     t          ddgddgd          } ||d          |         } |||         d          }t          j        ||           d S )Ng?gffffff
@g      @g333333r  r   )r   rH   r  )r$   all_arithmetic_functionsrm   rJ   rz   r{   s         r   test_arith_getitem_commutez.TestFrameArithmetic.test_arith_getitem_commute  se    c3ZsDk::;;))"a005++BsGQ77
vx00000r   r   r   rO   r   rO   r   c                     t          ddgddgd          }t          ddgddgd          }||z   }t          j        ||           d S )Nr   r  rO   r   r  )r$   r   rJ   r{   rz   s        r   &test_arith_alignment_non_pandas_objectz:TestFrameArithmetic.test_arith_alignment_non_pandas_object  s`    
 aV1a&1122Aq6A7788f
fh/////r   c                 8   t          t          j        ddd                              dd          g dg d          }|                    d	          j        }t          |j        |z   |j        |j        
          }t          j	        ||z   |           t          |j        j
        |z   j
        |j        |j        
          }t          j	        |                    |d          |           t          |d                   }t          |j        |z   |j        |j        
          }t          j	        ||z   |           t          |j        j
        |z   j
        |j        |j        
          }t          j	        |                    |d          |           t          j                            d                              |j                  }t          |j        |z   |j        |j        
          }t          j	        |                    |          |           d S )Nr   r`   f8r'   r   oner[  threer  r  rg   rr   r   r   r[  rs   rO   )r   r"   r   r   r\  r   rs   rT   rH   rI   r   r.  rZ   rW   rX   r   )r$   rJ   val1addedval2val3s         r   test_arith_non_pandas_objectz0TestFrameArithmetic.test_arith_non_pandas_object  s   Ia4(((00A66+++!//
 
 
 uuSzz ")d*"(BJOOO
b4i///29;-0"*UUU
bffTf22E:::BuI")d*"(BJOOO
b4i///29;-0"*UUU
bffTf88%@@@y$$Q''..rx88")d*"(BJOOO
bffTllE22222r   c                 (   |t          j        t          j        dd                    }ddg}t          |g|          }d t	          |                    }t          fd|D             g|          }t          j        ||           d S )	N        r   )startendr   rO   rS   r`   c                 B    g | ]} t          |                    S r?   )r   )rl   nnumr   s     r   r   zVTestFrameArithmetic.test_operations_with_interval_categories_index.<locals>.<listcomp>  s+    AAAq~wq"~~c22AAAr   )r   CategoricalIndexinterval_ranger   r   rH   rI   )	r$   rB  indr   rJ   rz   r{   r  r   s	          @@r   .test_operations_with_interval_categories_indexzBTestFrameArithmetic.test_operations_with_interval_categories_index  s    %!""3#3"G"G"GHH1vvs+++ R%%AAAAADAAABCPPP
fh/////r   c                    t          t          j        d          t          j        d          gt          j        d          t          j        d          gdddg          }|dg         }||z
  }t          t          j        d	          t          j        d	          gt          j        t          j        gdddg          }t          j        ||           d S )
N2019202020182021)rD   rE   rD   rE   rS   r   )r   r   r   r8  r"   r   rH   rI   )r$   rJ   r   rz   r{   s        r   test_frame_with_frame_reindexz1TestFrameArithmetic.test_frame_with_frame_reindex  s    V,,bl6.B.BCV,,bl6.B.BC  EN
 
 
 %kc\!__bl1oo6?OPPEN
 
 
 	fh/////r   zvalue, dtype)r   i8)r   r  )            r  )y              ?
complex128)r  r  )Tr8      ns<m8[ns]<M8[ns]r   c                     | j         S r   )r<   r  s    r   r  zTestFrameArithmetic.<lambda>:  s    aj r   )r   c           
         t           j        dft           j        dft           j        dft           j        dfh}t          ||          }t          d|j        |j        gi|j                  }t           j        dft           j	        dft           j        dft           j        dft           j        dft           j        dft           j        dft           j
        dft           j	        dfh	}	||f|	v rd }
|dk    r|t           j        k    s|dk    r|t           j        k    rd }nD|dk    rd}n;|t           j
        u r"d}|dk    rt          j        r|d	k    rt          }
nd
|j         d}t          j        t"          |          5  t%          j        |
          5   |||j                   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S ||f|v r|t           j        t           j        fv r\t          j        r|d	k    rt          }
nd }
t%          j        |
          5   |||j                   d d d            d S # 1 swxY w Y   d S d}t          j        t(          |          5   |||j                   d d d            d S # 1 swxY w Y   d S t%          j        d           5   |||j                  j        } |||          j        }d d d            n# 1 swxY w Y   t%          j        ||           d S )Nr8   rC   r'   r  r  r  z3ufunc 'remainder' not supported for the input typesz-numpy boolean subtract, the `-` operator, is r   zcannot perform __z7__ with this index type: (DatetimeArray|TimedeltaArray)rU   z+operator '.*' not implemented for .* dtypes)r   truedivr  r.  rX  r   r   r!   r#   rY  rW  r   rK  UserWarningr<   r[   r\   rw   rH   assert_produces_warningrT  r  r  )r$   r   r!   r#   r   r   skipelemrJ   invalidwarnr^   rz   r{   s                 r   test_binop_otherz$TestFrameArithmetic.test_binop_other#  s   6 v&\6"\6"\6"	
 E5))dj$*56djIII \9%\9%y)\9%\9%\9%\9%\6"\<(

 ;'!!D""rX\'9'9""rX\'9'9,&&Kx|##EVOO( $3q88&DA A A A 
 y444 ' '/55 ' 'Br4:&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' '' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' %[D  hlHL111#  (Cq(H(H&DDD/55 ' 'Br4:&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' D]#6cBBB ' 'Br4:&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' +D11 0 0B
++22b%==/0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "6844444sl   8GF+G+F/	/G2F/	3GG
G H??II)JJJ)(KK!$K!c                    t          j        t          ddg          t          ddg          g          }t          j        t          ddgd          t          ddg          g          }t          ddgddgg|          }t          ddgddgg|          }||z
  }t          ddgddgg|          }t	          j        ||           d S )	Nr   rO   r   rQ   Int8r'   rS   r   r	   from_arraysr
   r   rH   rI   r$   midxmidx2r   r   rz   r{   s          r   *test_arithmetic_midx_cols_different_dtypesz>TestFrameArithmetic.test_arithmetic_midx_cols_different_dtypes  s    %vq!f~~vq!f~~&FGG&1vV(D(D(DfaQRVnn'UVV1a&1a&)4888Aq6Aq6*E:::q!fq!f-t<<<
fh/////r   c                    t          j        t          ddg          t          ddg          g          }t          j        t          ddgd          t          ddg          g          }t          ddgddgg|          }t          ddgddgg|          }||z
  }t          ddgddgg|          }t	          j        ||           d S )	Nr   rO   r   rQ   r  r'   rS   r  r  r  s          r   :test_arithmetic_midx_cols_different_dtypes_different_orderzNTestFrameArithmetic.test_arithmetic_midx_cols_different_dtypes_different_order  s    %vq!f~~vq!f~~&FGG&1vV(D(D(DfaQRVnn'UVV1a&1a&)4888Aq6Aq6*E:::r1gAw/>>>
fh/////r   N)"r<   r=   r>   r  r  r  r  r  r  r  r[   r   r   r  r"   r(   r   r   r  r  r  r  timedelta64
datetime64r   r.  rW  rX  r  rY  r  r  r	  r  r?   r   r   r  r  T  s4       0 0 00 0 0*0 0 0*0 0 060 0 0@$ $ $0 0 0 [US#J//1 1 0/1 [Aq66828QF#3#3UU1a[[%%A--P 0 0 03 3 34	0 	0 	00 0 0& [!R^B%%y1R]2t$$i0		
  [LLLLL	
 !    D5 D5  2D5L0 0 00 0 0 0 0r   r  c                     t          t          j                            d                              d                              dd          ddg          } t          t          j                  }| |z   }t          | j        t          j	        z  | j
                  }t          j        ||           t          j        t          d	          5  | |k     d d d            n# 1 swxY w Y   t          | j                            d
          | j
                  }t          j        t          d	          5  ||k     d d d            d S # 1 swxY w Y   d S )NrO   rP   r   rC   r   rS   r'   znot alignedrU   zM8[ns])r   r"   rW   rX   rY   r   r
   rd  r   r   rT   rH   rI   r[   r\   r]   r6   )rJ   r  rz   r{   r   s        r   ,test_frame_with_zero_len_series_corner_casesr    s    

	a  0033;;AqAACQT:
 
 
B rz
"
"
"C#XFRV+RZ@@@H&(+++	z	7	7	7  
c		              
 BINN8,,bj
A
A
AC	z	7	7	7  s

                 s$   C""C&)C&6E

EEc                      t          ddgt          j                  } t          ddgddg          }| |z   }| }t	          j        ||           d S )NrC   r   rT   r#   r   rO   r  )r   r"   rd  r
   rH   rI   )rJ   r  rz   r{   s       r   ,test_zero_len_frame_with_series_corner_casesr    s[    	C:RZ	8	8	8B
!QSz
*
*
*C#XFH&(+++++r   c                      dt          ddt          j        g          i} t          |           }|                    d          }t          g d          }t          j        ||           d S )NOnerC   333333?r   r   )rC   r  r   )r
   r"   r   r   sumrH   r  )r   rJ   rz   r{   s       r   +test_frame_single_columns_object_sum_axis_1r    si     	vsC())D 
4BVVV^^Fmmm$$H68,,,,,r   c                   $   e Zd Zd Zd Zej                            dej	        ej
        ej        ej        g          d             Zej                            dddg          ej                            d          d	                         Zej                            dg d
          d             Zd Zd Zd Zd Zd Zd Zej                            dej        ej        ej        ej        ej        ej        g          d             Zd Zd Zd Z d Z!d Z"ej                            ddd ej#        dej        $                    e%d                    dd d!d"d#d$d%d&g          d'             Z&ej                            d(g d)d) e'j(        g d)e'j)        *           e*d+d,          g          d-             Z+ej                            d(d+d.gd/ e'j(        d+d.g           e*d+d0          g          d1             Z,d2 Z-d3 Z.d4 Z/d5 Z0d6S )7TestFrameArithmeticUnsortedc                 |   t          j        dddd          }t          t          j                            d                              t          |                    |dg          }|                    d	          }||z   }|j	        j
        t          j        u sJ ||z   }|j	        j
        t          j        u sJ d S )
Nz1/1/2011r`   H
US/Eastern)re   freqtzrO   rg   rr   zEurope/Moscow)r   r   r   r"   rW   rX   rY   r   
tz_convertrs   r  r   utc)r$   rngrJ   	df_moscowrz   s        r   *test_frame_add_tz_mismatch_converts_to_utczFTestFrameArithmeticUnsorted.test_frame_add_tz_mismatch_converts_to_utc  s    mJNNNI!!!$$44SXX>>cTWSX
 
 
 MM/22	i|(,....R|(,......r   c                 <   t          j        ddd          }t          t          j                            d                              t          |          df          |          }||d d d         z   }||z   }t          j        |j	        dd d<   t          j        ||           |d d d         }||                    t          j                            d                              t          |                              z   }t          j        ||           d S )	Nz1/1/2000z1/1/2010rC   )r  rO   r   r  r   )r   period_ranger   r"   rW   rX   rY   r   r   r   rH   rI   takepermutation)r$   r!  tsrz   r{   halfs         r   test_align_framez,TestFrameArithmeticUnsorted.test_align_frame  s    oj*3???I!!!$$44c#hh]CC3
 
 
 b1g7 fadd
fh///##A#wdii	 5 5a 8 8 D DSYY O OPPP
fh/////r   r   c                    t          g dg ddt                    }|                    t          j                  } ||d          } ||d                              t                    }t          j        |t          j        |          <   t          j	        ||            |||          } |||                              t                    }t          j        |t          j        |          <   t          j	        ||            |||                    d                    }t          j	        ||            ||                    d          |          }t          j	        ||           d S )N)rO         @{   N)r   rO   r   rQ   )col1col2r'   r   r   )
r   rk  rq  r"   r   r3   r   isnarH   rI   )r$   r   rJ   filledrz   r{   s         r   test_operators_none_as_naz5TestFrameArithmeticUnsorted.test_operators_none_as_na  sR    (((,,,??v
 
 
 26""B2fa==''//&(f""#
fh///B2ff%%,,V44&(f""#
fh///B		!%%
fh///BIIaLL"%%
fh/////r   zop,res)r   F)__ne__Tz ignore:elementwise:FutureWarningc                      t          ||          d          }t          |                                                                          |u sJ d S )NrD   )r   r8   r   )r$   r   rL   rC  rz   s        r   %test_logical_typeerror_with_non_validzATestFrameArithmeticUnsorted.test_logical_typeerror_with_non_valid  sP    
 *b))%00FJJLL$$&&''3......r   )r.  rW  rX  ra  r  c                    t          j        t          d          g dg dgg d          }t          t	          j        d                              dd          |g d	
                                          t          j	        t          t          |d           d S t          g dg d          } t          |          |dd          }t          j        fd|                                D                                                       }t          j        ||           t          ddgddg          } t          |          |dd          }t          j        fd|                                D                                                                                     }t          j        ||           d S )Nabcr  r   )firstsecondthirdr  Q      r   )value1value2value3rr   )r   r  g      Y@r:  r   )ry  r9   c           	      f    g | ]-\  }} j         d d d d |f         d d f         |          .S r   r   rl   r   vrJ   idxopas      r   r   zETestFrameArithmeticUnsorted.test_binary_ops_align.<locals>.<listcomp>"  sJ    CCCASSAAAqqq!Gaaa(!,,CCCr   r   r  r[  r  r9  c                 `    g | ]*\  }} j         d d |f         d d f         |          +S r   rA  rB  s      r   r   zETestFrameArithmeticUnsorted.test_binary_ops_align.<locals>.<listcomp>*  sD    JJJ1ss26#aaad)QQQ,/33JJJr   )r	   r  rZ   r   r"   r   r   
sort_indexr   
IndexSlicer   r   r
   concatitemsrH   rI   reindex_like)	r$   r   rs   rn   rz   r{   rJ   rD  rE  s	         @@@r   test_binary_ops_alignz1TestFrameArithmeticUnsorted.test_binary_ops_align	  s   
 '%[[111999=...
 
 

 If%%b!,,222
 
 
 *,,	 	 mhD));F%%%yyy11 R':::9CCCCCCCCC
 

*,, 	 	fh///C; 011 R(;;; IJJJJJJ		JJJKK\"Z\\ 	
 	fh/////r   c                 2   t          j        ddgddgg          }t          t          j        dd          |          }t          d	d
d          }|                                }ddg|j        _        |                                }d|j	        _
        |                    |d	d	          }|                    |d	d	          }|                    |d	d	          }|                    |d	d	          }	|                    |d	d          }
|                    |d	d          }t          t          j        g dg dgd          |          }||fD ]}t          j        ||           ddg|j        _        ||	|
|fD ]}t          j        ||           d S )NrC   r   rg   rh   )rO   rQ   rc  r'   rS   r   rO   rf   lvl0lvl1)r9   ry  )r   rO   r   rO   )r	   r  r   r"   r   r
   r2   rT   r  rs   r  rX  r(   rH   rI   )r$   r  rJ   sr   s2res1r  res3res4res5res6rK   rL   s                 r   &test_binary_ops_align_series_dataframezBTestFrameArithmeticUnsorted.test_binary_ops_align_series_dataframe0  s    &c
S#J'?@@rwvW555tDDD##$$ggii#V,VVXX vvaaqv))vvbqv**wwqqw**wwrw++wwqqw//wwrw00HlllLLL1AAA4
 
 
 $< 	, 	,C!#s++++#V,$d+ 	, 	,C!#s++++	, 	,r   c                    t          j        g dd          }|                    d          d d         }|                    d          dd          }t          dddgi|	          }t          dddgi|	          }t          dt          j        d
t          j        gi|	          }t          j        ||z   |           d S )N)z
2011-01-01z
2011-01-02z
2011-01-03UTC)r  z
Asia/TokyorO   r  r   rC   r  r   )r   DatetimeIndexr  r   r"   r   rH   rI   )r$   baseidx1idx2r   r   rK   s          r    test_add_with_dti_mismatched_tzsz<TestFrameArithmeticUnsorted.test_add_with_dti_mismatched_tzsO  s     J J JuUUU|,,RaR0|,,QRR0q!fT222q!fT222rvq"&12$???
cCi-----r   c                    |                     |j        d d d                   }|d= t          j        |j        d |j        d         df<   ||z   }|d                                         j        }|d         dz                                  }t          j        |d                                         |j        |                    t          j        |j        |j        	                    |           <   t          j        |d         |j        |d         j                            t          j
        |d                              |j                  d d                                                   sJ t          j
        |d                                                   sJ ||z   }t          j        |j        |j                   ||z   }	t          j
        |d                                                   sJ t          j
        |	d                                                   sJ |t                      z   }
t          j
        |
j                                                  sJ t                      |z   }t          j
        |j                                                  sJ t                      t                      z   }|j        sJ |                     |j        d d d                   }t          j        ||z   |dz             ||z   }t%          |d	
           ||z   }t%          |d	
           ||z   }t%          |dd i
           ||z   }t%          |d	
           d S )NrO   r~  rQ   r   rC   r   r  rS   rd  r'   )r   rs   r"   r   r   dropnar2   rH   r  isinisnanr   assert_index_equalr   r   r	  rT   rI   r   )r$   rC  rD  rM  
frame_copyr  indexerrK   
self_added	added_rev
plus_empty
empty_plusempty_emptyreverses                 r   test_combineFramez-TestFrameArithmeticUnsorted.test_combineFrameY  s(    (():33Q3)?@@
sO57V
,)!,,c12j(*##%%+3!#))++
uSz0022CGG4DEEE,.F((()
uSz375:3C+DEEExc
**:+;<<RaR@AAEEGGGGG xc
##''))))) ;.

j.0ABBB,	xc
##'')))))x	#''++-----
 !9;;.
x
)**..00000[[;.
x
)**..00000kkIKK/     %%k.A$$B$.G%HH
g3[1_EEE //5	2222!K/5	2222 "$555d4444 o-5	222222r   c                    |                     |j        d                   }||z   }|                                D ])\  }}t          j        |||         ||         z              *|                                }d|d<   t          |          }||z   }	|                                D ])\  }}t          j        |	|         |||         z              *d|	v sJ t          j        |	d                   	                                sJ ||z   }t          j	        |j
        |j        k              sJ ||                    d          z   }t          |dd i           ||                    d          z   }t          |dd i           |d|z                      d	          z   }t          |d	d
d	d	d           |d|z                      d          z   }t          |dd
dd	d           d S )Nr   r   rj  float32r   r'   float16r   rc  rd  )rC   r   r   r~  int32)r\  rs   rJ  rH   r  to_dictr
   r"   rb  r   r  r#   r3   r   r   )
r$   rC  rD  rM  r  r  keyrP  larger_serieslarger_addeds
             r   test_combine_seriesz/TestFrameArithmeticUnsorted.test_combine_series  s/    1! 455f$kkmm 	F 	FFC"1k#&6&DEEEE((c}--"]2!'')) 	G 	GFC"<#4a&+oFFFFl""""xS)**..00000 "F*velfl233333 "FMM)$<$<<5d4444!FMM)$<$<<5d4444  3<"7"7"@"@@wYW7SS	
 	
 	
 	
  3<"7"7"@"@@wYW7SS	
 	
 	
 	
 	
 	
r   c                 2   |d         }|                     |d          }|                                D ]a\  }}||z   }t          j        ||         |d           ||         j        |k    sJ |j        |j        k    r|j        dk    sJ X|j        J b|d d         }|                     |d          }t          j        |j        |j                   |d d         }	|                     |	d          }
t          j        ||
           |                     |d d         d          }t          t          j
        |j        |j                  }t          j        ||           |d d                              |d          }t          t          j
        |j        |j                  }t          j        ||           |d d	                             g 
          }|                    |d          }t          |          t          |          k    sJ d S )NrC   rs   r   F)check_namesr   rr   r   rS   )r.  rJ  rH   r  r  rc  rs   rI   r   r"   r   rT   r   rX  r   )r$   datetime_framer(  r  rr  rm   rz   smaller_framesmaller_added
smaller_tssmaller_added2r{   frames                r   test_combine_timeseriesz3TestFrameArithmeticUnsorted.test_combine_timeseries  s<   C 
 ""2G"44&,,.. 	+ 	+HC2XF"5:v5IIII:?c))))x27""{c))))){****&ss+%))"7);;
m1>3GHHHW
'++JW+EE
m^<<<  ##BrrF#99F..8N
 
 
 	fh///  #'''99F..8N
 
 
 	fh/// rr"**2*662G,,6{{c"gg%%%%%%r   c                    |dz  }t          j        |j        |j        dz             |dz  }|                                D ]-\  }}t          j        |j        ||         j        dz             .t	          |dd i           t                      dz  }|j                            t                      j                  sJ t          |j	                  dk    sJ d S )NrO   r   r'   r   )
rH   assert_numpy_array_equalr   rJ  r   r   rs   equalsr   rT   )r$   rC  rD  rz   r   rP  s         r   test_combineFuncz,TestFrameArithmeticUnsorted.test_combineFunc  s    q
#FM;3E3IJJJ #Q&LLNN 	S 	SDAq'2CA2F2MPQ2QRRRR6#t5555q|""9;;#4555556>""a''''''r   funcc                 @   t          j                    }t          j                    }|                    d          }t          j        |j        dz             } |||          }t          j        |j         ||j        |j                             d}	t          j	        t          t          j        |	                    5   |||           d d d            n# 1 swxY w Y    |||          }
t          j        |
j         ||j        |j                              ||d          }t          j        |j         ||j        d                     d}	t          j	        t          |	          5   |||d d                    d d d            d S # 1 swxY w Y   d S )Nrg   r   r   r   zNUnable to coerce to Series/DataFrame, dimension must be <= 2: (30, 4, 1, 1, 1)rU   r   zQCan only compare identically-labeled \(both index and columns\) DataFrame objectsrO   )rH   makeTimeDataFramer\  r"   r   r   r  r   r[   r\   r]   reescape)r$   r]  rC  r  r   r   r^  r   rz   r^   r  result3s               r   test_comparisonsz,TestFrameArithmeticUnsorted.test_comparisons  s"   
 "$$"$$ooc""Y.//c3
#FM44
CJ3O3OPPP7 	 ]:RYs^^<<< 	 	Df	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 $|S))
#NDD!4cjAA	
 	
 	
 ${A&&
#GNDD9KQ4O4OPPP  	 ]:S111 	1 	1D|BQB/000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1s$   CC!C1FFFc                     t          d dD                       }t          t          |          }d}t          j        t
          |          5   ||d           d d d            d S # 1 swxY w Y   d S )Nc                     i | ]	}|d ddd
S )rD   rE   rF   )rn   ro   zr?   r  s     r   rp   zZTestFrameArithmeticUnsorted.test_strings_to_numbers_comparisons_raises.<locals>.<dictcomp>!  s$    NNNQe%e44NNNr   r  z;'[<>]=?' not supported between instances of 'str' and 'int'rU   r   )r   r   r   r[   r\   rw   )r$   compare_operators_no_eq_nerJ   r   r^   s        r   *test_strings_to_numbers_comparisons_raiseszFTestFrameArithmeticUnsorted.test_strings_to_numbers_comparisons_raises  s    NNoNNN
 
 H899K]9C000 	 	Ab!HHH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A&&A*-A*c                 x   t          j                    }t          j        |j        |j        d         df<   t          j        d          5  |j        dk     }d d d            n# 1 swxY w Y   t          j        d          5  |dk     j        }d d d            n# 1 swxY w Y   t          j        ||           d S )Nr   rC   ignore)r  raise)	rH   makeDataFramer"   r   r   rs   errstater   r  )r$   
missing_dfr{   rz   s       r   'test_comparison_protected_from_errstatezCTestFrameArithmeticUnsorted.test_comparison_protected_from_errstate)  s-   %''
356
z'*C/0[*** 	- 	-!(1,H	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-[))) 	- 	- 1n,F	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-
#FH55555s$   
A""A&)A&BB!Bc                 *   t          t          j        d                              d                    }t          j        ddg          }t          j        ddg          }|j        }g d}t          |          }t          ddgddgddgg          }||k    }t          j	        ||           |j
        |k    }t          j        ||j
                   d}	d}
d	}t          j        t          |	
          5  ||k     d d d            n# 1 swxY w Y   t          j        t          |	
          5  ||k     d d d            n# 1 swxY w Y   ||k    }t          j	        ||           |j
        |k    }t          j        ||j
                   t          j        t          |

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

          5  ||k     d d d            n# 1 swxY w Y   |j
        j        |j        k    sJ t          t          j        d                              d          t!          d          t!          d                    }|j        |_        |j        |_        t          j        t          |	
          5  ||k     d d d            n# 1 swxY w Y   t          j        t          |	
          5  ||k     d d d            d S # 1 swxY w Y   d S )NrP   r   rO   rO   rO   rO   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 shapesrU   ABr7  r  )r   r"   r   r   r(   
atleast_2dr   tuplerH   rI   r   r  r[   r\   r]   r   rZ   rs   rT   )r$   rJ   rh   b_rb_clsttupr{   rz   msg1dmsg2dmsg2dbs               r   test_boolean_comparisonz3TestFrameArithmeticUnsorted.test_boolean_comparison2  s!    ry||++F3344HaVmQF##eiiCjj uenudmdD\JKKa
fh///Q
#FHO<<<G>G]:U333 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]:U333 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
 c
fh///S
#FHO<<<]:U333 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]:V444 	 	IOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 uentUmeU^LMMq
fh///]:U333 	 	#II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]:U333 	 	#II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 s
fh///c!
#FHO<<<]:U333 	 	#II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 y#)++++ IaLL  (($t**DKK
 
 
 :]:U333 	 	#II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]:U333 	 	#II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   4DDD-E  EE&F99F= F=G77G;>G;I##I'*I'	JJ #J LLL;OOO4PPPc                 h   t          d          }t          t          j        dt	          |          z                                dt	          |                    |t          d                    }d|j        d d ddf                                         z  }t          d          }t          d          }|                                }||         |z   	                    |	          }||xx         |z  cc<   |	                    |	          }|                                }||         ||         z   	                    |	          }	||xx         ||         z  cc<   |	                    |	          }
t          j        ||           t          j        ||	           t          j        ||
           |                                }||         |z
  	                    |	          }||xx         |z  cc<   |	                    |	          }|                                }||         ||         z
  	                    |	          }	||xx         ||         z  cc<   |	                    |	          }
t          j        ||           t          j        ||	           t          j        ||
           d S )
Nabcdefgr`   r  r  r   r   bedcfbcdefrS   )rZ   r   r"   r   r   r   r   r   r2   r   rH   rI   )r$   rT   X_origZblock1subsXresult1r  r  result4s              r   test_inplace_ops_alignmentz6TestFrameArithmeticUnsorted.test_inplace_ops_alignment  sz    y//Ib3w<<'((00S\\BB))
 
 

 &+aaa2g&++---gG}} KKMMV9q=))$)77	&			Q			))D)))KKMMV9qy(11$1??	&			QvY			))D)))
gw///
gw///
gw/// KKMMV9q=))$)77	&			Q			))D)))KKMMV9qy(11$1??	&			QvY			))D)))
gw///
gw///
gw/////r   c                 f   t          g d          }t          t          j                            d                              ddd                              dd                    }|                                }|}|dz  }t          j	        ||           t          j	        |dz   |           ||u sJ |j
        |j
        u sJ |                                }|}|dz  }t          j        ||           t          j        |dz   |           ||u sJ |j
        |j
        u sJ |                                }|}|d	z  }t          j	        ||           t          j	        |d	z   |           |                                }|}|d	z  }t          j        ||           t          j        |d	z   |           ||u sJ |j
        |j
        u sJ t          j                            d                              ddd          }t          |                                d
d          }|                                }|}|dxx         dz  cc<   t          |                                dz   d
d          }t          j        ||           t          j        ||           |j
        |j
        u sJ |                                }|}|dxx         d	z  cc<   t          |                                d	z   d
d          }t          j        ||           t          j        ||           |j
        |j
        u sJ d S )Nr   rO   r   r   r`   ra   r  r   rf  rD   r  rC   )r
   r   r"   rW   rX   r   r   r2   rH   r  _mgrrI   )	r$   s_origdf_origrP  rQ  rJ   r   r   r{   s	            r   test_inplace_ops_identityz5TestFrameArithmeticUnsorted.test_inplace_ops_identity  s0    			""I!!!$$--a-<<DDRKK
 

 KKMM	Q
q"%%%
vz1---Bwwwwv    \\^^
a
b#&&&
gk2...Syyyyw#("""" KKMM	S
q"%%%
v|Q///\\^^
c	
b#&&&
gmR000Syyyyw#("""" i##A&&//2A/>>#((**599::\\^^
31388::>>>??
b(+++
c8,,,w#(""""\\^^
33388::#3%@@AA
b(+++
c8,,,w#(""""""r   r.  andra  z__idiv__ not implemented)r\   r  )marksr  rY  rX  orr  rW  r  xorc                 b   t          g dg dd          }d}|dv rg d|d<   |                                }d| d	}d	| d	} t          ||          |            t          ||          |          }t          j        ||           t          |          }t          |          |k    sJ d S )
Nr   r   rf   rO   )r  r  r  )TFTrg   __ir?  )r   r2   r   rH   rI   r%  )r$   r   rJ   operanddf_copyiopr{   s          r   test_inplace_ops_identity2z6TestFrameArithmeticUnsorted.test_inplace_ops_identity2  s    , ___999==>>%%%)))BsG''))Blll"[[[ 	C!!!'77B''00
b(+++b66"vv!!!!!!r   valr   r'   r   rQ   c                    g d}g d}t          t          j                            d                              d          ||          }t           j        }t          |||d|j                  }t          j         |||d          d	         |           t          g d
g dg dd|j                  }t          j         |||d	          d	         |           d S )Nr   r  Yr  rO   r   r   rr   r  r   r   r   r  r  r   r   r   )	r   r"   rW   rX   rY   _align_for_oprs   rH   rI   )r$   r  rs   rT   rJ   alignr{   s          r   test_alignment_non_pandasz5TestFrameArithmeticUnsorted.test_alignment_non_pandas  s     !//I!!!$$44V<<
 
 
 '3Ss;;28LLL
eeB!444Q7BBB))))))))<<BH
 
 
 	eeB!444Q7BBBBBr   rO   r  r   c                    g d}g d}t          t          j                            d                              d          ||          }t           j        }d}t          j        t          |          5   |||d	           d d d            n# 1 swxY w Y   t          j        t          |          5   |||d
	           d d d            d S # 1 swxY w Y   d S )Nr   r  rO   r  rr   z5Unable to coerce to Series, length must be 3: given 2rU   r   r   r   )	r   r"   rW   rX   rY   r  r[   r\   r]   )r$   r  rs   rT   rJ   r  r^   s          r   )test_alignment_non_pandas_length_mismatchzETestFrameArithmeticUnsorted.test_alignment_non_pandas_length_mismatch/  sq   !//I!!!$$44V<<
 
 
 'E]:S111 	# 	#E"c""""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# ]:S111 	# 	#E"c""""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s$   4BBB5CCCc                    g d}g d}t          t          j                            d                              d          ||          }t           j        }t          j        g dg dg dg          }t          j         |||d	
          d         t          ||j	        |j
                             t          j         |||d
          d         t          ||j	        |j
                             d}t          j        g dg dg          }t          j        t          |          5   |||d	
           d d d            n# 1 swxY w Y   t          j        t          |          5   |||d
           d d d            n# 1 swxY w Y   t          j        d          }t          j        d          }t          j        t          |          5   |||d	
           d d d            n# 1 swxY w Y   t          j        t          |          5   |||d
           d d d            d S # 1 swxY w Y   d S )Nr   r  rO   r  rr   r   rQ   r   rP   )r   r   r  r   r   r   r  rU   r  zGUnable to coerce to Series/DataFrame, dimension must be <= 2: (3, 3, 3))r   r"   rW   rX   rY   r  r(   rH   rI   rs   rT   r[   r\   r]   zerosr  r  )r$   rs   rT   rJ   r  r  r^   s          r   'test_alignment_non_pandas_index_columnszCTestFrameArithmeticUnsorted.test_alignment_non_pandas_index_columnsB  sd   !//I!!!$$44V<<
 
 
 'h			999iii899
E"c"""1%c2:>>>	
 	
 	
 	E"c"""1%c2:>>>	
 	
 	
 =h			999-..]:S111 	# 	#E"c""""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# ]:S111 	# 	#E"c""""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# hy!!iU
 
 ]:S111 	# 	#E"c""""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#]:S111 	# 	#E"c""""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#sH   -EEE.F		FFG22G69G6H44H8;H8c                     t          ddgdd gd          }|d         }t          j        d           5   t          ||          |           d d d            d S # 1 swxY w Y   d S )Nr  r  r   )r   rH   r  r   r$   rB  rJ   rh   s       r   test_no_warningz+TestFrameArithmeticUnsorted.test_no_warningh  s    c3ZsDk::;;sG'-- 	5 	51GB011!444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5s   AA!Ac                     t          ddgdd gd          }|d         }t          j        t          d          5   t	          ||          |d           d d d            d S # 1 swxY w Y   d S )Nr  r  r   ztakes 2 positional argumentsrU   r   )r   r[   r\   rw   r   r  s       r   test_dunder_methods_binaryz6TestFrameArithmeticUnsorted.test_dunder_methods_binaryn  s    c3ZsDk::;;sG]9,JKKK 	8 	81GB011!Q777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8s   A""A&)A&c                    t          j        dd                              dd          }t          j        dt                    }t          |          }|                                |d<   |                    t                    }||	                                z
  }||	                                z
  }t          j        ||           d S )Nr   rd  r'   r`   )r`   r   z0.X)r"   r   r   r   intr   r  r3   rp  meanrH   rI   )r$   r  r  r   r   rz   r{   s          r   test_align_int_fill_bugz3TestFrameArithmeticUnsorted.test_align_int_fill_bugu  s    IgY///77B??GG3'''llYY[[E
jjsxxzz!#
fh/////r   N)1r<   r=   r>   r#  r*  r[   r   r   r   r.  rW  rX  r  r2  filterwarningsr5  rL  rW  r^  rl  ru  r  r  r   r   r   r~   r   r   r  r  r  r  r  r  r   r'  AttributeErrorr  r"   r(   rc  r   r  r  r  r  r  r  r?   r   r   r  r    s       / / /0 0 0 [x|X\8<9IJ 0 0 00 [X(9;K'LMM[ BCC/ / DC NM/
 [T#J#J#JKK$0 $0 LK$0L, , ,>. . .;3 ;3 ;3z&
 &
 &
P,& ,& ,&\( ( ( [	hk8;X[(+V 1 1	 1@	 	 	6 6 6L L L\.0 .0 .0`9# 9# 9#v [FLk'')2L (     !	
 *" "+ *"& [IIBHYYYbh///E!QKK		
 C C C& [UaVVXRXq!f5E5EuuQPQ{{$STT# # UT#$$# $# $#L5 5 58 8 80 0 0 0 0r   r  c                      t          dg di          } t          g d          }| |z  }t          dt          j        dt          j        gi          }t          j        ||           d S )NrC   r{  r  r   r   r"   r   rH   rI   )r   r   rz   r{   s       r   test_pow_with_realignmentr    sk    c999%&&DIII&&&E5[F#RV4566H&(+++++r   c                  B   t          dt          j        t          j        t          j        gi          } t          dg di          }t          dg di          }| |z  }t          j        ||           | d         |d         z  }t          j        ||d                    d S )NrC   r}  )r   r   r   )r   r"   r   rH   rI   r  )r   r   r{   rz   s       r   test_pow_nan_with_zeror    s    cBFBFBF3455DsIII&''E#/00H5[F&(+++#Y%*$F68C=11111r   c                     t          t          j                            d                              ddd          g d          } t          g dg d          }|                     d	          |                    d	                              d
d          z   }t          || j        d          }| 	                    d          }||z   }t          j        ||           ||	                    d          z   }t          j        ||           d S )NrO   r   r   )r`   r   r  rS   r   r  rc  r  r   Int64r  )r   r"   rW   rX   r   r
   to_numpyr   rT   r3   rH   rI   )rJ   r  r{   df_earz   s        r   &test_dataframe_series_extension_dtypesr    s   	
	a  ))!S'::OOO
 
 
B ///
2
2
2C{{7##cll7&;&;&C&CB&J&JJH2:WEEEHIIgES[F&(+++SZZ(((F&(+++++r   c                  ~  	 t           j                            d                              ddd          } t	          |           }|                                                    dddd          }t           j        |j        dg df<   |                                                    ddi          }t           j        |j        ddgf<   |                                                    dddd          }t           j        |j        dt          j	        dd          f<   |                                                    dddd	          }t           j        |j        dt          j	        d
d          f<   ||f||f||ffD ]@\  		z   }t	          	fdj
        D                       }t          j        ||           Ad S )NrO   r   i  )r   r`   rp  )r   r   r   r   rO   r   rQ   r  rQ   r   c                 4    i | ]}||         |         z   S r?   r?   )rl   r   r   r   s     r   rp   z6test_dataframe_blockwise_slicelike.<locals>.<dictcomp>  s(    JJJaa58!3JJJr   )r"   rW   rX   r   r   r2   r3   r   r   r   rT   rH   rI   )
r   r   r   r   df4df5rL   r{   r   r   s
           @@r   "test_dataframe_blockwise_sliceliker    s   
)


"
"
+
+AtY
?
?C
C..C
((**

G@@
A
ACVCHQ			\ ((**

QL
)
)CvCHQV ((**

G@@
A
AC#%6CHQ	!Q 
((**

G@@
A
AC#%6CHQ	!Q c
S#Jc
; - -eUlJJJJJT\JJJKK
c8,,,,	- -r   zdf, col_dtyper   r   g      @r,  abrS   rd  rh   rk  c                    t          dt          j        gdt          j        ggt          d                    }|                    d|i          }| t          dgt          d                    z   }t          j        ||           d S )	Nr  r   r  rS   rh   g      rg   r  )r   r"   r   rZ   r3   r
   rH   rI   )rJ   	col_dtyper{   rz   s       r   /test_dataframe_operation_with_non_numeric_typesr    s{     3-#rv7dLLLHY/00H&$tCyy1111F&(+++++r   c                      t          dggdg          } t          g dgg d          }| |z   }t          t          j        ddggg d          }t          j        ||           d S )Nr   r9  )r   rT   r}  )r8  r9  r9  rS   r  )r   r   rz   r{   s       r   "test_arith_reindex_with_duplicatesr    s    
1#

3
3
3C
))).K.K.K
L
L
LC3YF261a.)3P3P3PQQQH&(+++++r   to_addr   c                 F   t          ddgddgd          }dt          | d                    d}t          j        t          |          5  || z    d d d            n# 1 swxY w Y   t          j        t          |          5  | |z    d d d            d S # 1 swxY w Y   d S )Nr   rO   r   zUnable to coerce list of r   z to Series/DataFramerU   )r   r5   r[   r\   r]   )r  rJ   r^   s      r   "test_arith_list_of_arraylike_raiser    s0    
!Qq!f--	.	.B
Kd6!9oo
K
K
KC	z	-	-	-  
V              	z	-	-	-                   s$   AA!$A!BBBc                 *   t          dg di          }|                                }|d         }|j        }|dz  }| r"|j        |usJ t          j        ||           d S |j        |u sJ t          dg di          }t          j        ||           d S )NrC   r   r   r  )r   r2   _valuesrH   rI   )using_copy_on_writerJ   r  r  valsr{   s         r   %test_inplace_arithmetic_series_updater    s    	C#	$	$BggiiGWF>D
aKF ,~T))))
b'*****~%%%%c999-..
b(+++++r   c            	      @   t          dggdgt          j        dgdggddg                    } t          dggdgt          dgd                    }t          dggdgt          j        dgdggddg                    }| |z
  }t	          j        ||           dS )	zP
    Regression test for: https://github.com/pandas-dev/pandas/issues/33765
    r   rg   r   rh   r  rr   r  N)r   r	   r  r   rH   rI   )r   r   r{   rz   s       r    test_arithmetic_multiindex_alignr    s     
e'!qc
3*EEE  C
 aSE#qc0D0D0D
E
E
EC
e'!qc
3*EEE  H
 3YF&(+++++r   c                  
   t          dt          d          t          d                    } | dz  }t          t          j        d          t          d          t          d                    }t	          j        ||           d S )NTr  cdr   r   )r   rZ   r"   r   rH   rI   )rJ   rz   r{   s      r   test_bool_frame_mult_floatr    sf    	4dT$ZZ	0	0B#XF$t**d4jjAAH&(+++++r   c                     t          g d|           }t          g d|           }t          g d|           }|                                |                                z
  }t          j        ||           d S )N)r   rO   Nr'   r   )r   r   N)r
   r   to_framerH   rI   )any_int_ea_dtypeseries1series2r{   rz   s        r   test_frame_sub_nullable_intr    s    \\\)9:::GYYY&6777G-=>>>H'"2"2"4"44F&(+++++r   zMignore:Passing a BlockManager|Passing a SingleBlockManager:DeprecationWarningc                      G fddt                      G fddt                     dg dg dd          } | d	z  } dg d
g dd          }t          j        ||           | | z   }t          j        ||           d S )Nc                   D    e Zd Zefd            Ze fd            ZdS )Etest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeriesc                     S r   r?   r$   SubclassedSeriess    r   _constructorzRtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeries._constructor(  	    ##r   c                     S r   r?   )r$   SubclassedDataFrames    r   _constructor_expanddimz\test_frame_op_subclass_nonclass_constructor.<locals>.SubclassedSeries._constructor_expanddim,  s	    &&r   N)r<   r=   r>   propertyr  r  )r  r
  s   r   r
  r  '  s]        		$ 	$ 	$ 	$ 
	$ 
	' 	' 	' 	' 
	' 	' 	'r   r
  c                   X     e Zd ZdgZd fdZed             Zefd            Z xZS )Htest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFramemy_extra_datar   Nc                 H    || _          t                      j        |i | d S r   )r  superr%   )r$   r  argskwargs	__class__s       r   r%   zQtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame.__init__3  s-    !.DEGGd-f-----r   c                 P    t          j        t          |           | j                  S r   )	functoolspartialr5   r  r)   s    r   r  zUtest_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame._constructor7  s    $T$ZZ1CDDDr   c                     S r   r?   r	  s    r   _constructor_slicedz\test_frame_op_subclass_nonclass_constructor.<locals>.SubclassedDataFrame._constructor_sliced;  r  r   r;   )	r<   r=   r>   	_metadatar%   r  r  r  __classcell__)r  r
  s   @r   r  r  0  s        $%		. 	. 	. 	. 	. 	. 
	E 	E 
	E 
	$ 	$ 	$ 	$ 
	$ 	$ 	$ 	$ 	$r   r  	some_datar   r  r  rO   r  )r   r`      r  )sdfrz   r{   r  r
  s      @@r   +test_frame_op_subclass_nonclass_constructorr#  !  s    ' ' ' ' ' ' ' '6 ' ' '$ $ $ $ $ $ $i $ $ $ 
k+K+K
L
LC1WF"";iiikkk0R0RSSH&(+++3YF&(+++++r   c                     t          dd          } t          | j        g di          }t          | j        g di          }|| j                 || j                 k    }t          g d| j                  }t	          j        ||           d S )NColsz	col1 col2r   )TTTr  )r   r   r.  r
   rH   r  )r%  q1q2rz   r{   s        r   test_enum_column_equalityr(  H  s    $$D	DIyyy)	*	*B	DIyyy)	*	*B	]bm+F(((ty999H68,,,,,r   )?collectionsr   r   r   enumr   r  r   r  numpyr"   r[   pandas.util._test_decoratorsutil_test_decoratorsr  pandasr   r   r   r	   r
   pandas._testing_testingrH   pandas.core.computationr   r   #pandas.core.computation.expressionsr   pandas.tests.frame.commonr   r   pandas.util.versionr   fixturer   r   rA   r   r  r  r  r  r  r  r  r  r  r  r   r   rZ   r  r  r  r  r  r  r  r  r#  r(  r?   r   r   <module>r7     s                           				      ) ) ) ) ) ) ) ) )                      7 7 7 7 7 7 = = = = = =        ( ' ' ' ' ' a\	87LMMM' ' NM'               :W; W; W; W; W; W; W; W;t@. @. @. @. @. @. @. @.Nj0 j0 j0 j0 j0 j0 j0 j0Z@0 @0 @0 @0 @0 @0 @0 @0F
  ., , ,- - -"x
0 x
0 x
0 x
0 x
0 x
0 x
0 x
0v, , ,
2 
2 
2, , ,"- - -4 	S#Jc
+TT$ZZ	@	@	@)L	S#Jc
+TT$ZZ	@	@	@(K , , ,, , , VVQF^^$4vvq!f~~vvqRSf~~6V#WXX  YX, , ,$, , ,&, , ,, , , S !, !, !,H	- 	- 	- 	- 	-r   