Spaces:
Sleeping
Sleeping
| # %% | |
| import polars as pl | |
| import holoviews as hv | |
| import panel as pn | |
| from holoviews import opts | |
| hv.extension('bokeh') | |
| dat = pl.read_parquet("../data/dat_munged.parquet") | |
| info = pl.read_csv("../data/Metadata_Indicator_API_Download_DS2_en_csv_v2_5657328.csv").rename({"INDICATOR_CODE":"Indicator Code", "INDICATOR_NAME":"Indicator Name"}) | |
| dat_vars = dat\ | |
| .group_by("Indicator Name", "Indicator Code", "Country Code").len()\ | |
| .pivot(values="len", index=["Indicator Name", "Indicator Code"], columns="Country Code", aggregate_function="first")\ | |
| .with_columns((pl.col("COD").fill_null(0) + pl.col("GHA").fill_null(0) + | |
| pl.col("KEN").fill_null(0) + pl.col("NGA").fill_null(0) + | |
| pl.col("ZAF").fill_null(0) + pl.col("ZWE").fill_null(0)).alias("total"))\ | |
| .sort(pl.col("total"), descending=True)\ | |
| .filter(pl.col("total") > 25) | |
| # %% | |
| hv.Scatter(dat.filter(pl.col("Indicator Code").is_in(["NY.GDP.PCAP.PP.KD"])).to_pandas(), "year", "value")\ | |
| .opts(width=500) | |
| # %% | |
| def select_row(row=0): | |
| return dat.slice(row, 1) | |
| app = pn.interact(select_row, row=(0, dat.select(pl.len()).item())) | |
| print(app) | |
| # %% | |
| pn.Column("## Choose a row", pn.Row(app[0], app[1])) | |
| # %% | |
| color_picker = pn.widgets.ColorPicker() | |
| color_picker | |
| # %% | |
| html = pn.pane.HTML('', width=200, height=200, styles={'background-color': color_picker.value}) | |
| color_picker.link(html, value="background-color")# %% | |
| html | |
| # %% | |
| x = pn.widgets.IntSlider(name='x', start=0, end=100) | |
| background = pn.widgets.ColorPicker(name='Background', value='lightgray') | |
| def square(x): | |
| return f'{x} squared is {x**2}' | |
| def styles(background): | |
| return {'background-color': background, 'padding': '0 10px'} | |
| pn.Column( | |
| x, | |
| background, | |
| pn.pane.Markdown(pn.bind(square, x), styles=pn.bind(styles, background)) | |
| ) | |
| # %% | |