首页 教程 Web前端 数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

✨✨ 欢迎大家来到景天科技苑✨✨

🎈🎈 养成好习惯,先赞后看哦~🎈🎈

所属的专栏:数据分析系统化教学,零基础到进阶实战

景天的主页:景天科技苑

文章目录

  • Streamlit
    • 什么是streamlit
    • 数据科学家为何要使用Streamlit?
    • 具体操作
      • 1.write()函数
      • 2.滑块组件slider
      • 3.文本框操作text_input
      • 4.多选框checkbox
      • 5.下拉框selectbox
      • 6.侧边栏sidebar
      • 7.单选按钮radio
      • 8.进度条progress
      • 9.文件上传下载

Streamlit

什么是streamlit

Streamlit是一个免费的开源框架,用于快速构建和共享漂亮的数据科学Web应用程序。它是一个基于Python的库,专为机器学习工程师设计。
数据分析工程师不是网络开发人员,他们对花几周时间学习使用这些框架来构建网络应用程序不感兴趣。
相反,他们需要一个更容易学习和使用的工具,只要它可以显示数据并收集分析/建模所需的参数。Streamlit允许您仅用几行代码创建一个外观惊艳的应用程序。

数据科学家为何要使用Streamlit?

Streamlit最大的好处是,您甚至不需要了解Web开发的基础知识就可以开始或创建您的第一个Web应用程序。
因此,如果你是一个对数据科学感兴趣的人,你想轻松、快速地部署你的模型,并且只需要几行代码,Streamlit是一个很好的选择。

优势:

  • 不需要具备前端知识即可应用streamlit。
  • 学习成本极低
    • 你不需要花费几天或几个月的时间来创建一个Web应用,你可以在几个小时甚至几分钟内创建一个非常漂亮的机器学习或数据科学应用。
  • 它兼容大多数Python库
    • 例如panda、matplotlib、seaborn、plotly、Keras、PyTorch等。

环境安装

pip install streamlit

数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

#测试安装是否正常:

streamlit hello

随便输入个邮箱,即可显示出访问url
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

程序运行

streamlit run xxx.py

具体操作

1.write()函数

可以通过该函数向看板上输出显示指定内容,每一个write函数,单独占一行显示

import pandas as pd import streamlit as st st.write("1. write()函数基本操作")#展示表格 st.write(pd.DataFrame({'第一列':[1,2,3,4,5],'第二列':[6,7,8,9,10]}))

数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

运行:
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

在浏览器查看:
直接出图表,是不是很方便!!!
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

2.滑块组件slider

“slider"的中文意思是"滑块”。它是一种用户界面元素,通常用于选择一个数值范围或从给定选项中选择一个值。
滑块的外观通常是一个可拖动的滑块,用户可以通过移动滑块来选择所需的值。
滑块可以在许多应用程序和网页中使用,例如调整音量、选择年龄范围或设置某个参数的值。

import streamlit as st st.write("st.slider()滑块")#slider参数为滑块自定义名称,返回值为滑动到的数值 num = st.slider("num") st.write(num,"squred is", num*num)

数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

运行程序,浏览器展示
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

3.文本框操作text_input

页面显示输入文本框,看下参数
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

import streamlit as st st.write("文本框操作")#文本框输入,回车结束 st.text_input("your name", key="name") st.text_input("your age", key="age")# 显示输入的值,根据key键来获取 st.write(st.session_state.name,st.session_state.age)

运行程序,浏览器展示
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

4.多选框checkbox

import streamlit as st import pandas as pd import numpy as np st.write("checkbox()多选框")# 点击checkbox后返回True,未点击为False ex1 = st.checkbox('显示/不显示 表格')if ex1: df = pd.DataFrame( np.random.randn(20,3), columns=['a','b','c']) st.write(df) ex2 = st.checkbox('显示/不显示 滑块')if ex2: x = st.slider('x') st.write(x)

运行程序,浏览器展示
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

5.下拉框selectbox

import streamlit as st #返回值为选中的内容信息 option = st.selectbox( label='请选择省份信息:', options=['河北','山东','河南','吉林']) st.write("您选择的是: ", option)

数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

6.侧边栏sidebar

st.sidebar.后面跟侧边栏显示的内容组件

import streamlit as st #侧边栏下拉框 add_selectbox = st.sidebar.selectbox( label="通讯方式选项", options=('微信','QQ','手机','邮件'))#获取下拉选项 st.write("下拉选项: ", add_selectbox)#侧边栏滑块 add_slider = st.sidebar.slider( label="选择一个范围的值", min_value=0.0, max_value=100.0, value=(25.0,75.0))#获取滑块的值 st.write("值的范围: ", add_slider)

数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

7.单选按钮radio

import streamlit as st # st.columns参数表示列数,表示要在页面展示的列数 left_column, right_column = st.columns(2)#显示两列布局容器# 左边列设置,使用withwith left_column:# 返回值为选中的选项值 chosen = st.radio( label='电脑品牌', options=('苹果','华为','小米')) st.write(f'你选择的品牌是: {chosen}')# 右边列设置with right_column:# 返回值为选中的选项值 chosen = st.radio( label='手机品牌', options=('苹果','华为','小米')) st.write(f'你选择的品牌是: {chosen}')

数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

8.进度条progress

import streamlit as st import time st.write("模拟长时间的计算...")# 创建一个动态显示数据的容器,用于动态显示进度条的进度数值 value = st.empty()#创建进度条,进度条初始值为0 bar = st.progress(0)for i inrange(100):#这是动态显示的数值 value.text(f'Iteration {i+1}')# 更新进度条 bar.progress(i+1) time.sleep(0.1) st.write('运行结束!')

