Skip to content

Commit 6e64b7b

Browse files
committed
more cleanup
1 parent 37638cc commit 6e64b7b

File tree

3 files changed

+13
-27
lines changed

3 files changed

+13
-27
lines changed

pandas/core/arrays/base.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -680,7 +680,7 @@ def __repr__(self):
680680
length=len(self),
681681
dtype=self.dtype)
682682

683-
def _formatter(self, formatter):
683+
def _formatter(self, formatter=None):
684684
# type: (ExtensionArrayFormatter) -> Callable[Any]
685685
"""Formatting function for scalar values.
686686
@@ -693,7 +693,7 @@ def _formatter(self, formatter):
693693
Whether the formatter is to be used by pandas inside a Series
694694
or DataFrame repr.
695695
"""
696-
return formatter.formatter or str
696+
return getattr(formatter, 'formatter', None) or str
697697

698698
def _formatting_values(self):
699699
# type: () -> np.ndarray

pandas/core/arrays/categorical.py

+4
Original file line numberDiff line numberDiff line change
@@ -499,6 +499,10 @@ def _constructor(self):
499499
def _from_sequence(cls, scalars, dtype=None, copy=False):
500500
return Categorical(scalars, dtype=dtype)
501501

502+
def _formatter(self, formatter):
503+
# backwards compat with old printing.
504+
return None
505+
502506
def copy(self):
503507
""" Copy constructor. """
504508
return self._constructor(values=self._codes.copy(),

pandas/io/formats/format.py

+7-25
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@
1818
from pandas.core.dtypes.common import (
1919
is_categorical_dtype, is_datetime64_dtype, is_datetimetz,
2020
is_extension_array_dtype, is_float, is_float_dtype, is_integer,
21-
is_integer_dtype, is_list_like, is_numeric_dtype, is_period_arraylike,
22-
is_scalar, is_timedelta64_dtype)
21+
is_integer_dtype, is_list_like, is_numeric_dtype, is_scalar,
22+
is_timedelta64_dtype)
2323
from pandas.core.dtypes.generic import (
24-
ABCIndex, ABCMultiIndex, ABCSeries, ABCSparseArray)
24+
ABCIndexClass, ABCMultiIndex, ABCSeries, ABCSparseArray)
2525
from pandas.core.dtypes.missing import isna, notna
2626

2727
from pandas import compat
@@ -30,7 +30,6 @@
3030
from pandas.core.config import get_option, set_option
3131
from pandas.core.index import Index, ensure_index
3232
from pandas.core.indexes.datetimes import DatetimeIndex
33-
from pandas.core.indexes.period import PeriodIndex
3433

3534
from pandas.io.common import _expand_user, _stringify_path
3635
from pandas.io.formats.printing import adjoin, justify, pprint_thing
@@ -850,9 +849,7 @@ def _get_column_name_list(self):
850849
def format_array(values, formatter, float_format=None, na_rep='NaN',
851850
digits=None, space=None, justify='right', decimal='.'):
852851

853-
if is_period_arraylike(values):
854-
fmt_klass = PeriodArrayFormatter
855-
elif is_datetime64_dtype(values.dtype):
852+
if is_datetime64_dtype(values.dtype):
856853
fmt_klass = Datetime64Formatter
857854
elif is_timedelta64_dtype(values.dtype):
858855
fmt_klass = Timedelta64Formatter
@@ -1128,33 +1125,18 @@ def _format_strings(self):
11281125
class ExtensionArrayFormatter(GenericArrayFormatter):
11291126
def _format_strings(self):
11301127
values = self.values
1131-
if isinstance(values, (ABCIndex, ABCSeries)):
1128+
if isinstance(values, (ABCIndexClass, ABCSeries)):
11321129
values = values._values
11331130

1134-
formatter = self.values._formatter(self)
1135-
fmt_values = format_array(np.asarray(self.values),
1131+
formatter = values._formatter(self)
1132+
fmt_values = format_array(np.asarray(values),
11361133
formatter,
11371134
float_format=self.float_format,
11381135
na_rep=self.na_rep, digits=self.digits,
11391136
space=self.space, justify=self.justify)
11401137
return fmt_values
11411138

11421139

1143-
class PeriodArrayFormatter(IntArrayFormatter):
1144-
1145-
def _format_strings(self):
1146-
from pandas.core.indexes.period import IncompatibleFrequency
1147-
try:
1148-
values = PeriodIndex(self.values).to_native_types()
1149-
except IncompatibleFrequency:
1150-
# periods may contains different freq
1151-
values = Index(self.values, dtype='object').to_native_types()
1152-
1153-
formatter = self.formatter or (lambda x: '{x}'.format(x=x))
1154-
fmt_values = [formatter(x) for x in values]
1155-
return fmt_values
1156-
1157-
11581140
def format_percentiles(percentiles):
11591141
"""
11601142
Outputs rounded and formatted percentiles.

0 commit comments

Comments
 (0)