diff --git a/pandas/tests/frame/indexing/test_where.py b/pandas/tests/frame/indexing/test_where.py index e23a893e0538d..eaafd2f017e79 100644 --- a/pandas/tests/frame/indexing/test_where.py +++ b/pandas/tests/frame/indexing/test_where.py @@ -771,3 +771,13 @@ def test_where_non_keyword_deprecation(): result = s.where(s > 1, 10, False) expected = DataFrame([10, 10, 2, 3, 4]) tm.assert_frame_equal(expected, result) + + +def test_where_columns_casting(): + # GH 42295 + + df = DataFrame({"a": [1.0, 2.0], "b": [3, np.nan]}) + expected = df.copy() + result = df.where(pd.notnull(df), None) + # make sure dtypes don't change + tm.assert_frame_equal(expected, result)