Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ExtensionArray.Round method and tests #54582

Open
wants to merge 39 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
1125199
add round abc
andrewgsavage Aug 16, 2023
a4ef563
add round test
andrewgsavage Aug 16, 2023
9f6ebc9
round tests
andrewgsavage Aug 16, 2023
2f0f100
lint
andrewgsavage Aug 16, 2023
241ba6c
lint
andrewgsavage Aug 16, 2023
457290d
Merge branch 'main' into round
andrewgsavage Aug 17, 2023
e2a4168
tests
andrewgsavage Aug 26, 2023
a908700
move methods tests, elementwise rounding
andrewgsavage Sep 4, 2023
fbbfe46
lint
andrewgsavage Sep 5, 2023
15915dc
remove test
andrewgsavage Sep 5, 2023
4167122
Merge branch 'main' into round
andrewgsavage Sep 5, 2023
e31d06a
add default round method
andrewgsavage Sep 6, 2023
bfd36f8
merge main
andrewgsavage Sep 6, 2023
bc4d8c6
remove invert
andrewgsavage Sep 6, 2023
362cd73
typo
andrewgsavage Sep 6, 2023
aa79869
decimal array works now
andrewgsavage Sep 6, 2023
2b694bf
move round to base calss
andrewgsavage Sep 24, 2023
01d1453
move pytest mark into if statement
andrewgsavage Sep 24, 2023
e5d500d
nitpick
andrewgsavage Sep 24, 2023
95d07fa
fix pyarrow round dtypes
andrewgsavage Sep 24, 2023
f28d82f
implement sparsearray round
andrewgsavage Oct 19, 2023
2299134
lint
andrewgsavage Oct 19, 2023
15a7cac
lint
andrewgsavage Oct 19, 2023
ee37b4d
mypy
andrewgsavage Oct 19, 2023
70ebf5a
ignore my py error
andrewgsavage Nov 7, 2023
bda7031
Merge branch 'main' into round
andrewgsavage Nov 7, 2023
e01130d
remove blocks ignore mypyr
andrewgsavage Nov 7, 2023
2e73b6a
Merge branch 'round' of https://github.com/andrewgsavage/pandas into …
andrewgsavage Nov 7, 2023
2e9cddf
revert cast
andrewgsavage Nov 8, 2023
76c9ba7
typerror for non numerics
andrewgsavage Nov 8, 2023
044f0a1
isna
andrewgsavage Nov 8, 2023
770edf3
cast pyarrow
andrewgsavage Nov 9, 2023
85f67b6
Merge branch 'main' into round
andrewgsavage Mar 4, 2024
f3d4520
Update blocks.py
andrewgsavage Mar 4, 2024
398e64b
Update blocks.py
andrewgsavage Mar 4, 2024
b0af597
rounding boolean shouldnt error
andrewgsavage Mar 13, 2024
70b6c89
whatsnew
andrewgsavage Mar 13, 2024
8ef99da
Merge branch 'main' into round
andrewgsavage Jun 15, 2024
bebe0ac
Update v3.0.0.rst
andrewgsavage Jun 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
mypy
  • Loading branch information
andrewgsavage committed Oct 19, 2023
commit ee37b4dc95a6b88a27585c8e6f839c5d796f8ea8
2 changes: 1 addition & 1 deletion pandas/core/arrays/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -2151,7 +2151,7 @@ def round(self, decimals: int = 0, *args, **kwargs) -> Self:
f"Cannot round {type(self)} dtype as it is non-numeric or boolean"
)
return self._from_sequence(
[round(element) if not isna(element) else element for element in self.data],
[round(element) if not isna(element) else element for element in self],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

self.isna or the self.dtype.na_value should probably be used to check for na instead of isna

dtype=self.dtype,
)

Expand Down
4 changes: 0 additions & 4 deletions pandas/tests/extension/test_numpy.py
Original file line number Diff line number Diff line change
Expand Up @@ -270,10 +270,6 @@ def test_insert_invalid(self, data, invalid_scalar):
# NumpyExtensionArray[object] can hold anything, so skip
super().test_insert_invalid(data, invalid_scalar)

@pytest.mark.xfail(reason="NumpyExtensionArray.round is not implemented.")
def test_round(self, data):
super().test_round(data)


class TestArithmetics(BaseNumPyTests, base.BaseArithmeticOpsTests):
divmod_exc = None
Expand Down
Loading