Skip to content

Commit f28d82f

Browse files
committed
implement sparsearray round
1 parent 95d07fa commit f28d82f

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

pandas/core/arrays/sparse/array.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1647,6 +1647,10 @@ def argmin(self, skipna: bool = True) -> int:
16471647
if not skipna and self._hasna:
16481648
raise NotImplementedError
16491649
return self._argmin_argmax("argmin")
1650+
1651+
def round(self, decimals: int = 0, *args, **kwargs) -> Self:
1652+
new_values = np.array([round(element) if not isna(element) else element for element in self.sp_values])
1653+
return self._simple_new(new_values, self._sparse_index, self.dtype)
16501654

16511655
# ------------------------------------------------------------------------
16521656
# Ufuncs

pandas/tests/extension/test_sparse.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -349,10 +349,6 @@ def test_map_raises(self, data, na_action):
349349
with pytest.raises(ValueError, match=msg):
350350
data.map(lambda x: np.nan, na_action=na_action)
351351

352-
@pytest.mark.xfail(reason="SparseArray.round not implemented.")
353-
def test_round(self, data):
354-
super().test_round(data)
355-
356352

357353
class TestCasting(BaseSparseTests, base.BaseCastingTests):
358354
@pytest.mark.xfail(raises=TypeError, reason="no sparse StringDtype")

0 commit comments

Comments
 (0)