Skip to content

Commit 58c2f96

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

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

pandas/tests/frame/test_indexing.py

Lines changed: 12 additions & 3 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 tm.assert_raises_regex(TypeError, msg):
530529
df[df * 0] = 2
531530

532531
# index with DataFrame
@@ -542,6 +541,16 @@ def test_setitem_boolean(self):
542541
np.putmask(expected.values, mask.values, df.values * 2)
543542
assert_frame_equal(df, expected)
544543

544+
def test_setitem_boolean_ndarary(self):
545+
df = self.frame.copy()
546+
mask = df > np.abs(df)
547+
expected = df.copy()
548+
expected.values[mask.values] = nan
549+
# index with 2-d boolean ndarray
550+
actual = df.copy()
551+
actual[mask.values] = nan
552+
assert_frame_equal(actual, expected)
553+
545554
def test_setitem_cast(self):
546555
self.frame['D'] = self.frame['D'].astype('i8')
547556
assert self.frame['D'].dtype == np.int64

0 commit comments

Comments
 (0)