add check for infinity in __call__ of EngFormatter #14214
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
EngFormatter throws an exception if passed 'inf' as below.
This patch checks for infinity and just returns 'inf' in that case. The fix is analagous to the recent fix for NaN:
d0734ba
OverflowError Traceback (most recent call last)
in ()
3
4 ef = fmt.EngFormatter()
----> 5 ef(pandas.np.inf)
/usr/lib/python3/dist-packages/pandas/core/format.py in call(self, num)
2485
2486 if dnum != 0:
-> 2487 pow10 = decimal.Decimal(int(math.floor(dnum.log10() / 3) * 3))
2488 else:
2489 pow10 = decimal.Decimal(0)
OverflowError: cannot convert Infinity to integer