Skip to content
12 changes: 6 additions & 6 deletions pandas/formats/format.py
Original file line number Diff line number Diff line change
Expand Up @@ -667,7 +667,8 @@ def to_latex(self, column_format=None, longtable=False, encoding=None,
longtable=longtable,
multicolumn=multicolumn,
multicolumn_format=multicolumn_format,
multirow=multirow)
multirow=multirow,
sparsify=self.sparsify)

if encoding is None:
encoding = 'ascii' if compat.PY2 else 'utf-8'
Expand Down Expand Up @@ -833,11 +834,12 @@ class LatexFormatter(TableFormatter):
"""

def __init__(self, formatter, column_format=None, longtable=False,
multicolumn=False, multicolumn_format=None, multirow=False):
multicolumn=False, multicolumn_format=None, multirow=False, sparsify=True):
self.fmt = formatter
self.frame = self.fmt.frame
self.column_format = column_format
self.longtable = longtable
self.sparsify = sparsify
self.multicolumn = multicolumn
self.multicolumn_format = multicolumn_format
self.multirow = multirow
Expand All @@ -864,6 +866,7 @@ def get_col_type(dtype):

# reestablish the MultiIndex that has been joined by _to_str_column
if self.fmt.index and isinstance(self.frame.index, MultiIndex):
fmt_lev3 = self.frame.index.format(sparsify=self.sparsify, adjoin=False)
clevels = self.frame.columns.nlevels
strcols.pop(0)
name = any(self.frame.index.names)
Expand All @@ -879,10 +882,7 @@ def get_col_type(dtype):
lev3 = [blank] * clevels
if name:
lev3.append(lev.name)
for level_idx, group in itertools.groupby(
self.frame.index.labels[i]):
count = len(list(group))
lev3.extend([lev2[level_idx]] + [blank] * (count - 1))
lev3.append(fmt_lev3[i])
strcols.insert(i, lev3)

column_format = self.column_format
Expand Down