@@ -10,55 +10,17 @@ jupyter: python3
1010
1111import numpy as np
1212import pandas as pd
13- from itables import init_notebook_mode, show, options
13+ from itables import init_notebook_mode
14+ import os
15+ import sys
1416
15- init_notebook_mode(all_interactive=True)
17+ doc_dir = os.path.abspath(os.path.join(os.getcwd(), ".."))
18+ if doc_dir not in sys.path:
19+ sys.path.append(doc_dir)
20+
21+ from utils.style_tables import generate_and_show_styled_table
1622
17- def highlight_range(s, level=0.95, dist=0.05, props=''):
18- color_grid = np.where((s >= level-dist) &
19- (s <= level+dist), props, '')
20- return color_grid
21-
22-
23- def color_coverage(df, level):
24- # color coverage column order is important
25- styled_df = df.apply(
26- highlight_range,
27- level=level,
28- dist=1.0,
29- props='color:black;background-color:red',
30- subset=["Coverage"])
31- styled_df = styled_df.apply(
32- highlight_range,
33- level=level,
34- dist=0.1,
35- props='color:black;background-color:yellow',
36- subset=["Coverage"])
37- styled_df = styled_df.apply(
38- highlight_range,
39- level=level,
40- dist=0.05,
41- props='color:white;background-color:darkgreen',
42- subset=["Coverage"])
43-
44- # set all coverage values to bold
45- styled_df = styled_df.set_properties(
46- **{'font-weight': 'bold'},
47- subset=["Coverage"])
48- return styled_df
49-
50-
51- def make_pretty(df, level, n_rep):
52- styled_df = df.style.hide(axis="index")
53- # Format only float columns
54- float_cols = df.select_dtypes(include=['float']).columns
55- styled_df = styled_df.format({col: "{:.3f}" for col in float_cols})
56-
57- # color coverage column order is important
58- styled_df = color_coverage(styled_df, level)
59- caption = f"Coverage for {level*100}%-Confidence Interval over {n_rep} Repetitions"
60-
61- return show(styled_df, caption=caption, allow_html=True)
23+ init_notebook_mode(all_interactive=True)
6224```
6325
6426## Sharp Design
@@ -80,28 +42,36 @@ print(metadata_df.T.to_string(header=False))
8042# | echo: false
8143
8244# set up data and rename columns
83- df = pd.read_csv("../../results/rdd/rdd_sharp_coverage.csv", index_col=None)
45+ df_sharp = pd.read_csv("../../results/rdd/rdd_sharp_coverage.csv", index_col=None)
8446
85- assert df ["repetition"].nunique() == 1
86- n_rep = df ["repetition"].unique()[0]
47+ assert df_sharp ["repetition"].nunique() == 1
48+ n_rep_sharp = df_sharp ["repetition"].unique()[0]
8749
88- display_columns = ["Method", "Learner g", "fs specification", "Bias", "CI Length", "Coverage"]
50+ display_columns_sharp = ["Method", "Learner g", "fs specification", "Bias", "CI Length", "Coverage"]
8951```
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_sharp,
57+ filters={"level": 0.95},
58+ display_cols=display_columns_sharp,
59+ n_rep=n_rep_sharp,
60+ level_col="level",
61+ coverage_highlight_cols=["Coverage"]
62+ )
9763```
9864
9965``` {python}
10066#| echo: false
101- level = 0.9
102-
103- df_ate_9 = df[(df['level'] == level)][display_columns]
104- make_pretty(df_ate_9, level, n_rep)
67+ generate_and_show_styled_table(
68+ main_df=df_sharp,
69+ filters={"level": 0.9},
70+ display_cols=display_columns_sharp,
71+ n_rep=n_rep_sharp,
72+ level_col="level",
73+ coverage_highlight_cols=["Coverage"]
74+ )
10575```
10676
10777
@@ -124,26 +94,34 @@ print(metadata_df.T.to_string(header=False))
12494# | echo: false
12595
12696# set up data and rename columns
127- df = pd.read_csv("../../results/rdd/rdd_fuzzy_coverage.csv", index_col=None)
97+ df_fuzzy = pd.read_csv("../../results/rdd/rdd_fuzzy_coverage.csv", index_col=None)
12898
129- assert df ["repetition"].nunique() == 1
130- n_rep = df ["repetition"].unique()[0]
99+ assert df_fuzzy ["repetition"].nunique() == 1
100+ n_rep_fuzzy = df_fuzzy ["repetition"].unique()[0]
131101
132- display_columns = ["Method", "Learner g", "Learner m", "fs specification", "Bias", "CI Length", "Coverage"]
102+ display_columns_fuzzy = ["Method", "Learner g", "Learner m", "fs specification", "Bias", "CI Length", "Coverage"]
133103```
134104
135105``` {python}
136106#| echo: false
137- level = 0.95
138-
139- df_ate_95 = df[(df['level'] == level)][display_columns]
140- make_pretty(df_ate_95, level, n_rep)
107+ generate_and_show_styled_table(
108+ main_df=df_fuzzy,
109+ filters={"level": 0.95},
110+ display_cols=display_columns_fuzzy,
111+ n_rep=n_rep_fuzzy,
112+ level_col="level",
113+ coverage_highlight_cols=["Coverage"]
114+ )
141115```
142116
143117``` {python}
144118#| echo: false
145- level = 0.9
146-
147- df_ate_9 = df[(df['level'] == level)][display_columns]
148- make_pretty(df_ate_9, level, n_rep)
119+ generate_and_show_styled_table(
120+ main_df=df_fuzzy,
121+ filters={"level": 0.9},
122+ display_cols=display_columns_fuzzy,
123+ n_rep=n_rep_fuzzy,
124+ level_col="level",
125+ coverage_highlight_cols=["Coverage"]
126+ )
149127```
0 commit comments