Skip to content

Commit 9121f04

Browse files
committed
TST: Sparse where test
1 parent 5f53494 commit 9121f04

File tree

2 files changed

+70
-0
lines changed

2 files changed

+70
-0
lines changed

pandas/tests/sparse/test_frame.py

+35
Original file line numberDiff line numberDiff line change
@@ -1385,3 +1385,38 @@ def test_numpy_func_call(self):
13851385
'std', 'min', 'max']
13861386
for func in funcs:
13871387
getattr(np, func)(self.frame)
1388+
1389+
def test_where(self):
1390+
data = [[1, 2], [3, 4]]
1391+
1392+
sparse_df = SparseDataFrame(data)
1393+
result = sparse_df.where(sparse_df >= 2)
1394+
1395+
dense_df = DataFrame(data)
1396+
expected = dense_df.where(dense_df >= 2)
1397+
1398+
tm.assert_frame_equal(result, expected)
1399+
1400+
def test_where_with_zero_other(self):
1401+
data = [[1, 2], [3, 4]]
1402+
other = 0
1403+
1404+
sparse_df = SparseDataFrame(data)
1405+
result = sparse_df.where(sparse_df >= 2, other)
1406+
1407+
dense_df = DataFrame(data)
1408+
expected = dense_df.where(dense_df >= 2, other)
1409+
1410+
tm.assert_frame_equal(result, expected)
1411+
1412+
def test_where_with_float_other(self):
1413+
data = [[1, 2], [3, 4]]
1414+
other = 0.1
1415+
1416+
sparse_df = SparseDataFrame(data)
1417+
result = sparse_df.where(sparse_df >= 2, other)
1418+
1419+
dense_df = DataFrame(data)
1420+
expected = dense_df.where(dense_df >= 2, other)
1421+
1422+
tm.assert_frame_equal(result, expected)

pandas/tests/sparse/test_series.py

+35
Original file line numberDiff line numberDiff line change
@@ -1384,6 +1384,41 @@ def test_numpy_func_call(self):
13841384
for series in ('bseries', 'zbseries'):
13851385
getattr(np, func)(getattr(self, series))
13861386

1387+
def test_where(self):
1388+
data = [1, 2, 3, 4]
1389+
1390+
sparse = SparseSeries(data)
1391+
result = sparse.where(sparse >= 2)
1392+
1393+
dense = Series(data)
1394+
expected = dense.where(dense >= 2)
1395+
1396+
tm.assert_series_equal(result, expected)
1397+
1398+
def test_where_with_zero_other(self):
1399+
data = [1, 2, 3, 4]
1400+
other = 0
1401+
1402+
sparse = SparseSeries(data)
1403+
result = sparse.where(sparse >= 2, other)
1404+
1405+
dense = Series(data)
1406+
expected = dense.where(dense >= 2, other)
1407+
1408+
tm.assert_series_equal(result, expected)
1409+
1410+
def test_where_with_float_other(self):
1411+
data = [1, 2, 3, 4]
1412+
other = 0.1
1413+
1414+
sparse = SparseSeries(data)
1415+
result = sparse.where(sparse >= 2, other)
1416+
1417+
dense = Series(data)
1418+
expected = dense.where(dense >= 2, other)
1419+
1420+
tm.assert_series_equal(result, expected)
1421+
13871422

13881423
@pytest.mark.parametrize(
13891424
'datetime_type', (np.datetime64,

0 commit comments

Comments
 (0)