Skip to content

Commit eb1536b

Browse files
committed
Issue with to_latex and MultiIndex column format
This is a potential resolution to pandas-dev#8336 It borrows the same code flow from _get_formatted_index in pandas.core.format
1 parent 81c8a5f commit eb1536b

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

pandas/core/format.py

+13-7
Original file line numberDiff line numberDiff line change
@@ -581,14 +581,20 @@ def get_col_type(dtype):
581581
strcols = self._to_str_columns()
582582

583583
if self.index and isinstance(self.frame.index, MultiIndex):
584-
clevels = self.frame.columns.nlevels
585584
strcols.pop(0)
586-
name = any(self.frame.columns.names)
587-
for i, lev in enumerate(self.frame.index.levels):
588-
lev2 = lev.format(name=name)
589-
width = len(lev2[0])
590-
lev3 = [' ' * width] * clevels + lev2
591-
strcols.insert(i, lev3)
585+
586+
587+
fmt = self._get_formatter('__index__')
588+
fmt_index = self.frame.index.format(sparsify=self.sparsify,
589+
adjoin=False,
590+
names=False,
591+
formatter=fmt)
592+
593+
for i, lev in enumerate(fmt_index):
594+
width = len(lev[0])
595+
lev2 = [width * ' ' if l == '' else l for l in lev]
596+
lev2.insert(0, width * ' ')
597+
strcols.insert(i, lev2)
592598

593599
if column_format is None:
594600
dtypes = self.frame.dtypes.values

0 commit comments

Comments
 (0)