前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >用Streamlit来制作数据可视化面板实战

用Streamlit来制作数据可视化面板实战

作者头像
用户8949263
发布于 2022-04-08 04:58:09
发布于 2022-04-08 04:58:09
1.1K00
代码可运行
举报
运行总次数:0
代码可运行

在上回初步介绍了“steamlit”框架的基本用法之后(干货分享 | 用 Streamlit 来制作数据可视化面板教程(一)),这回我们动手来实践一下,用“streamlit”框架来制作一个可视化仪表盘,用到的数据是印度在新冠病毒的影响之下病例数据,包括了印度每个州的“死亡数据”、“治愈数据”、“确诊数据”以及“活跃病例”,感兴趣的童鞋也可以一起动手来实现一下。

01

首先导入所需要用到的模块以及读取数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import streamlit as st
import pandas as pd
import numpy as np
import plotly.express as px
from PIL import Image

@st.cache(ttl=60 * 5, max_entries=20)
def load_data():
    data = pd.read_csv("state_wise.csv")
    return data

df = load_data()

我们用到了“pandas”模块当中的“read_csv”的方法,当然特别要指的注意的是,里面用到了“st.cache()”作为装饰器,由于考虑到可能引用的数据会时时发生变化,因此我们会每隔五分钟对缓存做一次清理,并且最多清理20次,要是引用的源数据不会经常改变,那么你可以设置为是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@st.cache(persist=True)

02

我们同时需要添加一下文字说明,以便他人更好的来理解我们所绘制的图形,例如标题、注释等等,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
st.title('Covid-10 India Cases')
st.write("It shows ***Coronavirus Cases*** in India")
st.sidebar.title("Selector")
image = Image.open("2.jpg")
st.image(image, use_column_width=True)
st.markdown('<style>body{background-color:lightblue;}</style>', unsafe_allow_html=True)

visualization = st.sidebar.selectbox('Select a Chart type', ("Bar Chart", "Pie Chart", "Line Chart"))
state_select = st.sidebar.selectbox('Select a state', df['State'].unique())
status_select = st.sidebar.radio("Covid-19 patient status", ('confirmed_cases', 'active_cases',
                                                            'recovered_cases', 'death_cases'))

selected_state = df[df['State'] == state_select]
st.markdown("## **State level analysis**")

在“streamlit”中的“image”方法来读取图片,而要是我们用到下拉框则是用“st.sidebar.selectbox”方法,而要是使用单选框的话,则是用“st.sidebar.radio”方法,

03

下面我们就开始可视化的部分,分别有直方图饼图以及折线图,使用的是“plotly_express”当中的对应的方法,代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
state_total = get_total_dataframe(df)
if visualization == "Bar Chart":
    state_total_graph = px.bar(state_total, x = 'Status', y = 'Number of cases',
                               labels = {"Number of cases": "Number of cases in %s" % (status_select)}, color="Status")
    st.plotly_chart(state_total_graph)
elif visualization == "Pie Chart":
    if status_select == "confirmed_cases":
        st.title("Total Confirmed Cases ")
        fig = px.pie(df.iloc[1:], values=df['Confirmed'], names = df['State'])
        st.plotly_chart(fig)

04

最后我们还想将表格展示在仪表盘上,用到的是“streamlit”当中的“dataframe”方法,代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def get_table():
    datatable = df[['State', 'Confirmed', 'Active', 'Recovered', 'Deaths']].sort_values(by=['Confirmed'], ascending=False)
    datatable = datatable[datatable['State'] != 'State Unassigned']
    return datatable
    
datatable = get_table()
st.markdown("### Covid-19 cases in India")
st.markdown("The following table gives you a real-time analysis of the confirmed, active, recovered and deceased cases of Covid-19 pertaining to each state in India.")
st.dataframe(datatable) # will display the dataframe

