Skip to content

Commit 86ad976

Browse files
committed
add test
1 parent 13f0946 commit 86ad976

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

pandas/tests/io/formats/test_to_latex.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -842,6 +842,39 @@ def test_to_latex_specified_header_special_chars_without_escape(self):
842842
)
843843
assert result == expected
844844

845+
def test_to_latex_escape_multi_levels(self):
846+
df = DataFrame(
847+
{
848+
"_lev1": ["_1", "_1", "_1", "_2", "_2", "_2"],
849+
"_lev11": ["_1", "_1", "_1", "_2", "_2", "_2"],
850+
"_lev2": ["_1", "_1", "_2", "_1", "_1", "_2"],
851+
"_lev3": ["_1", "_2", "_1", "_2", "_1", "_2"],
852+
"_lev4": ["_1", "_2", "_3", "_4", "_5", "_6"],
853+
"values": [0, 1, 2, 3, 4, 5],
854+
}
855+
)
856+
df = df.pivot(
857+
index=["_lev1", "_lev11"], columns=["_lev2", "_lev3"], values="values"
858+
)
859+
result = df.to_latex(escape=True)
860+
expected = _dedent(
861+
r"""
862+
\begin{tabular}{llrrrr}
863+
\toprule
864+
& \_lev2 & \multicolumn{2}{r}{\_1} & \multicolumn{2}{r}{\_2} \\
865+
& \_lev3 & \_1 & \_2 & \_1 & \_2 \\
866+
\_lev1 & \_lev11 & & & & \\
867+
\midrule
868+
\_1 & \_1 & 0.000000 & 1.000000 & 2.000000 & NaN \\
869+
\cline{1-6}
870+
\_2 & \_2 & 4.000000 & 3.000000 & NaN & 5.000000 \\
871+
\cline{1-6}
872+
\bottomrule
873+
\end{tabular}
874+
"""
875+
)
876+
assert result == expected
877+
845878

846879
class TestToLatexPosition:
847880
def test_to_latex_position(self):

0 commit comments

Comments
 (0)