gL i$UddlmZddlmZddlmZddlZddlZddl Z ddl m Z ddl m Z ddlmZmZmZddlmcmZddlmZmZmZmZddlZdd lmZmZmZm Z m!Z!m"Z"ddl#m$Z%dd l&m'Z'm(Z(dd l)m*Z*dd l+m,Z,m-Z-m.Z.dd l/m0Z0m1Z1ddl2m3Z3m4Z4m5Z5m6Z6m7Z7ddl8m9Z9ddl:m;Z;e ddZ<e jzde*DdZ>e jze'j~dZ@dZAe jzeBeCdgddZDeDZEeDZFe jzdZGGddZHGd d!ZId"ZJGd#d$ZKGd%d&ZLGd'd(ZMejjd)jd*ZQGd+d,ZRejdd-ZTejde jjd.d/d0ZWejdd1ZXejdd2ZYe.e(je-d3Z[d4e\d5<e jjd6e*e jjd7e[d8Z]d9Z^d:Z_e jjd;gd<d=Z`d>Zad?Zbd@ZcdAZde jjdBdCe jjdDeeeffe jjdEeeeffdFZge jjdGdHdIgdJZhdKZie jjdLdMdNgdOZjdPZke jjdLe9jdQZmdRZnGdSdTZoy)U) annotations)reduce)productN)PY312)import_optional_dependency)NumExprClobberingErrorPerformanceWarningUndefinedVariableError)is_boolis_float is_list_like is_scalar) DataFrameIndexSeries date_range period_rangetimedelta_range)exprpytables)ENGINES)BaseExprVisitorPandasExprVisitorPythonExprVisitor)NUMEXPR_INSTALLED USE_NUMEXPR)ARITH_OPS_SYMSSPECIAL_CASE_ARITH_OPS_SYMS_binary_math_ops_binary_ops_dict_unary_math_ops)DEFAULT_GLOBALS)Versionnumexprignore)errorsc #K|]i}tj|tjj|dk(xrt dtdt t jdgkyw)r$znumexpr enabled->z , installed->reasonmarksN)pytestparammarkskipifrrtd skip_if_no).0engines h/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pandas/tests/computation/test_eval.py r5@s{     ""i'; O.{m<""3!46#  i(   sA/A1)paramsc|jSNr-requests r4r3r3?s" ==c|jSr8r9r:s r4parserr>Ss ==r<ct|}t|jr |||S|||S#t$r5}t |j drt jcYd}~Sd}~wwxYw)Nz6negative number cannot be raised to a fractional power)r r has_neg_frac ValueErrorstr startswithnpnan)lhscmp1rhsr3ces r4_eval_single_binrKXsmAv## S#;  S#;  1v  Hvv   s 0 A.)A)"A.(A))A.)rr SeriesNaN DataFrameNaNfloat)r6idsc Fttjjdj d}tj ||dkD<ttjjdj dt tjjdj dt ddtj tj dg|tjjdj f}||jS)N) rL?rL)rrDrandom default_rngstandard_normalrErr-)r;nan_df1optss r4rFrFgs  --a0@@IJGVVGGcM "))''*::7CDryy$$Q'77:;1bffbffa() a 002  D  r<c dddddddS)Nc^ttj|tjSNdtype)rrDarangeint64ns r4zidx_func_dict..suRYYq\:r<c^ttj|tjSr])rrDr`float64rbs r4rdzidx_func_dict..suRYYq\<r<c tttdd|zDcgc]}|dt|c}Scc}w)Na_)rrangechr)rcis r4rdzidx_func_dict..s2uuRa7HI!1SVHoIJIs5ctd|S)N 2020-01-01periods)rrbs r4rdzidx_func_dict..s <;r<ctd|S)Nz1 dayro)rrbs r4rdzidx_func_dict..s ;r<ctd|dS)NrnD)rpfreq)rrbs r4rdzidx_func_dict..s|L!#Fr<)rlfsdtr0pryr<r4 idx_func_dictrz}s ; < J;; F  r<c eZdZejj dgdgdejj dddgdd gejj d ejd Zejj d ejd Z ejj dejdZ ejj dddgejj dddgdZ ejj de eej!edZdZdZej,dZdZdZdZdZdZejj deej>jAdjCdeej>jAdjEddeej>jAdjCdd kDgd!Z#ejj de$ej>jAdjCde$ej>jAdjEdde$ej>jAdjCdd kDgd"Z%d#Z&d$Z'ejj d%d&d'gd(Z(d)Z)ejj d*d+d,Z*d-Z+d.Z,d/Z-d0Z.d1Z/d2Z0y3)4TestEvalrG)z!=z==z<=z>=<>)neeqlegeltgt)rPcmp2r~r}rrbinopc|dk(rO|dvrKd}tjt|5d|d|d|d} tj| || dddyt ||||} t ||||} t | || |} d|d|d|d} tj| || } t j| | y#1swYyxYw) Npythonandor"'BoolOp' nodes are not implementedmatch(lhs z rhs) z (lhs  rhs)r3r>)r,raisesNotImplementedErrorpdevalrKtm assert_equal)selfrGrrrFrHr3r>msgexlhs_newrhs_newexpectedresults r4test_complex_cmp_opszTestEval.test_complex_cmp_opss X %="86C2#> :TF&vdV5A6&9 : "3c6:"3c6:#GUGVDTF&vdV5 9F6: ) : s %B::Ccmp_opc .|dk}|dk}|dk(rI|dvrEd}tjt|5d|d}tj|||dddyd|d}d j d d g}|dvrLt |sAtjt|5tj|||||d  dddyt||||}tj|||} tj| |y#1swYyxYw#1swYyxYw)Nrrinnot in&'(In|NotIn)' nodes are not implementedrlhs  rhsr|zvonly list-like( or dict-like)? objects are allowed to be passed to (DataFrame\.)?isin\(\), you passed a (`|')bool(`|')z'argument of type 'bool' is not iterablerFrHr3r> local_dict) r,rrrrjoinr TypeErrorrKrr) rrrFrHr3r>rrrrs r4test_simple_cmp_opszTestEval.test_simple_cmp_opss$AgAg X &,<"<:C2#> :F84(6&9 : F84 hh":    % %l3.?y4 !!'*37   (VS&AHWWRv>F OOFH -3 :   sC?D ?D Dopc 8|dk(rI|dvrEd}tjt|5d|d}tj|||dddyt |rJt |s?|dvr;|dk(r6|dk(r1tj jd } |j| d d g} d|d}d jddg}t|rE|| vrAtjt|5tj|||||ddddyt|rt|rd||fD\}}t||||} t| r| } n| } tj|||} tj| | y#1swYyxYw#1swYyxYw)Nrrrrz~(lhs rrpandasz]Looks like expected is negative, unclear whether expected is incorrect or result is incorrectr(rrrzwonly list-like( or dict-like)? objects are allowed to be passed to (DataFrame\.)?isin\(\), you passed a (`|')float(`|')z(argument of type 'float' is not iterablerrc3HK|]}tj|gywr8)rDarrayr2xs r4r5z3TestEval.test_compound_invert_op..s>aBHHaSM>s ")r,rrrrr r.xfail applymarkerrrrrKrassert_almost_equal) rrrFrHr;r3r>rrr. skip_theserrs r4test_compound_invert_opz TestEval.test_compound_invert_ops X "(8"8:C2#> :bT'6&9 :  SMSM&&("(";;$$?%D    %H% bT hh#;    S>bJ.y4 !!'*37   ~)C.>C:>S'Rf=H"'<$9WWRv>F  " "8V 4] : 4  sF+FF Fc|}|dk(rHd|d|d} d} tjt| 5tj| ||dddyt ||||} t ||||} | e| bd|d|d} d|d|d} d |d |d }t | d | |}| | |fD]0}tj|||}t j||2yyy#1swYyxYw) Nrr mid rrrr mid and mid r mid) & (mid r&)r,rrrrrKrr)rrGrrFmidhsrHr3r>midex1rrrex2ex3rrrs r4test_chained_cmp_opzTestEval.test_chained_cmp_ops X eD6.C6C2#> ;F6: ; "3c6:"3c6:  7#6eD6.CmD66C$}TF%8C'gvFHCo 9F6B&&vx8 9 $7  ; s CCarith1c d|d}tj|||}t||||}tj||d|d|d}tj|||}t||||} | j |\} } |dk(r:ddl} | jd|d}tj|j|ytd|d}tj||y#tttf$rYywxYw) Nrrrz rhs r$rznlhs z ghs) rrrKrralignr$evaluatevaluesrArAttributeError) rrrFrHr3r>rrrnlhsghsrs r4test_binary_arith_opszTestEval.test_binary_arith_opss F84 F6:#Cf= vx0F85 -F6:VS&9 9 3ID# "$;;vhd';< &&v}}h?%xt 45&&vx8#I~6   s3C,,DDcd}tj|||}||z}tj|||dk(rqddl}|j d}t |ttfr!tj|j|ytj||jyt|d||}tj||y)Nz lhs % rhsrr$rzexpected % rhs%) rrrrr$r isinstancerrritemrK) rrFrHr3r>rrrrs r4 test_moduluszTestEval.test_modulus4s F6:9 vx0 Y  {{#45H&9f"56&&v}}h?&&vx}}?'#sFCH  " "68 4r<cjd}|dk(s*|dk(rYttjtdk\r4tj|||}||z}t j ||yd}tjt|5tj|||d|| dddy#1swYyxYw) Nz lhs // rhsrr$2.13.0rzGunsupported operand type\(s\) for //: 'VariableNode' and 'VariableNode'rrrr3r>) r#r$ __version__rrrrr,rr) rrFrHr3r>rresrrs r4test_floor_divisionzTestEval.test_floor_divisionFs  X  i GG,?,?$@GHDU$U''"VF;CczH OOC *! y4 '*37!!    s B))B2c@d}t|d||}tj|||}t|r}t|rrt |t t jfrRt j|r=d}tjt|5tj||dddytj||d}tj|||}t|d||} t| d||}tj||y#1swYyxYw)Nz lhs ** rhs**rz-(DataFrame.columns|numpy array) are differentrz(lhs ** rhs) ** rhs)rKrrrrcomplexrDcomplexfloatingisnanr,rAssertionErrorrassert_numpy_array_equalr) rrFrHr3r>rrrrmiddles r4test_powzTestEval.test_pow\s#CsF;F6: cN#8gr/A/A%BC AC~S9 >++FH= > >  " "68 4&BWWRv>F%c4f=F'c6BH  " "68 4 > >s DDc |jt}|}t j d||}tj||y#t$r"tjt|g}Y\wxYw)Nz~elbr) astypeboolrrDrrrrr)rrFr3r>elbrrs r4test_check_single_invert_opz$TestEval.test_check_single_invert_opvse (**T"C4v> x0  (((DI;'C (sA (A43A4cd}ttjjdj d}|dk(r?d}t j t|5tj|||dddn>d}t j t|5tj|||dddttjjdjd d }|dk(rdttjtd kr?d }t j t|5tj|||dddn1|}tj|||}tj ||ttjjdj dd kD}|}tj|||}tj ||tgdtjjdj dd kDd}|dk(r=t j t"d5tj|||dddyd}t j t|5tj|||dddy#1swYxYw#1swYxYw#1swYOxYw#1swYyxYw#1swYyxYw)N~lhsrRrLrRr$-couldn't find matching opcode for 'invert_dd'rr0ufunc 'invert' not supported for the input typesrLsizer)couldn't find matching opcode for 'invertrTarUg@)brIunknown type object#bad operand type for unary ~: 'str')rrDrVrWrXr,rrrrrintegersr#r$rrassert_frame_equalrA)rr3r>rrFrexpectrs r4test_frame_invertzTestEval.test_frame_invertsl  --a0@@HI Y AC2#> <VF; < <ECy4 <VF; < --a099!&9IJ Y 77+>+>#?'(BS#S=C2#> <VF; < <TFWWT&@F  ! !&& 1 --a0@@H3NOfV< ff-bii&;&;A&>&N&Nq&QTW&W X  Y z1FG <VF; < <8Cy4 <VF; < d}t j t|5tj|||dddttjjdjdd }|dk(rdttjtd kr?d }t j t|5tj|||dddn1|}tj|||}tj ||ttjjdj dd kD}|}tj|||}tj ||tgd }|dk(r=t j t"d5tj|||dddyd}t j t|5tj|||dddy#1swYxYw#1swYxYw#1swYxYw#1swYyxYw#1swYyxYw)NrrRrLr$rrrrrrrrTrrr)rrDrVrWrXr,rrrrrrr#r$rrassert_series_equalrA)rr3r>rrFrrrs r4test_series_invertzTestEval.test_series_invertsIRYY**1-==a@A Y AC2#> EfVD E EECy4 <VF; <RYY**1-66qq6AB Y 77+>+>#?'(BS#S=C2#> <VF; < <TFWWT&@F  " "66 2RYY**1-==a@3FGfV< vv.]# Y z1FG <VF; < <8Cy4 <VF; < rrFrrrs r4test_frame_negatezTestEval.test_frame_negatesF --a0@@HIfV< ff- --a099!&9IJfV< ff- --a0@@H3NO Y >C2#> <VF; < <TFWWT&@F  ! !&& 1  < < 1FFc"d}ttjjdj d}| }t j |||}tj||ttjjdjdd}| }t j |||}tj||ttjjdj ddkD}|dk(r?d}tjt| 5t j |||dddy| }t j |||}tj||y#1swYyxYw) NrrRrLrrrTr$rr) rrDrVrWrXrrrrrr,rrrs r4test_series_negatezTestEval.test_series_negatesFRYY**1-==a@AfV< vv.RYY**1-66qq6ABfV< vv.RYY**1-==a@3FG Y >C2#> <VF; < <TFWWT&@F  " "66 2  < rrrs r4test_frame_poszTestEval.test_frame_poss0fV< ff-r<chd}|}tj|||}tj||yr)rrrrrs r4test_series_poszTestEval.test_series_pos"s0fV< vv.r<cd}d}tr|dk(r|dk(st}tjt|5t j d||dddt j d||d k(sJt j d ||d k(sJt j d ||d k(sJt j d||dk(sJt j d||dk(sJtj|dd5t j d||d k(sJ dddtj|dd5t j d||dk(sJ dddt j d||dk(sJt j d||dk(sJt j d||dk(sJt j d||dk(sJy#1swYxYw#1swYxYw#1swYxYw)Nz%bad operand type for unary ~: 'float'r$rrz~1.0rz-1.0r>r3gz+1.0g?z~1z-1z+1rUzBitwise inversionF)rcheck_stacklevelz~Truez~Falsez-Truez-Falserz+Truez+False) rDeprecationWarningr,rrrrrassert_produces_warning)rr3r>rwarns r4test_scalar_unaryzTestEval.test_scalar_unary4s5 &I-&H2D%D ]]9C 0 : GGF6& 9 :wwvfV<DDDwwvfV<DDDwwtF6:b@@@wwtF6:b@@@wwtF6:b@@@  ' ' +e  K7776&AUJ JJ K ' ' +e  M778F6BfL LL Mwwwvf=FFFwwxv>&HHHwwwvf=FFFwwxv>&HHH' : : K K M Ms#GG(?G4G%(G14G=ctjtjdtj}tjgdtj}t j ||y)Nz>[-True, True, +True, -False, False, +False, -37, 37, ~37, +37]r^) rTrUrFri%ir)rDrrrobject_rr)rrrs r4test_unary_in_arrayzTestEval.test_unary_in_arrayNsV GGT U** 88 **  ##FH5r<rzx < -0.1z-5 > xctdtjdg|i}|j|}|jtjdgk(sJy)Nrrr^F)rrDrrr)rfloat_numpy_dtyperdfrs r4test_float_comparison_bin_opz%TestEval.test_float_comparison_bin_opgsKRXXqc1BCD EggdmzzRXXug....r<chtdddtjgi}|jd}|jj d}t j||t |jd}|jjdd}t j||t y) NrrrUz x.fillna(-1)r check_nameszx.shift(1, fill_value=-1)) fill_value) rrDrErrfillnarrrshiftrrrrs r4test_unary_in_functionzTestEval.test_unary_in_functionns aBFF^, -(44;;r? vx_M4544::aB:/ vx_Mr<r)z1 or 2z1 and 2za and bza or bz1 or 2 and (3 + 2) > 3z2 * x > 2 or 1 and 2z2 * df > 3 and 1 or acjtjjdjddd}}}t tjjdjd}d}t j t|5tj|||dddy#1swYyxYw)NrRrrUrrR;cannot evaluate scalar only bool ops|'BoolOp' nodes are notrr) rDrVrWrXrr,rrrr) rrr3r>rrrrrs r4test_disallow_scalar_bool_opsz&TestEval.test_disallow_scalar_bool_ops|s))''*::1=q!a1 ryy,,Q/??G HK ]].c : 6 GGBvf 5 6 6 6s B))B2cd}tjd||}|dk(sJt|sJd}tjd||}|dk(sJt|sJd}tjd||}|rJt|sJt|sJt j dg}tjd||}t j|t j dg|jdk(sJt j dg}tjd||}t j|t j dg|jdk(sJt j dg}tjd||}t j|t j dg|jdk(sJy)NrUrrg?F)rU) rrrr rDrrrshape)rr3r>rrs r4test_identicalzTestEval.test_identicals VF;{{   VF;}}   VF;zv   HHaSMVF; ##FBHHaSM:||t### HHcUOVF; ##FBHHcUO<||t### HHeW VF; ##FBHHeW,=>||t###r<cFd}tj|||}|dk(sJy)Nz1 + 2 * 5 - 1 + 2 r )rr)rr3r>exprs r4test_line_continuationzTestEval.test_line_continuations'VF;||r<cd}tj|||}tj|}||k(sJt dgdi}d}|j d|d}|j sJd}|j d |d}|jd d gddf}tj||d }|j d |d}|jd gddf}tj||y)Nz1000000000.006rA)g~eA $eAg'1eAgeAzA < z.4fg eAzA > rUrRr1A == ) rrrDrfrqueryemptylocrr) rr3r>r-rrrcutoffexacts r4test_float_truncationzTestEval.test_float_truncationsVF;::c?!!! PQ R D -.||| D -.661a&!)$ h/E%-.661#q&> h/r<cftgdggd}d}tjt|5|j ddddt}d|j _tjt|5|j ddddy#1swYZxYw#1swYyxYw) N)rrr)foobarclasscolumnsz4Python keyword not valid identifier in numexpr queryrz class == 0lambdaz lambda == 0)rr,r SyntaxErrorr3indexnamerrrs r4test_disallow_python_keywordsz&TestEval.test_disallow_python_keywordss  {,C DD ]];c 2 # HH\ " #[  ]];c 2 $ HH] # $ $  # #  $ $sBB'B$'B0c tjttd5t j ddk(sJt j ddk(sJt j ddk(sJ dddy#1swYyxYw) NF)rznot Truer z not FalserzTrue and not Truer)rmaybe_produces_warningrrrr)rs r4test_true_false_logiczTestEval.test_true_false_logicsv & &   577:&", ,,77;'2- --77./14 44  5 5 5s AA::BcXtddi}tj|jj dj sJtj|jj dj xr%|jj dj sJy)Nrhello)rrrrBrr)revents r4test_and_logic_string_matchz$TestEval.test_and_logic_string_matchsxW~&ww%))//'2445777ww%))//'244S9Q9S9STVVVr<N)1__name__ __module__ __qualname__r,r. parametrizer BOOL_OPS_SYMSr CMP_OPS_SYMSrrrsortedsetr differencerrrrr0skip_if_windowsrrrrrrrrDrVrWrXrrrr rrrr#r'r*r.r8rDrGrKryr<r4r|r|sU [[* 0  [[Vc3ZdD\B [[Wd&8&89*:C *  [[Xt'8'89 .: .D [[T4#4#4515615f [[Vc3Z0 [[Vc3Z09119. [[&^,778STU99@5$,5521+>vF G bii++A.777G H bii++A.>>vFL M   . . [[  299((+;;A> ? 299((+44QQ4? @ 299((+;;A>D E   / /I462 [[Vj(%;</=/ N [[   6 6$B0, $5Wr<r|ceZdZejj dgdejj dddgdZy)TestTypeCastingr)+-*r/ left_right)r3)r]rc|}ttjjdj d|}|\} } | d|d| } t j | ||} |dk(r6|dk(r1tjjd } |j| |jj|k(sJ| jj|k(sJtj| t | d y) NrRrLrr^ r complex64r$zfnumexpr issue with complex that are upcast to complex 128 https://github.com/pydata/numexpr/issues/492r(F) check_exact)rrDrVrWrXrrr,r.rrrr_rr)rr3r>rcomplex_or_float_dtyper\r;r_rleftrightrvrr.s r4test_binop_typecastingz&TestTypeCasting.test_binop_typecastings' ryy,,Q/??Gu U efAbT5' "ggav6 K Fi$7;;$$?%D    %yy%'''zz5((( c47>r<N)rLrMrNr,r.rOrfryr<r4rWrWsG [[T#=> [[\K+EF?G??r<rWctttjd| }t tj d|D}|xr|S)Nis_monotonic_increasingc3xK|]2}t|jjtj4ywr8) issubclassr_typerD datetime64rs r4r5zshould_warn..s#M1z!'',, >Ms8:)anymapoperator attrgetterrxor)argsnot_mono only_one_dts r4 should_warnru sHs8../HI4PQQH MMK  # #r<c LeZdZgdZedgzZdZejjdejjdeejjdeejjdedZ ejjd eejjded Z ejjd ejjd eejjd eejjdeejjdedZ ejjd ejjdddgejjdeejjd edZ ejjdddgejjdeeddgddgdgzejjd dZejjd ejjdeejjd eejjdddgejjdddgdZejjdejjd eejjd eejjdeejjdedZdZy) TestAlignment)rlrvrwrvcd}ttjjdj d}t j |||}tj||dzy)Nzdf * ~2rRr_r) rrDrVrWrXrrrr)rr3r>rvrrs r4test_align_nested_unary_opz(TestAlignment.test_align_nested_unary_opsQ  ryy,,Q/??G Hggav6 c27+r<zalways::RuntimeWarning lr_idx_type rr_idx_type c_idx_typecdttjjdj d||d||d}ttjjdj d||d||d}t |j |j r;tjt5tjd||} dddntjd||} tj ||zy#1swY#xYw) NrRrSrSrSrAr>)rSrzdf + df2r rrDrVrWrXrurArrRuntimeWarningrrr) rr3r>r{r|r}rzrdf2rs r4test_basic_frame_alignmentz(TestAlignment.test_basic_frame_alignments  II ! !! $ 4 4X >,- ,R0-M*-b1   II ! !! $ 4 4X >,- ,R0-M*-b1  rxx +++N; HggjG H H''*VFCC c28,  H Hs D&&D/ r_idx_typecttjjdj d||d||d}t j d||}tj||dkttjjdj |j|j|j}t j d||}tj|||ky)NrRrrSrdf < 2rzdf < df3) rrDrVrWrXrrrrr)rAr>) rr3r>rr}rzrrdf3s r4test_frame_comparisonz#TestAlignment.test_frame_comparison8s  II ! !! $ 4 4X >+- +B/-M*-b1  gghvf= c26* II ! !! $ 4 4RXX >((JJ  ggj? c28,r<zignore::RuntimeWarningr1c1r2c2cttjjdj d||d||d}ttjjdj d||d||d} ttjjdj d||d||d} t |j | j | j r;tjt5tjd || } dddntjd || } tj || z| zy#1swY&xYw) NrRr%rr)rRrrrLzdf + df2 + df3rr) rr3r>rrrrrzrrrrs r4#test_medium_complex_frame_alignmentz1TestAlignment.test_medium_complex_frame_alignmentMs^ II ! !! $ 4 4V <#-#A&%M"%a(   II ! !! $ 4 4V <#-#A&%M"%a(   II ! !! $ 4 4V <#-#A&%M"%a(  rxxCII 6++N; Ngg.vfM N N''*6&IC c28c>2  N Ns )FF  index_namerAr>cttjjdj d||d||d}t ||}t tjjdj d|dd} t|j| jr;tjt5tjd||} dddntjd||} |dk(s|dk(r|d k(r|j| n|| z} n|| z} tj | y#1swYKxYw) NrRrrSrrLdf + srrwr$)rrDrVrWrXgetattrrrurArrrrraddr) rr3r>rrr}rzrrArvrrs r4!test_basic_frame_series_alignmentz/TestAlignment.test_basic_frame_series_alignmentks* II ! !! $ 4 4X >+- +B/-M*-b1  J' 299((+;;A>bq J rxx )++N; FgghvfE F F''(6&AC  t!3$*i$7rvvayR!VHAvH c8, F Fs E  Ezr_idx_type, c_idx_typerl)rwrwc \|dk(rT|dvrP|dk(rK|dk(rF|dk(rAd|d|d|d |d | }|jtjj|d t t j jd jd||d||d} t| |} tt j jd jd| dd} t| j| jr;tjt5t!j"d||} dddnt!j"d||} |dk(s|dk(r|dk(r| j%| n| | z} n| | z} tj& | y#1swYKxYw)Nr$)rrrArlrvz"Flaky column ordering when engine=z , parser=z , index_name=z , r_idx_type=z , c_idx_type=F)r)strictrR)rSrSrrrLzs + dfrrw)rr,r.rrrDrVrWrXrrrurArrrrrrr)rr;r3r>rrr}rzr)rrArvrrs r4!test_basic_series_frame_alignmentz/TestAlignment.test_basic_series_frame_alignments i ..g%c!c!5VH= zl;(\zlD     1 1 1 N O  II ! !! $ 4 4W =+- +B/-M*-a0  J' 299((+;;A>bq J qww )++N; FgghvfE F F''(6&AC  t!3$*i$7rvvayQVH2vH c8, F Fs &F""F+rrXrZcLttjjdj d||d||d}t ||} t tjjdj d| dd} d|d} d|d } t|j| jrutjt5tj| || } dddtjt5tj| || }dddn0tj| || } tj| || }|d k7r#|d k7r|d k(rtj yyyy#1swYxYw#1swY>xYw) NrRrrSrrLzs z dfzdf z srrwr$)rrDrVrWrXrrrurArrrrrr)rr3r>rrrr}rzrrArvrFrHrrs r4test_series_frame_commutativityz-TestAlignment.test_series_frame_commutativitysx II ! !! $ 4 4X >+- +B/-M*-b1  J' 299((+;;A>bq J2$clB4rl rxx )++N; ?GGCv> ?++N; ?GGCv> ? ?F6:AF6:A  *"4"%%a+##5  ? ? ? ?sFFFF#cd}d} d| z} ttjjdj | |f||| |||} ttjjdj | |f||| |||} | j } t tjjdj || d|}|dk(s|dk(r|dk(r| j|}n | |z}n| |z}|dk(s|dk(r|dk(r|j| }n || z}n|| z}t| j|j| jr;tjt5tjd||}dddntjd||}j|jk(sJtj ||y#1swY;xYw) NrrLrRrrwr$zdf2 + ser + dfr)rrDrVrWrXr>rrrurArrrrrr)r)rr3r>rrrrrzrcm1m2rrrAser expected2rrs r4#test_complex_series_frame_alignmentz1TestAlignment.test_complex_series_frame_alignments   V  II ! !! $ 4 4b!W =#-#B'%M"%a(   II ! !! $ 4 4b!W =#-#B'%M"%a(   RYY**1-==a@%)L :t"GGCL #I c I :t"$==,$r> 2~H syy#))RXX 6++N; Ngg.vfM N N''*6&ICyyHNN*** c8,  N Ns G55G>c&ttjjdj d}t tjjdj d}|dk(rt }nd}tj|5tjd||dddt tjjdj d}tjd5tjd||dddttjjdj d }t tjjdj d}tjd5tjd||dddttjjdj d }t tjjdj d}|d k(}|st }nd}tj|5}tjd|||set|d k(sJt|d j} tj|j|j d z } d| dd} | | k(sJdddy#1swY7xYw#1swYxYw#1swY@xYw#1swYyxYw)NrR)rS'r$Frrr)rSrrrrUrz_Alignment difference on axis 1 is larger than an order of magnitude on term 'df', by more than z.4gz; performance may suffer.)rrDrVrWrXrr rrrrlenrBmessagelog10rr)) rr3r>rrvseenis_python_enginewrnwrloggedrs r4+test_performance_warning_for_poor_alignmentz9TestAlignment.test_performance_warning_for_poor_alignmentsm ryy,,Q/?? K L 299((+;;EB C Y %DD  ' ' - < GGHVF ; < 299((+;;DA B  ' ' . < GGHVF ; <ryy,,Q/?? L M 299((+;;EB C  ' ' . < GGHVF ; <ryy,,Q/??I J 299((+;;EB C!X-$CC  ' ' , ' GGHVF ;#1v{"{!A$,,'!&&288A;"67$$*3 [[ 89!-: A !-F [[ 89 [[\;7 [[\?; [[\GY+?@ [[TC:.,/A<8: ,4 [[ 89 [[T?3 [[T;/ [[T;/ [[T;/)-0004: )-V*'r<rwc eZdZdZdZej jdddgej jdddgej jdejdZ ej jdddgej jdddgej jdejd Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZej j;ddZdZdZ d Z!d!Z"d"Z#d#Z$d$Z%ej jd%d&d'd&d(ge&jNgd)gd*Z(ej jd%gd+d,Z)ej jd-d&d'd&d(ge&jNgd)d&d(igd.Z*d/Z+d0Z,d1Z-d2Z.d3Z/d4Z0ej jd5gd6d7Z1ej jd8d9d:gd;Z2y<)=TestOperationsc\|jdddz|d<tj|i|SNlevelrrUpoprrrrrkwargss r4rzTestOperations.eval0/ **Wa014www'''r<crg}|dk(rddg}tjtjzDcgc]}||vr| }}d|D}|D]}d|d}d|d}d|d} |d vr?d } tjt | 5t j||| dddXtd |d |} |j||| } | | k(sJt| |d |} |j|d| i||} | | k(sJtd || d z|} |j| d| i||} | | k(rJycc}w#1swYxYw)Nrrrc3,K|] }|dk7s |yw)z//Nry)r2rs r4r5z7TestOperations.test_simple_arith_ops..?s4btr4s z1 z 1zx z (x + 1)rz&argument of type 'int' is not iterablerrrUrr) rrrQr,rrrrrK)rr3r> exclude_arithr arith_opsopsrrrrexpecrys r4test_simple_arith_opsz$TestOperations.test_simple_arith_ops4s X !8,M))D,=,== &   5I4 "BbTBrd"+Crd(#C%%>]]9C8>GGBvf=>>)B6:IIbI?Ez!z(B6:IIcsAhvfIUEz!z(BAv>IIcsAhvfIUEz!z) " >>s D(?D--D6 rHTFrFrc|d|d|}tdk(r<|dvr8d}tjt|5|j |dddy|j |}t |}||k(sJy#1swYyxYwNr`rrrrr>r,rrrrrHrFrrrrr-s r4test_simple_bool_opsz#TestOperations.test_simple_bool_opsWuAbT3%  X " "56C2#>  "   iim2hczz    A44A=c|d|d|}tdk(r<|dvr8d}tjt|5|j |dddy|j |}t |}||k(sJy#1swYyxYwrrrs r4test_bool_ops_with_constantsz+TestOperations.test_bool_ops_with_constantsgrrc^tjjdjd}t tjjdjd}d}t j t|5|jd||ddddy#1swYyxYw) NrR)rrrLrSz?N-dimensional objects, where N > 2, are not supported with evalrx + yrrr) rDrVrWrXrr,rrr)rrrrs r4test_4d_ndarray_failsz$TestOperations.test_4d_ndarray_failsws II ! !! $ 4 4\ B 299((+;;B? @O ]].c : < IIg*:I ; < < 2] > 2) rrDrVrWrXr,r NameErrorrrrs r4&test_failing_subscript_with_name_errorz5TestOperations.test_failing_subscript_with_name_errorsV ryy,,Q/??G H ]]9,E F ' IIo & ' ' 's A..A7cttjjdj d}|j dd|i}|dz|dkD}t j||y)NrRr_z(df + 1)[df > 2]rrrUrr"s r4test_lhs_expression_subscriptz,TestOperations.test_lhs_expression_subscripts_ ryy,,Q/??G H-4*EFBF# fh/r<c  ttjjdj dt d}d}|j |jk}d}|j |jz|jz}d}|j |jz|j|jdkz}|||f}|||f} t|| D].\} } tj| |j| d |i 0y) NrRr_abcr=z df.a < df.bzdf.a + df.b + df.czdf.a + df.b + df.c[df.b < 0]rrr) rrDrVrWrXrrrrIziprrr) rrexpr1expec1expr2expec2expr3expec3exprsexpecsrJrs r4test_attr_expressionz#TestOperations.test_attr_expressions  II ! !! $ 4 4V I ? @ @ @s B99Cc ttjjdj dt d}t jtd5|jddddy#1swYyxYw)NrRrabr=invalid syntaxrz d c = a + b rrDrVrWrXrr,rr@rrs r4%test_assignment_column_multiple_raisez4TestOperations.test_assignment_column_multiple_raisesa  II ! !! $ 4 4V ? # GGM " # # #s A99Bcttjjdj dt d}d}t jt|5|jddddy#1swYyxYw)NrRrrr=z5left hand side of an assignment must be a single namerz d,c = a + brrCs r4%test_assignment_column_invalid_assignz4TestOperations.test_assignment_column_invalid_assignsf  II ! !! $ 4 4V  vxUCr<z%Unknown: Omitted test_ in name prior.r(cttjjdj dt d}|j dd}|J|j}|d|d z|d <tj||y) NrRrrr=rFrrrrIr)rractualrs r4test_assignment_not_inplacez*TestOperations.test_assignment_not_inplace s II ! !! $ 4 4V .local_funcoHr<rrUrrIrzM c = a * @local_func(1, 7) d = c + @local_func(1, 7) Trr$rrr+rr!s r42test_multi_line_expression_callable_local_variablezATestOperations.test_multi_line_expression_callable_local_variableks YY7 8 779  1a(88   1a(88     h+~~r<ctgdgdd}d}|j}|d|ddz|d <|d |ddz|d <|jd d }tj|||Jy)Nrrrc|Sr8ryrs r4r+zaTestOperations.test_multi_line_expression_callable_local_variable_with_kwargs..local_funcr,r<rrrU)rrrIrzU c = a * @local_func(b=7, a=1) d = c + @local_func(b=7, a=1) Trr$r-s r4>test_multi_line_expression_callable_local_variable_with_kwargszMTestOperations.test_multi_line_expression_callable_local_variable_with_kwargss YY7 8 779  Q!(<<   Q!(<<     h+~~r<ctgdgdd}|j}d}tjt|5|j ddddt j||y#1swY xYw)Nrrrrrza = 1)rrr,rrAr3rr)rrdf_origrs r4test_assignment_in_queryz'TestOperations.test_assignment_in_querys` YY7 8'')5 ]]:S 1  HHW   b'*  s A11A:ctgdgdd}|j}||ddk(}|jddtj||i}dd i}|j d |d tj ||y) NrrrrrRza == 2Trr a = 1 + 2rr)rrr3rrrassert_dict_equalrs r4test_query_inplacez!TestOperations.test_query_inplaces YY7 8779HSMQ./ 4( h+ 8 +b$ 7 R*r<invalid_targetrUcatrRrUrc6d}d}tjt|5|j||ddddt |dr9tjt|5|j||ddddyy#1swYOxYw#1swYyxYw)Nz)Cannot assign expression output to targetr6rTr7rF)r,rrArhasattrrr:r expressions r4test_cannot_item_assignz&TestOperations.test_cannot_item_assigns9 ]]:S 1 G IIjI F G >6 *z5 L *^U K L L + G G L LsB$BB B)rUr;r<cd}d}tjt|5|j||ddddy#1swYyxYw)Nz"Cannot return a copy of the targetr6rFr7)r,rrArr?s r4test_cannot_copy_itemz$TestOperations.test_cannot_copy_itemsE2 ]]:S 1 H IIjI G H H Hs >Arcd}|j||ddk(sJd}tjt|5|j||ddddy#1swYyxYw)N1 + 2Fr7rz0Cannot operate inplace if there is no assignmentrT)rr,rrA)rrr@rs r4test_inplace_no_assignmentz)TestOperations.test_inplace_no_assignments^ yyFEyBaGGG@ ]]:S 1 ? IIjI > ? ? ?s AA c$ttjjdj dt ddd}|dk}|j dd|i }|dk}tj||tj||y) NrRrRrRrnrsrtrpr=rrr rrDrVrWrXrrrr)rrrJrrs r4*test_basic_period_index_boolean_expressionz9TestOperations.test_basic_period_index_boolean_expressions  II ! !! $ 4 4V < CC  F IIhD":I 6 F a# a#r<cttjjdj dt ddd}|j dd|i }||d k}tj||y) NrRrHrnrsrIr=zdf[df < 2 + 3]rrrLrJrrrKrJs r4,test_basic_period_index_subscript_expressionz;TestOperations.test_basic_period_index_subscript_expressionsk  II ! !! $ 4 4V < CC  II&D":I > rEzN a#r<c ttjjdj dt ddd}|j dd|i }|||dkdk|dzz}tj||y) NrRrHrnrsrIr=zdf[df[df < 2] < 2] + df * 2rrrJrNs r4-test_nested_period_index_subscript_expressionzrrrs r4test_date_booleanz TestOperations.test_date_booleans{ ryy,,Q/??G H!*a88 ii "bz    J& sEu=r<c|dk7rtjd||}|sJtjd||}|sJtjd||}|rJtjd||}|sJtjd||}|sJtjd||}|sJtjd ||}|sJtjd ||}|sJtjd ||}|rJtjd ||}|sJyd }tjt|5tjd||dddtjt|5tjd||dddtjt|5tjd||dddtjt|5tjd||dddd}tjt|5tjd||dddtjt|5tjd||dddy#1swY9xYw#1swY xYw#1swYxYw#1swYxYw#1swYxxYw#1swYyxYw)Nrz 1 in [1, 2]rz 2 in (1, 2)z 3 in (1, 2)z3 not in (1, 2)z[3] not in (1, 2)z[3] in ([3], 2)z[[3]] in [[[3]], 2]z(3,) in [(3,), 2]z(3,) not in [(3,), 2]z[(3,)] in [[(3,)], 2]z'In' nodes are not implementedrz[(3,)] in (1, 2, [(3,)])z!'NotIn' nodes are not implementedz[3] not in (1, 2, [[3]]))rrr,rr)rr3r>rrs r4test_simple_in_opsz!TestOperations.test_simple_in_opssn X ''-vFCJ3''-vFCJ3''-vFCN7''+F6JCJ3''-fVLCJ3''+F6JCJ3''/vNCJ3''-fVLCJ3''1&PCN7''1&PCJ32C2#> E fVD E2#> E fVD E2#> E fVD E2#> R26&Q R5C2#> I)&H I2#> R26&Q R R E E E E E E R R I I R RsH=J 9J5J'1J3/J?+K  JJ$'J03J<?K Kcld}djd}d}tj|||}||k(sJy)NrUz * !aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar)rrr)rr3r>rrrrs r4test_check_many_exprsz$TestOperations.test_check_many_exprs!s8 zz(#ggd6&9hr<r)zdf > 2 and df > 3zdf > 2 or df > 3z not df > 2cZttjjdj d}|dk(rHd}d|vrd}t j t|5tj|d|i|| dddytj|d|i|| y#1swYyxYw) NrRr_rrnot'Not' nodes are not implementedrr)rr>r3 rrDrVrWrXr,rrrr)rrr3r>rrs r4test_fails_and_or_notz$TestOperations.test_fails_and_or_not(sryy,,Q/??G H X 6C}72#>  $bz!!    GG ":    s B!!B*charrrcNttjjdj d}d|d}|dk(r?d}t j t|5tj|||dddytj|||y#1swYyxYw) NrRr_z(df + 2)[df > 1] > 0 z (df > 0)rz$cannot evaluate scalar only bool opsrr r^)rr`r3r>rrrs r4test_fails_ampersand_pipez(TestOperations.test_fails_ampersand_pipeGs ryy,,Q/??G H$TF) 4 X 8C2#> :6&9 : : GGBvf 5  : :s BB$N)3rLrMrNrrr,r.rOrrPrrrrrrrrrrrrrrr r rrrrrr"r%r(r.r1r4r9rDrrArCrFrLrOrQrUrWrZr_rbryr<r4rr/s(!"F [[UT5M2 [[UT5M2 [[T4#5#56 733  [[UT5M2 [[UT5M2 [[T4#5#56 733 <' ' 0 O@##5,, , #!,D [[EF ,G ,#J,2$((+ + [[-51a&("((2,PV/WX LY L [[-/ABHCH [[X51a&("((2,QRTUPV'WX?Y? $$$ >-R^ [[ . [[Vc3Z0 61 6r<rc TeZdZdZej j e dej jde dZ ej jde dZ dZ dZej jd ej ej"fej$ej"fej&ej&fej"ej"fej(ej*ej*ej. gd Zd Zd Zy)TestMathc\|jdddz|d<tj|i|Srrrs r4rz TestMath.evalUrr<z&Unary ops only implemented for numexprr(fncltdtjjdj di}|j }|d}|j |}tjd5tt||}dddtj|dy#1swY"xYw) NrrRrSz(a)r%allFr) rrDrVrWrXrrerrstaterrr)rrfrrrgotrs r4test_unary_functionszTestMath.test_unary_functionsYs RYY2215EEbIJ K DDSziio [[X & ($WR_Q'F ( sF> ( (s 2B**B3cttjjdj dtjjdj dd}|j }|j }|d}|j|}tjd5tt|||}dddtj|dy#1swY"xYw) NrRrSrz(a, b)r%rhFr) rrDrVrWrXrrrrjrrr)rrfrrrrrkrs r4test_binary_functionszTestMath.test_binary_functionsgs YY**1-==bAYY**1-==bA   DD DDV}iio [[X & +$WR_Q*F + sF> + +s +C$$C-cttjjdj dtjjdj dd}|j d||d|j }tjtj|j|j}tj||dy) NrRrSrze = arctan2(sin(a), b)Tr3r>rFr) rrDrVrWrXrrJarctan2sinrrrrrr3r>rrkrs r4test_df_use_casezTestMath.test_df_use_casexs YY**1-==bAYY**1-==bA    $  ddBFF244L"$$/ sF>r<cttjjdj dtjjdj dd}|j d||d|j }tj|j|jz}tj||dy) NrRrSrze = sin(a + b)TrpFr) rrDrVrWrXrrJrrrrrrrss r4 test_df_arithmetic_subexpressionz)TestMath.test_df_arithmetic_subexpressions YY**1-==bAYY**1-==bA    Mddrtt $ sF>r<zdtype, expect_dtyper*ctdtjjdj dj |i}|j j|k(sJ|jd||d|j}tj|j }|j|jk(sJ||jk(sJtj||dy) NrrRrSz b = sin(a)TrpFr) rrDrVrWrXrrr_rrrrrr)rr_ expect_dtyper3r>rrkrs r4test_result_typeszTestMath.test_result_typess  "))''*::2>EEeL M ttzzU"""  VFDIdd||syy(((syy((( sF>r<ctdtjjdj di}d}t j t|5|jd||dddy#1swYyxYw)NrrRrSz#"mysin" is not a supported functionrzmysin(a)r) rrDrVrWrXr,rrArrr3r>rrs r4test_undefined_funczTestMath.test_undefined_funcse RYY2215EEbIJ K3 ]]:S 1 > GGJvfG = > > > A55A>ctdtjjdj di}d}t j t|5|jd||dddy#1swYyxYw)NrrRrSz1Function "sin" does not support keyword argumentsrzsin(x=a)r) rrDrVrWrXr,rrrr{s r4test_keyword_argzTestMath.test_keyword_argse RYY2215EEbIJ KA ]]9C 0 > GGJvfG = > > >r}N)rLrMrNrr,r.r/rrOr!rlrrnrtrvrDint32rfrafloat32r- complex128r0rUryr|rryr<r4rdrdTs( [[ &N [[T?3?4? [[T#34?5? ?" ? [[ XXrzz " XXrzz " ZZ $ ZZ $ FLL R=O=O P   ? ?">>r<rdrRrSc*eZdZdZdZdZdZdZy) TestScopecnd}tjtdztj|||y)N _var_s * 2rRr)rr_var_srr)rr3r>rJs r4test_global_scopezTestScope.test_global_scopes+  ## QJ&@ r<cd}tj}tjd|||tj}|j d||k(sJy)NrUx + 1rlcls)localsrrrr)rr3r>rrlcls2s r4test_no_new_localszTestScope.test_no_new_localssK x}} DG  &u}}r<cd}tj}tjd||tj}||k(sJy)NrUrr)globalsrrr)rr3r>rgblsgbls2s r4test_no_new_globalszTestScope.test_no_new_globalss? y~~ v6  u}}r<cd}d}tjt|5tjd||idddy#1swYyxYw)NrUrrrrr,rr rr)rr3r>rrs r4test_empty_localszTestScope.test_empty_localssF ' ]]1 = J GGGF6b I J J J AA cd}d}tjt|5tj|||idddy#1swYyxYw)Nzname '_var_s' is not definedrr)r3r> global_dictr)rr3r>rrJs r4test_empty_globalszTestScope.test_empty_globalssF,  ]]1 = E GGAfV D E E ErN)rLrMrNrrrrrryr<r4rrs JEr<rcd}tjt|5tjddddddddy#1swYyxYw) NzInvalid engine 'asdf' passedrrrUrRrasdf)rr3r,rKeyErrorrrrs r4test_invalid_enginerC (C xs +E !!$4VDEEE AA ) use_numexprr))Tr$)Frcddlm}tjd|5|d}||k(sJ dddy#1swYyxYw)Nr) _check_enginecompute.use_numexpr)pandas.core.computation.evalrroption_context)rrrrs r4test_numexpr_option_respectedrsE;  0+ >"t$!!!"""s 7Actjdd5tgdgdd}|jd}tddgddgdd dg }t j ||dddy#1swYyxYw) NrF)TFTFNN)rUrRrrrLr)r0Bz A.isnull()rLrr)rA)rrrr3rr)rrrs r4#test_numexpr_option_incompatible_oprsz  0% 80 8?Q R ,'D$rrs r4test_invalid_parserr rr)rrrz dict[str, type[BaseExprVisitor]]_parsersr3r>ct|}|d||}|jD]9}d}tjt|5t ||ddd;y#1swYFxYw)Nrznodes are not implementedr)runsupported_nodesr,rrr)r3r> VisitorClassinstrrs r4test_disallowed_nodesrsnF#L  0D--!) ]].c : ! GD#   ! !! ! !s AA& cd}tjtd5tj|||dddy#1swYyxYw)Nzs +rrrr,rr@rr)r3r>rJs r4test_syntax_error_exprsr%s; A {*: ;1 &0111s AA cd}d}tjt|5tj|||dddy#1swYyxYw)Nzs + tzname 's' is not definedrr)r,rrrr)r3r>rJrs r4test_name_error_exprsr+s?A #C y ,1 &0111s AA express)za + @bz@a + bz@a + @bc:d\}}|dk7r=tjtd5tj|||dddytjtd5tj|||dddy#1swYyxYw#1swYyxYw)NrUrRrzThe '@' prefix is onlyrrzThe '@' prefix is notr)r3r>rrrs r4%test_invalid_local_variable_referencer2s DAq  ]];.F G ; GGGF6 : ; ;]];.E F ; GGGF6 : ; ; ; ; ; ;sB#BBBcd\}}|dk(r?d}tjt|5tjd||dddytjd||}|||zk(sJy#1swYyxYw)Nrr$zVariables in expression .+rzsin + dotted_liner)r,rrrr)r3r>rr dotted_linerrs r4test_numexpr_builtin_raisesr>sC * ]]1 = G GG'v F G Ggg)&HcK''''  G Gs A--A6cd}tjtd5tjd|||dddy#1swYyxYw)N)*g@zResolver of type .+rrE) resolversr3r>)r,rrrr)r3r>cannot_resolves r4test_bad_resolver_raisesrIsAN y(= >Q >&PQQQs AA ctjtd5tjd||dddy#1swYyxYw)Nzexpr cannot be an empty stringrrr,rrArrrs r4test_empty_string_raisesrOs6 z)I J2 6&1222 >Actjtd5tjd||dddy#1swYyxYw)Nz#only a single expression is allowedrz 1 + 1; 2 + 2rrrs r4$test_more_than_one_expression_raisesrUs6 {*O P> vf=>>>rcmprrFrHctdttjj dj i}||}||}||}d|d|d}d|d|d}d|d|d } ||| fD]@} d } t jt| 5tj| || dddBy#1swYMxYw) Nc^tjjdjdS)NrRrS)rDrVrWrryr<r4rdz0test_bool_ops_fails_on_scalars.._s RYY**1-66r:r<rRrrrrrrrr&rr) intrOrDrVrWrXr,rrrr) rFrrHr3r>genrrrrrrs r4test_bool_ops_fails_on_scalarsrZs : ryy$$Q'77 C #c(*C #c(*C #c(*C U3%t $C ]3%t ,C #mC5 .CCo6K ]].c : 6 GGBvf 5 6 66 6 6s B99C otherz'x'z...ctdgdit}|jd|}tgdd}trd|_t j||y)Nr0)rrrIr^r2)FFFrB)robjectrrrrBrr)rrrrs r4test_equals_variousrpsR C) 8B WWuUG_ %F+#6H 68,r<cfd}tj}tj|||}||k(sJy)Nzinf + 1r)rDinfrr)r3r>rvrrs r4test_infrs0AvvH WWQvf 5F X  r<columnu Temp(°C)uCapacitance(μF)cttjjdj d|dg}|||dkD}d|d}|j ||}t j||y) NrRrrr=rL`z` > 5)r3)rrDrVrWrXr3rr)r3rrr query_stringrs r4test_query_tokenrsu  a 00863- B"V*q.!Hvhe$L XXl6X 2F&(+r<ctddgddggddg}||jdkD}|jd|| }tj|||d k(r;d }t j t| 5|jd || dddy|jd || }tj||y#1swYyxYw)NrrSrUrr;countr=z ~(cat > 0)rrr]rz not (cat > 0))rr;r3rrr,rr)r3r>rrrrs r4test_negate_lt_eq_lers QGaW%w/? @BBFFQJ- H XXl6&X AF&(+ / ]].c : D HH_VFH C D D/&H fh/  D Ds 5B>>Cc`|dvr7|jtjjtd|t t jjdjddd|d g }|||d kD}|j|d }tj||y) N)TrueFalserInfz+GH 47859 DataFrame eval not supported with )rr)rRrdrrcol1r=rz>6) rr,r.rrrrDrVrWrr3rr)r;rrrrs r4 test_eval_no_support_column_namers 00 KK  DVHM     a ))!Sw)?  B"V*q.!H XXm $F&(+r<ctgdgdgdd}|dd}|d}tj|5|jdddddtgd gdgdd}tj|||s6tj ||dtj |d|dyt gdd }tj ||tj |d|y#1swYxYw) Nrr)r )r0rCr0z A = B + CTr)r r)rrassert_cow_warningrrrr)using_copy_on_writer r result_viewrrs r4test_set_inplacers C DBQ%K S'C  1 2+  T*+|))LMH"h'  sHSM2 {3/#?)#. sH- {3/:++s C33C<c\eZdZejj dddgddgdZy) TestValidatevaluerUrrg@cd}tjt|5tjd|dddy#1swYyxYw)Nz8For argument "inplace" expected type bool, received typerz2+2rr)rrrs r4test_validate_bool_argsz$TestValidate.test_validate_bool_argss8H ]]:S 1 * GGE5 ) * * *s ?AN)rLrMrNr,r.rOrryr<r4rrs/ [[Wq&)S&AB*C*r<r)p __future__r functoolsr itertoolsrronumpyrDr, pandas.compatrpandas.compat._optionalr pandas.errorsrr r pandas.util._test_decoratorsutil_test_decoratorsr0pandas.core.dtypes.commonr r r rrrrrrrrrpandas._testing_testingrpandas.core.computationrrpandas.core.computation.enginesrpandas.core.computation.exprrrr#pandas.core.computation.expressionsrrpandas.core.computation.opsrrrr r!pandas.core.computation.scoper"pandas.util.versionr#r$fixturer3PARSERSr>rKrrjrFrHrrzr|rWrurwrrdrVrWrXrrr1rr.rOrrrPyTablesExprVisitorr__annotations__rrrrrrrrrrOrrrrrkeysrrrryr<r4rs" > *)4 :' $Yx @   ! t||$%  a>E     _ W_ WL??<$S'S'tb6b6Jh>h>V   q ! 1 1" 5"E"EJyEE y""y00yEE ,,. *7+8,!-,!1 1$CD;E;(Q 2 >  .e -e -6../6&   --K1C#DE,F, 0  O, ,(;(**r<