From c6a4c18661a1b145da4dd0ce77bcc46c8478936d Mon Sep 17 00:00:00 2001 From: Matt Roeschke Date: Sun, 6 Aug 2017 21:54:58 -0700 Subject: [PATCH 1/2] TST: Partial Boolean DataFrame Indexing (#17170) --- pandas/tests/indexing/test_indexing.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pandas/tests/indexing/test_indexing.py b/pandas/tests/indexing/test_indexing.py index 3ecd1f3029cad..472b2c9794e1e 100644 --- a/pandas/tests/indexing/test_indexing.py +++ b/pandas/tests/indexing/test_indexing.py @@ -861,6 +861,19 @@ def test_maybe_numeric_slice(self): expected = [1] assert result == expected + def test_partial_boolean_frame_indexing(self): + # GH 17170 + df = pd.DataFrame(np.arange(9.).reshape(3, 3), + index=list('abc'), + columns=list('ABC')) + index_df = pd.DataFrame(1, index=list('ab'), columns=list('AB')) + result = df[index_df.notnull()] + expected = pd.DataFrame(np.array([[0., 1., np.nan], + [3., 4., np.nan], + [np.nan] * 3]), + index=list('abc'), + columns=list('ABC')) + tm.assert_frame_equal(result, expected) class TestSeriesNoneCoercion(object): EXPECTED_RESULTS = [ From 50a89e4ec2c4098a18d0e8b1e34cbeddf5c53e8c Mon Sep 17 00:00:00 2001 From: Matt Roeschke Date: Mon, 7 Aug 2017 07:50:45 -0700 Subject: [PATCH 2/2] Fix linting error --- pandas/tests/indexing/test_indexing.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pandas/tests/indexing/test_indexing.py b/pandas/tests/indexing/test_indexing.py index 472b2c9794e1e..f1f51f26df55c 100644 --- a/pandas/tests/indexing/test_indexing.py +++ b/pandas/tests/indexing/test_indexing.py @@ -875,6 +875,7 @@ def test_partial_boolean_frame_indexing(self): columns=list('ABC')) tm.assert_frame_equal(result, expected) + class TestSeriesNoneCoercion(object): EXPECTED_RESULTS = [ # For numeric series, we should coerce to NaN.