@@ -1274,7 +1274,6 @@ def test_assignment_fails(self):
1274
1274
local_dict = {'df' : df , 'df2' : df2 })
1275
1275
1276
1276
def test_assignment_column (self ):
1277
- tm .skip_if_no_ne ('numexpr' )
1278
1277
df = DataFrame (np .random .randn (5 , 2 ), columns = list ('ab' ))
1279
1278
orig_df = df .copy ()
1280
1279
@@ -1346,7 +1345,6 @@ def test_column_in(self):
1346
1345
1347
1346
def assignment_not_inplace (self ):
1348
1347
# GH 9297
1349
- tm .skip_if_no_ne ('numexpr' )
1350
1348
df = DataFrame (np .random .randn (5 , 2 ), columns = list ('ab' ))
1351
1349
1352
1350
actual = df .eval ('c = a + b' , inplace = False )
@@ -1365,7 +1363,6 @@ def assignment_not_inplace(self):
1365
1363
1366
1364
def test_multi_line_expression (self ):
1367
1365
# GH 11149
1368
- tm .skip_if_no_ne ('numexpr' )
1369
1366
df = pd .DataFrame ({'a' : [1 , 2 , 3 ], 'b' : [4 , 5 , 6 ]})
1370
1367
expected = df .copy ()
1371
1368
@@ -1393,7 +1390,6 @@ def test_multi_line_expression(self):
1393
1390
1394
1391
def test_multi_line_expression_not_inplace (self ):
1395
1392
# GH 11149
1396
- tm .skip_if_no_ne ('numexpr' )
1397
1393
df = pd .DataFrame ({'a' : [1 , 2 , 3 ], 'b' : [4 , 5 , 6 ]})
1398
1394
expected = df .copy ()
1399
1395
@@ -1411,6 +1407,21 @@ def test_multi_line_expression_not_inplace(self):
1411
1407
e = a + 2""" , inplace = False )
1412
1408
assert_frame_equal (expected , df )
1413
1409
1410
+ def test_multi_line_expression_local_variable (self ):
1411
+ # GH 15342
1412
+ df = pd .DataFrame ({'a' : [1 , 2 , 3 ], 'b' : [4 , 5 , 6 ]})
1413
+ expected = df .copy ()
1414
+
1415
+ local_var = 7
1416
+ expected ['c' ] = expected ['a' ] * local_var
1417
+ expected ['d' ] = expected ['c' ] + local_var
1418
+ ans = df .eval ("""
1419
+ c = a * @local_var
1420
+ d = c + @local_var
1421
+ """ , inplace = True )
1422
+ assert_frame_equal (expected , df )
1423
+ self .assertIsNone (ans )
1424
+
1414
1425
def test_assignment_in_query (self ):
1415
1426
# GH 8664
1416
1427
df = pd .DataFrame ({'a' : [1 , 2 , 3 ], 'b' : [4 , 5 , 6 ]})
0 commit comments