marimo-server-template / examples /dataset_explorer.py
mylessss's picture
add examples
10db5b3
import marimo
__generated_with = "0.9.18"
app = marimo.App(width="full")
@app.cell
def __():
datasets = [
# Add your own HF datasets
"scikit-learn/iris/Iris.csv",
"scikit-learn/adult-census-income/adult.csv",
"scikit-learn/auto-mpg/auto-mpg.csv",
"scikit-learn/credit-card-clients/UCI_Credit_Card.csv",
"scikit-learn/Fish/Fish.csv",
"scikit-learn/tips/tips.csv",
]
return (datasets,)
@app.cell(hide_code=True)
def __(mo):
mo.md(r"""## Select a dataset""")
return
@app.cell(hide_code=True)
def __(datasets, mo):
dataset = mo.ui.dropdown(datasets, value=datasets[0], label="Select a dataset")
no_limit = mo.ui.switch(label="Limit 1000", value=True)
mo.hstack([dataset, no_limit])
return dataset, no_limit
@app.cell
def __(dataset, mo, no_limit):
explore = mo.sql(
f"""
CREATE OR REPLACE TEMP TABLE explore
AS (FROM 'hf://datasets/{dataset.value}')
{'LIMIT 1000' if no_limit.value else ''};
FROM explore;
"""
)
return (explore,)
@app.cell(hide_code=True)
def __(mo):
mo.md(r"""## Summary""")
return
@app.cell(hide_code=True)
def __(explore, mo):
_schema = mo.accordion({"Schema": explore.schema})
mo.md(f"""
* Total rows: **{len(explore):,}**
* Total columns: **{len(explore.columns)}**
{_schema}
""")
return
@app.cell
def __(explore):
explore.describe()
return
@app.cell(hide_code=True)
def __(mo):
mo.md("""## Manipulate the data""")
return
@app.cell
def __(explore, mo):
transformed = mo.ui.dataframe(explore)
transformed
return (transformed,)
@app.cell(hide_code=True)
def __(mo):
mo.md(r"""## Explore the data""")
return
@app.cell
def __(mo, transformed):
mo.ui.data_explorer(transformed.value)
return
@app.cell(hide_code=True)
def __():
# Imports
import marimo as mo
import polars
return mo, polars
if __name__ == "__main__":
app.run()