数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

9.文件上传下载

(1)文件上传:

st.file_uploader()

看下参数
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面
参数介绍
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

上传penguins.csv文件,然后选择不同的两个企鹅特征,用散点图观察其分布形式。
看下源文件
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

import streamlit as st import pandas as pd import matplotlib.pyplot as plt import seaborn as sns st.write('上传penguins.csv文件,然后选择不同的两个企鹅特征,用散点图观察其分布形式。')#创建文件上传组件,如果上传失败则返回None,上传下载都可以搞 upload_file = st.file_uploader( label ="上传数据集CSV文件"#自定义文件上传提示信息)#判断上传文件是否成功if upload_file: df = pd.read_csv(upload_file) st.write('显示前5行数据:',df.head(5)) st.success("上传文件成功!")else: st.stop()# 退出#制作下拉框,用于选择企鹅的不同特征 x_var = st.selectbox( label ="请选择:", options =['bill_length_mm','bill_depth_mm','flipper_length_mm','body_mass_g'])#制作下拉框,用于选择企鹅的不同特征 y_var = st.selectbox( label ="请选择", options =['bill_length_mm','bill_depth_mm','flipper_length_mm','body_mass_g']) fig, ax = plt.subplots()#返回值:画布、画布子图例#绘制散点图 ax = sns.scatterplot(data=df, x=x_var, y=y_var, hue='species') plt.xlabel(x_var) plt.ylabel(y_var) plt.title('Penguins Scatter Plot')#显示画布 st.pyplot(fig)

数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

可以选择企鹅的不同特征,来绘制图
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

默认上传单个文件最大为200M,我们可以做修改
要在运行程序当前目录下,创建个.streamlit目录,里面创建个config.toml文件
内容如下,设置上传文件大小限制,单位是M

[server] maxUploadSize =4500

数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

案例:保存上传的文件到本地

import streamlit as st #创建文件上传组件,如果上传失败则返回None upload_file = st.file_uploader( label ="上传图片"#自定义文件上传提示信息,)#判断上传文件是否成功if upload_file:withopen('上传图片.png','wb')asfile:#注意,保存文件要保存上传对象.getvalue()file.write(upload_file.getvalue()) st.success("上传文件成功!")else: st.stop()# 退出

数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

上传成功

数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

(2)文件下载:

st.download_button()

看下参数
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面
参数介绍
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

案例:

import streamlit as st st.write('下载playwright.png文件')withopen('playwright.png','rb')asfile: st.download_button( label='download_button', data=file, file_name="playwright.png", mime='image/png')

运行程序,浏览器查看,点击下载按钮,下载完成
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

评论(0)条

提示:请勿发布广告垃圾评论,否则封号处理!!

    猜你喜欢
    【MySQL】用户管理

    【MySQL】用户管理

     服务器/数据库  4个月前  3.7k

    我们推荐使用普通用户对数据的访问。而root作为管理员可以对普通用户对应的权限进行设置和管理。如给张三和李四这样的普通用户权限设定后。就只能操作给你权限的库了。

    Cursor Rules 让开发效率变成10倍速

    Cursor Rules 让开发效率变成10倍速

     服务器/数据库  4个月前  2.16k

    在AI与编程的交汇点上,awesome-cursorrules项目犹如一座灯塔,指引着开发者们驶向更高效、更智能的编程未来。无论你是经验丰富的老手,还是刚入行的新人,这个项目都能为你的编程之旅增添一抹亮色。这些规则文件就像是你私人定制的AI助手,能够根据你的项目需求和个人偏好,精确地调教AI的行为。突然间,你会发现AI不仅能理解Next.js的最佳实践,还能自动应用TypeScript的类型检查,甚至主动提供Tailwind CSS的类名建议。探索新的应用场景,推动AI辅助编程的边界。

    探索Django 5: 从零开始,打造你的第一个Web应用

    探索Django 5: 从零开始,打造你的第一个Web应用

     服务器/数据库  4个月前  1.97k

    Django 是一个开放源代码的 Web 应用程序框架,由 Python 写成。它遵循 MVT(Model-View-Template)的设计模式,旨在帮助开发者高效地构建复杂且功能丰富的 Web 应用程序。随着每个版本的升级,Django 不断演变,提供更多功能和改进,让开发变得更加便捷。《Django 5 Web应用开发实战》集Django架站基础、项目实践、开发经验于一体,是一本从零基础到精通Django Web企业级开发技术的实战指南《Django 5 Web应用开发实战》内容以。

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

     服务器/数据库  4个月前  1.96k

    mysql_secure_installation 是 MySQL 提供的一个安全脚本,用于提高数据库服务器的安全性

    【MySQL基础篇】概述及SQL指令:DDL及DML

    【MySQL基础篇】概述及SQL指令:DDL及DML

     服务器/数据库  4个月前  779

    数据库是长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据库不仅仅是数据的简单堆积,而是遵循一定的规则和模式进行组织和管理的。数据库中的数据可以包括文本、数字、图像、音频等各种类型的信息。

    Redis中的哨兵(Sentinel)

    Redis中的哨兵(Sentinel)

     服务器/数据库  4个月前  649

    ​ 上篇文章我们讲述了Redis中的主从复制(Redis分布式系统中的主从复制-CSDN博客),本篇文章针对主从复制中的问题引出Redis中的哨兵,希望本篇文章会对你有所帮助。