@@ -9,55 +9,17 @@ jupyter: python3
99
1010import numpy as np
1111import pandas as pd
12- from itables import init_notebook_mode, show, options
12+ from itables import init_notebook_mode
13+ import os
14+ import sys
1315
14- init_notebook_mode(all_interactive=True)
16+ doc_dir = os.path.abspath(os.path.join(os.getcwd(), ".."))
17+ if doc_dir not in sys.path:
18+ sys.path.append(doc_dir)
19+
20+ from utils.style_tables import generate_and_show_styled_table
1521
16- def highlight_range(s, level=0.95, dist=0.05, props=''):
17- color_grid = np.where((s >= level-dist) &
18- (s <= level+dist), props, '')
19- return color_grid
20-
21-
22- def color_coverage(df, level):
23- # color coverage column order is important
24- styled_df = df.apply(
25- highlight_range,
26- level=level,
27- dist=1.0,
28- props='color:black;background-color:red',
29- subset=["Coverage"])
30- styled_df = styled_df.apply(
31- highlight_range,
32- level=level,
33- dist=0.1,
34- props='color:black;background-color:yellow',
35- subset=["Coverage"])
36- styled_df = styled_df.apply(
37- highlight_range,
38- level=level,
39- dist=0.05,
40- props='color:white;background-color:darkgreen',
41- subset=["Coverage"])
42-
43- # set all coverage values to bold
44- styled_df = styled_df.set_properties(
45- **{'font-weight': 'bold'},
46- subset=["Coverage"])
47- return styled_df
48-
49-
50- def make_pretty(df, level, n_rep):
51- styled_df = df.style.hide(axis="index")
52- # Format only float columns
53- float_cols = df.select_dtypes(include=['float']).columns
54- styled_df = styled_df.format({col: "{:.3f}" for col in float_cols})
55-
56- # color coverage column order is important
57- styled_df = color_coverage(styled_df, level)
58- caption = f"Coverage for {level*100}%-Confidence Interval over {n_rep} Repetitions"
59-
60- return show(styled_df, caption=caption, allow_html=True)
22+ init_notebook_mode(all_interactive=True)
6123```
6224
6325## ATE Coverage
@@ -90,17 +52,24 @@ display_columns = ["Learner g", "Learner m", "Learner pi", "Bias", "CI Length",
9052
9153``` {python}
9254#| echo: false
93- level = 0.95
94-
95- df_ate_95 = df[(df['level'] == level)][display_columns]
96- make_pretty(df_ate_95, level, n_rep)
55+ generate_and_show_styled_table(
56+ main_df=df,
57+ filters={"level": 0.95},
58+ display_cols=display_columns,
59+ n_rep=n_rep,
60+ level_col="level",
61+ coverage_highlight_cols=["Coverage"]
62+ )
9763```
9864
9965``` {python}
10066#| echo: false
101- score = "partialling out"
102- level = 0.9
103-
104- df_ate_9 = df[(df['level'] == level)][display_columns]
105- make_pretty(df_ate_9, level, n_rep)
67+ generate_and_show_styled_table(
68+ main_df=df,
69+ filters={"level": 0.9},
70+ display_cols=display_columns,
71+ n_rep=n_rep,
72+ level_col="level",
73+ coverage_highlight_cols=["Coverage"]
74+ )
10675```
0 commit comments