diff --git a/pandas/tests/frame/indexing/test_mask.py b/pandas/tests/frame/indexing/test_mask.py index e8a49ab868425..23458b096a140 100644 --- a/pandas/tests/frame/indexing/test_mask.py +++ b/pandas/tests/frame/indexing/test_mask.py @@ -7,6 +7,7 @@ from pandas import ( NA, DataFrame, + Float64Dtype, Series, StringDtype, Timedelta, @@ -130,3 +131,13 @@ def test_mask_where_dtype_timedelta(): [np.nan, np.nan, np.nan, Timedelta("3 day"), Timedelta("4 day")] ) tm.assert_frame_equal(df.where(df > Timedelta(2, unit="d")), expected) + + +def test_mask_return_dtype(): + # GH#50488 + ser = Series([0.0, 1.0, 2.0, 3.0], dtype=Float64Dtype()) + cond = ~ser.isna() + other = Series([True, False, True, False]) + excepted = Series([1.0, 0.0, 1.0, 0.0], dtype=ser.dtype) + result = ser.mask(cond, other) + tm.assert_series_equal(result, excepted)