整体的效果如下图所示

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python数据分析实例 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何用Jupyter Notebook制作新冠病毒疫情追踪器?
新冠肺炎已在全球范围内爆发。为了解全球疫情分布情况,有技术人员使用Jupyter Notebook绘制了两种疫情的等值线地图(choropleth chart)和散点图。
AI科技大本营
2020/03/18
8020
用Python制作数据大屏,超简单
今天我们用Streamlit模块来制作一个数据面板,将数据更加直观地呈现给别人观看,整个页面大致如下图所示
用户6888863
2022/04/13
2K0
用Python制作数据大屏,超简单
不到100行Python代码教你做出精美炫酷的可视化大屏
“碳达峰、碳中和”是2021年政府在不断强调与非常重视的事儿,那什么是“碳达峰”、什么又是“碳中和”呢?这里小编来为大家科普一下,所谓的“碳达峰”指的是在某一时间点,二氧化碳的排放不再达到峰值,之后逐步回落。
用户6888863
2022/04/13
1K0
不到100行Python代码教你做出精美炫酷的可视化大屏
用Python制作销售数据可视化看板,展示分析一步到位!
主要使用Python的Streamlit库、Plotly库、Pandas库进行搭建。
小F
2021/11/23
2.3K0
干货分享 | 用 Streamlit 来制作数据可视化面板教程(一)
对于数据分析师,建模工程师来说,将处理好的数据放在可视化的面板上进行呈现将更加有助于同事、领导来理解结果,今天小编就给大家来介绍一下如何用Python来制作一个数据可视化面板,使用的是Streamlit库,对于开发人员来说,只需几分钟就可以构建和部署强大的数据应用程序。
用户6888863
2021/07/19
3.7K0
情人节,我用 Python 给女朋友做了个选礼物看板!
一年 N 度的情人节又又又到了!各位程序猿们给女朋友准备礼物了吗?刚铁直男都存在一个困惑的问题:送女朋友什么礼物好?今天特意爬取了某东的数据,来分析下大家情人节都送什么给女朋友。
杰哥的IT之旅
2022/03/31
7230
情人节,我用 Python 给女朋友做了个选礼物看板!
Python 的一万种用法:制作 Web 可视化页面
本次小F给大家介绍一下如何用Python制作一个数据可视化网页,使用到的是Streamlit库,轻松将一个Excel数据文件转换为一个Web页面,提供给所有人在线查看。
AI科技大本营
2021/06/08
2.2K0
Python 的一万种用法:制作 Web 可视化页面
COVID-19数据分析实战:统计分析及可视化
第一篇文章和第二篇文章我们对line list 数据集进行清洗,以及对文本内容进行词云分析。
统计学家
2020/05/25
1.7K0
COVID-19数据分析实战:统计分析及可视化
python︱写markdown一样写网页,代码快速生成web工具:streamlit 展示组件(三)
系列参考: python︱写markdown一样写网页,代码快速生成web工具:streamlit介绍(一) python︱写markdown一样写网页,代码快速生成web工具:streamlit 重要组件介绍(二) python︱写markdown一样写网页,代码快速生成web工具:streamlit 展示组件(三) python︱写markdown一样写网页,代码快速生成web工具:streamlit lay-out布局(四) python︱写markdown一样写网页,代码快速生成web工具:streamlit 缓存(五) python︱写markdown一样写网页,代码快速生成web工具:streamlit 数据探索案例(六) streamlit + opencv/YOLOv3 快速构建自己的图像目标检测demo网页(七)
悟乙己
2021/12/07
1.5K0
python︱写markdown一样写网页,代码快速生成web工具:streamlit 展示组件(三)
一日一技:Python快速生成web动态展示项目
一句话,Streamlit是一个可以用python编写web app的库,可以方便的动态展示你的机器学习的项目。
用户8949263
2022/04/08
1.4K0
一日一技:Python快速生成web动态展示项目
将数据分析通过Python和Streamlit_Web应用程序化
Streamlit 是一款可以在 Python 上使用的 Web 应用创建工具。Python 是目前最受欢迎的编程语言之一,由于其直观的操作性和适用于广泛领域的特点,也受到初学者的喜爱。特别是在人工智能 (AI) 和数据科学等主要开发工具方面,近年来非常受欢迎。
yeedomliu
2023/09/03
3620
将数据分析通过Python和Streamlit_Web应用程序化
python教程:用简单的Python编写Web应用程序
python现在已经成为很多程序员关注的编程语言之一,很多程序员也都开始弄python编程,并且很多时候都会用自己的操作来选择,而现在不管是程序员还是少儿编程,都会有python这门课,今天就和大家分享一下。
全栈程序员站长
2022/09/08
2.3K0
python教程:用简单的Python编写Web应用程序
【实战】Streamlit+ECharts绘制多图表可视化大屏,超级实用
当我们提到数据可视化,常常会想到众多的工具和库,如 Matplotlib、Seaborn 甚至于 D3.js 等。但是,有一个特定的组合正在快速走红:Streamlit 和 ECharts。Streamlit,作为一个轻量级的 Python 工具,允许数据科学家和工程师轻而易举地创建交互式的 web 应用。而 ECharts,一款来自百度的开源 JavaScript 可视化工具,因其绚丽的效果和广泛的图表类型而广受欢迎。
用户6888863
2023/09/22
3.3K0
【实战】Streamlit+ECharts绘制多图表可视化大屏,超级实用
如何使用简单的Python为数据科学家编写Web应用程序?
可以转到本地URL:localhost:8501在浏览器中,查看Streamlit应用程序的运行情况。开发人员提供了一些不错的演示,请花点时间并感觉一下工具的功能。
代码医生工作室
2019/11/14
3K0
用Streamlit构建机器学习应用
Streamlit是一个开放源码的Python库,它可以轻松地为机器学习建模漂亮的应用程序。你可以很容易地通过pip在你的终端上安装它,然后开始用Python编写你的网络应用程序。
AiTechYun
2019/11/11
1.3K0
用Streamlit构建机器学习应用
streamlit + opencv/YOLOv3 快速构建自己的图像目标检测demo网页(七)
系列参考: python︱写markdown一样写网页,代码快速生成web工具:streamlit介绍(一) python︱写markdown一样写网页,代码快速生成web工具:streamlit 重要组件介绍(二) python︱写markdown一样写网页,代码快速生成web工具:streamlit 展示组件(三) python︱写markdown一样写网页,代码快速生成web工具:streamlit lay-out布局(四) python︱写markdown一样写网页,代码快速生成web工具:streamlit 缓存(五) python︱写markdown一样写网页,代码快速生成web工具:streamlit 数据探索案例(六) streamlit + opencv/YOLOv3 快速构建自己的图像目标检测demo网页(七)
悟乙己
2021/12/07
1.2K0
streamlit + opencv/YOLOv3 快速构建自己的图像目标检测demo网页(七)
Streamlit:快速构建可视化网页(数据科学必备)
很多算法工程师在完成数据分析、模型训练或者项目总结的时候,往往只能通过ppt汇报,添加数据图表、截图模型实验结果等。如果想提供一个前端演示demo,通常可以搭建flask服务,但是flask需要学习很多前端知识,如css、html等,这又是一个深之又深的坑。那有没有什么工具能够跳过这些模块,直接提供一个可用的前端页面呢?答案是肯定的,今天给大家推荐一个轻量化、简单好用、快速上手的streamlit。
luckpunk
2023/09/29
2.7K0
Streamlit:快速构建可视化网页(数据科学必备)
如何快速构建一个核酸点服务状态查询Web应用?Python实例详解
设计模式实软件中常见问题的典型解决方案。能根据需求进行预制蓝图,可用于解决代码中反复出现的设计问题。高质量应用程序框架设计过程广泛使用设计模式来确保代码可复用和可扩展性。
用户8949263
2022/04/08
1.3K0
如何快速构建一个核酸点服务状态查询Web应用?Python实例详解
使用 Apache Hudi + Daft + Streamlit 构建 Lakehouse 分析应用
为了应对这些挑战,像 Streamlit[1] 这样的低代码工具作为 Python 生态系统的包装器,允许将 API、模型和业务逻辑变为现实。Streamlit 支持从数据库、API 和文件系统等各种来源轻松使用数据,从而轻松集成到应用程序中。在这篇博客中,我们将重点介绍如何使用直接来自开放湖仓一体平台的数据来构建数据应用。
ApacheHudi
2024/05/20
2300
使用 Apache Hudi + Daft + Streamlit 构建 Lakehouse 分析应用
独家 | 如何用简单的Python为数据科学家编写Web应用程序?(附代码&链接)
作者:拉胡尔·阿加瓦尔(Rahul Agarwal), Walmart 实验室的数据科学家
数据派THU
2019/12/05
1.9K0
推荐阅读
相关推荐
如何用Jupyter Notebook制作新冠病毒疫情追踪器?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档