轻松创建 Dashboard 看板:Streamlit 实战指南

图片[1]-轻松创建 Dashboard 看板:Streamlit 实战指南-山海云端论坛

1. 简单易用

Streamlit 的设计使得用户能够在几行代码内创建交互式应用程序。使用它不需要复杂的前端开发知识,甚至不需要了解 HTML 或 CSS。

2. Python 支持

Streamlit 使用 Python 编写和驱动,这使得数据科学家和分析师可以在熟悉的编程语言中构建应用程序。

3. 实时预览

在代码中进行更改后,Streamlit 应用程序会自动重新加载,从而可以立即查看更改的效果,加速开发过程。

4. 丰富的可视化元素

Streamlit 支持各种可视化元素,如图表、图像、文本、表格等,使用户能够展示和呈现数据。

5. 交互性

用户可以通过滑块、按钮等交互元素与应用程序进行互动,从而改变数据的输入或参数,实时观察结果。

6. 部署简便

部署 Streamlit 应用程序相对简单,只需要在服务器上运行一个 Python 脚本即可,无需复杂的配置。

7. 与数据科学生态系统集成

Streamlit 可以轻松地与常用的数据科学库(如 Pandas、Matplotlib、Plotly 等)集成,使用户能够轻松地将分析和可视化结果嵌入到应用程序中。

8. 自定义主题和样式

用户可以根据需要自定义应用程序的外观和样式,以匹配他们的品牌或设计需求。

图片[2]-轻松创建 Dashboard 看板:Streamlit 实战指南-山海云端论坛

示例:创建一个 Dashboard

目标

我们的目标是建立一个能够展示数据的 Dashboard,如下图所示:

图片[3]-轻松创建 Dashboard 看板:Streamlit 实战指南-山海云端论坛

数据处理

首先,让我们对数据进行处理:

<code># 导入必要的库 import pandas as pd import numpy as np import plotly.express as px import streamlit as st # 数据处理函数和数据加载 ... # 数据过滤和清洗 ...</code>

构建导航栏

在 Streamlit 中,导航栏通常放置在侧边栏,让我们来构建一个简单的导航栏:

<code># 标题 st.markdown("# Roles Dashboard") # 定义侧边栏 st.sidebar.header("Filters:") # 放置过滤器 location = st.sidebar.multiselect( "Select Location:", options=df_filter["Work Location"].unique(), default=df_filter["Work Location"].unique() ) work_type = st.sidebar.multiselect( "Select Work Type:", options=df_filter["Location Type"].unique(), default=df_filter["Location Type"].unique() )</code>
图片[4]-轻松创建 Dashboard 看板:Streamlit 实战指南-山海云端论坛

构建汇总指标

接下来,我们展示过滤后的汇总指标:

<code># 进行数据选择 df_selection = df_filter.query( "`Work Location`== @location & `Location Type` == @work_type" ) # 定义指标 total_roles = df_selection["ID"].value_counts().sum() ... # 在 Dashboard 上展示指标 col1, col2, col3, col4, col5, col6 = st.columns(6) col1.metric(label="No. Roles", value=total_roles) ...</code>
图片[5]-轻松创建 Dashboard 看板:Streamlit 实战指南-山海云端论坛

构建图表

我们还可以创建图表:

<code># 数据处理和可视化 ... # 定义图表 fig_count_location_type = px.bar(df_1, x="Work Location", y="count", color="Location Type", title="Role by Location and Type - Plotly") # 在 Dashboard 上展示图表 st.plotly_chart(fig_count_location_type, use_container_width=True)</code>
图片[6]-轻松创建 Dashboard 看板:Streamlit 实战指南-山海云端论坛

构建表格

最后,我们可以通过显示 DataFrame 来展示过滤后数据集的所有数据:

<code># 在 Dashboard 上展示数据 st.dataframe(df_selection, hide_index=True, column_config={ "ID": st.column_config.NumberColumn(format="%d"), "Start Date": st.column_config.DateColumn(format="DD-MMM-YYYY"), "End Date": st.column_config.DateColumn(format="DD-MMM-YYYY"), "Title": st.column_config.TextColumn(width="medium"), "Description": st.column_config.TextColumn(width="medium") })</code>

总结

通过本文的示例,我们可以看到 Streamlit 提供了一个简单而强大的工具,让任何人都能够轻松创建具有交互性和可视化效果的数据应用程序。Streamlit 的简洁设计和与 Python 的兼容性使其成为数据科学家、分析师和其他非前端开发人员的理想选择。无论是数据展示、可视化、模型演示还是原型开发,Streamlit 都是一个非常有用的工具,能够极大地提升工作效率和用户体验。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容