df=mkdf(10,5,r_idx_nlevels=2,c_idx_nlevels=3)
s=pd.io.templating.HTMLStyler(df) # -> df.to_styler()
s #vanilla
C_l0_g0 | C_l0_g1 | C_l0_g2 | C_l0_g3 | C_l0_g4 | ||
---|---|---|---|---|---|---|
C_l1_g0 | C_l1_g1 | C_l1_g2 | C_l1_g3 | C_l1_g4 | ||
C_l2_g0 | C_l2_g1 | C_l2_g2 | C_l2_g3 | C_l2_g4 | ||
R_l0_g0 | R_l1_g0 | R0C0 | R0C1 | R0C2 | R0C3 | R0C4 |
R_l0_g1 | R_l1_g1 | R1C0 | R1C1 | R1C2 | R1C3 | R1C4 |
R_l0_g2 | R_l1_g2 | R2C0 | R2C1 | R2C2 | R2C3 | R2C4 |
R_l0_g3 | R_l1_g3 | R3C0 | R3C1 | R3C2 | R3C3 | R3C4 |
R_l0_g4 | R_l1_g4 | R4C0 | R4C1 | R4C2 | R4C3 | R4C4 |
R_l0_g5 | R_l1_g5 | R5C0 | R5C1 | R5C2 | R5C3 | R5C4 |
R_l0_g6 | R_l1_g6 | R6C0 | R6C1 | R6C2 | R6C3 | R6C4 |
R_l0_g7 | R_l1_g7 | R7C0 | R7C1 | R7C2 | R7C3 | R7C4 |
R_l0_g8 | R_l1_g8 | R8C0 | R8C1 | R8C2 | R8C3 | R8C4 |
R_l0_g9 | R_l1_g9 | R9C0 | R9C1 | R9C2 | R9C3 | R9C4 |
# vanilla-chocolate
# Should be vertical...
s.zebra("#ddd","#eee")
C_l0_g0 | C_l0_g1 | C_l0_g2 | C_l0_g3 | C_l0_g4 | ||
---|---|---|---|---|---|---|
C_l1_g0 | C_l1_g1 | C_l1_g2 | C_l1_g3 | C_l1_g4 | ||
C_l2_g0 | C_l2_g1 | C_l2_g2 | C_l2_g3 | C_l2_g4 | ||
R_l0_g0 | R_l1_g0 | R0C0 | R0C1 | R0C2 | R0C3 | R0C4 |
R_l0_g1 | R_l1_g1 | R1C0 | R1C1 | R1C2 | R1C3 | R1C4 |
R_l0_g2 | R_l1_g2 | R2C0 | R2C1 | R2C2 | R2C3 | R2C4 |
R_l0_g3 | R_l1_g3 | R3C0 | R3C1 | R3C2 | R3C3 | R3C4 |
R_l0_g4 | R_l1_g4 | R4C0 | R4C1 | R4C2 | R4C3 | R4C4 |
R_l0_g5 | R_l1_g5 | R5C0 | R5C1 | R5C2 | R5C3 | R5C4 |
R_l0_g6 | R_l1_g6 | R6C0 | R6C1 | R6C2 | R6C3 | R6C4 |
R_l0_g7 | R_l1_g7 | R7C0 | R7C1 | R7C2 | R7C3 | R7C4 |
R_l0_g8 | R_l1_g8 | R8C0 | R8C1 | R8C2 | R8C3 | R8C4 |
R_l0_g9 | R_l1_g9 | R9C0 | R9C1 | R9C2 | R9C3 | R9C4 |
# cover your eyes
s.hlrow(4, "green").hlcol(2,"purple").hlcell(4,2,"blue")
C_l0_g0 | C_l0_g1 | C_l0_g2 | C_l0_g3 | C_l0_g4 | ||
---|---|---|---|---|---|---|
C_l1_g0 | C_l1_g1 | C_l1_g2 | C_l1_g3 | C_l1_g4 | ||
C_l2_g0 | C_l2_g1 | C_l2_g2 | C_l2_g3 | C_l2_g4 | ||
R_l0_g0 | R_l1_g0 | R0C0 | R0C1 | R0C2 | R0C3 | R0C4 |
R_l0_g1 | R_l1_g1 | R1C0 | R1C1 | R1C2 | R1C3 | R1C4 |
R_l0_g2 | R_l1_g2 | R2C0 | R2C1 | R2C2 | R2C3 | R2C4 |
R_l0_g3 | R_l1_g3 | R3C0 | R3C1 | R3C2 | R3C3 | R3C4 |
R_l0_g4 | R_l1_g4 | R4C0 | R4C1 | R4C2 | R4C3 | R4C4 |
R_l0_g5 | R_l1_g5 | R5C0 | R5C1 | R5C2 | R5C3 | R5C4 |
R_l0_g6 | R_l1_g6 | R6C0 | R6C1 | R6C2 | R6C3 | R6C4 |
R_l0_g7 | R_l1_g7 | R7C0 | R7C1 | R7C2 | R7C3 | R7C4 |
R_l0_g8 | R_l1_g8 | R8C0 | R8C1 | R8C2 | R8C3 | R8C4 |
R_l0_g9 | R_l1_g9 | R9C0 | R9C1 | R9C2 | R9C3 | R9C4 |
s.round_corners(4)
C_l0_g0 | C_l0_g1 | C_l0_g2 | C_l0_g3 | C_l0_g4 | ||
---|---|---|---|---|---|---|
C_l1_g0 | C_l1_g1 | C_l1_g2 | C_l1_g3 | C_l1_g4 | ||
C_l2_g0 | C_l2_g1 | C_l2_g2 | C_l2_g3 | C_l2_g4 | ||
R_l0_g0 | R_l1_g0 | R0C0 | R0C1 | R0C2 | R0C3 | R0C4 |
R_l0_g1 | R_l1_g1 | R1C0 | R1C1 | R1C2 | R1C3 | R1C4 |
R_l0_g2 | R_l1_g2 | R2C0 | R2C1 | R2C2 | R2C3 | R2C4 |
R_l0_g3 | R_l1_g3 | R3C0 | R3C1 | R3C2 | R3C3 | R3C4 |
R_l0_g4 | R_l1_g4 | R4C0 | R4C1 | R4C2 | R4C3 | R4C4 |
R_l0_g5 | R_l1_g5 | R5C0 | R5C1 | R5C2 | R5C3 | R5C4 |
R_l0_g6 | R_l1_g6 | R6C0 | R6C1 | R6C2 | R6C3 | R6C4 |
R_l0_g7 | R_l1_g7 | R7C0 | R7C1 | R7C2 | R7C3 | R7C4 |
R_l0_g8 | R_l1_g8 | R8C0 | R8C1 | R8C2 | R8C3 | R8C4 |
R_l0_g9 | R_l1_g9 | R9C0 | R9C1 | R9C2 | R9C3 | R9C4 |
# basic latex output, matching to_latex (+ boilerplate)
latex_s=pd.io.templating.Styler(df,template=open("/home/user1/src/pandas/pandas/io/templating/templates/latex").read())
print latex_s.render()
\documentclass[11pt,a4paper]{article} \usepackage{booktabs} \begin{document} \begin{tabular}{ lllllll } \toprule & & C_l0_g0 & C_l0_g1 & C_l0_g2 & C_l0_g3 & C_l0_g4 \\ & & C_l1_g0 & C_l1_g1 & C_l1_g2 & C_l1_g3 & C_l1_g4 \\ & & C_l2_g0 & C_l2_g1 & C_l2_g2 & C_l2_g3 & C_l2_g4 \\ \midrule R_l0_g0 & R_l1_g0 & R0C0 & R0C1 & R0C2 & R0C3 & R0C4 \\ R_l0_g1 & R_l1_g1 & R1C0 & R1C1 & R1C2 & R1C3 & R1C4 \\ R_l0_g2 & R_l1_g2 & R2C0 & R2C1 & R2C2 & R2C3 & R2C4 \\ R_l0_g3 & R_l1_g3 & R3C0 & R3C1 & R3C2 & R3C3 & R3C4 \\ R_l0_g4 & R_l1_g4 & R4C0 & R4C1 & R4C2 & R4C3 & R4C4 \\ R_l0_g5 & R_l1_g5 & R5C0 & R5C1 & R5C2 & R5C3 & R5C4 \\ R_l0_g6 & R_l1_g6 & R6C0 & R6C1 & R6C2 & R6C3 & R6C4 \\ R_l0_g7 & R_l1_g7 & R7C0 & R7C1 & R7C2 & R7C3 & R7C4 \\ R_l0_g8 & R_l1_g8 & R8C0 & R8C1 & R8C2 & R8C3 & R8C4 \\ R_l0_g9 & R_l1_g9 & R9C0 & R9C1 & R9C2 & R9C3 & R9C4 \\ \bottomrule \end{tabular} \end{document}
# markdown, just to try out the machinery
# Works with GH GFM
df=mkdf(10,5,r_idx_nlevels=2)
md_s=pd.io.templating.Styler(df,template=open("/home/user1/src/pandas/pandas/io/templating/templates/markdown").read())
print md_s.render()
| | |__C_l0_g0__ |__C_l0_g1__ |__C_l0_g2__ |__C_l0_g3__ |__C_l0_g4__ | | --- | --- | --- | --- | --- | --- | --- | |__R_l0_g0__ |__R_l1_g0__ |R0C0 |R0C1 |R0C2 |R0C3 |R0C4 | |__R_l0_g1__ |__R_l1_g1__ |R1C0 |R1C1 |R1C2 |R1C3 |R1C4 | |__R_l0_g2__ |__R_l1_g2__ |R2C0 |R2C1 |R2C2 |R2C3 |R2C4 | |__R_l0_g3__ |__R_l1_g3__ |R3C0 |R3C1 |R3C2 |R3C3 |R3C4 | |__R_l0_g4__ |__R_l1_g4__ |R4C0 |R4C1 |R4C2 |R4C3 |R4C4 | |__R_l0_g5__ |__R_l1_g5__ |R5C0 |R5C1 |R5C2 |R5C3 |R5C4 | |__R_l0_g6__ |__R_l1_g6__ |R6C0 |R6C1 |R6C2 |R6C3 |R6C4 | |__R_l0_g7__ |__R_l1_g7__ |R7C0 |R7C1 |R7C2 |R7C3 |R7C4 | |__R_l0_g8__ |__R_l1_g8__ |R8C0 |R8C1 |R8C2 |R8C3 |R8C4 | |__R_l0_g9__ |__R_l1_g9__ |R9C0 |R9C1 |R9C2 |R9C3 |R9C4 |