Streamlit,快速构建数据应用的利器!
写Python最头疼的就是做界面了,tk丑得要死,PyQt又特别复杂。要是能直接把数据处理和可视化的代码变成一个漂亮的网页,那该多爽啊! Streamlit 就是干这个的,一个命令就能把Python脚本变成网页应用。
1.
基础组件上手快
随便写几行代码,就能整出一个还不错的界面:
import streamlit as st
st.title('我的第一个应用')
name = st.text_input('输入你的名字')
st.write(f'你好, {name}!')
number = st.slider('选择一个数字', 0, 100)
st.write(f'你选择的数字是: {number}')
这代码放到一个py文件里,terminal里输入streamlit run app.py,马上就能看到效果了。
2.
数据展示贼方便
处理数据分析最常用的pandas和numpy,Streamlit都完美支持:
import pandas as pd
import streamlit as st
df = pd.read_csv('data.csv')
st.dataframe(df) # 显示表格
st.line_chart(df) # 画折线图
温馨提示:数据量太大的时候记得加个loading提示,不然用户还以为程序卡死了:
with st.spinner('数据加载中...'):
# 你的耗时操作
pass
3.
交互功能傻瓜式
做个文件上传,加个按钮,搞个侧边栏,都是一行代码的事:
uploaded_file = st.file_uploader(“选择一个CSV文件”)
if st.button('点我计算'):
# 处理数据
pass
with st.sidebar:
st.write('这是侧边栏')
4.
缓存让速度起飞
数据处理慢?加个@st.cache装饰器就搞定:
@st.cache
def load_big_data():
# 超慢的数据处理
return result
5.
部署也不难
写完了想让别人也用?用Streamlit Cloud白嫖服务器,GitHub一推送,应用自动更新,爽得很!
说真的,以前搞个数据可视化界面得捣鼓好几天,现在一个小时就能整出个像模像样的应用。码农干活就得挑懒人工具,干嘛非要自己造轮子。
领取专属 10元无门槛券
私享最新 技术干货