
    Mh                        S SK JrJrJr  S SKJr  S SKrS SKrS SK	r	S SK
Jr  S SKJr  S SKrS SKJrJrJrJrJrJrJrJr  S SKJr  S SKJr  S SKJr  S S	K J!r!  \	RD                  " S
S S/SS/S9S 5       r#S r$ " S S5      r% " S S5      r& " S S5      r' " S S5      r( " S S5      r) " S S5      r* " S S5      r+S r,S  r-S! r.g)"    )date	timedeltatimezone)DecimalN)lib)IncompatibleFrequency)CategoricalDatetimeTZDtypeIndexSeries	Timedeltabdate_range
date_rangeisna)ops)expressions)NUMEXPR_INSTALLEDTi@B numexprpython)autouseparamsidsc              #      #    UR                  5        nUR                  [        SU R                  5        S v   S S S 5        g ! , (       d  f       g = f7f)N_MIN_ELEMENTS)contextsetattrexprparam)requestmonkeypatchms      U/var/www/html/env/lib/python3.13/site-packages/pandas/tests/series/test_arithmetic.pyswitch_numexpr_min_elementsr#       s5     				!			$7 
		s   A&A	A
AAc                     U R                  [        R                  R                  S5      R	                  [        U 5      5      5      $ N   )takenprandomdefault_rngpermutationlen)objs    r"   _permuter.   '   s/    88BII))!,88SBCC    c            	       ,   \ rS rSr\R
                  R                  SS S S4S S S4S S	 S
4S S S
4/5      \R
                  R                  S/ SQ5      S 5       5       rS rS r	\
