Skip to content

Commit 7ecaf79

Browse files
committed
Add bool to int coercion tests for cut and qcut
1 parent aabbd95 commit 7ecaf79

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

pandas/tests/reshape/test_cut.py

+11
Original file line numberDiff line numberDiff line change
@@ -585,3 +585,14 @@ def test_timedelta_cut_roundtrip():
585585
["0 days 23:57:07.200000", "2 days 00:00:00", "3 days 00:00:00"]
586586
)
587587
tm.assert_index_equal(result_bins, expected_bins)
588+
589+
590+
@pytest.mark.parametrize("bins", [6, 7])
591+
@pytest.mark.parametrize("box", "compare", [(Series, tm.assert_series_equal), (np.array,tm.assert_categorical_equal)])
592+
def test_cut_bool_coercion_to_int(bins, box, compare):
593+
# issue 20303
594+
x = box(np.random.randint(2, size=200))
595+
expected = cut(x, bins, duplicates='drop')
596+
data = x.astype(bool)
597+
result = cut(data, bins, duplicates='drop')
598+
compare(result, expected)

pandas/tests/reshape/test_qcut.py

+10
Original file line numberDiff line numberDiff line change
@@ -236,3 +236,13 @@ def test_date_like_qcut_bins(arg, expected_bins):
236236
ser = Series(arg)
237237
result, result_bins = qcut(ser, 2, retbins=True)
238238
tm.assert_index_equal(result_bins, expected_bins)
239+
240+
@pytest.mark.parametrize("bins", [6, 7])
241+
@pytest.mark.parametrize("box", "compare", [(Series, tm.assert_series_equal), (np.array,tm.assert_categorical_equal)])
242+
def test_qcut_bool_coercion_to_int(bins, box, compare):
243+
# issue 20303
244+
x = box(np.random.randint(2, size=200))
245+
expected = qcut(x, bins, duplicates='drop')
246+
data = x.astype(bool)
247+
result = qcut(data, bins, duplicates='drop')
248+
compare(result, expected)

0 commit comments

Comments
 (0)