Skip to content

Commit 925de27

Browse files
committed
Added test for 2-d ndarray boolean indexing
1 parent 18e7a50 commit 925de27

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

pandas/tests/frame/test_indexing.py

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -524,9 +524,8 @@ def test_setitem_boolean(self):
524524
values[values == 2] = 3
525525
assert_almost_equal(df.values, values)
526526

527-
with tm.assert_raises_regex(TypeError, 'Must pass '
528-
'DataFrame with '
529-
'boolean values only'):
527+
msg = "Must pass DataFrame or 2-d ndarray with boolean values only"
528+
with assertRaisesRegexp(TypeError, msg):
530529
df[df * 0] = 2
531530

532531
# index with DataFrame
@@ -539,8 +538,17 @@ def test_setitem_boolean(self):
539538
# set from DataFrame
540539
expected = df.copy()
541540
df[df > np.abs(df)] = df * 2
542-
np.putmask(expected.values, mask.values, df.values * 2)
543-
assert_frame_equal(df, expected)
541+
np.putmask(expected.values, mask.val
542+
543+
def test_setitem_boolean_ndarary(self):
544+
df = self.frame.copy()
545+
mask = df > np.abs(df)
546+
expected = df.copy()
547+
expected.values[mask.values] = nan
548+
# index with 2-d boolean ndarray
549+
actual = df.copy()
550+
actual[mask.values] = nan
551+
assert_frame_equal(actual, expected)
544552

545553
def test_setitem_cast(self):
546554
self.frame['D'] = self.frame['D'].astype('i8')

0 commit comments

Comments
 (0)