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

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

作者头像
用户8949263
发布于 2022-04-08 04:58:09
发布于 2022-04-08 04:58:09
1.1K10
代码可运行
举报
运行总次数: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 删除。

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

评论
登录后参与评论
1 条评论
热度
最新
赞👍
赞👍
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
Linux 性能调优之虚拟化调优
不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样了。——村上春树
山河已无恙
2024/02/27
3490
Linux 性能调优之虚拟化调优
Linux 进程内存监控:Linux 内存调优之进程内存深度监控
这里分析的工具主要是原生工具,后面还会分享一些 BPF 相关的内存观察工具以及系统内存的全局监控
山河已无恙
2025/04/13
6730
Linux 进程内存监控:Linux 内存调优之进程内存深度监控
Linux性能调优之使用BPF工具观测CPU性能指标
喜欢文字的人,大多敏感且心软,忽然不快乐忽然被回忆揪住心脏忽然沉默到泪流。或许是内心孤独的缘故,轻易便可从他人的故事里看到自己的影子所以,悲伤总要比别人多一半。
山河已无恙
2024/10/21
4950
Linux性能调优之使用BPF工具观测CPU性能指标
Linux 性能调优之CPU上下文切换
99%的焦虑都来自于虚度时间和没有好好做事,所以唯一的解决办法就是行动起来,认真做完事情,战胜焦虑,战胜那些心里空荡荡的时刻,而不是选择逃避。不要站在原地想象困难,行动永远是改变现状的最佳方式
山河已无恙
2024/09/12
8440
Linux 性能调优之CPU上下文切换
关于Linux性能调优中系统CPU监测信息统计的一些笔记
人总是害怕去追求自己最重要的梦想,因为他们觉得自己不配拥有,或者觉得自己没有能力去完成。——保罗.柯艾略《牧羊少年奇幻之旅》
山河已无恙
2023/03/02
9130
关于Linux性能调优中系统CPU监测信息统计的一些笔记
Linux 性能观测之CPU平均负载
99%的焦虑都来自于虚度时间和没有好好做事,所以唯一的解决办法就是行动起来,认真做完事情,战胜焦虑,战胜那些心里空荡荡的时刻,而不是选择逃避。不要站在原地想象困难,行动永远是改变现状的最佳方式
山河已无恙
2024/08/29
1960
Linux 性能观测之CPU平均负载
Linux BPF性能分析之基于BCC工具清单检查
不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样了。——村上春树
山河已无恙
2024/04/11
2520
Linux BPF性能分析之基于BCC工具清单检查
Linux 性能调优之CPU时间分布(亲和性、带宽、权重)配置Demo
我所渴求的,無非是將心中脫穎語出的本性付諸生活,為何竟如此艱難呢 -----赫尔曼·黑塞《德米安》
山河已无恙
2024/05/20
6950
Linux 性能调优之CPU时间分布(亲和性、带宽、权重)配置Demo
TCP 连接排故:使用 BPF BCC工具包进行网络跟踪
不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样了。——村上春树
山河已无恙
2024/05/29
8940
TCP 连接排故:使用 BPF BCC工具包进行网络跟踪
Linux CPU 性能分析工具火焰图(Flame Graphs)认知
不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样了。——村上春树
山河已无恙
2024/02/26
1.7K0
Linux CPU 性能分析工具火焰图(Flame Graphs)认知
关于 Linux中系统调优的一些笔记
我突然又明白,死亡是聪明的兄长,我们可以放心地把自己托付给他,他会知道在我们有所准备的适当时刻前来。我也突然懂得,原来痛苦、失望和悲愁不是为了惹恼我们,使我们气馁或者无地自容;它们的存在,是为了使我们心智成熟,臻于完善。—赫尔曼·黑塞《彼得·卡门青》
山河已无恙
2023/03/02
1K0
关于 Linux中系统调优的一些笔记
Linux 性能调优之 CPU 亲和性配置
不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样了。——村上春树
山河已无恙
2024/05/20
9960
Linux 性能调优之 CPU 亲和性配置
关于Linux中使用USE(使用率/饱和度/错误)方法分析系统性能的一些笔记
傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。--------王小波
山河已无恙
2023/01/30
1.3K0
关于Linux中使用USE(使用率/饱和度/错误)方法分析系统性能的一些笔记
四种火焰图,快速定位Off-CPU性能问题
On-CPU性能问题可以借助On-CPU火焰图解决,但是无法了解进程和线程不在CPU上运行所花费的时间。如果有很多的时间花在同步请求上,也会很容易影响性能表现。
程栩的性能优化笔记
2023/11/01
2.5K0
四种火焰图,快速定位Off-CPU性能问题
Linux 性能调优之配置CPU调度策略和可调参数
人生不是书上的故事,喜怒哀乐,悲欢离合,都在书页间,可书页翻篇何其易,人心修补何其难。——烽火戏诸侯《剑来》
山河已无恙
2024/03/18
1.3K0
Linux 性能调优之配置CPU调度策略和可调参数
Linux 性能调优之内核可调参数
对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧 ——赫尔曼·黑塞《德米安》
山河已无恙
2023/12/04
7110
Linux 性能调优之内核可调参数
关于Linux性能调优中IO调优的一些笔记
「 总感觉当下的生活不是想要的,总感觉一路走下去会是一个讨厌的未来,每天睁眼的一瞬间就是懊悔,昨天又浪费掉了...人生没有意义,但是要努力寻找活着的意义--------山河已无恙」
山河已无恙
2023/01/30
1K0
关于Linux性能调优中IO调优的一些笔记
​Linux CPU 性能优化指南
本文作者:allenxguo,腾讯 QQ 音乐后台开发工程师 本文主要帮助理解 CPU 相关的性能指标,常见的 CPU 性能问题以及解决方案梳理。 系统平均负载 简介 系统平均负载:是处于可运行或不可中断状态的平均进程数。 可运行进程:使用 CPU 或等待使用 CPU 的进程 不可中断状态进程:正在等待某些 IO 访问,一般是和硬件交互,不可被打断(不可被打断的原因是为了保护系统数据一致,防止数据读取错误) 查看系统平均负载 首先top命令查看进程运行状态,如下: PID USER
腾讯技术工程官方号
2020/08/11
8.6K0
Linux 性能优化之CPU 多级缓存认知
99%的焦虑都来自于虚度时间和没有好好做事,所以唯一的解决办法就是行动起来,认真做完事情,战胜焦虑,战胜那些心里空荡荡的时刻,而不是选择逃避。不要站在原地想象困难,行动永远是改变现状的最佳方式
山河已无恙
2024/09/30
5720
Linux 性能优化之CPU 多级缓存认知
Linux性能调优之内存负载调优的一些笔记
「 原谅和忘记就意味着扔掉了我们获得的最贵经验 -------《人生的智慧》叔本华」
山河已无恙
2023/01/30
2.6K0
Linux性能调优之内存负载调优的一些笔记
推荐阅读
相关推荐
Linux 性能调优之虚拟化调优
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档