@@ -9,55 +9,17 @@ jupyter: python3
9
9
10
10
import numpy as np
11
11
import 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
13
15
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
15
21
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)
61
23
```
62
24
63
25
## ATE Coverage
@@ -90,17 +52,24 @@ display_columns = ["Learner g", "Learner m", "Learner pi", "Bias", "CI Length",
90
52
91
53
``` {python}
92
54
#| 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
+ )
97
63
```
98
64
99
65
``` {python}
100
66
#| 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
+ )
106
75
```
0 commit comments