Skip to content

Commit

Permalink
Update 05-27
Browse files Browse the repository at this point in the history
  • Loading branch information
SamLau95 committed May 28, 2024
1 parent b49a74f commit 4a0bf38
Show file tree
Hide file tree
Showing 15 changed files with 69,488 additions and 0 deletions.
769 changes: 769 additions & 0 deletions resources/lectures/lec16/data/diabetes.csv

Large diffs are not rendered by default.

87 changes: 87 additions & 0 deletions resources/lectures/lec16/dsc80_utils.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
"""
Imports and helpful functions that we use in DSC 80 lectures. Use `make
setup-lec` to copy this (and custom-rise-styles.css) to the lecture folders.
Usage:
from dsc80_utils import *
"""
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from matplotlib_inline.backend_inline import set_matplotlib_formats
from IPython.display import display, IFrame, HTML

import plotly
import plotly.figure_factory as ff
import plotly.graph_objects as go
import plotly.express as px
from plotly.subplots import make_subplots
import plotly.io as pio
pio.renderers.default = "notebook"

# DSC 80 preferred styles
pio.templates["dsc80"] = go.layout.Template(
layout=dict(
margin=dict(l=30, r=30, t=30, b=30),
autosize=True,
width=600,
height=400,
xaxis=dict(showgrid=True),
yaxis=dict(showgrid=True),
title=dict(x=0.5, xanchor="center"),
)
)
pio.templates.default = "simple_white+dsc80"

set_matplotlib_formats("svg")
sns.set_context("poster")
sns.set_style("whitegrid")
plt.rcParams["figure.figsize"] = (10, 5)

# display options for numpy and pandas
np.set_printoptions(threshold=20, precision=2, suppress=True)
pd.set_option("display.max_rows", 7)
pd.set_option("display.max_columns", 8)
pd.set_option("display.precision", 2)

# Use plotly as default plotting engine
pd.options.plotting.backend = "plotly"


def display_df(
df, rows=pd.options.display.max_rows, cols=pd.options.display.max_columns
):
"""Displays n rows and cols from df"""
with pd.option_context(
"display.max_rows", rows, "display.max_columns", cols
):
display(df)


def dfs_side_by_side(*dfs):
"""
Displays two or more dataframes side by side.
"""
display(
HTML(
f"""
<div style="display: flex; gap: 1rem;">
{''.join(df.to_html() for df in dfs)}
</div>
"""
)
)

from pathlib import Path

# Used for plotting examples.
def create_kde_plotly(df, group_col, group1, group2, vals_col, title=''):
fig = ff.create_distplot(
hist_data=[df.loc[df[group_col] == group1, vals_col], df.loc[df[group_col] == group2, vals_col]],
group_labels=[group1, group2],
show_rug=False, show_hist=False,
colors=['#ef553b', '#636efb'],
)
return fig.update_layout(title=title)
22 changes: 22 additions & 0 deletions resources/lectures/lec16/imgs/dtree-basic-plot.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 4a0bf38

Please sign in to comment.