Skip to content

Conversation

sharkipelago
Copy link
Contributor

I changed the behavior or series.round() to act like series.map(round) if the dtype is object as discussed in #61682. I put this in a new PR as the original intent of the other PR was to change DataFrame behavior. I'm unsure if the way I approached it is a good way to make the change though because I saw in core/internals/blocks.py that Block's round() method is intended to raise an error for dtype of object. So I wasn't sure I should approach this by updated the Block class instead. Any feedback is appreciated!

return self._constructor(
new_values, index=self.index, copy=False
).__finalize__(self, method="map")
except TypeError as e:
Copy link
Member

Choose a reason for hiding this comment

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

nitpick e->err. try to avoid single-letter variable names

raise TypeError("Expected numeric dtype, got object instead.")
try:
round_func = functools.partial(round, ndigits=decimals)
new_values = self._map_values(round_func)
Copy link
Member

Choose a reason for hiding this comment

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

only this line needs to go inside the try/except

@jbrockmendel
Copy link
Member

that Block's round() method is intended to raise an error for dtype of object

In another PR you're going to make DataFrame do the same thing this does, right? If so, you'll need to change the Block behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants