import%20marimo%0A%0A__generated_with%20%3D%20%220.9.34%22%0Aapp%20%3D%20marimo.App(width%3D%22medium%22)%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20__(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%23%20Filterable%20DataFrame%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__(data_url%2C%20pd)%3A%0A%20%20%20%20%23%20Read%20the%20csv%0A%20%20%20%20df%20%3D%20pd.read_json(data_url(%22cars.json%22))%0A%20%20%20%20return%20(df%2C)%0A%0A%0A%40app.cell%0Adef%20__(df)%3A%0A%20%20%20%20%23%20Create%20options%20for%20select%20widgets%0A%20%20%20%20manufacturer_options%20%3D%20df%5B%22Name%22%5D.str.split().str%5B0%5D.unique()%0A%20%20%20%20manufacturer_options.sort()%0A%20%20%20%20cylinder_options%20%3D%20df%5B%22Cylinders%22%5D.unique().astype(str)%0A%20%20%20%20cylinder_options.sort()%0A%20%20%20%20return%20cylinder_options%2C%20manufacturer_options%0A%0A%0A%40app.cell%0Adef%20__(cylinder_options%2C%20df%2C%20manufacturer_options%2C%20mo)%3A%0A%20%20%20%20%23%20Create%20the%20filters%0A%20%20%20%20manufacturer%20%3D%20mo.ui.dropdown(manufacturer_options%2C%20label%3D%22Manufacturer%22)%0A%20%20%20%20cylinders%20%3D%20mo.ui.dropdown(cylinder_options%2C%20label%3D%22Cylinders%22)%0A%0A%20%20%20%20horse_power%20%3D%20mo.ui.range_slider.from_series(%0A%20%20%20%20%20%20%20%20df%5B%22Horsepower%22%5D%2C%0A%20%20%20%20%20%20%20%20show_value%3DTrue%2C%0A%20%20%20%20)%0A%0A%20%20%20%20mo.hstack(%5Bmanufacturer%2C%20horse_power%2C%20cylinders%5D%2C%20gap%3D3).left()%0A%20%20%20%20return%20cylinders%2C%20horse_power%2C%20manufacturer%0A%0A%0A%40app.cell%0Adef%20__(df%2C%20filter_df)%3A%0A%20%20%20%20filter_df(df)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__(cylinders%2C%20horse_power%2C%20manufacturer)%3A%0A%20%20%20%20def%20filter_df(df)%3A%0A%20%20%20%20%20%20%20%20filtered_df%20%3D%20df%0A%20%20%20%20%20%20%20%20if%20manufacturer.value%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20filtered_df%20%3D%20filtered_df%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20filtered_df%5B%22Name%22%5D.str.contains(manufacturer.value%2C%20case%3DFalse)%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20if%20cylinders.value%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20filtered_df%20%3D%20filtered_df%5Bfiltered_df%5B%22Cylinders%22%5D%20%3D%3D%20cylinders.value%5D%0A%20%20%20%20%20%20%20%20if%20horse_power.value%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20left%2C%20right%20%3D%20horse_power.value%0A%20%20%20%20%20%20%20%20%20%20%20%20filtered_df%20%3D%20filtered_df%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(filtered_df%5B%22Horsepower%22%5D%20%3E%3D%20left)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26%20(filtered_df%5B%22Horsepower%22%5D%20%3C%3D%20right)%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20return%20filtered_df%0A%20%20%20%20return%20(filter_df%2C)%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20def%20data_url(file)%3A%0A%20%20%20%20%20%20%20%20return%20f%22https%3A%2F%2Fcdn.jsdelivr.net%2Fnpm%2Fvega-datasets%40v1.29.0%2Fdata%2F%7Bfile%7D%22%0A%20%20%20%20return%20(data_url%2C)%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20import%20marimo%20as%20mo%0A%20%20%20%20import%20pandas%20as%20pd%0A%20%20%20%20return%20mo%2C%20pd%0A%0A%0Aif%20__name__%20%3D%3D%20%22__main__%22%3A%0A%20%20%20%20app.run()%0A
65e84317ff4d6232057c5b14a421255c20b5cbc39310d3f02a15b18fe30eb67b