diff --git a/pandas/tests/frame/test_nonunique_indexes.py b/pandas/tests/frame/test_nonunique_indexes.py index a8b76f4d85f49..68d0e7cffe7a1 100644 --- a/pandas/tests/frame/test_nonunique_indexes.py +++ b/pandas/tests/frame/test_nonunique_indexes.py @@ -513,3 +513,12 @@ def test_set_value_by_index(self): df.iloc[:, 0] = 3 tm.assert_series_equal(df.iloc[:, 1], expected) + + def test_masking_duplicate_columns_mixed_dtypes(self): + # https://github.com/pandas-dev/pandas/issues/31954 + df = DataFrame(np.array([[0.0, 1], [2.0, 3]]), columns=[0, 0]) + expected = DataFrame( + np.array([[np.nan, np.nan], [np.nan, 3.0]]), columns=[0, 0] + ) + result = df[df > 2] + tm.assert_frame_equal(result, expected)