From 2153e63a2ae48ec4a06f63734abe0f23feb743e4 Mon Sep 17 00:00:00 2001 From: "JHM Darbyshire (iMac)" Date: Tue, 22 Feb 2022 21:20:39 +0100 Subject: [PATCH] is type refactor --- pandas/io/formats/style_render.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pandas/io/formats/style_render.py b/pandas/io/formats/style_render.py index 2e90074a6bbd3..8a0b7f21ce023 100644 --- a/pandas/io/formats/style_render.py +++ b/pandas/io/formats/style_render.py @@ -25,6 +25,11 @@ from pandas._typing import Level from pandas.compat._optional import import_optional_dependency +from pandas.core.dtypes.common import ( + is_complex, + is_float, + is_integer, +) from pandas.core.dtypes.generic import ABCSeries from pandas import ( @@ -1442,9 +1447,9 @@ def _default_formatter(x: Any, precision: int, thousands: bool = False) -> Any: value : Any Matches input type, or string if input is float or complex or int with sep. """ - if isinstance(x, (float, complex)): + if is_float(x) or is_complex(x): return f"{x:,.{precision}f}" if thousands else f"{x:.{precision}f}" - elif isinstance(x, int): + elif is_integer(x): return f"{x:,.0f}" if thousands else f"{x:.0f}" return x @@ -1459,7 +1464,7 @@ def _wrap_decimal_thousands( """ def wrapper(x): - if isinstance(x, (float, complex, int)): + if is_float(x) or is_integer(x) or is_complex(x): if decimal != "." and thousands is not None and thousands != ",": return ( formatter(x)