R                  \R                  S4\
R                  \R                   S4/rS HQ  rSr\" \
\5      r\" \\5      r\" \
S\-   5      r\4S jr\R3                  \\\45        \R3                  \\\45        MS     \R
                  R                  S\5      S 5       rSrg)TestSeriesFlexArithmetic+   tsc                     U $ N xs    r"   <lambda>!TestSeriesFlexArithmetic.<lambda>/       qr/   c                     U S-  $ r%   r6   r7   s    r"   r9   r:   /   s    AEr/   Fc                     U $ r5   r6   r7   s    r"   r9   r:   0   r;   r/   c                     U S S S2   $ r%   r6   r7   s    r"   r9   r:   0   s    AccFr/   c                     U $ r5   r6   r7   s    r"   r9   r:   1   r;   r/   c                     g)N   r6   r7   s    r"   r9   r:   1   s    Ar/   Tc                 D    [        [        S5      [        R                  S9$ N
   dtyper   ranger(   float64r7   s    r"   r9   r:   3       &r"**=r/   c                 D    [        [        S5      [        R                  S9$ rC   rG   r7   s    r"   r9   r:   4   rJ   r/   opname)addsubmulfloordivtruedivpowc                    [        [        R                  " S[        R                  S9[	        SSS9SS9nUS   " U5      nUS   " U5      nUS	   n[        [         U5      n[        [        U5      nU" XE5      n	U" XE5      n
[        R                  " X5        U(       a:  [        [         S
U-   5      nU" XE5      n	U" XT5      n
[        R                  " X5        g g )N   rE   z
2020-01-01periodsr3   indexnamer      r&   r)	r   r(   arangerI   r   getattroperatortmassert_almost_equal)selfrL   r3   tserseriesothercheck_reverseopaltresultexpectedrops               r"   test_flex_method_equivalence5TestSeriesFlexArithmetic.test_flex_method_equivalence,   s    $ IIb

+\26
 At1d1VV$h'F"v%
v0&#,/C'F5)H""64	 r/   c                    ^  " U4S jS[         5      mUn[        [         U5      nT" / SQSS9nSUl        U" US5      nUR                  S:X  d   eg )Nc                   2   > \ rS rSrS/r\U 4S j5       rSrg)ZTestSeriesFlexArithmetic.test_flex_method_subclass_metadata_preservation.<locals>.MySeriesV   r8   c                    > T$ r5   r6   )ra   MySeriess    r"   _constructorgTestSeriesFlexArithmetic.test_flex_method_subclass_metadata_preservation.<locals>.MySeries._constructorY   s    r/   r6   N)__name__
__module____qualname____firstlineno__	_metadatapropertyrs   __static_attributes__)rr   s   r"   rr   ro   V   s    I   r/   rr   rZ   r&      testrY   *   rZ   )r   r]   r8   )ra   all_arithmetic_operatorsrL   rf   r!   rh   rr   s         @r"   /test_flex_method_subclass_metadata_preservationHTestSeriesFlexArithmetic.test_flex_method_subclass_metadata_preservationT   sP    	 v 	  *VV$YV,Aqxx2~~r/   c                     [        SS[        R                  SSS/5      nUR                  S5      R	                  S5      nUR	                  SSS9n[
        R                  " X25        g )Nr   rZ   r}      rA   r&   
fill_value)r   r(   nanfillnarM   r_   assert_series_equal)ra   serexpress       r"   test_flex_add_scalar_fill_value8TestSeriesFlexArithmetic.test_flex_add_scalar_fill_valued   sU    aBFFAq!,-jjm"ggaAg&
s(r/   rZ   )rM   rN   rO   rR   rQ   rP   r   r[   c                 .    [        [        U5      " X5      $ r5   )r]   r^   )r8   yrf   s      r"   r9   r:   s   s    WXr%:1%@r/   zop, equiv_op, fvc                    SS jn[        [        R                  SSS[        R                  /[        R                  " S5      S9n[        [        R                  S[        R                  S	[        R                  S
/[        R                  " S5      S9nU" XV5      nU" XV5      n[        R
                  " Xx5        U" XXVUS9  U" XVSS9  g )Nr   c           	      <   UR                   R                  UR                   5      nUR                  U5      nUR                  U5      n[        U5      n[        U5      n/ n[	        [        U5      5       H  n	[        R                  " SS9   Xi   (       aN  Xy   (       a*  UR                  [        R                  5         S S S 5        MT  UR                  U" XCU	   5      5        OsXy   (       aN  Xi   (       a*  UR                  [        R                  5         S S S 5        M  UR                  U" X)   U5      5        OUR                  U" X)   X9   5      5        S S S 5        M     U " X#US9n
[        X5      n[        R                  " X5        g ! , (       d  f       GM'  = f)Nignore)allr   )rX   unionreindexr   rH   r,   r(   errstateappendr   r   r_   r   )methrf   abr   	exp_indexamaskbmask
exp_valuesirh   ri   s               r"   _check_fillDTestSeriesFlexArithmetic.test_operators_combine.<locals>._check_filly   s9   agg.I		)$A		)$AGEGEJ3y>*[[X.x 8&--bff5$	 /.
 #))"Z1*>? 8&--bff5$ /. #))"QT:*>?"))"QT14.9 /. + !:6Fj4H""64! /.s   3FAF7F
F	      ?g       @g      @rA   rX   rZ   r}         @   r   axis)r   )r   r(   r   r\   r_   r   )	ra   rf   equiv_opfvr   r   r   rh   r   s	            r"   test_operators_combine/TestSeriesFlexArithmetic.test_operators_combinew   s    	58 BFFCc2662"))A,GBFFArvvq"&&#6biilKAqn
v+B!26
1ar/   r6   N)ru   rv   rw   rx   pytestmarkparametrizerk   r   r   r   divr^   rQ   rdivr   rtruedivpairingsrf   r   r]   loplequivrj   requivr   r   r{   r6   r/   r"   r1   r1   +   s9   [[/51*E2+t,==			
 [[E5 50 ) X--q1FKKq3QRHAfb!2&fcBh'!#@fb)*fb)* B [[/:% ;%r/   r1   c                   h   \ rS rSrS r\R                  R                  SSSS/SS/4S	SS/S
S/4/5      S 5       rS r	\R                  R                  SS\
" S5      /5      S 5       rS rS rS rS rS rS rS rS rS rS rS r\R                  R                  SSS/5      S  5       rS! rS"rg)#TestSeriesArithmetic   c                    [         R                  " SSSS9n[        [        R                  R                  S5      R                  [        U5      5      US9nX"S S S2   -   nX"-   n[        R                  UR                  SS S2'   [        R                  " X45        U[        US S S2   5      -   n[        R                  " X45        Sn[        R                  " [        US	9   X"R!                  S
SS9-     S S S 5        g ! , (       d  f       g = f)N1/1/2000z1/1/2010Yfreqr&   r   rZ   z4Input has different freq=D from Period\(freq=Y-DEC\)matchDend)how)pdperiod_ranger   r(   r)   r*   standard_normalr,   r   ilocr_   r   r.   r   raisesr   asfreq)ra   rngr3   rh   ri   msgs         r"   !test_add_series_with_period_index6TestSeriesArithmetic.test_add_series_with_period_index   s    ooj*3?BII))!,<<SXFcR1g7 ffadd
v0hr#A#w''
v0F]]0<3E** =<<s   C;;
D	z%target_add,input_value,expected_value!helloworldzhello!zworld!r!   hellomworldmc                 d    [        U5      nXA-   n[        U5      n[        R                  " XV5        g r5   r   r_   r   )ra   
target_addinput_valueexpected_valuer   rh   ri   s          r"   test_string_addition)TestSeriesArithmetic.test_string_addition   s-     ;.)
v0r/   c                    [        SSS[        R                  // SQS9n[        S[        R                  S[        R                  // SQS9nUR                  U5      n[        X5      n[        R
                  " US   US   5        [        R
                  " US   US   5        UR                  U5      n[        X!5      n[        R
                  " US   US   5        [        R
                  " US   US   5        g )NrZ   )r   r   cdr   r&   )r   r   r   er   )r   r(   r   divmodr_   r   rdivmod)ra   r   r   rh   ri   s        r"   test_divmod TestSeriesArithmetic.test_divmod   s    Aq!RVV$,@AArvvq"&&)1EF!!<
vay(1+6
vay(1+61!<
vay(1+6
vay(1+6r/   rX   N	   c                     [        [        SS5      5      n[        SUS9nSn[        R                  " [        [
        4US9   X2-    S S S 5        g ! , (       d  f       g = f)NrZ   rD   foor   z<not all arguments converted during string formatting|mod notr   )r   rH   r   r   	TypeErrorNotImplementedError)ra   rX   s1s2r   s        r"   test_series_integer_mod,TestSeriesArithmetic.test_series_integer_mod   sK     E!RL!E'L]]I':;3GG HGGs   A
Ac                     [        SS/SS/S9n[        SS/SS/S9nX-   n[        SS[        R                  // SQS9n[        R                  " X45        g )NrZ   r&   r   rD         )rZ   rZ   r&   )r   r(   r   r_   r   )ra   r   r   rh   ri   s        r"   test_add_with_duplicate_index2TestSeriesArithmetic.test_add_with_duplicate_index   sV    QF1a&)RHQF+2r266*)<
v0r/   c           	      :   [        [        S5      [        S5      /[        SSS5      [        SSS5      /S9nXR                  S5      -   nUR                  S5      U-   n[	        UR
                  S   5      (       d   e[	        UR
                  S   5      (       d   eg )Nz1.3z2.3i  rZ   r&   r   r   )r   r   r   shiftr   r   )ra   r   rh   result2s       r"   test_add_na_handling)TestSeriesArithmetic.test_add_na_handling   s    U^WU^,T$15EtDRSUVGW4X
 yy|#))A,$FKKN####GLLO$$$$r/   c                     [        / [        / 5      [        R                  S9nX-   n[        R                  " U5      R                  5       (       d   eX"R                  5       -   n[        U5      S:X  d   eg )N)rX   rF   r   )r   r   r(   rI   isnanr   copyr,   )ra   datetime_seriesemptyrh   s       r"   test_add_corner_cases*TestSeriesArithmetic.test_add_corner_cases   s^    rr"**= (xx##%%%%%6{ar/   c                     UR                  [        5      S S nX-   n[        UR                  S S UR                  -   UR                  S S SS9n[
        R                  " US S U5        g )Nr3   rW   )astypeintr   valuesrX   r_   r   )ra   r   int_tsaddedri   s        r"   test_add_float_plus_int,TestSeriesArithmetic.test_add_float_plus_int   so     '',Sb1(""3B'&--7!'',

 	uSbz84r/   c                     [        / / [        R                  S9n[        SS05      n[        R                  " X-  [        [        R
                  /S/S95        g )NrE   r8   g        r   )r   r(   int32r_   r   r   )ra   r   r   s      r"   test_mul_empty_int_corner_case3TestSeriesArithmetic.test_mul_empty_int_corner_case  sC    B"((+S#J
rwxu(EFr/   c                    [        [        SSSS95      n[        R                  UR                  S'   US S S2   n[        [        S5      [        S5      [        R                  /5      nX!-
  n[        R                  " XC5        [        USS9nUR                  5       UR                  5       -
  S   n[        R                  " XC5        g )	Nz2012-1-1r}   r   rV   r   r&   r   r   )r   r   r(   r   r   r   r   NaTr_   r   to_frame)ra   dtdt2ri   rh   s        r"   test_sub_datetimelike_align0TestSeriesArithmetic.test_sub_datetimelike_align  s     Jz13?@VV
2h9Q<1rvv>?
v0(+,,.2;;=0!4
v0r/   c                     [        SSSS9nUR                  S5      n[        SUS9n[        SUS9nX4-    UR                  UL d   eUR                  UL d   eg )Nz
2016-01-01rD   CET)rV   tzUTCr   )r   
tz_convertr   rX   )ra   dtidti_utcr   ser_utcs        r"   test_alignment_doesnt_change_tz4TestSeriesArithmetic.test_alignment_doesnt_change_tz  sa    re<..'Rs#7+ 	yyC}}'''r/   c                 $   [        / SQ5      n[        SUS9n[        SUS S S9nX#-  nS/S-  S/S-  -   S	/-   n[        R                  " XQR                  S
9nS/S-  [
        R                  /-   n[        Xe5      n[        R                  " XG5        g )N)3z53r  LoJGr  r  N503r&   r   r  r  r   r  r   r   )
categoriesr      )	r	   r   r   CategoricalIndexr!  r(   r   r_   r   )ra   catser1ser2rh   r   r   ri   s           r"   test_alignment_categorical/TestSeriesArithmetic.test_alignment_categorical$  s    JKas#as3Bx(HqLF8a</6(:	''	nnM	URZ266(*
*0
v0r/   c                 t   / SQn[        [        R                  " SSSS9US9n[        [        R                  " SSS9US9nX#-
  n[        S/ SQS9n[        R                  " XE5        [        [        SSS	9US9n[        [        S
SS	9US9nX#-
  n[        [        S5      / SQS9n[        R                  " XE5        g )N)r&   r&   r}   r}   r   rZ   r   int64rE   r   rA   z20130101 09:00:00rU   20130101z9 hours)r   r(   r\   r_   r   r   r   )ra   rX   r   rd   rh   ri   s         r"   $test_arithmetic_with_duplicate_index9TestSeriesArithmetic.test_arithmetic_with_duplicate_index2  s      RYYq!735Aryy'2%@!?3
v0 Z 3Q?uMz*a8F)I.oF
v0r/   c                     [        S[        R                  /SS9n[        SS/SS9nX-  n[        S[        R                  /SS9n[
        R                  " X45        g )Nr   floatrE   rZ   Int64Float64)r   r(   r   r   NAr_   r   ra   r%  r&  rh   ri   s        r"   'test_masked_and_non_masked_propagate_na<TestSeriesArithmetic.test_masked_and_non_masked_propagate_naD  sO    q"&&k1q!fG,1bee*I6
v0r/   c                 2   [        S[        R                  SS/SS9n[        SS[        R                  S/5      nX-  n[        S[        R                  [        R                  S/SS9n[
        R                  " X45        X!-  n[
        R                  " X45        g )N   rA   r   r0  rE   r   r1  )r   r   r2  r(   r   r_   r   r3  s        r"   +test_mask_div_propagate_na_for_non_na_dtype@TestSeriesArithmetic.test_mask_div_propagate_na_for_non_na_dtypeL  sy    r255!Q'w7r1bffa()3ruuc2)D
v0
v0r/   z
val, dtype)r}   r0  )g      @r1  c                     [        / SQSS9nUSS U/-   n[        SS SU-   /US9n[        R                  " XE5        SS U/U-   n[        R                  " XE5        g )N)rZ   Nr}   r0  rE   rZ   r&   r}   r   )ra   valrF   r   rh   ri   s         r"   test_add_list_to_masked_array2TestSeriesArithmetic.test_add_list_to_masked_arrayW  sc     \14~%1dAG,E:
v0T3#%
v0r/   c                    UR                   R                  R                  S:X  a  [        (       a  [        OS n[        / SQSS9n[        R                  " U5         U/ SQ-   nS S S 5        [        / SQSS9n[        R                  " WU5        [        R                  " U5         / SQU-   nS S S 5        [        R                  " XE5        g ! , (       d  f       Nn= f! , (       d  f       N6= f)Nr   )TNFbooleanrE   )TNT)	nodecallspecidr   UserWarningr   r_   assert_produces_warningr   )ra   r   warningr   rh   ri   s         r"   %test_add_list_to_masked_array_boolean:TestSeriesArithmetic.test_add_list_to_masked_array_booleanb  s     ||$$''949J9J  	
 (	:''0--F 1,I>
vx0''0'#-F 1
v0 10
 10s   C
#C

C
C)r6   )ru   rv   rw   rx   r   r   r   r   r   r   rH   r   r   r   r   r  r  r  r  r'  r,  r4  r8  r<  rF  r{   r6   r/   r"   r   r      s    +  [[/7G$x&:;7G$x&:;	
117 [[WtU1X&67 81% 	5G
1 (11$1	1 [[\L:J+KL1 M11r/   r   c                   n   \ rS rSr\R
                  R                  S/ SQ5      S 5       rS r\R
                  R                  S/ SQS4/ S	QS
4/ SQS4/ SQS4/ SQS4/ SQS4/5      S 5       r	\R
                  R                  S/ SQSS4/ SQS
S4/ SQSS4/ SQSS4/ SQSS4/ SQSS4/5      S 5       r
Srg)TestSeriesFlexComparisonix  r   )r   NrX   c                 N   [        [        R                  R                  S5      R	                  S5      5      n[        [        R                  R                  S5      R	                  S5      5      n[        X2R                  5      " XAS9nU" X45      n[        R                  " XV5        g )Nr&   rD   r   )	r   r(   r)   r*   r   r]   ru   r_   r   )ra   r   comparison_opleftrightrh   ri   s          r"   test_comparison_flex_basic3TestSeriesFlexComparison.test_comparison_flex_basicy  sw    bii++A.>>rBCryy,,Q/??CD556uH -
v0r/   c                 ~   [        [        R                  R                  S5      R	                  S5      5      n[        [        R                  R                  S5      R	                  S5      5      nSn[
        R                  " [        US9   [        X!R                  5      " USS9  S S S 5        g ! , (       d  f       g = f)Nr&   rD   zNo axis named 1 for object typer   rZ   r   )
r   r(   r)   r*   r   r   r   
ValueErrorr]   ru   )ra   rK  rL  rM  r   s        r"   test_comparison_bad_axis1TestSeriesFlexComparison.test_comparison_bad_axis  s~    bii++A.>>rBCryy,,Q/??CD/]]:S1D001%a@ 211s   
B..
B<z
values, op)FFTFeq)TTFTnele)FFFFlt)FTTFge)FTFFgtc                     [        / SQ[        S5      S9n[        / SQ[        S5      S9n[        X25      " U5      n[        U[        S5      S9n[        R                  " XV5        g )NrZ   r}   r&   abcr   r&   r&   r&   bcdabcdr   listr]   r_   r   )ra   r  rf   rL  rM  rh   ri   s          r"   test_comparison_flex_alignment7TestSeriesFlexComparison.test_comparison_flex_alignment  sQ     itE{3yU4"5)&V5
v0r/   zvalues, op, fill_value)FFTTr&   )TTFFr   )FFFT)TTTFc                     [        / SQ[        S5      S9n[        / SQ[        S5      S9n[        XB5      " XSS9n[        U[        S5      S9n[        R                  " Xg5        g )Nr[  r\  r   r]  r^  r   r_  r`  )ra   r  rf   r   rL  rM  rh   ri   s           r"   #test_comparison_flex_alignment_fill<TestSeriesFlexComparison.test_comparison_flex_alignment_fill  sQ     itE{3yU4"5@&V5
v0r/   r6   N)ru   rv   rw   rx   r   r   r   rN  rR  rb  re  r{   r6   r/   r"   rI  rI  x  s    [[V%781 91A [[($/&-($/)40'.($/	

1
1 [[ 'q1'q1'q1($2&a0'q1	

1
1r/   rI  c                      \ rS rSrS r\R                  R                  S/ SQ5      S 5       r\R                  R                  S/ SQ5      S 5       r	\R                  R                  S/ SQ5      S	 5       r
S
 rS rS rS rS rS rS r\R                  R                  S\" / SQ\" S5      SS9\" / SQ\" S5      SS94\" / SQ\" S5      SS9\" / SQ\" S5      SS94/5      S 5       rS rSrg)TestSeriesComparisoni  c                 L   [        / SQ5      n[        SS/5      nSn[        R                  " [        US9   X:    S S S 5        [        SS/5      n[        / SQ5      n[        R                  " [        US9   X:H    S S S 5        g ! , (       d  f       NO= f! , (       d  f       g = f)	Nr   r   r   r   r   z'only compare identically-labeled Seriesr   rZ   r&   )r&   r}   r   )r   r   r   rQ  )ra   r   r   r   s       r"    test_comparison_different_length5TestSeriesComparison.test_comparison_different_length  s}    ?#C:7]]:S1E 2 Aq6N9]]:S1F 21 21
 21s   B6B
B
B#rL   )rT  rU  rY  rW  rX  rV  c                     [        / SQ[        S5      S9nSn[        X!5      " U5      R                  n[        R
                  " S5      nXE:X  d   eg )Nr[  r}   r   r&   bool)r   rH   r]   dtypesr(   rF   )ra   rL   r   constrh   ri   s         r"   test_ser_flex_cmp_return_dtypes4TestSeriesComparison.test_ser_flex_cmp_return_dtypes  sH     YeAh/%e,3388F#!!!r/   c                     [        / SQ[        S5      S9nUR                  S S nSn[        X15      " U5      R                  n[
        R                  " S5      nXV:X  d   eg )Nr[  r}   r   r   r&   rn  )r   rH   r   r]   ro  r(   rF   )ra   rL   r   r   rp  rh   ri   s          r"   %test_ser_flex_cmp_return_dtypes_empty:TestSeriesComparison.test_ser_flex_cmp_return_dtypes_empty  sW     YeAh/!'.5588F#!!!r/   names))NNN)r   barN)bazrx  rx  c                    Un[        SSSUS   S9n[        U5      R                  US   5      nU" XT5      nUR                  US   :X  d   eUR	                  S5      n[
        R                  " US	S
9n[        U5      R                  US   5      nU" XT5      nUR                  US   :X  d   eXDR                  S5      -
  n[        U5      R                  US   5      nU" XW5      nUR                  US   :X  d   eU[        R                  [        R                  4;   aS  [
        R                  " SSUS   S9n[        U5      R                  US   5      nU" XX5      nUR                  US   :X  d   eU[        R                  [        R                  4;   aL  UR                  S5      n	[        U	5      R                  US   5      nU" XY5      nUR                  US   :X  d   eg g )Nz1949-06-07 03:00:00hrA   r   )r   rV   rY   rZ   r&   z
US/Centralinferr   )startrV   rY   category)r   r   renamerY   tz_localizer   DatetimeIndexr   r^   rT  rU  interval_ranger   )
ra   rv  rK  rf   r  r   rh   tdiiicidxs
             r"   test_ser_cmp_result_names.TestSeriesComparison.test_ser_cmp_result_names  s   
 .S!%PQ(SSk  q*C{{eAh&&& ool+s1Sk  q*C{{eAh&&& IIaL Sk  q*C{{eAh&&& (++x{{++""AE!HEB*##E!H-C[F;;%(*** (++x{{++::j)D,%%eAh/C]F;;%(*** ,r/   c                 V   [        / SQ5      n[        / SQ5      n[        / SQ5      nU(       a  SS KnSn[        R                  " UR                  R
                  US9   X#:H    S S S 5        [        R                  " [        SSS	9   [        R                  " UR                  R
                  US9   X2:H    S S S 5        S S S 5        g [        R                  " X#:H  U5        [        R                  " X2:H  U5        g ! , (       d  f       N= f! , (       d  f       N[= f! , (       d  f       g = f)
Nrj  )FTFFFFr   zhas no kernelr   
comparisonF)r   check_stacklevel)
r   pyarrowr   r   r   ArrowNotImplementedErrorr_   rD  DeprecationWarningr   )ra   using_infer_stringsr   r   par   s          r"   test_comparisons%TestSeriesComparison.test_comparisons  s    ?#() *+ !Crvv>>cJ K++", ]]266#B#B#NG O  ""17C0""27C0 KJ
 ON s0   C8*D/D	4D8
D	
D	D
D(c                    [        [        S5      SS9n[        [        S5      SS9n[        / SQSS9n[        [        S5      SS9n[        [        S5      5      n[        [        S5      5      nUS:H  R                  5       (       a   eUS:g  US:H  ) :H  R                  5       (       d   eSU:H  R                  5       (       a   eUS:H  S   (       d   eSU:H  S   (       d   eSU:g  S   (       a   eX:H  R                  5       (       d   eX:g  R                  5       (       a   eU[        U5      :H  R                  5       (       d   eX:H  R                  5       (       d   eX!:H  R                  5       (       d   eX:H  ) X:g  :H  R                  5       (       d   eX!:H  ) X!:g  :H  R                  5       (       d   eX:H  R                  5       (       a   eX1:H  R                  5       (       a   eX:H  R                  5       (       a   eXA:H  R                  5       (       a   eX:H  R                  5       (       d   eXQ:H  R                  5       (       d   eX:H  R                  5       (       a   eXa:H  R                  5       (       a   eX:H  ) X:g  :H  R                  5       (       d   eXQ:H  ) XQ:g  :H  R                  5       (       d   eX:H  ) X:g  :H  R                  5       (       d   eXa:H  ) Xa:g  :H  R                  5       (       d   eS	n[        R
                  " [        US
9   X:    S S S 5        [        R
                  " [        US
9   X!:    S S S 5        [        R
                  " [        US
9   X:    S S S 5        [        R
                  " [        US
9   X!:    S S S 5        g ! , (       d  f       N= f! , (       d  f       Nl= f! , (       d  f       NW= f! , (       d  f       g = f)Nr\  r}  rE   object)r   r   ccacbr   r    can only compare equality or notr   )r   ra  r	   r   r   r   r   )ra   r   r   r   r   r   fr   s           r"   test_categorical_comparisons1TestSeriesComparison.test_categorical_comparisons  s*    4;j14;h/#844;h/U$U$ H>>####cSk)..00001H>>####S!}}q!}}1Ha=   ||~~~F<<>>!!T!W!!####||~~~||~~~6',,....6',,....F<<>>!!F<<>>!!F<<>>!!F<<>>!! ||~~~||~~~F<<>>!!F<<>>!!&	af%**,,,,&	af%**,,,,&	af%**,,,,&	af%**,,,, 1]]9C0E 1]]9C0E 1]]9C0E 1]]9C0E 10 10000000s0   N:N% N6O
N"%
N36
O
Oc                    [        [        [        S5      5      5      nSn[        R                  " [
        US9   US:    S S S 5        [        [        [        S5      SS95      n[        R                  " [
        US9   US:    S S S 5        [        [        [        S5      SS95      nSn[        R                  " [
        US9   US	:    S S S 5        [        R                  " [
        US9   US	:    S S S 5        [        R                  " [
        US9   S	U:    S S S 5        [        R                  " [
        US9   S	U:    S S S 5        [        R                  " US	:H  [        / S
Q5      5        [        R                  " US	:g  [        / SQ5      5        g ! , (       d  f       GNW= f! , (       d  f       GN&= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f)Nr\  r  r   r   F)orderedTz1Invalid comparison between dtype=category and strr   r  )TTT)r   r	   ra  r   r   r   r_   r   )ra   r$  r   s      r"   5test_unequal_categorical_comparison_raises_type_errorJTestSeriesComparison.test_unequal_categorical_comparison_raises_type_errorG  sO   [e-.0]]9C0#I 1 [ee<=]]9C0#I 1 [ed;<A]]9C0#I 1]]9C0#I 1]]9C0#I 1]]9C0#I 1 	scz62G+HI
scz62D+EF/ 10 10 10000000sG   F<F!F3(GG6G&
F!
F03
G
G
G#&
G4c                    [        SS/5      nUS:H  n[        SS/5      n[        R                  " X#5        US:g  n[        SS/5      n[        R                  " X#5        US:H  n[        SS/5      n[        R                  " X#5        US:g  n[        SS/5      n[        R                  " X#5        [        SS/5      nUS:H  n[        SS/5      n[        R                  " X#5        US:g  n[        SS/5      n[        R                  " X#5        g )N)rZ   rZ   )rZ   r&   FT)r   r   r   )ra   r  rh   ri   s       r"   test_comparison_tuples+TestSeriesComparison.test_comparison_tuplesf  s     FF#$f5$-(
v0f4-(
v0f5%.)
v0f4,'
v0FF#$f4,'
v0f5%.)
v0r/   c                     [        [        S/5      [        SS/5      /5      nU[        S/5      :H  n[        SS/5      n[        R                  " X#5        g )NrZ   r&   TF)r   	frozensetr_   r   ra   r   rh   ri   s       r"   test_comparison_frozenset.TestSeriesComparison.test_comparison_frozenset  sL    iniA&789	1#&4-(
v0r/   c                 $   [        [        SSS9[        S9n[        R                  US S S2'   US   nU" X#5      nU" UR                  5       U5      R                  UR                  5      nSn[        R                  " [        US9   U[        R                  L a%  UR                  S	5      R                  [        5      nO$UR                  S
5      R                  [        5      nS S S 5        [        R                   " XE5        g ! , (       d  f       N%= f)Nr   rD   rU   rE   r&   rA   zDowncasting object dtype arraysr   TF)r   r   r  r(   r   dropnar   rX   r_   rD  FutureWarningr^   rU  r   r   rn  r   )ra   rK  r   r;  rh   ri   r   s          r"   "test_comparison_operators_with_nas7TestSeriesComparison.test_comparison_operators_with_nas  s    [R8G66CaC !fs( s3;;CIIF/''SA+#??4077=#??5188>	 B 	v0 BAs   AD
Dc                     [        / SQ/ SQ[        S9n[        R                  " / SQ5      n[        R
                  " UR                  S:g  U5        [        R
                  " UR                  S:H  ) U5        g )N)r}   r   rA   r      rE   )TTFTTrA   )r   r/  r(   arrayr_   assert_numpy_array_equalrX   )ra   r3   ri   s      r"   test_neTestSeriesComparison.test_ne  sR    O_EB88;<
##BHHM8<
##bhh!m$4h?r/   zleft, rightr|   ABCr8   rW   r]  ABD)r&   r&   r&   r&   ABCDc                 ,   U[         La1  SUR                   S3nUR                  5       nUR                  5       nOSUR                   S3n[        R                  " [
        US9   X:H    S S S 5        [        R                  " [
        US9   X!:H    S S S 5        [        R                  " [
        US9   X:g    S S S 5        [        R                  " [
        US9   X!:g    S S S 5        [        R                  " [
        US9   X:    S S S 5        [        R                  " [
        US9   X!:    S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Ny= f! , (       d  f       g = f)Nz@Can only compare identically-labeled \(both index and columns\) z objectsz%Can only compare identically-labeled r   )r   ru   r  r   r   rQ  )ra   rL  rM  frame_or_seriesr   s        r"   test_comp_ops_df_compat,TestSeriesComparison.test_comp_ops_df_compat  s)     &(S"++,H6  ==?DNN$E 88P8P7Q R  
 ]]:S1M 2]]:S1M 2 ]]:S1M 2]]:S1M 2 ]]:S1L 2]]:S1L 21 2111 2111 2111sH   $D0
E0EE#<E4"F0
D>
E
E #
E14
F
Fc                 n    [        / SQ5      nUS:H  n[        / SQ5      n[        R                  " X#5        g )N)	IntervalA	IntervalB	IntervalCr  )TFFr   r  s       r"   $test_compare_series_interval_keyword9TestSeriesComparison.test_compare_series_interval_keyword  s0    <=#./
v0r/   r6   N)ru   rv   rw   rx   rk  r   r   r   rq  rt  r  r  r  r  r  r  r  r  r   ra  r  r  r{   r6   r/   r"   rh  rh    s#   
 [[X'KL" M" [[X'KL" M" [[R#+#+J126pG>1>11&@ [[ yU#>yU#>
 yU#>|4<cB		
>1r/   rh  c                   ,    \ rS rSrS rS rS rS rSrg)TestTimeSeriesArithmetici  c                 "   [        SSSSS9n[        R                  R                  S5      R	                  S5      S S n[        [        R                  R                  S5      R                  S5      UR                  U5      R                  S5      S	9n[        R                  R                  S5      R	                  S5      S S n[        [        R                  R                  S5      R                  S5      UR                  U5      R                  S
5      S	9nX4-   nUR                  S5      nUR                  S5      nXg-   nUR                  5       nUR                  R                  [        R                  L d   e[        R                  " XX5        g )N1/1/2011d   rz  utc)rV   r   r  r&   Z   z
US/Easternr   zEurope/Berlin)r   r(   r)   r*   r+   r   r   r'   r  
sort_indexrX   r  r   r  r_   r   )	ra   r   permr%  r&  rh   uts1uts2ri   s	            r"   +test_series_add_tz_mismatch_converts_to_utcDTestTimeSeriesArithmetic.test_series_add_tz_mismatch_converts_to_utc  s>   SsuEyy$$Q'33C8"=II!!!$44R8((4.++L9

 yy$$Q'33C8"=II!!!$44R8((4.++O<

 u%u%; &&(||(,,...
v0r/   c                    [        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      US9nUR                  S5      nSn[        R                  " [        US	9   X#-     S S S 5        [        R                  " [        US	9   X2-     S S S 5        g ! , (       d  f       N5= f! , (       d  f       g = f)
Nr  rD   rz  r  r&   r   r  z0Cannot join tz-naive with tz-aware DatetimeIndexr   )r   r   r(   r)   r*   r   r,   r  r   r   	Exception)ra   r   r   r  r   s        r"   "test_series_add_aware_naive_raises;TestTimeSeriesArithmetic.test_series_add_aware_naive_raises  s    Rc:RYY**1-==c#hGsS//%(@]]9C0M 1 ]]9C0M 10 10 10s   7B+B<+
B9<
C
c                     [        [        SSUS95      n[        R                  R	                  SS9nX#-
  n[        R
                  " / SQ5      R                  U5      n[        U5      n[        R                  " XF5        g )Nz
2012-01-01r}   )rV   unitr   )days)z
2011-12-26z
2011-12-27z
2011-12-28)	r   r   r   offsets
DateOffsetto_datetimeas_unitr_   r   )ra   r  rc   offsetrh   exp_dtiri   s          r"   test_datetime_understood1TestTimeSeriesArithmetic.test_datetime_understood	  sk     
<FG&&A&...!KLTT
 '?
v0r/   c                    [        SSS9n[        [        R                  R	                  S5      R                  S5      US9nUSS  nUR                  5       nUR                   Vs/ s H  oUR                  5       PM     snUl        X$-   nXB-   nX"SS  -   nUR                  R                  S 5      Ul        [        R                  " Xh5        [        R                  " Xx5        g s  snf )Nr   rT   rU   r&   r   rA   )r   r   r(   r)   r*   r   r   rX   r   
_with_freqr_   r   )	ra   r   r3   ts_slicets2r8   rh   r   ri   s	            r"   *test_align_date_objects_with_datetimeindexCTestTimeSeriesArithmetic.test_align_date_objects_with_datetimeindex  s    R0BII))!,<<R@Lab6mmo'*yy1y!VVXy1	(12;!2248
v0
w1 2s   $C!r6   N)	ru   rv   rw   rx   r  r  r  r  r{   r6   r/   r"   r  r    s    16
12r/   r  c            	           \ rS rSr\R
                  R                  S\\\	R                  \\\R                  /5      \R
                  R                  SSS/5      S 5       5       rS rS rS	rg
)TestNamePreservationi%  boxflexTFc                    Un[        [        S5      US   S9n[        [        S5      US   S9nUR                  R                  S5      nUS;   n	Sn
S nU[        [
        4;   a  U	(       a  [        nU" U5      nU(       a  U	(       a  g [        Xh5      " U5      nO%[        R                  " XS9   U" Xg5      nS S S 5        [        W[         5      (       d   eU[        [         4;   a)  UR                  US	   L d  UR                  US	   :X  d   eg g UR                  US   L d  UR                  US   :X  d   eg g ! , (       d  f       N= f)
NrD   r   r   rZ   _)andrandxorrxororrorzLLogical ops \(and, or, xor\) between Pandas objects and dtype-less sequencesr   r&   )r   rH   ru   stripra  tupler  r]   r_   rD  
isinstancer   rY   )ra   r  r  rv  all_binary_operatorsrf   rL  rM  rY   
is_logicalr   warnrh   s                r"   test_series_ops_name_retention3TestNamePreservation.test_series_ops_name_retention&  s3    "eBieAh/uRyuQx0{{  %HH
# 	 4-J DE
T(/F ++D<D = &&))))5&/!;;%(*fkkU1X.EEE.E*;;%(*fkkU1X.EEE.E* =<s   -	D77
Ec                    X-  nUR                   UR                   :X  d   eUR                  U5      nUR                   UR                   :X  d   eXS S -  nUR                   UR                   :X  d   eUR                  5       nSUl         X-   nUR                   b   eUR                  U5      nUR                   b   e/ SQnXD Vs/ s H  nSU-   PM
     sn-   nU Hw  nUR                  5       n[	        Xe5      " U5      nUR                   UR                   :X  d   eUR                  5       nSUl         [	        Xe5      " U5      nUR                   c  Mw   e   g s  snf )Nzsomething else)rM   rN   rO   r   rQ   rP   modrR   r[   changed)rY   rO   r   rM   r]   )ra   r   rh   cpr   rf   r   s          r"   test_binop_maybe_preserve_name3TestNamePreservation.test_binop_maybe_preserve_nameK  s\    2{{o22222 $$_5{{o22222 3B#77{{o22222 !!#" %{{""" $$R({{"""O,"S2X,,B!&&(CS%c*F;;/"6"6666 !%%'BBGS%b)F;;&&&  -s   Ec                 F    US-  nUR                   UR                   :X  d   eg r%   r   )ra   r   rh   s      r"   test_scalarop_preserve_name0TestNamePreservation.test_scalarop_preserve_namek  s$     1${{o22222r/   r6   N)ru   rv   rw   rx   r   r   r   ra  r  r(   r  r   r   r   r  r  r  r{   r6   r/   r"   r  r  %  sf    [[UT5"((E6288$TU[[VdE]3!F 4 V!FF'@3r/   r  c                   X    \ rS rSr\R
                  R                  SS5      S 5       rSrg)TestInplaceOperationsip  z)dtype1, dtype2, dtype_expected, dtype_mul))r0  r0  r0  r0  )r/  r/  r/  r/  )r0  r/  r1  r1  )r0  r1  r1  r1  c                    [        S/US9n[        S/US9nXV-  n[        S/US9n[        R                  " XW5        XV-  n[        S/US9n[        R                  " XW5        XV-  n[        S/US9n[        R                  " XW5        g )NrZ   rE   r&   r}   r   )ra   dtype1dtype2dtype_expected	dtype_mulr%  r&  ri   s           r"   test_series_inplace_ops-TestInplaceOperations.test_series_inplace_opsq  s     qc(qc(1#^4
t.1#^4
t.1#Y/
t.r/   r6   N)	ru   rv   rw   rx   r   r   r   r  r{   r6   r/   r"   r   r   p  s+    [[3	
//r/   r   c                 t   Un[        U5      S:  a,  U R                  [        R                  R	                  SS95        [
        R                  UR                  S'   US :H  nUR                  S   (       a   eUR                  S   (       a   eUS :g  nUR                  S   (       d   eUR                  S   (       d   eS U:H  nUR                  S   (       a   eUR                  S   (       a   eS U:g  nUR                  S   (       d   eUR                  S   (       d   e[        R                  " UR                  S5      (       d  [        UR                  [        5      (       aQ  Sn[        R                  " [        US9   S U:    S S S 5        [        R                  " [        US9   US :    S S S 5        g S U:  nUR                  S   (       a   eUR                  S   (       a   eUS :  nUR                  S   (       a   eUR                  S   (       a   eg ! , (       d  f       N= f! , (       d  f       g = f)NrZ   z%Test doesn't make sense on empty data)reasonr   MzInvalid comparisonr   )r,   applymarkerr   r   xfailr(   r   r   iatr   is_np_dtyperF   r  r
   r   r   )r   series_with_simple_indexrc   rh   r   s        r"   test_none_comparisonr    s   %F
6{QKK%LM	
 VVFKKN t^Fzz!}zz!} t^F::a==::a==V^Fzz!}zz!}V^F::a==::a==
v||S))Zo-V-V #]]9C06M 1]]9C0TM 10 ::a=  ::a=  $::a=  ::a=  = 1000s   ?H&H)
H&)
H7c            	         [        [        S5      [        R                  R	                  [        S5      [        S5      SS/// SQS9S9n [        [        SS	5       Vs/ s H  nS
U-  PM
     sn[        R                  R	                  [        S5      SS//SS/S9S9nU R                  [        R                  S/S S 2S S 24      U-   n[        / SQ[        R                  R                  / SQ/ SQS9S9n[        R                  " X45        g s  snf )N   abxyrZ   r&   )r  r  num)rv  r   rA     r  r   )r  i  i  i  ))r   r8   rZ   )r   r8   r&   )r   r   rZ   )r   r   r&   )r   rH   r   
MultiIndexfrom_productra  loc
IndexSlicefrom_tuplesr_   r   )r   r   r   rh   ri   s        r"   'test_series_varied_multiindex_alignmentr    s    	amm(($ZdaV,4G ) 

B 
 A;';a;'mm(($t*q!f)=dE](S
B VVBMM3%A+./"4F mm''H% ( 
H 6, 	(s   D
c                      [        S/S-  5      R                  S5      n [        S/S-  5      n[        R                  " X5        g )Nr&   i'  r  rZ   )r   rmodr_   r   )rh   ri   s     r"   !test_rmod_consistent_large_seriesr    s;    QC%K %%b)FqcEk"H6,r/   )/datetimer   r   r   decimalr   r^   numpyr(   r   pandas._libsr   pandas._libs.tslibsr   pandasr   r	   r
   r   r   r   r   r   r   pandas._testing_testingr_   pandas.corer   pandas.core.computationr   r   pandas.core.computation.checkr   fixturer#   r.   r1   r   rI  rh  r  r  r   r  r  r  r6   r/   r"   <module>r,     s    
      5 	 	 	   7 ; a\	87LM NDr rjQ1 Q1p31 31lh1 h1b	C2 C2LH3 H3V/ /8-!`-.-r/   